Home

Appendix

Application Icon   Sync

Before we discuss particular details of sync methods, take a moment to check out the Preferences > Sync section. This gives you an overview of the preference pane where syncs are set up. Additionally, you will find a short glossary of sync-related terminology in the Appendix.

Sync Simplified

Sync is an incredibly simple concept. You have a database on one machine. You want that database on another machine. From the machine with the database, you upload the database to a sync location accessible from both machines. On the machine without the database, you'd access the same sync location and import the database. This way, every device, Mac or mobile, has a local copy of a database. Changes are made locally then synced through the sync location to the connected devices.

The only variations are:

  • Icon
    If the second machine already has a opened copy of the database, you will have the option to merge with the sync data in the sync location.
  • Icon
    Using a Bonjour sync, in which you'd import and sync directly between devices.

That's it. Every sync is conceptually the same. The differences you find are the requirements of the particular sync method, e.g., Dropbox, and are covered below. Bonjour and local sync stores show a few more specific (but simple) steps, but they all follow the same essential pattern shown here:

  • Icon
    Enable a location (with or without an encryption key).
  • Icon
    Upload a database to the sync location.
  • Icon
    Enable the same location in DEVONthink on another Mac or DEVONthink To Go in iOS (using the same encryption key, only if specified).
  • Icon
    Import from or merge a database to the sync location.
  • Icon
    Repeat as needed.

Basics and How To

This sync section isn't long because it's complicated; it's long because of the variety of options available. While the basics of sync are very simple, questions will arise and there are details to be covered. Below we answer some common questions, then describe specifics per sync method.

What is a sync store?: A sync store is a 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. 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.

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

Can I encrypt after I've already synced?: It is not possible to simply add an encryption key after syncing as DEVONthink cannot encrypt already synced data. Indeed, if you add, remove, or modify an encryption key post-sync, you will see Invalid encryption key warnings in the Log window. In order to switch to an encrypted sync, you'll need to clean the sync location first. Control-click the sync location and choose Clean Location. After the clean has been successfully reported in the Log window, Control-click the sync location again, modify the encryption key as desired, then enable databases to sync again. However, remember that changing or removing the key will require making that change in DEVONthink or DEVONthink To Go if they are syncing with the same sync location.

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. The Remote section displays any databases that aren't open locally or those that have never been imported to the local machine. You cannot sync to a remote database. It must be imported locally, then you sync the local copy.

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.

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 Preferences > Sync 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. DEVONthink To Go 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.

Bonjour

Bonjour (also called a direct connection) is technology you are almost certainly already acquainted with. If you have a wireless printer or scanner and notice how your Macs and mobile devices can see those devices by name with no setup by you, they are using Bonjour. Bonjour is a way for devices, or services like DEVONthink's sync, to broadcast its presence on a network without requiring technical know-how by the user.

When it comes to syncing, a Bonjour sync deals directly between devices. One device acts as a server, the other a client to that server. The participating devices must be on, running DEVONthink or DEVONthink To Go, and on the same network. There is no intermediary location where data is stored. This is much faster than uploading all data to some server on the internet and downloading it again on another device. But, when you leave your office and you haven't synchronized your databases, you'll need to wait until you come back another day.

Note: Bonjour does not function over VPNs. This is a technical limitation of the technology, not DEVONthink.

Bonjour Setup:

  • Icon
    Step 1: On the machine acting as the server, open Preferences > Sync and press the Bonjour Options button.
  • Icon
    Step 2: Click Enable Incoming Connections to use this Mac as a Bonjour server of its databases. Optionally, have closed databases open when a client initiates a sync.
  • Icon
    Step 3: Enter a mandatory password. This password is required for other devices to act as a client of DEVONthink's. If you are working with an IT department who has assigned a port for you, or you have a port you'd specifically like to use, enter it in the Port field. Otherwise, leave this blank and DEVONthink will assign one for you.

The Mac with Bonjour enabled should now be visible as a sync location to other devices on your local network. On the other devices, enable it, enter the password, and you can import databases or sync existing databases directly with it.

Note: You should never use more than one device as a Bonjour server for a given database.

Local Sync Store

A local sync store is a specialized folder containing sync data on your local machine or connected drives and servers. This is a very fast and reliable sync method for Mac-to-Mac syncing. You can use one sync store to sync multiple databases or create more than one, e.g., one for a particular group of databases.

Setup a new local Sync store:

  • Icon
    Step 1: Open Preferences > Sync and enable the Local Sync Store option. If you already have one created, click the + button and choose Add Local Sync Store.
  • Icon
    Step 2: In the sheet that appears, navigate to the location you want to save the sync store. Enter a name and an optional encryption key, if desired. Then press Add.
  • Icon
    Step 3: When the location is created, select it and enable the databases you want to sync in the Databases list on the right.

Setup an existing local sync store:

  • Icon
    Step 1: Locate the local sync store (.dtCloud) file in the Finder.
  • Icon
    Step 2: Double-click the sync store or drag and drop it into the Locations pane in the Sync preferences.
  • Icon
    Step 3: If you used an encryption key when you first synced to the existing location from another machine, select the sync location and press the Info button to open the Info popup. Enter the appropriate encryption key.
  • Icon
    Step 4: When the location is created, select it and you should see any importable databases listed in the Remote section of the databases list.
  • Icon
    Step 5: Double-click a database you want to import, saving it to a safe location, e.g., the Databases folder in your Home directory.

Note: Due to technical limitations, a local sync store currently cannot be used for Mac-to-mobile syncing. iOS doesn't have the ability to mount file servers.

iCloud (Legacy)

As most Apple devices are logged into your Apple ID, iCloud is the simplest method to set up and sync with. Since it's logged into your personal account, it can only be used for syncing with your own devices. If you want to keep your databases in sync but not share them with others this is a great choice. We strongly recommend an iCloud plan with enough storage. Here are the simple instructions to set it up.

iCloud Setup:

  • Icon
    Step 1: Open Preferences > Sync and enable the iCloud (Legacy) option.
  • Icon
    Step 2: Enter an optional encryption key, if desired. If you are already syncing to this location from another machine, you must enter the same key you used. Leave it blank if you didn't use an encryption key.
  • Icon
    Step 3: Select the sync location and enable the databases you want to sync in the Databases list on the right. If you already synced from another machine, double-click a database in the Remote section, saving it to a safe location, e.g., ~/Databases.

One thing to realize with iCloud syncing, the sync is done locally. After sync is finished, iCloud uploads to Apple's servers, then to devices using your Apple ID. This means databases may not be immediately available to sync on the other devices. The initial sync requires patience, as DEVONthink has no control over the speed and reliability of iCloud's process. It syncs to the iCloud folder, iCloud does the rest. See the CloudKit section below for an alternative option.

CloudKit (iCloud)

Utilizing the same active iCloud account, the CloudKit option offers a single-stage sync with the same simple setup as the iCloud (Legacy) method. However, with this option, the sync is directly to Apple's servers. This can appear to be a bit slower than the legacy option, but once the sync is finished the files are already uploaded without having to wait for iCloud to sync on its own. This also conserves space as no sync data is temporarily stored on the local machine's hard drive. The instructions are essentially the same as setting up iCloud (Legacy). You're just choosing the CloudKit (iCloud) option instead.

CloudKit Setup:

  • Icon
    Step 1: Open Preferences > Sync and enable the CloudKit (iCloud) option.
  • Icon
    Step 2: Enter an optional encryption key, if desired. If you are already syncing to this location from another machine, you must enter the same key you used. Leave it blank if you didn't use an encryption key.
  • Icon
    Step 3: Select the sync location and enable the databases you want to sync in the Databases list on the right. If you already synced from another machine, double-click a database in the Remote section, saving it to a safe location, e.g., ~/Databases.

Dropbox

If you have a Dropbox account you can use it just like you'd use WebDAV. DEVONthink creates a private folder for its sync stores and so keeps its data separate from your photos and other documents. Of course it does not get access to anything except its own files. Dropbox and DEVONtechnologies respect your privacy.

The setup for a Dropbox sync location is essentially the same as for iCloud. However, there are two differences of which to take note:

  • Icon
    Sync Store Name: You will have to enter a Sync Store Name. This is where the sync data will be stored in the Apps folder of your Dropbox account. You can add more than one sync location, if desired.
  • Icon
    Authentication: Since the Dropbox sync connects and syncs directly with the Dropbox servers, you are required to authenticate the connection. When you first enable a Dropbox sync location in DEVONthink your default web browser will open and ask you to allow access to our sync engine. This will need to be done on other devices you are setting up this same Dropbox sync location. Once the authentication is allowed, you subsequently can add and remove other Dropbox sync locations in DEVONthink.

If you are using a Dropbox sync and also the Dropbox application, it is advisable to exclude the DEVONthink Packet Sync folder inside the Apps folder from being synchronized with your Mac. This keeps the Dropbox app from wasting valuable disk space and bandwidth by re-downloading all changes you've made to your databases, and from spamming you with notifications.

  • Icon
    Step 1: Click the Dropbox icon in the menubar at the top of your screen, then click the account icon and choose Preferences.
  • Icon
    Step 2: Select the Sync tab and click the Choose folders to sync button.
  • Icon
    Step 3: Select the Apps folder, and uncheck the DEVONthink Packet Sync folder.
  • Icon
    Step 4: Click the Update button and okay the removal of the local data.

Note: Due to Dropbox' API restrictions, you cannot sync between Dropbox accounts, .e.g., between yours and a colleague's account. Also it is not possible to connect DEVONthink to more than one Dropbox account at a time.

WebDAV

If you run your own WebDAV server, your ISP offers it as a service, or you have subscribed to an online service such as CloudMe, this might be for you. Generally, if you can access the WebDAV server with ​Go > Connect to Server ​in the Finder, you should be able to connect DEVONthink to it.

Your data is stored in encrypted sync stores on the server. You can keep all your devices in sync at any time as long as you have internet access.

Setting up a WebDAV connection follows the same simple pattern and allows you to specify a sync store name. But there are a few parameters that must be entered to make the connection:

  • Icon
    URL: This is the address of the WebDAV server to which you are connecting. Make sure you use the proper protocol of http or https. Also make sure the URL is a complete path, as required by the server or service you're using.
  • Icon
    Username/Password: Enter the defined or provided username and password to allow DEVONthink to connect to the WebDAV server.

Note: A typical complete path would be similar to: https://myWebDAV.com/WebDAVvolume/WebDAVFolder. The volume and folder are generally case-sensitive. Specifying a WebDAV folder may be required if the server doesn't allow you to write to the root of the volume. Check with the manufacturer or provider.

CloudMe: A European cloud service offering WebDAV services, there is a built-in template for syncing with it. Just enter the username and password you use to log into the service, enter a store name, and DEVONthink with connect with a proper WebDAV URL for you.

Other cloud services: If you are interested in other cloud services to sync with, services offering WebDAV connections should be supported. Check the FAQ or Support pages to see if it's supported.

Rolling your own: It is possible to run a WebDAV server on your own. Some NAS drives, e.g., Synology, have WebDAV capabilities and you can run a WebDAV server by repurposing an older Mac. Even some more full-featured packages like OwnCloud or NextCloud can be set up for WebDAV services. However, these options can provide more technical challenges in setup and administration beyond the scope of our support.

Note: With Dropbox and WebDAV connections, if you are connecting to a location you've already synced to, a list of existing sync stores is displayed in the Sync Store Name dropdown. This way you can quickly add the proper sync store instead of trying to remember the exact name you gave it.

Q & A

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: Along with the previous note, this is not possible. Databases are stored locally and must be imported to the current machine.

I want to find my files in the sync location: Your databases do not "live in the cloud". Sync does not 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.

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.

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.

Troubleshooting

Generally, syncing is a transparent and reliable process. However, poor network conditions, unreliable servers, etc. may cause unexpected issues. Please refer to the Sync section of the Troubleshooting chapter for some possible fixes.