OneNote Shared Notebooks – Options and Troubleshooting – Part 1: Windows File Shares


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…


Comments (9)

  1. David is starting a great series of posts on the OneNote storage, here is the first post: OneNote Shared

  2. David Rasmussen is starting a series of posts on sharing OneNote Notebooks. Not only is this interesting

  3. Back in December I pointed people to something David wrote about notebooks in Windows file servers: OneNote

  4. Your blog has a lot of useful information, David.  Thanks for that.  I would *really* like to hear more about sharing OneNote notebooks over the Internet using the Web storage services you mentioned above.  If OneNote can’t support this use case, many will have to resort to Google or Zoho notebooks.

    Regards,

    Travis Spencer

  5. aatreya says:

    It seems like Live Mesh would be a great platform for allowing users to synchronize their notes between multiple devices.  The best part is that I think it allows you to do a sync at a deeper level than the section files – you could represent individual notes and such.

    I know Mesh is still in its infancy, but is this something you guys might consider for the future?  I’ve switched to Evernote recently solely because of the ability to share notes between machines seamlessly, but I prefer OneNote’s flexibility and interface.

  6. Nanda says:

    We are seeing duplicate sections being created with a Sharepoint server. Do you have any pointers on how to avoid this with Sharepoint? (OneNote 2007) Thanks!

  7. AJ says:

    This blog post (and part 2) are very helpful, thank you.   I've learned that I have my OneNote 2010 sharing configured incorrectly, as I suspected.  This info should be in the official documentation — I couldn't find it.   Also OneNote should check for incorrect usage of Windows Offline Files and warn you once.

  8. AJ says:

    Another issue that needs some explanation/clarification:

    What exactly happens if you run OneNote 2010 on the same computer as is hosting the Windows SMB share?  While also running OneNote 2010 on another computer that accesses the same notebook via that SMB share?   For example, a home user scenario where the SMB share is running on the users desktop PC, and their laptop computer accesses the notebook via SMB — a common scenario!

    I noticed some confusing behavior in OneNote 2010 on the host computer (the desktop PC in this example).  For starters, the notebook was initially not shared at all.  When I tried to change it to being shared, OneNote copied the notebook to the shared folder (on the same computer), and left the original unshared copy of the notebook unchanged and disused.   This creation of 2 copies of the notebook is confusing and a potential for data loss, especially since neither version is labelled "new" or "old".  Also it doesn't make it clear whether the old copy is disused or not.

    Another confusing issue:  I elected to share the notebook using the OneNote GUI, but presumably because I "shared" it to a SMB share on the same computer, it didn't appear as a shared notebook.  For example, the Sync command is disabled, same as an unshared notebook.  

    Will it still work correctly and reliably with multiple users when one user accesses the notebook directly (on the same computer) while other users access this same notebook via SMB?

    Will it still use cache when accessing the notebook directly?  Will the 30 second update interval still apply in regards to (a) changes made by the "direct" user, and (b) changes from other users via SMB ?

  9. JL one note 2013 says:

    When trying to share a single note book across a standard network to a shared drive, I find that all note books are shared including my personal one. How do I stop this?