Custom Fields


I know this topic has been discussed before, but I thought I would ask again for 2013:

Are there plans to introduce the ability to set custom fields for PDFs?

There is the ability to include columns such as resolution, word length and other completely random fields - but nothing like Year of Publication, etc. that might actually be useful.

I am using the DevonThink trial and think the program is excellent… but the inability to define custom fields is a dealbreaker.

I understand, for example, PDF publication years could be organised using groups… but what if I want to see ALL years of publication at once?

From what I understand, using groups, you can only see one group at a time and not see multiple.

I only want to sort by year, or sort by some other field I define, something incredibly useful that other programs allow. It allows for a more flexible user experience.

Are there any plans to introduce this feature, with a reasonably certain timeframe?

I notice that more than 3 years have passed since this feature request was acknowledged.



User-assignable “fields” are planned for a future generation of DEVONthink.

However, as the late Senator Russell Long said, there are more ways of killing a cat than by stuffing it with butter.

For example, you could create a new tag group called Publication Date. Make it hierarchical by creating new tag groups within it for each year of publication date that applies to your collection, e.g., Published 1996.

To view all of the documents that have a publication date tag (any year), switch to Tags View and click on the Publication Date tag.

To view just the documents published in 1996, click on the Published 1996 tag.

A similar approach works with group hierarchies, if in Database Properties you uncheck the option to exclude groups from tagging.

The full Search window (Tools > Search) has an Advanced button that allows tags to be included with other criteria in a search, and can create a smart group for any search by clicking on the “+” button to the right of the query field in the Search window.

“Future generation”… gah! :blush:

Frustrated, but appreciative of the very prompt answer and helpful workaround.

Thanks, Bill!


Hi Bill

I tried a Tag Group hierarchy as you suggested, but this is unsuitable.

When clicking on the Tag Group (‘Publication Year’), all documents belonging to the ‘Year’ sub-tags are displayed, but there are two problems:

  1. The documents are all out of order - i.e., they are not displayed in year order (even though the tag labels are displayed in order)

  2. When selecting the ‘Publication Year’ Tag Group, there is no way to know of the year of the documents listed. Without the year displayed, I effectively have all my documents in a random order, with no way of telling them apart (by publication year).

It is a shame that such a powerful program like DevonThink lacks custom fields… many other competing programs feature this.

For a feature that has been requested for a number of years - one that competitors have implemented - this is a shame. This is quite strange considering other ‘less useful’ fields are implemented, such as Duration, Spotlight Comment, Aliases, Width x Height, etc.

It seems I will have to look elsewhere for this basic functionality.

EDIT: Just saw that the issue of custom fields was raised over EIGHT (8) years ago. And no progress on this? Wow.

I just had a thought on searching: What if I wanted to find documents published within the last 5 years (where my database contains articles spanning 20 years or more), with certain tags, etc.?

I would imagine this to be a reasonably common usage scenario.

Is there no way to search this way in DevonThink?

If you have tagged each publication by its publication year (for example, by dragging each such document - or multiple selected items - to the appropriate Year Published tag group in the Groups & Tags panel) that can be done by brute force.

In the Advanced button display, multiple predicates can be entered after the first instance, by holding the Option key. So you can enter the tag for each of the last 5 years in the criteria list.

Even were there already the user definable metadata fields you requested, I suspect the search by tags wouldn’t be more complicated to set up, and might remain more definitive (year dates can occur in other fields, for example).

Re your comment that the tagging scheme suggested doesn’t allow sorting by publication date when the top-level tag is selected in the Tags View, there’s a solution if you don’t mind playing a bit fast and loose with Creation Date metadata.

In each of the subgroups of the tag group Publication Date, select all of the contents and invoke the Date Change script (available via Help > Support Assistant - Install Extras - Scripts). All the selected items will then have the Creation and Modification date you enter. Afterwards, a sort by Creation Date will display the entire collection with that tag in the order of publication dates.

Thanks for your reply.

I have come to the conclusion that Devonthink is only a search program.

It is not a database program - it lacks severely in a number of respects, and, after EIGHT YEARS for a simple feature to be implemented (one that numerous other competitors have included without issue), it seems clear that there is no intention to change this.

Promises of “future generation” feature inclusions are like promises of water turning into wine. They hold no value when promised features (for basic functionality) have taken over 8 years to implement.

I can’t imagine Devonthink being used in a practical way as a database for documents other than for the most simplest of needs. The search functionality is incredible though, and it is unfortunate that the program is crippled by a seeming unwillingness to engage with the community and implement the most basic of features.

I will have to make do with an alternate program that, whilst not offering the same search functionality of Devonthink, is at least willing to improve upon the ability to catalogue files.

Wanting to search through the contents of files published only in the last 5 years is not too demanding a request.

Devonthink has dropped the ball on this one.

I’m still not clear on what those other programs are. It would be helpful to know.

Perhaps the best thing to do at this point is just to say it’s not for you.

Thank you for your wise words, Greg, especially in light of my own comments:

If I wanted to add an article to a database but wanted some way of recording the original source, so that I can later cite the original source when referencing the database article, how would I go about that?

Use the Aliases column? Spotlight comments?

Clearly, I really would like to make use of Devonthink, but just cannot see how some (simple) database usage requirements are catered for with the program.

Please tell me if there is a way to record the original source. Without tags or groups, as my articles come from a million different places and it would be a nightmare to have my view littered with all of these. Also, tags and groups for only one article (as would most often be the case) would not be suitable.

Is this possible?

And please, Greg, no jokes this time. First, because your last one wasn’t funny, and secondly, because it would be best to keep this discussion constructive.


I was also thinking that, for publication year, I could do the following:

As far as I am aware, there are four b[/b] date fields used by Devonthink:

  1. Date Created
  2. Date Added
  3. Date Modified
  4. Date Opened

A nice little workaround for me would have been to use Date Created as the original publication date (effectively, when the article was created) and keep the Date Added field for when the article was added to the database.

This way I could easily sort by Date Created (Publication Year), regardless of which tag/group I was using.

Is there a simple way to:

  1. Change the Date Created field? As far as I can tell, there is only the option to change the Date Modified field using a script, and then use a second script to change Date Created to the same value as Date Modified. Seems awkward and tedious for multiple files.

  2. Have only the year for Date Created? I suppose I could have all my articles with 1/1/YEAR, but if possible if would be nice to have only the year.

This version of the inbuilt “Change Date” script will change only the creation date. (The “Change Date” script changes both creation date and modification date to the same date.) Install this in your script menu.

-- Set creation date (but not modification date)
-- Created by Christian Grunenberg on Sun Mar 12 2006.
-- Copyright (c) 2006. All rights reserved.
-- Modified by korm 20130202

	tell application "DEVONthink Pro"
		set this_selection to the selection
		if this_selection is {} then error "Please select some contents."
		set theDate to (date of item 1 of this_selection)
		set theMonth to ((month in theDate) as integer) as string
		set theDay to the day in theDate as string
		set theYear to the year in theDate as string
		if (theDate as string) contains "." then
			set defaultDate to theDay & "." & theMonth & "." & theYear as string
			display dialog "Enter creation date in DD.MM.YYYY format:" default answer defaultDate buttons {"Cancel", "OK"} default button 2
			set defaultDate to theMonth & "/" & theDay & "/" & theYear as string
			display dialog "Enter creation date in MM/DD/YYYY format:" default answer defaultDate buttons {"Cancel", "OK"} default button 2
		end if
	end tell
	set theDate to date (the text returned of the result)
	tell application "DEVONthink Pro"
		repeat with this_record in this_selection
			set creation date of this_record to theDate
		end repeat
	end tell
on error error_message number error_number
	if the error_number is not -128 then
			display alert "DEVONthink Pro" message error_message as warning
		on error number error_number
			if error_number is -1708 then display dialog error_message buttons {"OK"} default button 1
		end try
	end if
end try

Not possible. Dates are yyyy-mm-dd hh:mm:ss date fields, and do not accept strings. Of course, you could make everything “created” on January 1 of that year, and so sorting will essentially be sorting by year only.

I just wanted to add that I’m glad to hear this is under development, and I hope it comes down sooner rather than later. I’m an academic, so the most useful metadata fields (author and journal, for example) couldn’t be replaced with tags.

This was first said to be under development over eight years ago… :confused:

“Under development”?? Is Devonthink 3 around the corner? :wink:

Hi, Andreas. As Christian has occasionally hinted on the forum, there are plans for a future generation. But no release date will be promised in advance. “No wine before its time!” :slight_smile:

I’m a heavy user of DEVONthink Pro Office for managing many tens of thousands of documents. For me, DEVONthink excels any document management application in allowing me to analyze and access the information content of my document collections. And as a “document manager” it can handle larger collections of documents than any other document manager for the Mac.

Except for relatively simple computations in Sheets, DEVONthink doesn’t “do” numbers. But of course it can hold searchable documents created using Numbers or Excel, that can be used for number-crunching of data within a database. I routinely do that in my databases that are benefited by number-crunching, such as my financial database that also deals with collecting and documenting data for tax-filing purposes.

Unlike some apps such as Evernote that change some document filetypes to a proprietary filetype, DEVONthink retains all documents in their native filetypes. It would, of course, be easier to add user-definable fields to documents via a proprietary filetype, but DEVONthink doesn’t do that – and I consider DEVONthink’s approach a major virtue. I wouldn’t want my Pages or Excel documents, for example, to be transformed into some weird new filetype that could only be opened by DEVONthink.

That means that DEVONthink’s ability to add metadata to documents is “limited” to the kinds of metadata that can be applied to any file, such as Spotlight Comments, or to those that are accepted by some filetypes, such as the Document Properties fields in PDFs or RTFs, text fields and annotations in PDF and of course metadata available for all documents via group organization, tagging, and labels within a database. Content added to a database from the Web will generally include the source URL. Scripts can be devised to change data metadata, or to add a prefix or suffix to Names. User-definable fields are not (yet) available.

But I can still add any kind of metadata I wish to my documents. I do that via creating a rich text document that is hyperlinked to one or more other documents, in which I enter searchable information. This can be very powerful and flexible, as I can add within a note cue strings that define specific kinds of metadata that are then searchable. Suppose I wish to add the source citation to a document that’s an excerpt of another document. I can quickly create an Annotation note (via a convenient keyboard shortcut) that’s automatically linked to the referenced document, and add the citation information (and anything else I wish). As the Name of the Annotation document is the same as that of the referenced document, plus a suffix, if I sort that group by Name, the Annotation will be displayed directly under the Name of the referenced document. Better yet, a link from the referenced document to the Annotation note will be created, so that it will find the Annotation note even if it were filed in a different location in a database. Although only one Annotation note can be assigned to a document, I can reference that document (and/or its Annotation note) from any other rich text note, as well.

I’m sure I will find user-definable metadata fields useful in a future version of DEVONthink. But I’ve got a lot of power to assign searchable metadata in the current version of DEVONthink.

Hi Bill, thanks for your extensive reply. I just wanted to tease you guys a little bit. I’m fine with DT as it is, it’s running all the time, here. I currently need neither sync nor meta-data (would I want to add author, year, and stuff to every .pdf inside DT), so I’m a pretty satisfied customer. The problems described by my fellow DT users above appear to be related to the what is one of the hardest and most time-consuming things to learn as a Devonthink user: to find the appropriate role for DT vis-a-vis other software and in your workflows.

A number of competing apps don’t do this.

Why, exactly? Doesn’t the database file merely reference the original file? And the database file itself contain the extra metadata?

Perhaps this is all a case of people talking about different things. I understand you to be talking about modifying the original file so that the metadata is contained within.

I (and, I suspect, many others) are merely asking for the database file itself to contain the metadata.

From looking at the annotation text file feature, I can see that each imported file in the database has a x-devonthink-item:// hash (or whatever you call it.

Why can’t the database index reference this unique number in a table and then contain the metadata too? And then display this all of this in the program.

I know that a response might be that when exporting the files or sharing them with others, you lose the metadata and that this information will effectively be locked in to Devonthink.

But this is also the case currently for Groups and Tags. If I share a PDF with someone, they won’t see the Group or Tag attributes.

So currently functionality reflects this limitation.

Further, I can’t imagine anyone having an issue with the metadata being locked in to Devonthink if it was contained in the database index and not in the file itself. If anything, it would be good for the company by indirectly fostering brand loyalty!

I don’t see how the ‘technically difficult’ aspect of this argument works.

There is, of course, the “this is my program and I’ll do what the hell I like with it” side of the coin, however.

This is exactly the kind of behavior I despise Evernote for. It is not fostering brand loyalty, it is holding a User’s data hostage and forcing him to keep using their application and system.

We are not trying to strongarm people into using our applications. That is why we have such a robust Applescripting library, do not change file formats, etc. We know people have other apps they want this data to work with. This is not the easiest job to pull off but I think we have addressed it quite well. (Bias admitted)