DTTG and multiple computers

Don’t try it.

If you ask DTTG to sync to a computer it hasn’t seen before, it will cheerfully do it. But first it will drop any files from Computer A into the bit bucket, never to be seen again. Oops.

I discovered this when I replaced my desktop computer and am sharing this as a public service announcement for anyone else tempted to try the same thing.

The better way to handle this would be to sync to Computer A so that its database is canonical, transfer all that data to Computer B, and then restore DTTG from Computer B. Without using DTTG in the interim.

If you actually want to transfer all or part of a database from Computer A to Computer B, it’s probably better to use a Dropbox, flash drive, or similar tool.

Katherine

This might be possible in a future version of DEVONthink To Go which also supports a sync method that also syncs multiple computers through MobileMe or DropBox.

But wait, there’s more!

If, by chance, you have DevonNote and DTP running on the same machine, DTTG will attempt to sync with DevonNote, even if it had previously synced with DTP. And if you allow the sync to proceed, it will again dump the materials related to DTP into the bit bucket, never to be seen again.

Might I suggest that more informative user dialogs might be useful?

Katherine

:open_mouth:

Thanks for the warning. Even if it turns out not to be a universal problem it’s not worth the risk tempting it.

I will have a look at the warning alert that should warn users before connecting to a new machine/new copy of DEVONnote or DEVONthink.

Eric, does that imply the issue Katherine reported will happen under similar conditions on other systems so it’s wise to heed her warning?

I can’t speak for Eric, but there’s nothing particularly unique about my system. I would say the issue is not a bug, but a mis-feature. That is, the program is behaving as designed, but that behavior confuses unsuspecting users in a way that may lead to data loss.

Katherine

Thanks for the plausible/likely(?) explanation, Katherine. Sorry you had to discover this misbehavior the hard way and hopefully Dtech will make it more avoidable for everyone in the future.

I just tried this, first syncing with DEVONthink, then with DEVONnote on the same computer. An alert came up that warned me that it would replace all data in DEVONthink To Go on the device with the new data. It claimed that it was paired with “another computer”. I will change this to “another instance of DEVONnote or DEVONthink”. Would that be clearer?

Yes it would, thank you.

You might also include something like “If you do not want to change your pairing, shutdown this new instance and try again.”

Katherine

So, the DN sync with DTtG is unidirectional, i.e. no data in DN will be lost? And if synched with DT again will the DTtG db be unidirectionally overwritten, no DT or DN content is deleted?

Referring back to Katherine’s example:

Now I’m not sure I understand which content was irretrievably dumped into the bit bucket. Is there some combination of synching that’ll unexpectedly drop data from DN and/or DT databases? When synching with only DT or DN, their db content updates can be influenced by DTtG changes during bidirectional synching. But I wouldn’t expect DTtG changes made relative to DT to be bidirectionally synched with DN (and vice versa). Instead, DTtG content originally from DT would be overwritten with, but not modify, any DN content during the first sync. And DT content would remain the same.

It’s unclear to me whether synching will be unidirectional and/or bidirectional when DT and DN are both used.

In my experience, when DTTG is syncing to a new instance of DTP/DN, the existing DTTG data is dumped. The DTP/DN data is treated as canonical, and preserved. So the data loss scenario works like this:

  • Sync DTTG to DTP as normal.
  • Go away, do work with DTTG.
  • Come back, wake up computer, bring up DevonNote (with or without DTP) for whatever reason.
  • Sync DTTG. It will report that it has found a new computer, and ask to sync with it. If you allow it to proceed, it will sync to DN, and any data unique to DTTG will be lost.

Yes, there is a certain amount of user cluelessness involved here. However, the fact that the message reports finding a new computer, rather than a new DevonTech instance, is somewhat confusing and doesn’t offer a clear path to figure out what’s going on.

Katherine

So, for that case it’ll be a “desktop overwrites mobile”-style (unidirectional) sync and leave DN content as-is. Okay.

I still have a tough time not thinking, in general, that “syncing” will do bidirectional comparison/consolidation of content unless explicitly specifying it be unidirectionally “A overwrites B”. Reminds me of the recent communication with precision of terminology subtopic between Bill and I. :slight_smile:

Mine, struggling to make sure I understand this. :slight_smile:

Agreed.

I agree. IMO a much better approach would be to allow the user to explicitly choose among “sync,” “A overwrites B,” or “B overwrites A.” But first you’d need to make sure it was clear exactly what was being synced, and that isn’t the case here. Having my DN data accidentally overwrite DTTG is bad, but having DTTG overwrite DN would be much much worse.

Katherine