Syncing Indexed files question

I’ve getting confused by the ins and outs of the syncing process, specifically how it relates to indexed files and I could do with answers to some specific questions. (I’m going to go into detail, because I’ve read many posts, but I couldn’t find any that cover this scenario exactly…) Many thanks!

Scenario (all software versions are the latest)

Desktop: DTPO has several databases, all of which contain a mixture of imported and indexed files (the latter are mainly in Dropbox). This is the ‘main’ repository.

Laptop: DTPO, which has the same databases, synced from the Desktop using Direct Connection Local Network.

iPAD: DTTG contains a subset of the databases, some fully synced, others metadata only, again using Local Network.

The indexed files in Dropbox are added to and edited by other programs (eg Emacs, Editorial etc).

So, everything is on the Local Network and for imported files, everything works perfectly and has done for several thousand years.

Problem

I’ve just started using Indexed files more more widely, and I’ve noticed that syncing DTTG doesn’t trigger the updating of the indexed folders. It works if I update in DTPO on either the desktop or laptop, but not if new files are added directly in Dropbox before I use DTPO. I therefore can’t assume that DTTG is up to date even after syncing.

So…

Questions

  1. Is this expected behaviour, or is there a misconfiguration somewhere?

  2. The posts discussing indexing and DTTG all refer to a setting on the desktop accessed through the (i) button in Preferences > Sync > [sync store], which is what is confusing me about the other posts. I don’t have a sync store on the desktop, because I’m using direct Local Network connections to the databases, so I don’t get any options relating to indexed files. Is this either relevant or a problem? Should I be using sync stores instead of direct connections?

  3. If the first two questions don’t already answer it, what can I do about the underlying problem, which is that syncing with DTTG appears not to trigger updating indexed folders/files…?

Many thanks!

1 Like

It sounds like we use the same approach. What do you mean by the following?

If I’m understanding correctly, I experience the same "problem.” It feels like indexed databases create a new layer on DTTG that requires some round-tripping-like behavior to keep everything synced on multiple devices. I have a variety of rituals that I do to make sure everything’s the same everywhere.

Sometimes I’m tempted to stop indexing and use regular databases, but too many of my files need to be shared with collaborators—hence, Dropbox.

DEVONthink To Go doesn’t support indexed files, ie. there are local copies of the files. If you add files to Dropbox, DTTG will not update anything in the database. It’s not indexing content, in Dropbox or anywhere else.

1 Like

Jim, I understand that, but I’m afraid it doesn’t address my question.

DTTG doesn’t sync indexed files itself, but it does sync files which have already been indexed in DTPO – otherwise no-one would ever be able to view (and click on download) an DTPO-indexed file in DTTG and I can…

Now, DTPO has to be running on the Mac for syncing to work at all (at least, that’s how it works for me using Local Network). If I were sitting on the Mac at the time, I could visit the folder / group and it would be updated (effectively Update Indexed Items is run). Then the updated items would sync to DTTG and I can download them to view them.

What I want to know is: is there a way of triggering that DTPO update of indexed folders without having to be on the desktop and in DTPO? It doesn’t seem to work that way at the moment.

Conceptually: when sync is run on DTTG, it should force DTPO to update any indexed folders prior to the sync, so that the databases really are in sync.

Thanks…

Ryan,

Yes, that’s the issue – I expected Desktop to do a prior update before syncing to DTTG. Otherwise it makes using indexed folders a lot less useful.

is there a way of triggering that DTPO update of indexed folders without having to be on the desktop and in DTPO? It doesn’t seem to work that way at the moment.

No, there isn’t. DEVONthink isn’t that intimately connected to the filesystem (and yes, that’s by design). This may change in the future but that’s the current situation.

OK, thanks.

Are you saying that as well as there being no in-built feature (which is fine), one couldn’t write an AppleScript to run at regular intervals to update the relevant folders and therefore reduce the problem? Is it technically impossible, or it is just there hasn’t been a need for it yet and it hasn’t been written?

(I’m perfectly fine with the latter of course, and I’m not asking anyone to write the script… I’m just trying to understand the problem.)

Cheers.

That’s possible by using third-party tools as DEVONthink Pro (Office) doesn’t support scheduled execution of scripts. But an upcoming release will support this and also improve the filesystem integration, therefore as long as your Mac is up & running, the Dropbox index should be automatically updated then.

3 Likes

Sounds like great news! Thanks in advance to the DT team.

I have something semi-automatic working such that this is rarely a problem for me. I set it up via Hazel a long time ago with poor documentation, so I actually can’t even remember how it works or what it really does. :upside_down_face:

I won’t have time to investigate for a while but if I get the chance to figure out what I’ve done, I’ll post it here. For now know that you can use Hazel or similar tools to trigger indexing when new files are added. Sorry that this isn’t more helpful!

That’s great - thanks, Christian.

I presume by third party tools you mean things like Hazel (as Ryan suggests) or a cron job?

Criss was indeed referring to options like that. :slight_smile:

Great - thanks, all.

I use Keyboard Maestro to launch the following DTPO Apple Script when it detects my Mac has been idle for 10 minutes and DTPO is running. This keeps my three databases updated that index various folders from OneDrive, Dropbox, and Box.

~/Library/Application Support/DEVONthink Pro 2/Scripts/Data/Update indexed items of all databases.scpt

5 Likes

Thank you very much – this fits perfectly.

I already use Keyboard Maestro for just about everything, so it would have been part of the solution anyway. My difficulty was working out how to update the indexed files using DTPO. I looked for an existing script in the script folder under ‘Index’ and didn’t see anything, so I tried to write my own and got nowhere. Didn’t think to look under ‘Data’…

So, all done and tested – many thanks again!

David

This was a very helpful tip, thanks! Here’s a screenshot of my Hazel rule that does what you described. It just runs the Update indexed items of all databases.scpt script that available via Help -> Support Assistant -> Install Extras -> Update indexed items script, which shows up in ~/Library/Application Support/DEVONthink Pro 2/Scripts/Data as mentioned elsewhere.

1 Like

Are you guys able to upload that particular script?
I can’t seem to find it. Strange. v2.11

It’s under Scripts > More Scripts on the second page…

I’m making a move to go with indexed files and, though not using Dropbox, my DT database will be fully dependent on indexed files from my Finder and File System. I use DTTG regularly in editing files (mostly Rich Text) and also creating new ones. My sync takes place over my local network when my devices are home. I’m wondering how to have DTTG send those newly created notes over to my Mac File System and change them to indexed as all the others.

I think I found my answer in a post elsewhere by Greg_Jones here:

It is correct-documents in an indexed folder in the Finder will auto-update in DEVONthink, but documents created in DEVONthink in an indexed group will not automatically be exported out of the database to the indexed folder in the Finder. The thinking here is that you may want to mix documents in an indexed group-say index PDFs that you want available to other apps while keeping annotation documents in the same group, but available only from DEVONthink.

You can somewhat automate 2-way sync by attaching a triggered script to the group in DEVONthink.

on triggered(theRecord)
	try
		tell application id "com.devon-technologies.thinkpro2"
			deconsolidate record theRecord
		end tell
	end try
end triggered

When you attach this script to indexed groups in DEVONthink, selecting the group (to activate the trigger) will export all database documents (and sub-groups) in the group out to the Finder.

Version 3 (public beta now available) does this.