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