Sharing databases on one Mac for different users

I have around 8 databases. Most are just for me. Two are for just my wife and one we share. The shared on is 5GB in size. We want to keep the databases on a single iMac and sync to mobile DEVONthinkToGo clients on mobile devices (iPhones and iPads) using Bonjour over our home Wi-Fi network. We don’t do any cloud syncing.

I guess there are two scenarios:

  1. Put databases in each user’s private area on the Mac and sync that user’s mobile devices when they are logged into the iMac on their user account, and placing the shared database in the iMac shared folder. This means we have to be super careful to close the shared database on each user account before switching user accounts on the iMac … It’s a pain, and for reasons I can’t solve DTPO doesn’t currently open the shared DB on my wife’s (non-admin) Mac user account (its fine when I log in with my admin account).

  2. Keep the databases in each of our own personal areas on the Mac. I read a posting by @BLUEFROG that mentioned an alternative way of having the shared database duplicated in each user account area with one being a server and the other a client syncing over Bonjour, but it didn’t really explain how to do this (presumably both would need to have DT running at the same time so it can sync, and presumably both have to have DT running in the background so that the respective user can sync their mobile devices without having to switch user account son the Mac too)? Apologies, I can’t find that post to link the URL of that support posting.

Could some kind person help me to work out the best way of approaching the mix of separate and shared databases for different users on the same iMac, and if it is option 2 above, help to explain how to go about this in a bit more detail?

Very many thanks

I was going to suggest localsyncstore, but turns out that won’t sync with the mobile devices… have a look here to see various sync options: Setting up syncing - best way?

If you don’t want to use a cloud-option, then I think Bonjour would be the only way. I have never tried syncing a device with itself (i.e. two accounts on the same device); certainly both accounts would have to be logged in, both DT apps running; if that is actually possible, then setting up Bonjour is a doddle - on one account go to Preferences/Sync, click Bonjour options, Enable incoming connections, provide a password. Now on the other account (leaving the first account open and DT running) go to Preferences/Sync; a local network sync should appear in the locations list; select it, and you should be able to see the databases which are to be synced. You will be asked to provide the password you used earlier on. You would want to select the database the two of you share.

There is no database password, so there would be nothing stopping you from selecting you wife’s databases and syncing them to your account and vice-versa.

In a second step, I guess you will need to set the second account to accept incoming connections too - because you want to sync the mobile device with the account. On the mobile device you should then see two local network locations; for one mobile device in the one location you will want to select the database you both share, in the other you will want to select the databases for account two. In the second mobile device you will only want to sync from the first account you set up.

Does that make sense? It’s what I would try, anyway. Perhaps it will even work :smiley: Otherwise perhaps other kind souls will provide more input here.

PS I would choose to have a backup of my databases prior to setting out on this mission; I’ve never had DT corrupt anything, but prior life experience suggests multi-way-sync could be a good way to destroy a database with a lesser piece of software.

@Blanc - thanks for the feedback. This all sounds a bit worrisome to me, which is why I was looking for some more detail on how to set it up (and I suspect why you caveat the need for backups?).

I’d rather stay out the cloud, not for reasons of security, but because since the demise of Box.com for DT, I moved to bonjour and found it much quicker than the cloud for syncing and we can always wait until we get home again until everything is back in sync.

Can others advise the best options for going about this?

A simple test shows that you can sync with a locked account, so long as DT is open in that account. As such, I think the way I described to you above (follow the instructions in the 2. paragraph) should work.

Many thanks. I think I will do the same thing, set up a test database for sharing, and see how that goes, before trying this with real critical documents. I’ll share the outcome here shortly to benefit others too.

Yes, you can sync via Bonjour between accounts on the same machine.

  1. The accounts have to be logged in, i.e., switched using Fast User Switching.
  2. DEVONthink has to be running on both accounts.
  3. DEVONthink has to have the individual local copies of the syncing database open on both accounts.

However, since you can enable Bonjour on both accounts, you should make sure you only use one account as the server for a given database.
You should not connect Account B as a client of Account A and also connect Account A as a client of Account B and try to sync the same database(s) that way.

Brilliant. I’ll make mine (the admin user) the server and see how that goes.

KSo …

User 1 (the administrator for MacOS) has 4 DEVONthink databases (DT DBs) that user 2 has no interest in.

User 2 (non-admin MacOS user) has 2 DT DBs that user 2 has no interest in.

There is a single DT DB that they both want read-write access to.

On the Mac I set-up …

  • user 1’s DT account as the Bonjour server and saved user 1’s DT exclusive DBs plus the shared DB in user 1’s macOS file area; and
  • user 2’s account to sync with the shared account from user 1 (as a client) and placed the 2 exclusive DT DBs used by user 2 in their user area for MacOS files.

A little bit of testing later, it seems that this works fabulously for both users on the Mac.

I think the problem might be iOS devices. Both users have an iPhone and iPad running DTTG.

So user 1 syncs both mobile device to their server instance of DT, and this will grab all 4 exclusive use DBs and the shared DB.

User 2 presumably can’t sync their mobile devices with DT on user 2 account as it is not acting as a server, and if the sync with the server instance of DT on user 1 account they will only get the shared DT DB and not the two user 2 exclusive DBs (as these are only on user 2’s DT which is acting solely as a client)?

Is my understanding - that this doesn’t quite work for user 2’s mobile devices - correct? If so, I guess the way around this would be to put all the DT DBs on user 1 account and for user 2 to just sync the ones that they are interested in?

If so, this has a downside, that ALL DBs are duplicated on the Mac whether or not both users need access (or have space), and presumably, user 1 has to have all the DBs open for syncing purposes, whether or not they need access to them?

Obviously, both users would just sync the DBs that they need to their mobile DTTG devices.

Could you help me to understand the best way forward for mobile devices running DTTG in this scenario?

Thanks for any further help and advice that you can give.

User 2 presumably can’t sync their mobile devices with DT on user 2 account as it is not acting as a server,

This is incorrect. Enable Bonjour in DEVONthink for the user 2 account and the mobile devices can connect to it as clients. Especially if user 2 has her own mobile devices and are syncing on with her user account, this is easily accomplished.

My admonition in my last two paragraphs were under the expectation you’d be doing this. user 1’s DEVONthink will also see user 2’s DEVONthink in it’s sync preferences. It is possible to connect 1 as a client of 2, but this should only be done if 2 was serving her own databases that aren’t already being seved by 1. If that’s not the case, 1 should just ignore and not enable 2’s Bonjour presence in the sync prefs.