Maryn, it would be wonderful if DEVONthink databases could be shared and synced among multiple Macs simply by storing the database files in Dropbox, or Box or any of the other cloud services on the Internet.
Unfortunately, there are two problems that emerge.
DEVONthink databases are single-access databases. Simultaneous access to a database by more than one DEVONthink application can cause confusion and database damage. If stored in a cloud host, failure to close the database before it is accessed by a different Mac can cause problems, and it’s all too easy for users to get into trouble with this approach.
Even more seriously, DEVONthink uses Apple’s file system to manage databases and their contents, but cloud hosts such as Dropbox, Box and others do NOT use Apple’s file system. Each of them differs in important ways, such as the ways package files are handled, limits on the size of some files, and assumptions that stored files are static (but DEVONthink databases are dynamic in file storage, as files can often be moved inside the database for performance reasons). Dropbox works very well as a simple file copier of “simple” files such as word processor files, but becomes problematic when faced with a DEVONthink database.
The Sync procedure of DEVONthink offers the ability to share and synchronize databases among multiple Macs. Technically, the most straightforward way is by direct connection of two Macs. But that method doesn’t meet the needs of many users, especially when the Macs are in different locations.
To enable Sync of Macs in different locations, the concept of a Sync “store” is introduced. The document and metadata files contained in a database are copied to the “store”, which may be held on a portable drive or in Dropbox. (I won’t talk about WebDAV here, which has complexities such as the ways in which authentication and other issues are handled by different hosts.)
The beauty of the Sync “store” approach is that it bypasses the two big problems noted above. Simultaneous access of a database is avoided, and the “store” doesn’t contain the big database package file itself, and the “store” files are static “simple” files, not dynamic in nature. A different Mac can access the “store” via Sync and create or update a shared database.
Many of our users employ Dropbox as the vehicle that holds the Sync “store” and allows Sync via the cloud. The tutorial video and the user documentation PDF describe the steps to set up Sync. Note that Sync doesn’t use the standard access provided by Dropbox, but communicates directly with Dropbox. For that reason, and to prevent unnecessary duplication of storage space, directions are provided to remove certain files from one’s Dropbox folder.
Does Sync work with other cloud hosts, such as Box? Currently, Sync is “tuned” for Dropbox, and uses some APIs that are specific to Dropbox. It appears that each cloud host differs in some respects. That makes it difficult to develop Sync for the range of cloud hosts. Dropbox is currently supported because it is popular. (In my case, as I live in a log cabin in the woods and have satellite Internet access, the size of my databases, low upload and download speeds and a monthly limitation of 15 GB during working hours eliminate cloud Sync.)
A limitation of the current Sync procedure is that the user of a shared database becomes aware of changes to the Sync “store” by another Mac only after invoking a new Sync procedure. A future generation of Sync will likely be able to send database changes almost in real time.
The simplest case of Sync is when the user makes database changes on one Mac, then moves to a second Mac and updates it to the changes made on the first Mac.
Sync gets more complicated when changes have been made to a database on more than one Mac, and Sync is invoked. For example, suppose a word processing document has been edited differently on two Macs. This raises the possibility of conflicts and how to resolve conflicts.
In the case of a shared database accessed by a workgroup, it would be prudent to make someone the manager of the database, who would institute rules for use of the database. Otherwise, Sync conflicts become more likely. Think of a rogue workgroup member, who decides to reorganize the database to fit his own wishes (worse yet, two rogues who disagree with each other).
Do not regard Sync as a comprehensive backup system. Do use a real backup system, such as Time Machine or other backup utility, or Database Archives.