How to link items in a way that doesn't depend on DEVONthink

As much as I want to use DT’s internal linking capabilities, I also want to make sure that my notes remain linkable when I export them out of DT. To make this possible, I have created a very simple template for rtf and txt files that inserts a unique ID at the bottom of every newly created document. I would love for the ID to be a random string, but I don’t know how to do this. Instead, I use the following placeholders: %year%:%month%:%day%:%time%, which creates a unique ID for the document (based on the exact moment of creation).

Then, when I want to make a reference to another txt or rtf file in my database, I copy that unique ID and paste it in the file that I am working on. (For example: “Here are some notes on xyz. See [2011:3:26:12:39:54] for some related notes.” – where [2011:3:26:12:39:54] is embedded in a separate file.) That way, I can always search for the exact file referenced, regardless of whether–say 5 years down the road–the documents are in DT or reside outside of DT. Spotlight, for example, could easily identify the documents that contain these IDs.

If I want to link to something other than a rtf or txt file, I simply place a random string in the spotlight comments. (I have one text file with 1000 random strings that I draw from.)

I like this method because it keeps my “cross-references” safe independent of DT. I don’t like it because it is a bit clumsy and sometimes slows me down. So, I’m curious whether anyone who has a similar interest in keeping their notes database neutral has figured out an alternative strategy.

Here is one idea: As far as I understand it, DT automatically creates a unique ID for each item–the item link (i.e. “x-devonthink-item://1CADA8F0-5449-4BA7-B427-8B5EBA2F2DDE”). Although it would be messy, it would be nice if instead of the unique ID I described above (using the date and time) I could use the x-devonthink-item string. If, for example, every time I created a new file, then this could get automatically inserted into the bottom of the file. And, when I linked documents to each other using DT’s internal capabilities, it would paste the x-devonthink-item string instead of the name of a link. The string could still be hyperlinked, but at least the document itself would retain the ID. I know I can do this all by hand, but I think that that is even a slower system than what I am already doing.

In any case, I’d be curious if anyone else has thought through these things. If you have developed a more elegant solution, please share!

I’m curious whether no one has responded to this post because (a) they don’t have a solution but, like me, would like to think of one or (b) because it seems unnecessary given DT’s present capabilities. I am a HUGE fan of DT, and I use it constantly. But one of the things I like most about it is that it doesn’t insist on taking over my files–text documents are still txt files, same with rtf’s and .docx’s and so on. I can import and export them easily, and it makes me feel comfortable knowing that my entire file structure and file formats will be safe if DEVONthink goes bankrupt tomorrow or I am forced into a situation where I have to use a Windows machine or whatever. I wouldn’t have to recreate my basic work. That is why I am so hesitant to use DT’s built in linking capacities, even though I realize that it is the easiest solution. I can’t imagine that I’m the only one with these concerns, so I’m curious how others are dealing with this–even if you don’t have specific recommendations to my questions above.