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!