Time Machine Capable Application!

A one killer feature would be to make Devonthink Time Machine Capable - like address book give us the ability to go back in time in our databases and pull files back up and make Time Machine just work with Devonthink.

This would be huge !

I have to agree here. Not only would finer granularity mean more efficient backup, but tying in to the Time Machine API would be killer.

Somehow, I have a sneaking suspicion the DT guys already know all about this one… :slight_smile:


I tend to think this will be impossible or impractical until DTP 2, when all files (IIRC) are stored outside of the actual database.

I’m looking forward to that a great deal :smiley:

I might be wrong, though. I was surprised they got to Spotlight integration before DTP2, but I don’t know anything about programming.

Getting in Spotlight didn’t require any substantial changes to the database. In fact, a programmer can add Spotlight searching to almost any application, as long as there’s a way to “link” to the individual records inside that application.

For example, I once wrote a Spotlight indexer for the Firefox plug-in Scrapbook. What it did was peel open the Scrapbook XML file, walk through the list of entries, and generate a “Spotlight Metadata Record” for each entry. These live in ~/Library/Caches/Metadata/APPLICATION. If you look in that directory now, you’ll see DTP’s directory and probably a few others.

Files in this directory get a special file extension, like “.dtp1” in the case of DEVONthink. You then write a Spotlight importer for files with this extension, which knows how to pull the metadata out, and put it into the Spotlight database.

Lastly, you write a “Spotlight launcher”, which when given a file knows what to do to launch/invoke/open that particular item.

I know this sounds like a lot of work, but each of the pieces is really small. Here’s the flow:

  1. When DEVONthink saves your database, it writes out a .dtp1 metadata cache file for each record into ~/Library/Caches/Metadata/DEVONthink Pro.

  2. When Spotlight’s indexer runs (the mds/mdimport processes), they read the metadata about your records from these .dtp1 files, since Spotlight has been trained to read the ~/Library/Caches/Metadata directory.

  3. When you do a Spotlight search, it can now find your .dtp1 files because of step #2, and it knows to present them to you as “DEVONthink Pro Document” (this name is associated with the Spotlight importer).

  4. When you then double-click on this file in your Spotlight search results pane, it runs a helper application. In the case of DTP, that helper application is DEVONthink Pro itself. And when DTP is asked to open a .dtp1 file, it knows to a) potentially close the current database, b) if needed, open the database that the .dtp1 metadata record refers to, and c) visit the record referenced in the .dtp1 file.

This sequence of events can be coded for literally anything, as long as you can get the metadata out of your app’s database, and you can write a launcher that will cause that app to visit the target record when the user double-clicks.

Given that FileMaker Pro is Applescriptable, making FMP databases Spotlight searchable would likely be just a few days work, and would not require any modifications to FMP, or to your database. But it would require a manual “Indexing” script to be run. In the case of DTP, they’ve automated the generation of the Spotlight metadata for you.


If I remember reading an interview with the developer’s correctly, DTP2 will still be storing the files inside the .dtbase file because that is integral to the devonAI. If I understand it, within the .dtbase file we will have folders as they would look inside DT (hierarchical, etc) unlike it is now where all files are just in one folder.

John, that’s “just a little work” but there’s no trash right now for DEVONthink. Personally, I’d rather see that first :smiley: