Erico & Daniel,

thank you :smiley:

Hey Christian,

Could the Devonthink team create a place on the server to download and upload scripts? Not a message board, just the sripts with a description. I think it would be a great way to extend the usability of DTP and perhaps show those running DTP demo how scriptable it really is. More selfishly, it would save me from sifting through this message board to find all of your little gems. Thanks for all the new features through AS.



we’ll probably add some of the scripts I’ve posted recently either to the next releases or to the stand-along examples package (see download page).

I was just pointed to this discussion from a question i asked in the usage scenarios by Annard. I know I’m coming in late, but I’d just like to cast my vote for a more built-in versioning system. The scripts are great; but part of versioning includes the basic ability to for the versions to be smaller than their normal size, and for there to be some basic comparison between previous versions. I have no idea how programming any of this would be, but even the ability to work with Subversion (and its like) vis-a-vis the DT database in v.2 might be sufficient, though something similar built in would be phenomenal. Since it’s open-source, maybe even a look into Subversion might be possible (you could pull an Apple, using open-source in a commercial app, :slight_smile: ).

I understand and agree with the bloat-ware fears; but this would obviously be a “pro” feature for people who use DTpro as their information management backbone, and can really use these types of features.

The bloat fear is a very real one, given that DT is overwhelming for a newbie as is. Not to mention that more features means more code, which means more bugs and more testing, which in turn mean longer delays between versions and increased clost.

It seems that Christian is solving a lot of feature requests with scripts. This makes me wonder if it would be worth adding a single feature that would allow the user to invoke specific scripts from the Toolbar, Context Menu, and from user-specified hotkeys. That way “features” could be added or enabled through configuration, rather than increasing the size of the codebase.

Regarding versioning, I’m generally for it. I would much rather have the contents of the DT db checked into cvs or subversion, which should work fine with the 2.0 plans for a filesystem-based db.

At least the scripts menu can be already added to the toolbar. And it’s possible to define shortcuts by modifying the filename of the scripts - just add three underscores and the desired shortcut. For example “Demo___Cmd+Ctrl+A.scpt” gets the shortcut Cmd-Ctrl-A.

Another possibility to define shortcuts is of course to use System Preferences > Keyboard & Mouse > Shortcuts.

To put it more simple, what about the History function of the Zope zodb database: hold let’s say 10 versions listed with date/time of the last change, every list item a hyperlink to the full entry, plus a possibility to compare two of the versions (diff-like), plus a possibility to copy one of the older versions to the recent one.
This would be a medium between the scripts Christian presented and a full fledged versioning system, which maybe would be too complicated for the average user.


I was surprised when I couldn’t find this feature.

I’m thinking about switching from G/One-Drive but sometimes being able to go back and get an older version of a document safes a lot of hassle.

Any plan in the near future?

I use a smart rule that triggers on a save action


There are no plans to add versioning.
You can use a smart rule like @DTLow mentioned or just duplicate and rename a file before making edits.

Also, if you’re using Time Machine it’s actually pretty quick to restore previous versions of individual files, if needed.

  1. Browse the time machine drive for your database
  2. Open the backed up database in read-only mode
  3. Find previous version of your file, drag to desktop and import into active database

Can you clarify what you are referring to here?

I have a time machine backup drive. In that drive, it’s possible to navigate through the folders for a given backup and double-click the backed up DevonThink database. This opens the database, but in read-only mode because the time machine drive is read-only. From here, it’s possible to navigate the DT database and drag-and-drop individual files to the desktop

Ahh… got it.
Do note, you should see a Duplicate UUID warning in Window > Log and the database(s) should be disabled for syncing. Can you confirm this behavior there?

Yes, I do recall seeing that warning. Sync was not possible via DTTG while the backup database was open

And it wouldn’t be possible with DEVONthink on other Macs or even just to a local sync store either.

Thanks for confirming you are seeing the correct behavior. :slight_smile:

1 Like

The 90s called they want their backup habits back.

However, is there any easy way to get these smart rules?

By the way: I use Mac because I like things to be nice and easy.

Edit: Forget the scripts mentioned below, they are not necessary. See the next post.

on performSmartRule(theRecords)
	tell application id "DNtp"
			repeat with theRecord in theRecords
				--  code goes here
			end repeat
		on error error_message number error_number
			if the error_number is not -128 then display alert "DEVONthink" message error_message as warning
		end try
	end tell
end performSmartRule

  • Create a Smart Rule

E.g. like File version / Version History - #5 by cgrunenberg