Welcome to MSDN Blogs Sign in | Join | Help

I wrote previously about a solution for printing to OneNote 2007 on 64 bit OSes that I created called XPS2OneNote.

I just released an update to that solution that:

  • Fixes a number of issues some people had on Windows 7 64 bit.
  • Enables the option to print to a single page, or print each page to a separate sub page (frequently requested).
  • More easily enables scaling the print outs to a custom size.

Note: this also works on Vista 64 bit and 32 bit Windows 7 or Vista.

Go to the codeplex site for XPS2OneNote to download it and install it. Please read the instructions for how to use it. You’ll need to restart your machine or manually start XPS2OneNote after installing it.

NOTE: this is not necessary for OneNote 2010 Beta. OneNote 2010 has full 64 bit support for the Send to OneNote 2010 print driver.

Yesterday was a very exciting day for everyone on the OneNote team. We have been designing, developing and testing the OneNote 2010 release for quite some time now. We’ve been using it ourselves every day for well over a year. It has already dramatically changed the way we and many other teams and individuals at Microsoft work. And with the availability of the Office 2010 Technical Preview today to selected participants, we’re excited to finally be able to share more details with you.

In this post I’ll give a 30,000 foot overview of the major investments for OneNote 2010, and then in subsequent posts we’ll go into more detail on the feature areas with screenshots and more.

 

OneNote 2010 Investments Overview

1. Universal Access

We repeatedly hear that access to your notes and the ability to take them anywhere is very important, whether you’re at work, home or on the go. OneNote 2007 already provides offline availability and seamless sync, and a basic OneNote application for Windows Mobile. But we knew that was just the beginning. With OneNote 2010 we’ve added:

  • Sync to Cloud (Windows Live): Your notebooks sync and are available anywhere from any machine. Of course this is in addition to all the existing ways you can sync notebooks (file shares, SharePoint, USB drives etc.)
  • OneNote Web App: You can access and edit your entire notebook from a browser. Even on a machine that doesn’t have OneNote installed.
  • OneNote Mobile: A more complete OneNote version for Windows Mobile phones. Syncs whole notebooks. Syncs directly to the cloud. No need to tether your device. Richer editing support.

Note: The above are not yet available in the Tech Preview unfortunately. We’re still finishing some integration work for sync to Windows Live.

2. Sharing and Collaboration

With OneNote 2007 we pioneered simultaneous multi-user editing of notebooks. OneNote 2007 auto-magically merges the edits, even simultaneous edits on the same page. This is valuable for single users (you can edit on desktop and laptop and not have one machine lock the file), but it’s even more valuable for  teams sharing a notebook for plans, ideas, meetings and so on. Or perhaps a family notebook shared with your significant other. We’ve heard lots of positive feedback about this, and  it has completely transformed the way many teams work and collaborate. We’ve also heard about many families that use it for sharing home renovation plans, gardening info, recipes, wedding planning and so on.

In OneNote 2010 we’ve added a number of features to make the experience of sharing with others more productive and intuitive. These include:

  • What’s new (aka Unread) highlighting: New content that someone else added or changed since you last looked at a page is highlighted so you can see what’s new on that page. Also, the notebook name, section tabs and page tabs are shown in bold so you can quickly navigate to pages with new content.
  • Author indicator: Content written by anyone other than you has a small color coded bar to the right with their initials. At a glance you can tell who wrote something.
  • Versioning: Quickly show past versions of any given page, who wrote it and when, with changes relative to previous versions highlighted.
  • Fast sync on same page: When multiple people are working on the same page we speed up the sync of that page so you can see other peoples edits in near real time.
  • We also added capabilities to be able to quickly search for recently added content (last day, week, month etc.) or get an overview of what given people changed on what days.
  • Merge two sections: This feature is more of a detail but it fits here. Sometimes people share notebooks using Live Mesh or Dropbox or other file sharing solutions. And you can end up with two forked copies of a section if you happened to make changes on two machines at once (you can read earlier posts for context, but OneNote cannot auto-magically merge simultaneous edits when working on these systems that copy files around underneath OneNote). So we’ve added the ability to manually merge any two sections if you ever get into this situation. Just tell OneNote which two sections you want merged and OneNote will take care of it.

3. Better ways to Organize and Find your Notes

Capturing, organizing and finding your information has always been at the heart of what OneNote does. We’ve made several enhancements in this core area. Some of these will be more understandable once we have detailed blog posts with screenshots.

  • Section and page tab improvements: making notebook navigation work better with a larger number of sections and pages, easier to create new sections, better page tab hierarchy visualization, collapse sub page groups, just drag left and right to create sub pages and organize your pages, insert new pages directly anywhere in your page tabs.
  • Fast “word wheel” search for navigation: the goal of this is to make search a super fast way to get to your regularly used notes. Historically search has been more of a “last resort” feature when you couldn’t find something. We’ve completely revamped this experience so it is now designed to make it the fastest way to get to any page including pages you visit regularly like your To Do list.
  • Wiki linking: you can easily create a link to an existing page or to a new page for a topic. You can do this by just typing the Wiki link syntax (e.g. just type [[The Page Title I Want]] ), or use our new page search experience from within the link dialog. This enables you to easily create Wiki like notebooks with lots of cross links across pages.
  • Quick filing: there are many ways to send content to OneNote (Print to OneNote, send mails from Outlook, send pages from Internet Explorer and so on). Our new Quick Filing experience pops up to let you pick where in your notebook you want to send it. It remembers the last places you sent things. You can search in Quick Filing to find a specific section or page if you want it somewhere else.

4. Research and taking notes linked to documents, web pages

OneNote is often used as a companion while researching topics and collecting information (e.g. a market analysis study, a class paper, a home renovation, a car purchase and so on). This often involves looking at web pages or documents and taking notes. You could also be reviewing a document or class lecture slides and taking notes as you’re looking through them. We’ve enhanced a number of things to make this experience better.

  • Docked OneNote: you can dock OneNote to the side of your screen. It docks alongside other windows (e.g. browser, Word, PowerPoint). OneNote minimizes UI and just shows the notes page alongside your document/browser.
  • Linked Note Taking: while in this mode, OneNote automatically links the notes you take to what you’re looking at – the web page URL, the selection point in Word, the current slide in PowerPoint. Later in OneNote you can hover on that link and you’ll see a thumbnail preview of the original document, you can click on it and it will open and take you back to what you were looking at when you wrote the note.
  • Auto text wrapping: this goes well with Docked OneNote but is useful in other cases too. OneNote now wraps text outlines to fit the windows size if there is only one outline on the page. This makes it easy to see all your notes even when OneNote is docked to a relatively narrow window on the side.
  • IRM protected printouts: this is mainly for enterprise and training scenarios. The idea is that companies can distribute things like product manuals or class notes in OneNote that are protected intellectual property. The recipient can view these in OneNote and take their own personal notes on top of these materials and beside them. If for some reason the materials were viewed by an unauthorized person they would not see any of the protected material.
  • 64 bit print driver: Yes, OneNote 2010 has a new native print driver that fully supports 64 bit. It’s based on the XPS technology from Windows. It also has other virtues like better rendering quality when scaled.

5. Editing improvements

There are a number of basic editing improvements in OneNote. Below are some more prominent ones.

  • Basic styles: OneNote 2010 adds very basic styles like Heading 1,2,3. This does not have the power of Words styling features. OneNote is not designed for that level of document formatting. But it does give you a way to quickly have your meeting notes have a little structure.
  • Bullets improvements: this is a simple one but oft requested. First level bullets now indent from previous text.
  • Equations: OneNote 2010 now supports the ability to add math equations. Great for students or people who need to input math into their notebooks. OneNote will also support the ability to recognize hand written math equations and convert them when running on Windows 7.
  • Mini-Translation tooltips: OneNote can now show you a tooltip with a translation into your native language when your mouse hovers over a foreign language word. Great for language students, or if you’re working in a bi-lingual situation and need help understanding a word in a shared notebook or that you clipped from the web. This is thanks to integration of work from our GXP team mentioned in their blog.

6. Touch support

With the rapidly increasing availability of touch enabled PCs and the enhanced touch experience in Windows 7, this was a natural thing for OneNote to support.

  • Finger panning and auto-switch: you can use your finger to scroll and pan around any page in OneNote. OneNote auto switches between pen, pan, and selection depending on your input device. So for example you can pan around a drawing with your left finger and draw with a tablet pen in your right hand. This makes for a very natural two handed interaction model.
  • Pinch zoom: we enabled pinch zooming within OneNote centered on the fingers.
  • Navigation controls improved for touch: we’ve made some small optimizations to make the UI easier to use with touch.

7. Fluent UI

OneNote now adopts the Fluent UI along with the other Office applications.

  • Ribbon: OneNote now has the Ribbon. We’ve designed this to optimize for the key OneNote scenarios and make them easier to use. This is also what enables us to more easily add features like math equation editing (the common controls for that use the Ribbon), and potential future features.
  • Office Backstage: This is new for Office 2010. OneNote will be taking advantage of it to make tasks like creating new notebooks, and new shared notebooks on the web easier (we’re still doing work on this).

 

We’ll write more in future posts to explain each of these areas in more detail. We hope you enjoy OneNote 2010!

David Rasmussen

Group Program Manager, OneNote

Last year at the PDC we gave you a very small taste of what’s in store in the next version of OneNote. With OneNote 2010, you will get full web access to your OneNote notebooks and enhanced sharing capabilities that will make it the easiest way to capture all your information and have it easily available to you everywhere. It will also be awesome for teams sharing information, ideas, plans, coordinating projects and so on. We have many other exciting features coming up in this release that we’re not able to disclose yet but we think you’ll like it a lot.


We’re also making it easier for our business customers to get OneNote. OneNote 2010 will now also be available as part of the Microsoft Office Professional Plus 2010 release.  Office Professional Plus is targeted to business users and is only available through Volume Licensing.  We’re not announcing any details about other SKUs yet. Overall we’ve seen a lot of interest in OneNote and we’re trying to make sure customers will be able to get it easily whether you use Office at home or at work.


I look forward to being able to share more details with you about the new features in OneNote 2010 in future posts.

UPDATED: I have released an updated solution that fixes the issues some people had on 64 bit Windows 7. It also enables optional printing to single page or separate sub pages. More details here.

_______

Short version: I have a solution for those of you needing a 64 bit OS solution for printing to OneNote. Read on for details.

Well… it’s been a long time between posts. Without making excuses, suffice it to say we’ve been crazy busy working on the next release of OneNote. And given strong feedback about the 64 bit print driver issue, I decided to put what little spare time I had into trying to develop a 64 bit OS solution for printing to OneNote 2007 for you, rather than blogging.

So after spending some time over Thanksgiving and Christmas vacations and more than a few evenings coding I now have a solution you can download to enable you to print to OneNote 2007 from 64 bit Vista (and Windows 7 beta if you have it…).

You can see the details, download, installation and usage instructions for the XPS2OneNote 64 bit OneNote print driver solution on codeplex.

I hope it works well for you. Please feel free to leave me comments and suggestions here.

 

Some additional comments

You can ignore all of this… unless you’re interested in context.

  • First, please let me repeat my sincere and humble apology that the included print driver didn’t work for 64 bit OSes as I wrote in my original post explaining why the Send to OneNote 2007 print driver doesn’t work on 64 bit OSes. I know it seems lame.
  • Second, please note that while this solution I’ve created works quite well, it’s something of an expedient hack. It leverages the XPS print driver included with Vista and watches a folder for XPS files landing in it. It’s not the sort of solution we could ship as an integrated part of OneNote in its current form. It’s not architected in a way to cleanly integrate into the product  (it’s basically a separate watcher exe…). There is a whole lot to shipping release quality software that this doesn’t cover (handling numerous edge cases and exceptions, internationalization and support in a hundred or so languages, patching support, accessibility, full test passes on a multitude of configurations, the ability to support the code base for 10 years and an abundance of other details). 
  • Given that, here are some caveats: I’m releasing this as a CodePlex project. It was created in my own personal time. It’s not Microsoft officially supported software. I will endeavor to do my best to address any issues that come up. I will make the source code available on CodePlex (once I’ve cleaned up a couple of things), so others can feel free to improve it too. And don’t judge Microsoft by the quality of the source. I’m actually the Group Program Manager for OneNote and I’m not paid to write code professionally these days. We have much smarter people to do that…
  • As I wrote in my previous post, the MODI print driver that the original Send to OneNote 2007 print driver is based on is a very old code base that’s frankly a big hairball. Making it support 64 bit wasn’t really viable. I’ve gotten some feedback along the lines of “surely this must be doable, or easy because how hard can a print driver be… or some other print driver supports this”. Well, yes in software anything is possible. And sometimes if you have the right code to start with it’s even easy. But that’s really not the case with the MODI code base. Our solution is to migrate OneNote in the next release to use a print driver code base (that was developed by printing experts elsewhere in Microsoft) that IS modern, DOES support 64 bit and has all these nice flexible characteristics you expect software should have. But unfortunately it didn’t exist yet when we originally created OneNote 2003…
  • This migration involves a significant enough shift in the way it integrates with OneNote that it’s not practical to do this as a patch to OneNote 2007 (i.e. it would very materially impact other important things customers have told us they want). So we’re doing it as part of the work for the next release of OneNote.
  • I’ve gotten a few heated comments (yes I was even told I was “a gimp” who should “suck rotten eggs”), implying that somehow we’re malicious and conspiratorial, don’t care about our customers and this is all a secret plot to make people pay us more money to upgrade. I will confess that kind of hurt. I can assure you it’s not true. We love OneNote. We want our customers to love OneNote. We work ridiculous hours to try and make that happen and bring you the best product we can. We’re actually a pretty small team. We’re just doing what we can with finite resources.
  • And while I know it’s not much consolation, we wrote in the System Requirements from day one that the print driver was not supported on 64 bit OSes. That’s on the box, and it’s on the web site. I know, no one reads System Requirements these days but really we weren’t trying to hide it and 64 bit OS support for the print driver never was a feature of OneNote 2007. So we didn’t remove a feature that was already there as somebody implied.

With that all said I hope this solution works for you and feel free to leave me comments about it.

__

UPDATE: Please see my recent post on a solution for Printing to OneNote on 64 bit OSes.

 

 

__

We've been getting quite a few questions and concerns about the "Print to OneNote" print driver that comes with OneNote 2007 not being supported on 64 bit OSes. I just wrote the following in response to a blog post and some comments about it on the GottaBeMobile site. I'm posting it here too for reference. It explains some of the context behind where we're at on this, and why. We fully understand how important the print to OneNote feature is, and we apologize that the print driver for this that shipped with OneNote 2007 doesn't work on 64 bit OSes. We plan to address this in the next version of OneNote.

 
Context:
For the print to OneNote feature in OneNote 2003 and 2007, we are dependent on a piece of technology called MODI, or Microsoft Office Document Imaging component. It's a very, very large amount of code, and quite an old piece of code that is difficult to support.

Drivers must be fully ported from 32 bit to 64 bit to work on 64 bit OSes. 32 bit Application code works on 64 bit OSes on top of an emulation layer (called WOW64 or Windows on Windows 64), so getting the application code to work is not too hard. Drivers are a whole different story though because they hook into the OS at a lower level and can't run on WOW64 emulation. Also, older drivers tend to contain a lot of low level code and often assembly code that is not easy to port.

Given the size of the code, and the issues above, porting the MODI print driver for OneNote 2007 would be a LOT of work. Work that we would have to trade off directly against other improvements, and features that many users such as yourselves have been asking us for. That makes it a difficult decision. One we thought about a lot.

The solution we have is we think a better one for OneNote users in the long run. We will be moving the print driver component to a new technology in our next release of OneNote. One that has several benefits including the quality of the users experience, the quality of the printout rendering and some others I can't detail right now. This new technology also supports 64 bit natively, so we kill two birds with one stone. We're quite confident that is the right decision, but unfortunately because of the nature of this technology, we couldn't back port it to make it work in OneNote 2007. That left us in a difficult position. We could either do lots of work to port MODI AND transition to this better, easier to maintain technology for the future, but that would have been at the cost of perhaps most of the features and improvements you've all been asking for.

Ultimately, given the current market data on take up rate of 64 bit client OSes, we concluded we were better off aiming for the best experience for the next release of OneNote when 64 bit OS penetration will start to be significant. The benefits of running 64 bit OSes at the moment are pretty slim. There are very few desktop applications yet that need or can take advantage of the address space (servers sure can though...). So you won't really notice a performance improvement with a 64 bit OS on your desktop, but that will change over time, and we want to be ready for it with the best possible solution.

Unfortunately, great software development is full of such difficult trade offs. We're not idiots (we hope). And we're not malicious (we love our product and want our users to love it too). We just have finite resources, and are trying to make the best trade off decisions to deliver the best possible product.

Sorry. We broke your OneNote.

In mid December Office 2007 SP1 was released on Microsoft Update. It contains lots of good improvements and a few for OneNote. However, it turns out we also broke something with one of the fixes. You can't create notebooks on a Windows file share that is also running WebDAV. This is what we call a "regression" (when in fixing something you break something else). We feel very bad about this and we're working hard to address it.

Please leave a comment below if you have hit this problem. We'd like to get a sense of how common this is and any affected configurations beyond the ones we know. Prevalence affects how urgently we can get a fix through the pipe. And please mention anything you know about your server (what the server OS is, whether it's also running SharePoint or some other web server etc.).

Here are the details and a work around.

Issue: can't create notebooks on Windows file share running WebDAV

  • If you try to create a new notebook on a Windows file share server that also runs WebDAV then you will fail to create the notebook.
  • For example if you try to create a notebook called notebookname at \\fileservername\filesharename you'll get an error message like: "OneNote cannot create a new notebook at: http://fileservername/sharename/notebookname"

Workaround:

To work around this follow these steps.

  1. Go to the folder where you want the notebook in Windows Explorer (e.g. go to \\fileservername\filesharename )
  2. Create a new folder with the name you want the notebook to have (e.g. notebookname )
  3. Right click that folder and choose "Open as Notebook in OneNote"
  4. The folder will open up as a blank notebook in OneNote. Then click on the message in the middle of the screen to create the first section and you're good to go.
  5. Alternatively: instead of step 3 above you can start OneNote then go to "File"->"Open" -> "Notebook" and then select the folder you created in step 2.

Background:

  • For the curious, the bug is related to how we check the folder path and decide under the covers which client side file redirector will handle the remote file access when working against web servers. When you're actually trying to access the plain Windows file share on the server with a UNC path, and the server is also running a WebDAV server then this logic has a flaw in it that causes it to try the WebDAV redirector (UNC paths can be valid WebDAV paths...).
  • This won't affect many people in larger companies where Windows file servers and Web servers or SharePoint servers are usually kept distinct for clear role separation.
  • It is more likely to affect small business scenarios where a server may play multiple roles and is potentially acting as a web server as well as a file share. Examples might be Windows Small Business Server depending on how it's configured.

Continuing from my previous post about OneNote Shared Notebooks on Windows File Shares, this one will focus on OneNote shared notebooks on SharePoint servers. The advantages, disadvantages, and troubleshooting tips.

 

Notebooks on SharePoint Servers

Overview

  • SharePoint is a great team repository,  a place to share documents, lists, calendars, and so on.
    • You can access documents from a browser with more context than just a file list on a file share.
    • There are lots of nice features for custom solutions like workflow support, metadata support, search and query by metadata across an entire enterprise and so on that I won't go into.
  • Many teams  have all their shared documents on SharePoint servers for these benefits.
  • In that case, it makes sense to have your OneNote shared notebooks in the same place on SharePoint.
  • Internet access to your notebooks is one significant benefit
    • SharePoint is accessible via http over port 80.
    • It can be made available more easily across the internet.
    • Many service providers offer SharePoint hosting services
    • If you have a OneNote shared notebook on a publicly hosted SharePoint server you will be able to access it with OneNote from anywhere, and collaborate with people anywhere.
  • Note: you still need OneNote to access the notebook, not just a web browser. However, you can optionally publish an html web view of your notebook using the OneNote Web Exporter PowerToy.

 

Performance and Reliability

More things can go wrong when syncing OneNote notebooks to SharePoint vs syncing to a Windows file share. As there is more complexity and variety in the components and configurations involved.

  • Sync times are much longer on SharePoint
    • OneNote syncs every 10 minutes to SharePoint, whereas it syncs every 30 seconds on Windows file shares.
    • The worst case time between making a change and others seeing it is 20 minutes (vs a minute on a file share).
  • A change to a OneNote section file on SharePoint requires the whole file to uploaded or downloaded
    • On Windows file shares, OneNote can read/write just the bits in the file it needs to update. This is very efficient.
    • However, file access on SharePoint uses WebDAV
    • WebDAV does not support byte range read/write (also known as Partial Get/Put)
    • Thus OneNote must upload or download the entire file.
    • This uses more bandwidth, hence the reason for the 10 minute sync interval.
    • This is also the reason why Embedded files are stored alongside the section file in a thicket folder on SharePoint (whereas they are stored inside the .one file on Windows file shares).
  • Authentication is a common problem area
  • Vista vs XP client makes a significant difference
    • Vista has a completely new improved WebDAV stack that OneNote uses
    • Vista's WebDAV uses WinHTTP instead of WinInet. WinHTTP is new in Vista, it has some different behaviors to WinInet. Some calls to SharePoint (like file enumeration) still use WinInet. This introduces some complexities in things like authentication when the two networking stacks behave differently.
    • On XP, Office uses a technology named"Rosebud" (also known as MSDAIPP, often referred to as "Web Folders") to access files on SharePoint. It's a very complicated mix of technologies, and frankly prone to issues ... not my favorite and we're transitioning away from it as of Office 2007 and Vista in favor of WebDAV. It uses something called "Microsoft Office Protocol Discovery" [scroll down halfway to 'Understanding Microsoft Office Protocol Discovery] to talk to the server. It attempts to discover what services the server supports then decides whether the user should have read only browse access, or read/write access. It determines if it can use WebDAV or Web Extender Client (WEC), otherwise it falls back to HTTP GET and read only. In general when talking to SharePoint Rosebud uses WEC which talks via FPSE (Front Page Server Extensions) to SharePoint and avoids the XP WebDAV stack altogether.
    • See my earlier post on SharePoint - Access Denied for some more details on differences between behavior on XP and Vista
  • [there's a lot more technical background information I could write here, but that's enough for now, and if I get many questions I'll add further clarifications later...]

Troubleshooting Tips

The most likely problems you'll see with OneNote notebooks on SharePoint are related to authentication.

  • Getting "Access Denied" infobar prompts
  • Getting password prompts that keep popping up
  • Failing to open a notebook (possibly after getting password prompts)
  • Having read only access to the notebook (you can't type anything)

Below are some steps that commonly solve these issues:

  1. Install Office 2007 SP1. It's available through Microsoft Update (so you may already have it installed) or for direct download. You can check if you have this installed by clicking "Help" -> "About Microsoft Office OneNote" in OneNote. The version number at the top should be 6211.1000 and say "SP1" in it. It has some relevant fixes to improve this.
  2. Confirm that "Auto Detect Settings" is on in Internet Explorer if you're using Vista.
  3. Install Vista SP1 (if you have Vista) from Microsoft Update as soon as it's available (soon). It has some relevant fixes.
  4. If your SharePoint site uses Basic Authentication (some hosting service providers use it) then you must use https:// for the URL path.
  5. Confirm whether you have write access to the SharePoint document library where the notebook exists. Go there in your browser, and try to make an edit to a non-OneNote file.  If you can't edit any files then it's possible you don't actually have correct write permissions to that location and should speak to the administrator about the permissions.

 

[Sorry, it took a while to get around to part 2. I was out on vacation.]

Shared notebooks are a key feature of OneNote that have been described as "near magic". They allow you to share notes across machines with yourself, or with a team of people. OneNote lets multiple users write in the same notebook, even on the same page at the same time and it just takes care of syncing and merging everything in the background. It's a great way to share information, it's very seamless, and once you've set it up it just works. Except when it doesn't...

Sometimes things go wrong, or you have trouble setting it up in the first place. Mostly due to issues in the underlying file system chosen. Not all file storage systems are created equal. Some are great, some are not. Some are great for some purposes but not others. I'm going to write a series of posts as a comprehensive overview. I'll explain each, and include pointers to trouble shooting potential issues. I'll update this over time as I get questions and may add links to more details.

The key deciding factor in sharing your notebook is the location you choose to share it from and the technology used to access that. These include.

  1. Windows File Shares (otherwise known as SMB or CIFS shares)
  2. SharePoint servers
  3. USB drives / SD cards / other removable drives
  4. Windows Home Server
  5. WebDAV servers
  6. Peer replication technologies like FolderShare or Groove
  7. Other web storage services (Sky Drive, Office Live, etc.)

I realize this list makes things look complex. In the basic scenarios things just work. But there's a great diversity of file sharing technology options out there that at least some people somewhere are using and it's worth being comprehensive.

There are sub categories within each of these. I'll go over each in a separate post. This one will cover Windows File Shares.

 

Windows File Shares

Overview

  • Windows File Shares are generally the best performing, fastest and most reliable place to share OneNote notebooks (I use them mostly)
  • Work very well on home networks, or work networks
  • Usually not available over the internet (although they can be with VPN software like Hamachi)
  • Use the SMB (otherwise known as CIFS) protocol
  • Available on Windows Servers (common in work environments), or personal Windows XP or Vista machines
  • Mac OS and Linux also provide support for Windows File Shares using SMB
  • On Linux SAMBA is the technology most often used to provide Windows File Shares using SMB
  • Home network hard drives that are small Windows Files Share/SMB servers are becoming more popular and are cheaply available under brands like Western Digitals "My Book", iomega, Maxtor, Buffalo, Linksys, DLink etc.  Technically these are NAS devices, and are usually small servers inside running Linux and SAMBA. I don't recommend these for reasons discussed below.

Performance and Reliability

  • Performance is very good.
  • OneNote can access only the parts of the file it needs. It does not have to update the whole file when syncing.
  • Syncs every 30 seconds.
  • Generally very reliable, with the big exception of all SAMBA based shares (see below) and some issues if you're using Windows Offline Files

Troubleshooting tips

Below are some potential issues, explanations and resolutions.

  1. Can't write to the notebook. Can't create it or save it to the windows share.

    • Confirm you have permissions
    • As a simple test copy a small file (text file or something) up to the same folder location as the notebook using Windows Explorer.
    • If this fails you don't have permission to access the share or file system. You need both share permissions and file system permissions (that's the most confusing aspect for some people). Here's a technical article about the distinction between Share permissions and File System permissions. I'll try and post a simpler guide later [TODO]. In general, if you setup a Share on Vista the normal way, then it takes care of these two types of permissions automatically (I think XP SP2 does too...).

  2. On your networked hard drive or SAMBA share sections disappear (and other issues including possible corruption)

    • This applies to things like the Western Digitals "My Book", iomega, Maxtor, Buffalo, Linksys, DLink  networked hard drives.
    • Recovery: If you look in the folder on the network share, you'll often see an extra file with a name like "foo~RF12345678.tmp". Rename this to "foo.one" then open OneNote and sync and you'll probably have your file back.
    • Details on this (and why I don't recommend SAMBA shares) below. I'd suggest you consider storing your OneNote notebooks somewhere else.
    • Most of the network hard drives use a small Linux OS and SAMBA to provide the file share
    • Many versions of SAMBA are badly behaved and don't fully and correctly implement SMB
    • In particular many SAMBA implementations seem to have problems with ReplaceFile failing, which OneNote uses
    • SAMBA, like much open source, has many different versions (100s) that have been picked up by the various different hardware manufacturers (running on multiple trimmed down variants of Linux), they've individually tweaked them, forked the code, and do not necessarily update them. The result is that while some of the latest versions of SAMBA do seem to implement ReplaceFile correctly, many of the networked hard drives seem to use versions that don't implement ReplaceFile well. Such is the nature of open source. [Whereas if you have a Windows Server, XP or Vista machine and you stay fully up to date on your Windows Updates they are all the same (well each OS is) and known to work and be reliable. ]
    • This tends to hit OneNote more than other apps, because most apps don't use ReplaceFile. Most apps just open a file, with an exclusive lock on it, then save it and release when they're done. Because OneNote has multiple simultaneous users on a notebook things are a little more complicated. Also we use ReplaceFile to safely do operations like optimizing the file (we optimize a copy then replace the original, ReplaceFile is supposed to be atomic and safe). Other applications that tend to behave a little more like OneNote are Money and Quicken and things that have database type continual access. So these apps will often exhibit issues working against these networked hard drives too.
    • Basically the most common and therefore well tested aspects of the SMB protocol and file system semantics work fine on these devices. But if you have an app that uses a broader set then they can run into trouble.
    • Because of these issues above I'm not sure how much I'd trust these SAMBA hard drives, given other things that aren't well tested (like ReplaceFile) may be buggy too. We've seen other issues on SAMBA shares, including corruption.
  3. Password prompts

    • You may get an infobar on the notebook (yellow message bar at the top of the page) saying that you need a password.
    • Click this and then enter the user name and password for the notebook on which the server is located
    • If you check "remember this password" then you won't get asked for it in future and OneNote will just be able to automatically sync. Otherwise you'll need to reenter it every time you restart.
  4. Windows Offline Files causes duplicate copies of sections if edited from more than one machine, or edits from one machine don't seem to be showing up or are lost.

    • Windows Offline Files might deserve a post all of its own... see this article on Windows Offline Files  for an overview.
    • Windows Offline Files provides cached access to network file shares when you're offline from them. Note that OneNote also has its own cache that enables it to work offline, and do things like multi-user edit, sync and merge automatically.
    • Windows Offline Files is great for things like work laptops that connect to your network share at work, and you want access to the same files while traveling or out of office. It's used when you have your Documents folder redirected to a network share for example.
    • However, it means that when you are offline, OneNote is working against a local cached copy of the file (cached by Windows separate to the OneNote cache). This interferes with OneNote's ability to merge changes from multiple machines. Basically machine A and B both sync to a Windows Offline Files local cache copy. To OneNote it looks like it wrote to the server (because the Windows Offline Files cache is meant to be transparent in this respect). Then later when you're online Windows Offline Files replicates these two (now different) files up to the server. Windows Offline Files doesn't know anything about how to merge OneNote files, so it just gives you the option to keep both copies or replace one with the other.  Depending on what you choose you'll either end up with duplicate section files in the notebook (that are slightly different) or losing one set of changes. And on Vista if you don't resolve the Windows Offline Files conflict (it shows up in the Sync Center in the taskbar) then you'll be continuing to work against the local copy in the Windows Offline Files cache and won't even see the changes from the other machine at all.
    • How to avoid this:
      • If it's only you accessing the files (e.g. laptop and desktop both pointing to the same server Documents folder), then before switching machines and making edits:
        • Make sure OneNote is in sync (F9 on the keyboard will force sync) on the machine you're leaving
        • Make sure Windows Offline Files is in sync (can force sync from the sync center in notification area on Vista)
        • Then when you get on the other machine make sure Windows Offline Files is in sync there before starting to edit in OneNote
      • If multiple people are sharing the files
        • Don't use Windows Offline Files on this share. Or move the notebook to another  file share.
        • On Vista, you can check which shares Windows Offline Files is syncing from the Sync Center partnerships.
    • I personally choose to keep my OneNote notebooks on shares that don't have a Windows Offline Files partnership syncing it (I use Windows Offline files for other shares). OneNote does a fine job caching, syncing and merging all by itself. And multiple layers of syncing and caching tend to get in the way of merge technologies like OneNote's.
    • There a bunch of useful information online about managing Windows Offline Files like:
  5. Windows Offline Files on Vista causes corrupt OneNote files

    • There was a bug in Windows Vista's new Offline Files implementation that could cause corruptions in OneNote files (and some other like Money)
    • It has been fixed in Windows Update. It's a "recommended" update because it's not a security fix. So you have to choose to install it. Having said that, you really should install it when you see the list of issues it addresses.
    • Details of the fix are here http://support.microsoft.com/kb/938979 
    • So if you're using Vista, OneNote and Windows Offline files make sure you have installed all the latest Windows Updates.

OneNote notebooks on SharePoint coming up in the next post...

If you have a OneNote notebook on SharePoint you may have seen something like the following errors at some time:

  • An 'infobar' appears at the top of the page in OneNote saying you don't have permission to sync to that section file
  • You may have failed to create a new notebook on that SharePoint location
  • You may have failed to open the notebook

One obvious reason you might get this is that you don't in fact have permissions to write to the SharePoint location. You should check that first, for example, by trying to write a simple text file there. But there could be other causes for this, most of which should be quite rare*. But if you're running on Vista there is one very simple reason that is likely to be quite common.

Automatically Detect Settings needs to be on

  • You need to ensure that "Automatically Detect Settings" is checked on in the "Internet Options" settings in Internet Explorer, as shown below.
  • You can get to this from Internet Explorer -> Tools -> Internet Options -> Connections -> LAN Settings

image

  • If this option doesn't work for you because it messes with your browsing in Internet Explorer then go back to your original settings and read the rest of the nitty gritty in this post for other ways to possibly fix this.

* there's actually another possibly common cause, depending on your network conditions you may get time outs when connecting to your server that get falsely reported to OneNote as permissions denial. We have made some changes to address this issue that you'll see in a future service pack soonish. This should be intermittent though (unlike the auto detect settings issue) and likely fixed just by restarting OneNote once the network condition has improved.

Why do you need Automatically Detect Settings on?

There's a lot of details behind this that may be hard to follow if you don't know much about HTTP etc. I'll try and explain it briefly.

Background

  • "Automatically detect settings" talks to a server on your network to get basic configuration information like proxy server
  • In XP HTTP traffic goes over a protocol stack called WinInet
  • In Vista there is also a new network stack called WinHTTP for HTTP traffic. This is a much improved HTTP specific stack. It was originally created for Windows Server 2003.  WinInet still exists on Vista for backwards compatibility.
  • WebDAV (a protocol for accessing files over HTTP) was re-written in Vista to use WinHTTP. This was a significant improvement over the WebDAV stack in XP.
  • However, many applications still use WinInet because they haven't been re-written to use WinHTTP on Vista. Internet Explorer for example still uses WinInet. And many parts of Microsoft Office still use WinInet. Parts of OneNote included.
  • So on Vista when OneNote is accessing files on SharePoint it makes some calls to check on things like which files have changed and so on, that ultimately end up using the WinInet stack. But when it actually tries to write up changes to the file it uses WebDAV which uses the WinHTTP stack.
  • Now there is a subtle difference in behavior between WinInet and WebDAV over WinHTTP. WebDAV on Vista has a rule that it never proactively sends your credentials over the wire unless you have auto detect settings on (because that's how it gets configured to know when to send your creds proactively and when not to). WebDAV defaults to assuming you're on open public internet when this is not set and doesn't send credentials proactively at all.
  • Note: that your credentials are always encrypted anyway, so I'm not talking about plain text transmission here. WebDAV still thinks it's a good idea not to send them unless needed on public internet. It's good surface minimization.
  • In theory, if WebDAV gets a permission denied response the user will be explicitly prompted for the credentials and WebDAV will then proceed to send them and you'll successfully connect.
  • The reason for the difference in behavior is that inside a work environment people generally expect to just be able to connect to all their server resources without having to enter credentials for each server.

The problem

 

  • OneNote syncs in the background relatively frequently. It's not just saving when the user hits save. OneNote is also syncing potentially several notebooks on different servers.
  • That means OneNote can't just pop up random dialogs asking you for credentials every time it syncs, otherwise you might be working on one notebook, and get bothered by credential prompts randomly popping up from a second notebook syncing in the background. That would be pretty weird.
  • So as a result, OneNote makes file access calls in a 'UI-less' mode. The layers under OneNote are told not to show credential prompts if there are permissions failures. The various networking layers below OneNote return "permissions denied" error codes. OneNote should then display an infobar saying you need to enter a password and give you the option to click it to enter the password. This is less intrusive than random cred prompts. And this infobar only shows when you're on the relevant notebook.
  • However, in the situation above, the initial WinInet calls all succeed (checking the notebook is there, checking for which files changed etc.) and only writing the file up fails. This messes with this workflow a little and you get a slightly different infobar just telling you that OneNote got an access denied failure. This isn't very helpful...

This affects other apps too

  • This problem manifests in different ways for different apps
  • It's slightly less of a problem for traditional apps. Because they generally save in response to a specific user command only, and do it synchronously. They make all file access calls and network calls requesting full UI showing. This allows the underlying network stacks to just pop credential prompts whenever needed (it's also the reason they can hang while you're saving to a slowly responding network server...).
  • So for many apps this manifests as you getting one to three credential prompts while trying to open a file. Sometimes these may fail and you'll end up with a read only copy of the file open.
  • See this post on the SharePoint team blog for more details on this
    • By the way I would NOT "stop and disable the WebClient service" as suggested as one of the possible solutions on this blog post. It turns off WebDAV which will break OneNote syncing, and likely other apps too. And the "install Web Folder and run in XP compatibility mode" option has some unpleasantness too... Look to the bottom of the post for "Problem Description" and "Potential Workarounds" for other options.
  • Note, that in theory the result should just be that you get a manual cred prompt and entering credentials should succeed. However, in practice I have noticed that there appear to be occasions and configurations where even after entering the credentials the access fails with other apps too. Still investigating.

What's being done to address this?

We're paying lots of attention to this issue. And here are a couple of things that are being done among others:

  • There are hot fixes coming from the Windows team to help deal with this as mentioned on the SharePoint team blog post. The hotfixes are KB941853 and KB941890. These fixes are only available through support right now (e.g. if you're a corporate customer) but should be available in a future service pack after further testing and work.
  • OneNote will also be doing work to have a better response to this particular kind of partial failure in the network calls, so the user gets more helpful information in the infobar and OneNote can prompt appropriately where possible.

You can make template pages in OneNote with background images so that you can always have new pages that look just how you want them to. It can be a little confusing as to how to do this. Here's some instructions below from a mail I sent a user.

Here are the steps.

  1. Create a new page
  2. Put the picture that you want to be the background on the page (not in an outline but directly on the page).
    1. When you paste the picture on the page it will default to being in an outline
    2. Drag it out of the outline (grab the four way handle to the left of the picture and drag it out onto the page surface outside the outline)
    3. Move the picture or resize it on the page to get it where you want
    4. Configure and arrange whatever other content you want on the page
  3. Right click the picture – choose “Set Picture as Background” (although depending on your purpose you may not need to do this) – note this option will only appear if the picture is on the page and not in an outline.
    clip_image002
  4. Then you can make this page a template:
    1. Format (menu) -> Templates
    2. From the bottom of the task pane on the right choose “Save Current Page as a Template”
    3. Give it a name
  5. You can create pages with this template from the drop down arrow next to the new page button, here
     clip_image004
  6. You can even set it as the default template for the current section so that all new pages in the section appear that way.

We've met a number of users who use MindManager for mind maps. It's still a small niche of people, but they tend to be creative and enthusiastic visual thinkers, who are enthusiastic about OneNote too. They often wish for a better connection between OneNote and MindManager. Well our friends over at Mindjet have delivered a cool tool to do just that. The OneNote 2007 + MindManager tool provides three functions:

  • OneNote 2007 Send To MindManager
  • OneNote Hyperlinks in MindManager
  • OneNote Notebook Hierarchy Mapping

In their own words, you can:

  • From MindManager, easily map out the OneNote Notebooks, Sections, and Pages, including hyperlinks to the notebooks, sections, and pages:
  • From MindManager, send the current map to OneNote as an image that you can sketch on and annotate:
  • From OneNote, send a page to MindManager as a hyperlinked topic:

There are some screenshots on the site that give you a better idea of what it does. And you can download it for free to try it out if you have MindManager.

I got the following question recently, and thought the answer might be valuable to others.

Question:

I have a notebook called customers, containing about 40 sections (one for each customer). I also have a SharePoint site for each customer. I'd like to track my customers through OneNote and store customer notes in each of my customer SharePoint customer sites. Right now, the only way I can see to do this is to have a separate notebook for each customer. Is there a better way to accomplish this?"

Answer:

There is a power user feature which meets your needs. It takes a little setup though. You need to use Windows file shortcuts. You want a notebook folder that has file shortcuts in it that point to section files (.one files) in each of the SharePoint sites. This acts like a “virtual notebook” that aggregates these sections.

  1. Copy the relevant .one section files to where you want them on each of the customer sites (e.g. the “CompanyX.one” file to the CompanyX site, and the “CompanyY.one” file to the Company Y site).
  2. In Windows explorer create a folder for your roll up notebook on your local machine (or in redirected mydocs or wherever you keep your notebooks, it can be on a windows file share server if you want)
  3. Navigate to your first customer site file in SharePoint. In the browser right click on the file (e.g. “CompanyX.one”) and choose “Copy shortcut” so you get the URL to the file saved on the clipboard.
  4. Go back to the folder you created in step 2.
  5. Right click in the folder and choose “New”->”Shortcut”
  6. Paste the link to the file in the location field
  7. Give the link a name (e.g. “CompanyX”) then close and save your shortcut
  8. Repeat 3-7 for each of your customer sites/files
  9. When you’re finished go up to the parent folder of your notebook folder, then right click on the notebook folder you created in step 2, then choose “Open as notebook in OneNote”

It may take a while to sync correctly given the number of files and SharePoint sites involved, but this should work fine. The nice thing about this process is that if you have other people involved in some of the clients, you can create different “virtual notebooks” that point to different subsets of the files. Also, you could change what you include in your "virtual notebook" over time. For example you can just remove the shortcut link to "CompanyZ" if you no longer work with them, but you don't have to remove it from the SharePoint site, so you'd have a permanent archive of the OneNote file along with other associated files there. This works for Windows file shares, or files on your local hard drive as well as SharePoint sites.

The OneNote 2007 file format is quite different to the 2003 format. Here are some details on the implications of this and the reason behind the difference.

Impact of this difference on interactions between OneNote 2007 and 2003 clients

  • OneNote 2007 can open OneNote 2003 files read only. This is the default. In this case the format will not be changed and the files will still be editable and viewable by another OneNote 2003 client, and they can be viewed in OneNote 2007 but not modified.
  • OneNote 2007 can UPGRADE OneNote 2003 files. The user is prompted and asked before doing this and it is explained that OneNote 2003 clients will no longer be able to open them. In this case, the file is now fully editable by all 2007 clients but no 2003 clients.

Why is the file format different?

The simple reason is to support new features. OneNote is still a relatively young app and we made some dramatic improvements in 2007 (our second release). In particular we added a pretty unique sharing capability that allows multiple users (or same user with multiple machines) to interact and edit the same notebook at the same time without getting locked out by each other or writing over each other. OneNote automatically handles merging and so on. To do this while retaining high performance, and autosave required some significant innovation in the file format. Among other things, we need to support multiple clients writing to different parts of the file at the same time through range locks rather than a whole file lock. This kind of interaction between OneNote 2007 and 2003 clients (which were not designed for it) was simply not possible, and would not have been possible among 2007 clients without changing the file format. Hence we concluded pretty early the need for a file format change.

In addition to that, we have a lot of new features that weren't supportable in the OneNote 2003 format. Among other things, they include:

  • Tables
  • Embedded files
  • Internal hyperlinks
  • Outlook task flags
  • New note tag types
  • Drawing tools
  • Document printouts (because we do them differently now)
  • Shared notebooks and merging (as noted above) 
  • Merge conflict pages

We understand this issue will cause inconvenience for some, and trust me we did not take this decision lightly. It was a very difficult and painful decision. We do think the improvements in OneNote 2007 are pretty dramatic and compelling and were worth the change. Thankfully many of our beta users seem to agree. Also the upgrade pricing for OneNote is reasonable, so given the compelling improvements we expect as most people upgrade (particularly those who want to share with other machines), this will quickly become less of an issue.

On a final note, rest assured that we are very committed to file format compatibility as a goal for future OneNote versions.

Many people have wondered how OneNote 2007 and Groove work together (or not). Your experience will depend on whether you're using a Groove Workspace or a Groove Folder Share. Here's a brief summary. I'll write more later, but suffice it to say we're aware of the limitations and have grand plans for dramatic improvements in the future...

OneNote experience with Groove Workspaces will be limited / problematic

  • Groove Workspaces will work for individual OneNote section files sort of like a Word doc would, with all the associated potential for conflicts.
  • Groove Workspaces will not work very well with OneNote notebooks, because OneNote notebooks are folders and require us to open the folder. Groove Workspaces aren’t exposed that way. When you open a document in a Groove Workspace, Groove copies it from their store (hidden and not something we can directly access) out to the temp directory and calls the app to open it from there. Consequently we only see one file (the section file) at a time in the temp directory.

OneNote experience with Groove Shared Folders will be much better but still have conflict issues

  • Groove Shared Folders will work better for OneNote notebooks. These function much more like regular windows shared folders. OneNote can see all the files in it at once, you can open the folder as a notebook in OneNote. And basically OneNote notebooks will work there.
  • However, you will still have conflicts if two people edit the same section at the same time (and you’ll end up with two copies of the section file), because Groove disintermediates OneNote's ability to do merge.

Basically Groove works okay for single file document model (but still has conflicts) but it can be quite problematic for data that is represented by sets of files. OneNote Notebooks are an example, Front Page webs would be another example (although obviously less frequent).

Given the time remaining from the point at which Microsoft acquired Groove until the release of OneNote 2007 and Groove 2007 we were unable to do more to make this better in this release because it requires some architecture changes. But it's high on our list to make much better in the next release.

    Do you want a OneNote notebook synced between two computers but don't have a network connection between them, or don't want to create a file share? A simple solution is to store a notebook on a USB drive, an SD card or other removable media. We specifically designed for this scenario with OneNote 2007.

    A quick recap of OneNote syncing is in order (the paragraph version not the hundreds of pages of specs version). OneNote always works from a cache file. This is stored in the Local Settings folder, similar to an Outlook cache. OneNote syncs between the cache and your notebook files. The notebooks could be on your local hard disk in My Documents (yes we still cache notebooks that are on local disk for many good architectural reasons), they could be on a network file share, or they could even be on removable media like USB drives. When the location of the notebook files is not available (e.g. network disconnected, or you removed the USB drive) then the notebook is still available in OneNote and you can continue to edit it. When the location of the notebook files is available again (e.g. network reconnects, or you plug the USB drive back in), OneNote will sync to it, and merge in any changes you had.

    The consequence of this is you can use a USB drive just as you would a network file share as a sharing location for a OneNote notebook between two machines. You can even view and edit the notebook when the USB drive is not available. If you went home but forgot to take the USB drive or SD card home with you, no problem, just edit the notebook at home and bring home the USB drive the next day and OneNote will sync and merge in the changes.

    There's one catch here that we had to address. USB drives can get different drive letters assigned each time you plug them in. The first time you plug it in it may show up as the E: drive, but the next time you plug it in it shows up as F: drive. Or you could plug in some other USB drive that shows up as the E: drive. Our solution to this as that we use a unique ID on the removable drive to identify it and map that to the right notebook. So even if it changes drive letter everytime it gets connected we'll sync the right notebook to it.

    Step by Step Instructions:

    1. Plug in the removable drive (USB drive, or SD card ). Note the drive letter.
    2. In OneNote 2007, create a new notebook on the drive.
      • File - New - Notebook
      • Give it a name and click next.
      • Choose "I will use it on this computer" and click next.
      • Click the browse button and browse to the USB drive and optionally a folder where you want the notebook stored. Click create.
    3. Add any content you want to the notebook (section, pages etc.)
    4. Remove the USB drive at anytime
      • Don't close the notebook in OneNote. There's no need. And by leaving it available in OneNote you'll be able to continue to edit it even when the USB drive is out and attached to the second computer. You can close the OneNote application, and next time you open it OneNote will still have the notebook available from its cache.
      • You might want to give it 10 seconds or so after your last edit, or wait for the drive to stop flashing before removing it. OneNote will sync quickly.
      • Depending on the type of drive you might want to use the Windows "Safely Remove Hardware" tool to shut it down and flush the drive first. This is not required by OneNote and if you don't normally need to do it for your drive (depends on its settings) then there's no need.
    5. Connect the USB drive to the second computer
    6. Open the notebook in OneNote on the second computer
      • File - Open - Notebook
      • Choose the folder with the notebook name that OneNote created on the USB drive above.
      • You should now have all the notebook contents available on the second machine.
    7. Again, you can remove the drive at anytime, without closing the notebook in OneNote. You can close the OneNote app at anytime and when you start OneNote again the notebook will be available from the cache.

    In this way you can move the USB drive back and forth among multiple machines (2 or more). You can have the notebooks always available on any machine even if you don't have the USB drive with you. And you can even make edits on multiple machines at the same time, OneNote will handle syncing and merging the edits to the USB drive when it's available.

    There's one privacy caveat you should know about if you're using removable media to store notebooks. If you plug it into a public computer and then you open the notebook, the notebook will be stored in OneNote's cache on that machine. So if someone using that public machine after you were to look for it, they could potentially see that data. You could minimize likelihood of this by closing the notebook on that machine before leaving the machine. There could still be residue of that notebook data on that public machine, just as with any other document you may have looked at (e.g. in the Windows paging file) but it certainly reduces the likelihood.

    More Posts Next page »
     
    Page view tracker