Home

Appendix

Application Icon   Sync Explained

In this section, we will clarify what sync is (and isn't) and how to make an informed choice about the method you choose. In the subsequent pages we will discuss technical considerations and the basic setup of each type. But let us clarify: this section isn't long because sync is complicated. It's long due to the variety of options available.

Sync Simplified

Sync is an incredibly simple and logical concept. You have a database on Mac A. You want that database on Mac B. On Mac A, you upload the database to a sync location accessible to both machines. On Mac B, you access the same sync location and import the database. Now both Macs have a local copy of a database. When anything changes on either Mac, they are transmitted to each other via the sync location. The only variation is if Mac B already has a copy of the database, it will be able to merge with the sync data in the sync location. That's it: simple.

And every sync is conceptually the same, following the same essential pattern shown here:

  • Icon
    Enable a location (with or without an encryption key) on Mac A.
  • Icon
    Upload a database to the sync location.
  • Icon
    Enable the same location in DEVONthink on Mac B, making sure to use the same encryption key, if specified.
  • Icon
    Import the database or merge with the existing sync data.

So you're essentially only using steps 2 and 4 when you want to sync new or unsynced databases, something that likely won't happen often. In fact, the only practical difference is, a Bonjour sync transmits directly between the devices so you wouldn't use step 2.

Indexing and Sync

Often people index content from the local repository of a cloud service like Dropbox. The question then arises: "If I have my data on Dropbox' servers and I sync to Dropbox via DEVONthink, aren't I just using twice the space?" The answer is practically, yes. In the Show Info for a sync location in the Sync settings there is an option Synchronize contents of indexed items. Unchecking this will sync only the metadata for the files, not the contents. However, you should only disable this option if:

  • Icon
    You are syncing another Mac, linked to your Dropbox account, and having the local Dropbox folder in the same relative location. The default location is ~/Dropbox. If the locations are different, the files will appear as missing on the second Mac.
  • Icon
    You are not syncing with our mobile application, DEVONthink To Go. Note it does not support indexed items. Also, if you are using the Download Files: On demand option in DEVONthink To Go, you could never download the contents since the contents are not present in the sync location.

For the most flexibility, it is advisable to ensure you have enough storage space for syncing.

Choosing a Sync Method

Choosing a sync method requires assessing your needs while being aware of technical considerations. Regarding syncing, the first question you need to ask yourself is, "Do I need a remote sync option?". Consider these questions…

  • Icon
    Do you need to sync between machines — especially desktop Macs that aren't easily relocated, unlike laptops — in different geographic locations?
  • Icon
    Do you have a colleague, assistant, significant other, etc. that needs frequent updates to synced data?
  • Icon
    Are you using a shallow sync, i.e., Download Files: On demand in DEVONthink To Go?

If the answer is no to these questions, a local sync on your network is suggested.

For the optimal experience, you should use a remote sync option when you need to. Just having a Dropbox, iCloud, etc. account does not make it an optimal solution for all situations. This doesn’t mean you can’t successfully use a remote solution. It just means there are some stumbling blocks that can occur when using them, blocks caused by the conditions mentioned below that can inhibit proper syncing. If you do need a remote sync option or just want to pursue that avenue for syncing, you need to understand and accept the potential pitfalls involved:

  • Icon
    Network conditions - local and remote
  • Icon
    Remote server reachability and response times
  • Icon
    Maximum concurrent connection limitations imposed by the service
  • Icon
    Bandwidth throttling measures employed by cloud services

That all being said, here are the sync methods available in DEVONthink:

Bonjour: Bonjour is a direct connection sync between two Macs that are on the same local network. It is fast, private, and generally reliable with no intermediary sync location.

  • Icon
    It requires devices to be on and our app running
  • Icon
    It only works on LANs permitting Bonjour or non-standard port traffic and does not work over VPN. Firewalls and networking apps must allow exceptions for DEVONthink's traffic.

Local Sync Store: A local sync store syncs to a specialized folder residing on a commonly accessible location, like a drive on your network. It can also be stored on a connected external drive or thumb drive. It is generally very fast and very private.

  • Icon
    It can be located on an external drive or a shared resource, like an NAS. And it doesn't require other Macs to be up and running.
  • Icon
    Only for Mac-to-Mac syncing. It also requires access to the volume or machine where the sync store is located.

Dropbox: A Dropbox sync transmits and stores sync data directly on Dropbox' servers.

  • Icon
    Generally reliable and doesn't unnecessarily use local disk space and bandwidth when set up properly.
  • Icon
    As a remote location, you could experience slow/unresponsive servers, limited maximum connections, and bandwidth throttling.Questions of privacy can be offset by using an encryption key.

iCloud: There are actually two iCloud syncs: a iCloud (Legacy) sync and a CloudKit (iCloud) sync. Both transmit and store sync data on Apple's servers.

  • Icon
    Easy to setup. CloudKit (iCloud) syncs directly to Apple's servers.
  • Icon
    Like any remote service, the same pitfalls apply. Some people experience stalls or temporary outages, but this is not true for everyone.

WebDAV: A WebDAV sync transmits and stores sync data on a WebDAV server, whether locally, e.g., on an NAS or via a commercial cloud provider.

  • Icon
    Offers potentially more sync opportunities. When hosted locally, provides a fast, generally reliable, and private sync. This is especially true on Ethernet.
  • Icon
    The reliability of a local setup may vary and may require more technical expertise to set up and administer. If accessing WebDAV remotely, the same remote pitfalls have to be considered.

Note: If you intend to sync with DEVONthink To Go on an Apple-mobile device, a local sync store cannot be used.

Common Questions

There are many questions we get over and over, so here are some important things to understand as well as clarifying some of the terminology.

What is a sync store? : A sync store is a special folder on a server or service (the 'sync location') that DEVONthink uses to store sync data for your syncing databases. Give it a name made only of alphanumeric characters. A concatenated name, e.g., Research_01 can be used. Note this folder is only for use by our sync engine.

What is a 'copy of the database'? : One detail to understand about syncing: Only true copies of a database will sync together. Two databases having the same name but created independently are not the same database. These databases will never sync together. This is also why you shouldn't create a database on the receiving machine, hoping to "fill it up" with data from the source database.

If you copy the database (.dtBase2 file) between machines, that is clearly a true copy of the database. Also, importing a database via sync logically yields a true copy of the database. True copies are databases that have the same internal identifier (UUID).

What is an encryption key? : Regarding the privacy of your synced data, all sync methods allow you to specify an optional (but recommended) encryption key for a sync location. The key is an alphanumeric string of your choice and length. This key is used to "scramble" or "descramble" the sync data using AES-256 encryption and the data is stored in an encrypted state. All databases synced to a location using an encryption key will sync encrypted data. Bear in mind, if you specify a key when syncing, you must use the same encryption key when setting up the same sync location on other devices running DEVONthink or DEVONthink To Go.

If you get a message in the Log window or popover about an invalid encryption key, please check out the Sync troubleshooting section.

Note: Bonjour syncs don't allow you to explicitly specify a key, but the sync data is encrypted by default.

What are the Local and Remote sections for? : As noted above, a database must be local to the machine so it must either be open in DEVONthink or imported from the sync location. For a non-Bonjour sync location, Local section of the Databases list displays all local open databases. For a Bonjour location, the Local section displays databases that are open both on the local machine and the Bonjour server machine. In both cases, the Remote section displays any databases that aren't open locally or those that have never been imported to the local machine. Remember this: You cannot sync to a remote database. It must be imported locally, then you work with and sync the local copy.

Can I use more than one sync method at the same time? : Indeed this is supported behavior. For example, you may want to set up a Bonjour or a local sync store for syncing on your local network and a remote sync option for syncing when you're out and about. However, if you want to sync via two cloud-synced services, e.g., Dropbox and iCloud, you should not sync the same databases via two different methods. Doing so could cause conditions where one cloud-service's sync data would be out of date, causing conflicts with syncing. Each sync location is updated independently so changes may not be received in one location before it syncs. Additionally, unnecessary duplicates might be caused, especially if the Conflicts setting in Sync preferences is set to Duplicate documents. Lastly, syncing a database to multiple remote locations may waste space and bandwidth in some cases.

Should I use one sync store per database? : This is either a personal choice or a requirement of your specific situation. A sync location can be used with one, several, or all databases. Multiple sync stores can be employed for different sync situations and/or different devices, e.g., to synchronize specific databases via one sync store for personal use and sync others via a second sync store for business purposes. In situations where you need to sync certain databases to certain individuals, you can use one sync store for each subset of databases.

And while this shouldn't be the first consideration, if you'd like to use one sync store per database or for a subset of them, it may lessen the time troubleshooting a sync issue with a particular database.

How quickly will it sync? : DEVONthink's sync does not run constantly. To balance performance and reduce unnecessary network noise, it syncs on an interval. While the interval can vary by sync method, a good standard to consider is: sync will initiate up to 45 seconds after a change is saved in a database and every 4.5 minutes of idle time when set to Automatic. You can set a different interval, noting a longer interval, e.g., Hourly, can help lessen the resource load.

Another consideration with a remote sync is the quality of the network and server responses. If your network is slow or poor quality or the remote servers are slow, not responding quickly, or bandwidth is being throttled, the speed of the sync will be affected. Syncs on your local network, e.g., Bonjour, are much less likely to be affected.

Sync is my backup: If you've spent any time on our forums, you will have heard this before. Sync is neither advertised nor advocated as a backup method. A proper backup:

  • Icon
    is application-agnostic, meaning the files in the backup are accessible in the filesystem or by other applications. Our sync data is only usable in DEVONthink and DEVONthink To Go.
  • Icon
    ideally stores files in their native state so you can easily restore individual items as needed. Our sync data is not storing your files. You can't go into a sync location and find a PDF of your 2020 taxes, nor can anyone. And when including encryption on your sync location, there is nothing recognizable to anyone.
  • Icon
    provides access to the past state of files. Our sync engine continuously updates the sync data, not preserving any previous states.

Sync fulfills none of those criteria. For a discussion on proper backups, see A Word About Backups in the opening chapter of the help.

I'll just put my databases in (name your cloud service): This is not data-safe and never has been. The mechanisms used by cloud services are not compatible with package files, like our databases. Due to the number of broken databases we've seen over the years, DEVONthink will neither sync nor open databases stored in these locations. We suggest keeping them in a folder in your home folder, like ~/Databases.

I want to access my databases from one location: To clarify, you can't store your databases in the cloud. They must be stored locally, whether that's on the internal hard drive or a connected external drive. As NAS is possible but you should do this only if you're on gigabit Ethernet or better.

I want to find my files in the sync location: Your databases do not "live in the cloud". And sync does not merely copy your databases and files into any sync location. It transmits raw, chunked, and optionally encrypted DEVONthink-specific data, only useful to DEVONthink and DEVONthink To Go. You cannot go into a sync location and retrieve a specific file, and neither could anyone else, friend or foe.