Clarifying the new sync method via Dropbox

With DropBox, local syncStore, WebDAV… both Machine A and B aren’t aware of the changes to a common database until a Sync is done by each machine.

Direct Connection is the only one where one machine is the host for the Synced database.

Hmm… well then it seems to me that, for the scenario of just one person working alternately between two Macs (which would be my scenario), syncing via Dropbox, using a “sync after opening database” (and perhaps “after closing database” too) would seem the safest solution - the one most likely to avoid collisions.

Thanks for the help and advice.

Interesting… if both machines are not on the same network (as in the case of a work machine at an office and a home machine), the DropBox method would work. But for a single User on multiple machines on the same network, I personally would opt for a direct connection. I would just be in the habit of Syncing Machine B when I started working on it.

Remember, you can Customize your Toolbar to include a Sync button, which makes it handy to do a manual Sync whenever you feel like it.

Cheers! 8^)

I have not made ​​my choice, but I see a downside to this method. Both machines must be open for synchronization to be done (I prefer my computers to sleep when not in use).

Another option that appears more suitable for me is synchronization via an external drive connected to my Airport Extreme and always accessible.

It would give me, in addition, the possibility of carrying this disc to use with my laptop when I’m away.

The new Sync procedure was developed, of course, to handle cases where an individual needs to work on databases from more than one Mac, and also extends the usefulness of DEVONthink in cases where multiple users need to share a database.

Syncronization using an external drive that hosts DEVONthink databases has always been possible, and mitigates the need for the Sync procedure. Back in the old days of DEVONthink Pro 1.x (and prior to the existence of the Sync procedure for DEVONthink 2.x) I tried to avoid working on a database on multiple Macs. It was possible to identify the changes on each copy of the database and export/import them to other copies, but that took thought and was a manual procedure.

The “Gordian Knot” approach is to cut away the issues that create problems in the first place.

Place databases on a portable external drive and run them from that location. Especially for self-contained databases that don’t contain Index-captured data, this works well. When the user moves from one Mac to another, the external drive is mounted on the computer being used at the time. This is a bullet-proof method of ensuring that one is always working on the same data content and state of the database. A portable drive weighs only a few ounces, and some of them (especially a portable SSD with Thunderbolt I/O) do not result in loss of speed.

This approach isn’t hindered when one has no Internet access, or slow and unreliable Internet access. For that reason, when going on travel with a Mac laptop it may be advisable, even for those who routinely use Sync via Dropbox normally. Of course, on return from travel the database changes can then be Synced to other Macs.

But this approach would be limited as concerns a feature of the new Sync procedure that really excites me – the ability of multiple users to share a database, as in a small workgroup.

I’m not sure what you’re recommending here - the current new sync setup, or a return to some kind of sneakernet?

And I still don’t see how “multiple users like a small workgroup” could avoid collisions and conflicts if they’re going to be working on the same databases (and syncing them) simultaneously. Perhaps I’m missing something there… :neutral_face:

I was just confirming that the “sneakernet” approach you mentioned does work. :slight_smile:

Yes, unless there is some organizational structure and working rules that are in place, there is the possibility of collisions and conflicts on just about everything a workgroup might do, including but certainly not limited to sharing a database via Sync.

It must be understood at the outset that sharing a database via Sync does not mean that every change made by every member of the group is instantaneously available to all users. But that’s the kind of limitation that can be largely overcome, for example in the case of new content that should become available to all, by communication among the workgroup externally to the database itself.

And of course someone should be designated as the primary administrator of the database, with authority enforce rules to prevent conflicts such as could be created by individuals deciding to completely reorganize a database, or delete large sections of it on a whim. (That kind of conflict would be equally if not more serious if there were simultaneous changes to everyone in the group.)

I like the fact that Sync will stop if database validation fails. That means that the person in the workgroup whose Mac is unstable cannot transmit database corruption to everyone else.

I know that and this solution does not suit me because it does not permit access the database from two computers at the same time.

My suggestion was rather referring to the option proposed by the new version 2.5 of DTPO: “Synchronize using a sync store via any mountable volume”. And I remarked that it would be highly advantageous to use for this purpose, a network volume (what you can do with Airport Extreme or Time Capsule). With this method, the synchronization can be done even if the different computers are not open at the same time (as with Dropbox, but faster).

@avatar
Such a need such a solution!
And some kind of sneakernet can be very suitable for certain uses. But I firmly believe that the new options in DPTO will be real improvements.

I’m confused about sync via direct connection where “one computer is the Host and one is the Client.” The instructions state “for every connection one Mac serves as the host and the other Mac connects as a client.” If I am using a desktop Mac and a MacAir is one machine ALWAYS the Host? Doesn’t the role change depending on which computer I’m working on?he instructions state “for every connection one Mac serves as the host and the other Mac connects as a client.”

I set up my computers per instructions in the Help Center and the video Tutorials so that I have a Dropbox connection AND Direct Connection. I “assume” I needed to do the same set up on each machine and did so. The sync seems to stall on the direct connection unless both machines are on and running DTP. I also get conflicted copy messages and don’t know whether to approve Dropbox or Local.

Indeed, this is the downside of direct connection mode, both machines must be on and running DTP.

How can it be a downside when it’s a purely logical situation? A Direct Connection implies two machines up and running, otherwise it’d be a syncStore option.

How can it be a downside when it’s a purely logical situation? A Direct Connection implies two machines up and running, otherwise it’d be a syncStore option.

I’m not saying that this is not a purely logical situation, I say that the other methods suit me better : via Dropbox or via an external drive, in which case it is not necessary that the two machines are running simultaneously.

Yes, even though one machine is always the host and the other is always the client, the direct sync is a two way process so changes on the client go back to the host. You don’t need to syncing up on both machines.

My situation is similar to yours. I have a main (host) computer in one room, and secondary (client) in another. The sync scheduling is set up only on the host, to direct sync every hour on the hour. I frequently do work on the client computer which is sync’d back to the host. I am careful not to work on both machines within the same hour without doing a manual sync.

Additionally, I have set up the secondary computer to sync every night to my Dropbox account which is therefore an offsite backup. If both computers were stolen I could import the databases from the Dropbox account to a new machine. I could have done this from the main, but the scheduling doesn’t allow different intervals for direct and dropbox, and I don’t want to be syncing to Dropbox every hour.

This is a very constructive, clear and precise answer. :smiley:

Thank you, mikebore, your comments are helpful. It sounds to me as though Dropbox and Direct Connection are merely two ways of accomplishing the same task. Direct is faster and preferred when the two machines are on the same network, but Dropbox is a viable alternative.

I typically work only on the laptop when I am traveling, and it’s not a problem to sync before and after a trip. I suppose either type of connection would work for me.

I must not have set it up correctly, however, to result in error messages and conflicted copies. Maybe I will have to try the set up again from the beginning…

Don’t forget that you can also use a local SyncStore on a portable hard drive or USB thumbdrive too. This is a nice option for those who aren’t on the same network, don’t want their data “in the cloud”, and can Sync at their leisure.

I’ve set up a couple of databases to sync (manually) via Dropbox, and it’s all working fine.

Now today I set up a number of other databases to sync via a direct connection on my local network, and that worked fine, too.

Now I’m thinking, for some of my databases, could I sometimes sync using a direct connection, and sometimes sync via Dropbox, and sometimes sync using both? If so, how would that work?

I usually initiate a sync either by selecting the database and then choosing “Synchronize” from the contextual menu, or by clicking the toolbar button. But if I have a database set up in the preferences with both the Direct Connection location box ticked and the Dropbox location box ticked, I see that, when I synchronize, both methods (i.e., Direct and Dropbox) occur simultaneously (well, actually, the Dropbox one executes first, but once it’s finished, the Direct connection then syncs).

In order to just have one or the other happen, it seems I have to open the sync preferences and deselect the unwanted location - temporarily - from the databases.

Is there (or could there be) a way such that when I select “Synchronize” I could get a prompt asking whether I want to sync locally, or via Dropbox, or both?

Finally, are there be any things to be wary of, syncing with both methods at once?