How do I use wikilink in custom metadata?

I remember reading this in somewhere that you can say put a university name “New York University” in a metadata field, then create a smart group of “New York University”, and DevonThink will automatically make that metadata a wikilink and you can use that to navigate to the smart group. However, I tried this strategy but it just doesn’t work. Am I doing something wrong?

Wiki links are only supported by plain/rich text and Markdown documents but neither by other document formats nor by custom metadata.

Hello, cgrunenbery, I read this in a post here. So is this a false information?

In this example occurrences of the smart group’s name and aliases are marked as Wiki Links in plain/rich text and Markdown documents. But the custom metadata is only used to ensure that the smart group includes/finds an item, it’s not used for directly Wiki linking.

Is it possible to display the smart group in the incoming links of a docx, numbers, xlsx or pdf file?

An example use case would be helpful.

My suggestion in the other post (to use custom metadata, rather than wikilinks, for collections of reference material) is based on the following observations:

(1) In an existing document, converting some phrases into wikilinks takes the same amount of time as copying the info into a custom metadata field. Both involves selecting something and then running a home-made script.
(2) Wikilinks are not available for the most common file types you would download from the web. Custom metadata fields, on the other hand are always accessible.
(3) Using wikilinks for cross-linking requires modifying the original documents. No such concern when using custom metadata fields.
(4) You might not want to record everything as tags, so as to avoid over-tagging and/or reserve tags for other purposes.

1 Like

But, it looks like we cannot convert a custom metadata to a wikilink. Could you please elaborate your approach? Maybe a few screenshots? Sorry for asking more from you, but I just find your approach really innovative.

Just don’t use wikilinks in the first place, if your original documents are PDFs or sheets.

Again, we’d like to see an example use case from you.

Well, what I’ve been trying to achieve is to be able to jump to a smart group when I was navigate through a list of files with the same custom metadata. For example, New York University. I have a smart group called “New York University”. Sometimes, when I was navigating through a group of files with New York University as the University custom metadata, I would like to see other files related to or also under this university. I think the quickest solution is to find a way to jump to the smart group that matches any file with this custom metadata. I hope this description would suffice.

I don’t think you’re going to have a one-click solution for that, since the custom metadata field is plain text in nature. But a script would make that jump smoother regardless.

property dbName : "Use the name of the database"

tell application id "DNtp"
    -- get selected text or clipboard, for use in search
	set frontWindow to a reference to think window 1
	if exists (selected text of frontWindow) then
		set x to (selected text of frontWindow)
		set x to the clipboard
	end if

	set sr to search "name:" & x & " kind:smartgroup scope:" & dbName

    -- if the smart group does not exist, open a search window
	if (length of sr is 0) then
		if exists (viewer window 1) then
			set (search query of viewer window 1) to "name:" & x & " scope:" & dbName
			set theWindow to open window for (root of database dbName)
			set (search query of theWindow) to "name:" & x & " scope:" & dbName
		end if
	else -- open the desired smart group
		repeat with theSG in sr
			if (score of theSG) > 0.99 then
				if exists (viewer window 1) then
					set (root of viewer window 1) to theSG
					set theWindow to open window for (root of database dbName)
					set (root of theWindow) to theSG
				end if
			end if
		end repeat
	end if
end tell

Select some text (e.g. New York University) in the document, and this script will either open an eponymous smart group (if there is one) or search the text in the database. For text selected in the Inspector, ⌘C before running the script.

Script is untested and not yet equipped with error handling. It’s expected that you modify the script for exact use cases.