task: to keep several databases on my office iMac and my home Macbook in sync.
I was really excited that DTPO offered syncing via Webdav as well as a dedicated sync store.
I had high hopes that I could make use of my server and finally retire the USB hard drive that needed plugging in, syncing after arriving at a workplace and before leaving again. Not to mention the constant worry about forgetting it.
What I was envisioning was putting the Devonthink syncstore on my syncstore and pushing the Sync button before leaving for home and arrive home finding a fully synced DTPO database. Forgetting to push the button would be no problem as I could always VPN to the other computer to do so should it be needed.
The server runs Ubuntu and I have tried:
and experimented with either syncing to a single syncstore over Webdav or syncing to a DTPO syncstore locally that was located in a synced folder. The disadvantage of the latter solution obviously is that the local syncstore needs space locally which is a problem on the Macbook, on the other hand syncing locally happens almost instantly which makes leaving spontaneously a real option. Syncing over Webdav takes a lot longer obviously, which wouldn’t be a problem if it was foolproof and successful every time.
But sadly it isn’t, so leaving before knowing that the sync hasn’t crapped out for some reason turned out to be impossible.
Dropbox was the best of the bunch but I wanted more control over my data so I haven’t tested extensively.
git-annex has some really clever features but is not really up to the task. The problem is not so much the size but the number of files inside the database or syncstore. It is simply too slow for my databases which are between 1 and 3 GB each.
owncloud and Seafile are very similar in what they achieve regarding the sync but differ in how they achieve it. The short story is that owncloud is a full-featured, includes a calendar solution and lots of other options beyond simple file syncing a la Dropbox. I wished that it tried to do less but that well enough but have to say that if you are really interested in syncing mostly it is clearly inferior to Seafile. owncloud scales poorly, is a lot slower and less reliable.
Unfortunately, Seafile is better with regard to syncing but like owncloud it will only sync successfully sometimes but not always. Without scientific rigour I would guess that 70% of the sync attempts were successful. Combined with Devonthink’s habit of failing silently it was all too easy to think that everything has gone smoothly when it hadn’t. When more than one or two changes had happened in the database, Devonthink would fail stating that some document had not been found when inspecting the remote database via VPN showed the document clearly.
I contacted the Devontec support but although invariably the response time was good it was impossible to troubleshoot to the level of detail needed to get it to work eventually. Keep in mind that Webdav is a complex thing so many things can go wrong that might be beyond the Devontec control that I cannot really blame them. That said, it looks to me that Devonthink had its share in creating the problems.
The practical upshot nevertheless is that out of the box syncing over the net does not work via Webdav or self-hosted file syncing solutions, at least not for databases above 1GB that are changing fairly dynamically. Dropbox may be okay but was out for other reasons for me personally so I am back to using an external SSD drive connected by USB.
If anybody can contribute his or her experiences, especially more positive ones, I’d love to hear about it.