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](https://www.newegg.com/Store/SubCategory.aspx?SubCategory=481&name=Network-Hard-Drives)  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 <span class="underline">I don't recommend SAMBA shares</span>) 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](https://en.wikipedia.org/wiki/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 https://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...