Update on Synchronization between Two Computers

It has been awhile since this topic seems to have been discussed. What is now regarded as the best approaches? I have ChronoSync already. Would it accomplish synchronization correctly across a broadband home network? I note that DEVONSync now exists, for a small fee, but I don’t know whether that is DEVON-approved, nor how well it works, nor whether it is better than ChronoSync. The option of exporting recently changed files and then moving just those to the other machine (whether through the ether or by USB stick), and importing, would seem “ok,” but a bit time-consuming and error-prone.

I have DEVONthink Pro Office, an iMac, and a MacBook Pro.

Note to DTech: a FAQ for this recurring topic would be helpful.

Actually, there already is an FAQ article about this topic :slight_smile:


Responding to existence of a FAQ on syncrhonization:

Hmm. Thanks. I had not picked that up in my search. However, I read the FAQ to mean that ChronoSynch should NOT be used, even though numerous people on the forums have done so over several years. What are they doing that makes it ok? The FAQ’s reference file-based synching rather than data-base synching is opaque to me. I don’t mind trying DEVONSync, but the FAQ’s caution leaves me pause. It seems to me (and previous forum contributors) that having a definitive DEVON-technologies-endorsed solution should be a much higher priority than at least some of the bells and whistles that have been added to DT since last I used it extensively.

You can use ChronoSync but it could cause problems and database corruptions because it is a file-by-file sync. As for the “bells and whistles” — we are implementing now what we have promised. Then we’ll add what we have not yet promised. But, MobileMe-based synchronization definitely has some priority.

DEVONtechnologies cannot be expected to test and approve all the various copy/clone/backup applications that people use, in the variety of conditions in which they use them.

That said, I’ll tell you how I manage synchronization issues. :slight_smile:

  1. I try to avoid like the plague having two or more copies of a database diverge in content by modifying two or more of them differently.

  2. There are fundamentally very, very tricky logical problems in doing two-way synchronization of databases that have diverged in content. The best solutions to those logical problems will result in making you, the human, ultimately responsible for making decisions, such as in a case when you have edited a file differently within both databases. I hate a case like that. I don’t want to have the software simply choose one of the versions, but then I’ll end up scratching my head trying to figure out what I had been thinking and picking and choosing between elements of two versions of that file. But, as the FAQ warned, attempting to use two-way synchronization software may very well just damage your database.

Personally, I use the Gordian Knot solution. I need to be able to work on my databases whether I’m at home or on travel. My solution is to use a laptop as my primary computer. Problem solved. :slight_smile:

OK. Sometimes I may need to work on a different computer. The easiest way I’ve found to do that is to copy my databases to a portable FireWire drive and run them on that drive. My databases are self-contained, so that’s easy to do. Performance isn’t as fast as when I’m running the databases on the 256 GB SSD in my laptop, but it’s acceptable. When I’m finished working in that mode I simply copy the modified databases back to my laptop. (I recently bought a 500 GB 7200 rpm 2.5 inch drive for $129 and stuck in into a case with FireWire 400 connection, so that’s not a very expensive approach. Smaller HDs have gotten really cheap.) It’s also possible to run a small database from a little thumbnail USB drive, although performance won’t be great and it may not be as reliable. Thumbnail drives are great as ‘sneaker net’ devices, though, to transfer files from one computer to another.

Once in a while, in a fit of temporary insanity, I may add new content to a database from a computer that doesn’t hold the master copy of that database. Perhaps I’ve downloaded some files from the Internet, or Imported some files that are on that computer. Rather than running synchronization software (I probably don’t want to copy that other computer’s files to my laptop, and certainly don’t want to synchronize my laptop to it) I’ll open the History tool on that revised copy, identify the recently added content (Date Added), select it (Date Modified sort) and export it to a new folder in the Finder. If I had edited a file, I’ll remember to also select that for export. Then I’ll Import the contents of that folder to my master copy on my laptop. Problem solved. (I’ll have two versions of that edited file in my master database, but that’s OK – I can choose one or the other, or incorporate changes into one and then delete the other.)

I have redundant backups and copies of my databases.

I use Time Machine to backup my laptop. I keep copies of my databases or Backup Archive archives of them on another computer, and I use a portable drive that holds recent Backup Archive archives for offsite storage.

I don’t use online storage of databases or backups, simply because my relatively slow and unreliable satellite broadband connection (a rain shower will knock me offline, whether it occurs locally or at the uplink site in Texas) isn’t sufficiently dependable.

Other users may have alternative approaches that work well for them.

Although the FAQ post recommends against use of MobileMe (because of Apple’s implementation of WebDAV) to store a database, DEVONtechnologies is working on approaches that may allow use of MobileMe in the future. But storage of a zipped database file such as a Backup Archive file on iDisk will work well now.

Some users report success using DropBox or similar approaches to allow synchronization of a database between their desktop and laptop computers. Note, of course, the caution that a database must be closed after use on one computer before it is accessed by a second computer.

There are many backup applications, and most of them are capable of incremental backups of drives (including DEVONthink databases), including ChronoSynch. Eric uses and recommends rsynch. And there are a number that will successfully clone a bootable backup drive (which is a nice thing to have in case of hard drive failure.) I depend primarily on archives created by the Backup Archive script for my database backups, because offsite storage is the greatest security. I like the fact that the filename of an archive contains the backup date. Although that script was removed from pb6, Christian posted a copy of it at viewtopic.php?f=3&t=8948#p41541

Just remember that synchronization is a term that get tossed around with various meanings, and the practical effect of approaches to keeping a database up-to-date can be accomplished in various ways. I try to keep it simple, reliable and as easy as possible.

D’oh. Missed that while also looking for another one. :blush:

Looks like it could use a refresh, e.g. incorporating relevant comments from this and other threads.

Of course I still wish Bill would convert more of his prolific and useful posts he repeatedly churns out on the forum into FAQs, blog articles, or some other non-forum support resources. :slight_smile:

From my own experience in the lat 1980s: We were upgrading the software for a digital PBX in a large hotel. We began by backing up the existing database to (believe it or not!) 8" floppy disks. Of course Murphy’s law got in the way and somehow the disks contained an older backup and we were doing what might loosely be called 2-way synchronization by mistake. We wound up totally hosing the hotel’s PBX and voicemail system, creating momentary chaos. We were instantly getting a more recent set of backups loaded (at least the local tech did backups 2x a day) and were in the final phases when the GM came storming down into the switch room. I cooly turned to him and suggested they invite guests into the bar for live music. The very notion of going from a non-operating phone system to live music caused his own synapses to do a hard reset and he left without a further word, shaking his head. Of course that only delayed the inevitable hell I got from Corporate.

Dropbox does work, although with some caveats. The caveats stem from the fact that Dropbox doesn’t support extended attributes. So, Dropbox doesn’t preserve the bundle bit which keeps the .dtBase2 as a package. However, this can be resolved by setting it manually after the initial sync.

The other problems are things like .webloc files. In the past, they didn’t store the URL in the file proper so you’d get zero size files. This isn’t a problem for DEVONthink because it handles the .webloc file fine, but Dropbox doesn’t transfer the additional information over. For newer .webloc files, they appear to have a non-zero file size so I think those are fine. I suspect that things like comments are also a problem, but I rarely use them.

One thing is that I’ve always added to the database from a single computer so I don’t know how well adding from multiple computers work.

I’m thinking of using Dropbox to keep my databases synced but I have no idea what the significance of your first paragraph is (extended attributes not being supported) and how I would resolve that by “setting it manually after the initial sync”. Would you mind explaining that?

Also, do you have to close the databases on one computer before using them on another?

The bundle bit makes a folder in the Finder behave like a file. It’s the reason DTP opens when you double click a database; rather than the Finder just opening the folder. So you have to manually set the “second side” to behave correctly if you use DropBox for this purpose.

And you ABSOLUTELY, POSITIVELY must close the databases on one computer before using them on another. If you don’t, you will not get corruption but what you will get is replication/duplication of all the DTP database files and resolving it is going to be very, very difficult. The changes won’t be merged, and practically the only way to resolve will be to manually export the files/folders on one machine, copy them, prune the wrong version of the database files, etc. Yuck.

The options for synching DTP databases right now, quite frankly, stink. My workflow was more “take notes and sync” than it was “do research and try and coordinate documents that might have relationships between them” so I actually ended up moving to Yojimbo for all my notes that I create in meetings, as it’s just way more convenient for me with the MobileMe sync.

Sounds way too complicated and potentially dangerous to be useful to me.

I think I’ll use Evernote for notes when I’m away from home. The problem here is there’s no easy way to import these notes into DTPO when I get home. It would be great if there was some way to easily do this, with Evernote or any other program.

Do you just keep your Yojimbo notes separate?

Separate from what? I now have all my RTF and plain text documents, as well as some web archives, and bookmarks, in Yojimbo.

I moved the PDFs and associated other file types to regular folders in the Finder. I’m mostly using DTPO for scanning & OCR now. Maybe if tagging comes in before 2014 I’ll give it a go again :wink:

We have tagging. :smiling_imp:

Sorry, I misunderstood. I thought you were using Yojimbo and DTPO together.

c’mon, Annard. The current implementation is not acceptable. The last thing I want to do is to build an entire hierarchy inline with my main outline and then use the “replicate to” functionality to add a tag. I just want to type the darned tag, in the box that’s there, that refuses to accept input at the moment.

The UI is craptastic for tagging at the moment, and I’m not a real fan of replicants for this purpose. Maybe PB8 will bring this; surely pushing it out further is frustrating :confused:

After a year of going sync crazy , I settled on Bill’s Solution:make my laptop the primary computer.
DropBox = Doesn’t support xtended attributes = loose existing OpenMeta tags (which is going to be implemented in DT “soon”)= Dropbox useless with the final version of DT ,unless you forgo tagging in DT .

For what it’s worth, I use Unison (cis.upenn.edu/~bcpierce/unison/).

I use it to sync my work laptop and my home desktop. I created a launchd task that runs the sync every 30m on each client.

I’ve had no problems.

When I was doing the syncing manually I wold occasionally forget to sync one and get a conflict. It was nothing a database repair didn’t handle.

I’m trying to work out a similar problem with keeping data synced between my machines. What does it mean to be file-based or data-based? What is wrong with one or the other?

I’m certainly awaiting Mobileme synch with more than a little interest.

I am synching at the moment with ChronoSync and although it is a little clunky I find it works perfectly.

In Chronosynch you have to set to dissect packages — and you have to make sure that you are synching in the right direction.

This system hasn’t given me any real problems.