Add the power of tagging (and visualisation)

A development request :slight_smile:

On the tagging matter, perhaps the aliases info panel can be set to behave differently depending on one’s preferences;

  1. iether as tags for visual and conceptual searching with a quick visual tag word cloud in another panel ( tagging as in folksonomies like Flickr/Delicios/Technoarti etc)

  2. or as wiki link words as it is at the moment

The Folksonomy style tag approach becomes another great way to categorise and group, allowing for items to appear in multiple categories a bit like replicating a document in DT now, but it occurs automatically based on the tags you attached to a document (with the option of switching it on/off). A tag cloud could dynamically update in a window/panel, perhaps part of the search pane? This would be a great way to see your interests/concepts at a glance.

Imagine the power of groups, sets and clusters as they are used in Flickr!

There’s one major question - do we really need a second implementation of tagging? Because there’s already an invisible tagging system: Hierarchies and replicants (e.g. in the scientific database over here some articles already have 10-20 “tags”).

Maybe the only necessary improvement is a visual representation of such tags and the possibility to search for them.

As Christian noted, DT Pro automatically “tags” documents based on the organizational structure and – even more importantly in my opinion – using contextual recognition.

Increasingly less frequently, I will sometimes add a keyword or note to the Comment field of a document’s Info panel, to help me remember something. That’s in effect a tag. But, as noted, I generally rely on DT Pro to handle tagging for me.

With a document open in its own window, here are some tricks that you might try:

[1] Click the “See Also” button. DT will suggest related documents. (My all-time “Wow” feature in DT Pro.)

[2] Click a text selection that seems interesting and Control-click. Choose the option “See Selected Text” and DT will suggest potentially related documents. (This operation will be improved in DT Pro 1.1.)

[3] Option-click on a word, e.g., “biodiversity”. DT will suggest a list of documents that contain that word. This is one of those neat “Wow” features.

Manual tagging of records has been shown to be highly personal (different people do it differently). Worse, the same person is likely to tag records differently at different times, that is, inconsistently. Finally, with many thousands of documents in my database, I’m likely to look for stuff that I didn’t tag in the first place. So manual tagging can break down because I don’t have the time to consistently tag every record with tags appropriate to every interest I might have in each document’s content.

Between the tricks noted above, the degree to which I organize my content in groups and subgroups, and the ability to save replicants of search results to a new group (or even as a smart group), I rarely need to do manual tagging.

Hmm,… thanks for the considered replies!
These tips are great, I’ll give then a whirl.

I made a bad start as a newbie I’ve realised; in that Ive been putting key words into the info window ‘aliases’ field thinking all this time I was ‘tagging’ - instead it seems those words are used only for auto wiki links! (am I right?).

Additionally Ive been using the comment window to put all kinds of lengthy book and article descriptions. From what you say, would that just confound document searches compared to succinct sentences or key words?

In any case, I would still find a tag-cloud viewer an quick way to jump into an interest area. Since Im still focusing my research it would be nice to get a global view of active and inactive (potential research strengths and weaknesses) topic areas in my database. This could be a way to highlight obvious areas for further research, or areas where theres an opportunity to fill a gap!

Would this be something achieved through a plug-in architecture?

That’s right.

DT is able to search for comments if you use either the “All” or the “Comments” search option (“All” is the factory setting).

Although such an AppleScript (Studio) solution should be possible, the result would probably be not very satisfying.

Something I had forgotten all about until recently is the concordance tool, which in a different way, does a similar thing to the cloud, but it’s automagic. I’m rediscovering the usefulness of concordance.

I bow in humility to the geniuses of DevonTechnologies.

Of course, I forgot about that!
In any case Im not entirely clear on how I can effectively use concordance as yet, in particular what weighting actually means and how it works (ie what it says about my data?).

I noticed some things that might be desirable: A toggle to turn off/on ‘stop words’ for example.

This is not just a matter of visualization (even if it would be fantastic to be able to see and manage Tag Clouds once a proper tagging system would be offered. As a long time user and fan of DT, I can say that one of the things I miss the most is a tagging system like or Flickr, also called folksonomy or ethnoclassification.

That kind of tagging has considerable benefits versus more traditional partly-hierarchical-based methods. These two pages are highly informative regarding those benefits:

Please, consider implementing a proper tagging system into this beautiful application!

Wouldn’t we get a form of tagging if we could modify the smart folder script to only look at comments? Then title the smart folder with the tag and use the information pane to add tags to a note?

I’m script challenged so this could be very wrong but it apears that at present the smart folder searches the text and attributes for the keyword/s. So if we could make it search in a specific place would that not solve the problem. Then we have saved searches of all items we tagged?

Unfortunately my lack of script skills preclude me from proving the point. I tried modifying the existing script and rec’d an error I didn’t understand.

The reason tagging is important to me is that I need a way to see the new ideas I have come across and made notes about. So if I wrote something about TagClouds in the present structure and created a smart folder using TagClouds as the title of the folder I would capture my notes and every web page I have that has the words TagCloud on it. Too much data and not very helpful

Here’s a smart group script for comments, just save it in the folder ~/Library/Application Support/DEVONthink Pro/Smart Group.

-- Smart Group (Comments)
-- Created by Christian Grunenberg on Apr Tue 11 2006.
-- Copyright (c) 2006. All rights reserved.

on run
		set scriptPath to POSIX path of (path to me)
		if scriptPath ends with "/" then set scriptPath to ""
		tell application "DEVONthink Pro"
				display dialog "Enter the words to use:" default answer "" buttons {"Cancel", "OK"} default button 2
				set theWords to the text returned of the result
				if theWords is not "" then exit repeat
			end repeat
			set theRecord to create record with {name:theWords, type:group, attached script:scriptPath}
			my triggered(theRecord)
		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
end run

on triggered(theRecord)
		tell application "DEVONthink Pro"
			if type of theRecord is group then
				set theString to (name of theRecord) as string
				search theString comparison no case within comments operator all words replicate to theRecord with removing replicants
			end if
		end tell
	on error error_message number error_number
		if the error_number is not -128 then
				display alert "DEVONthink Pro" message error_message
			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
end triggered

You might also want to have a look at this thread:

Thanks Christian. Your rapid response is really appreciated.

These two scripts provide a tagcloud capability.

We now have the capability of either creating a tagcloud of groups and tagged items or if the user prefers to just search out tagged items then searching on comments provides the result.


Richard Bullen

Thanks Christian for the script.

Richard, I associated Christian’s script to a folder, creating a de-facto “smart folder” as indicated in the thread pointed by Christian. But I do not understand how you get the TagCloud capability. Could you explain your last comment to slow users like myself?

Hmmm, perhaps what we are really about is testing my thinking.

Add a comment to a note, lets say “Attention Economy”

Then create a smart folder that looks for the comment Attention Economy. The resulting folder will have a replicant of the note containing the comment Attention Economy.

In my case I then created a group named “Tagcloud” and moved the smart folder into that group. If I repeat that process for each new smart folder I create then I have a viewable list of all the tags/comments (each tag is a group - not elegant perhaps but it works) that I’m using.
In the future if I find something for Attention Economy I add the comment and its replicated to the smart folder.
There is obviously an overhead in creating replicants but that appears to me to fit with the idea of letting search do the work and not worrying too much about storage and organization.

I’ve only run a couple of tries on this and its seems to work but please let me know if you can find flaws.
I’ve not yet tried multiple comments and multiple smart folders but I’ll try to get to that before the end of the week.

An alternative approach would be to create a list of tags and then just search the comments for the tagged items.

With regard to adding comments Christian pointed to another thread where there is a script to add comments to a note. Between these two scripts it appears that the process is complete.

Hope this helps.


Thanks Christian, it works perfectly for me. Just today I started to look at the Smar Group Idea. It think it’s helpful to have manual tagging along with automatic extraction.

There is just one request I have since I’m not a scripter. Is it possible to have instead of an ‘AND’ an ‘OR’ relation for retrieving ‘any’ tags out from the comments.

Update: just learned scripting (a little) :wink:

a short question: is it possible to get the located words or text passages in the suggested documents auto-highlighted?


Not yet but that sounds like a good idea.

Highlighting in the environment of viewing a document selected from the slide-out drawer would be useful.

But I wouldn’t want the actual document to be permanently marked with highlighted text – in fact I would hate that. :slight_smile:

Text highlighting should be in the mode of highlighting text in the Search window, i.e., temporary for that viewing environment.

Hi everyone,

After using the DevonThink Pro Office demo this weekend, I’m hooked, and am already transfering lots of research notes into DT from FileMaker Pro and from Tinderbox.

My biggest point of uncertainty, however, is the lack of user-defined attributes for notes. For example, hierarchical folders can organize my notes by a primary set of criteria (e.g., author/source/date), but how can I then sort by a secondary criterion (e.g., library/call number)? I know there are ways to work around this using folder hierarchies, replicants, the concordance, etc., but why not make user-defined attributes possible for those who would use them? To me, such attributes would complement to DT’s existing strengths, not compete with them. DT seems to have recognized something like this need with the sheets type of note, but so far they’re just plain text. (If any developer is reading this, please consider implementing user attributes in some fashion like Tinderbox notes.)

I know I will like using DT, and have posted an outline of the academic workflow that I expect to follow this summer here: … kflow.html
The workflow combines DT with Bookends and Mellel, and is based on my weekend of experimentation with the demo. I’ll revise it later after I see how it works in practice with two articles I’m curently working on.

I would love to hear any pointers on how to set up notes in DT to allow sorting on specific attributes.

Also, is there a way to import tab-delimited files from FileMaker so that some of the FileMaker fields would end up in the Comments of a note, and others in the body of the note?



Hey Kerry –

I read your workflow and it seems very well put. For my PhD I’m using a workflow of four applications:

DTPro (two databases: one for pdfs and another for everything else that I come across on my research)
Scrivener (writing, with pdfs and other docs open on a layout split inside the same project)
Sente (bibliography application that I prefer over Bookends for its looks and ability of search the Web of Science directly)
Mellel (final editing)

– MJ


Thanks! Makes sense. I need to keep an eye on Sente.

PS: Do you annotate your pdfs online? Or just select text to quote in your notes? Acrobat is sooo slowwww; I’d love an alternative.