Sync Stories: Zotero + Sync for Academia = Anywhere Access

Sync Stories is a column dedicated to our users. Each week, we showcase a different use case for BitTorrent Sync and the personal stories behind it.

In this week’s edition: engineer Chris Salter shows how a combination of research tool Zotero and BitTorrent Sync allows him to manage his academic research effectively, keeping everything synchronized and available any time, across all his devices.

From Chris: 

I’m a Fire and Explosion engineer, who completed his PhD at Loughborough University investigating the economic cost of fire within the UK. I’m now a consultant working on fire protection to new build structures within London and the rest of the world. I also work alongside Imperial College London on fire engineering research.

Use Case

As an academic (and now a consultant), I’m required to keep up with the latest developments within my industry. Usually this means reading recent, scientific publications to keep abreast of all the research being undertaken by universities around the world. As part of this, my work involves having to constantly referencing previous work – created by others – to allow me to make arguments based on scientific evidence. And in the case of writing my own reports and journal papers, to ensure that I’m not accused of plagiarising and to allow my readers to check other peoples’ research.

For this, I discovered Zotero. Zotero links into my favourite browser (or has a standalone version) and basically stores a database of all the papers, books, documents and websites that I want to reference. Zotero syncs the metadata of the documents via its server to different installations if you create an account. However, the documents themselves do not sync, unless you pay for the additional space (you do get 300MB of free space, but I’ve got a collection of 900MB of papers!) Whilst the metadata sync is good, I want to be up to date on all my computers so that if I need to refer to a paper, I can regardless of where I am.

Other referencing software lets you create your own folder layout and point their database to that – for example, you would be able to add your papers to a Dropbox folder and let Dropbox sync the files for you. This is how I completed my PhD, using Jabref and my own folder structure. However, Zotero is more robust and creates its own filing structure. This took some getting used to and made my syncing method redundant. I also had the issue that I use all three major operating systems and any method needed to be cross platform.

[wide]Chris Salter BitTorrent Sync[/wide]

Filing System

Zotero has it’s own filing system, putting each paper into a folder with random characters.

[wide]Chris Salter BitTorrent Sync[/wide]

This makes it hard to understand which paper is where. This also happens to be stored in the Application Settings of the program, rather than in a user specified folder.

My first method to try and get these files syncing was to use Symlinks and junction points. I would move the folder into my Dropbox folder and then symlink back to the application folder. This seemed to work fine for a while, until I made an error adding a new machine one day and I managed to delete all my documents in the filing system! Thankfully, Dropbox has the rollback function, but it was a lesson hard learned – a simple spelling error when trying to create the symlink and I deleted the lot.

Zotero itself has an option within its settings to use a different base directory – however, this required some manual managing of files for a bit and some data again went missing. I needed a solid system.

This is where BitTorrent Sync came in; as it can sync any folder on the computer with other machines, I was able to select the folder I wanted on each machine and set up the sync. Like others on the BitTorrent Sync blog, I used a Raspberry Pi as an always on sync node. Therefore, I was able to set up the sync using this as a node to distribute my papers to all my machines.


Zotero recommends that you only sync the storage folder if you’re going to hack their system – this is because the main database library is a SQLite file and you can cause issues if you open Zotero on multiple machines at once. For this, I only needed to sync the storage folder as Zotero itself syncs the metadata for me.

First thing is to find the storage folder – this depends on what operating system you’re using and what version (either the Firefox add-on or the standalone version).

Firefox Version

OSX - /Users/<username>/Library/Application Support/Firefox/Profiles/<randomstring>/zotero/storage  
Windows - C:Users<User Name>AppDataRoamingMozillaFirefoxProfiles<randomstring>zoterostorage  
Linux - ~/.mozilla/firefox/Profiles/<randomstring>/zotero/storage

Standalone Version

OSX - /Users/<username>/Library/Application Support/Zotero/Profiles/<randomstring>/zotero/storage  
Windows - C:Users<User Name>AppDataRoamingZoteroZoteroProfiles<randomstring>zoterostorage  
Linux - ~/.zotero/Profiles/<randomstring>/zotero/storage

Once you’ve found this folder, it’s simply a case of adding this to BitTorrent Sync, letting it hash and then select the right folder on the other machine. BitTorrent Sync then starts syncing files between the different machines.

In this fashion, I can keep my bibliography in sync across a number of different machines, without having to worry about storage space on cloud-based services. It also has the benefit of not changing any of the settings in Zotero, so nothing needs to be changed and a new install can be up and running (and downloading file data) within minutes.

In addition to the Zotero storage folder (which in my instance is reasonably big), I also use BitTorrent Sync for transferring large files. Part of my work is to model building fires and smoke spread using the CFD modelling software, Fire Dynamics Simulator. This software can generate results files that range from a few MB’s to tens of GB’s, depending on the size and complexity of the model. This means that occasionally transfer of the files is to large for normal distribution methods – BitTorrent Sync lets me transfer these files between all the machines I need them on without any hassle.

You can reach Chris on LinkedIn. And if you’ve got an epic Sync idea, use-case or how-to, shoot us an email at sync[at]