Org-roam major redesign


I will just share what I have done, and invite others to comment.

If you are just starting out with a blank slate, I think it would be best to

  • Start creating links with an ID generated with using org-id.

  • Set org-roam-prefer-id-links to t, then org-roam-insert will use the ID for links automatically.

  • (optionally) Upgrade your Org Mode to 9.4
    Optional if you are thinking of using files as the base unit of notes, rather than headlines. With this version, you can have properties at the file level on top of the file before the first headline (in a property drawer including ID – see the image below for what I have done).

  • (limitation) Export does not seem to be able to resolve my IDs – and fails to export. I do not know exactly why this is the case – I do not use export, so no issue for me. But this affects Org-roam-server’s preview feature (not the graph rendering itself, which is working for me beautifully)

The current version of Org-roam takes the :title: property in the top-level (level 0) property drawer, so there should be no issue using Org-roam.

I have just done this for a major part of my Org-roam directory myself. It is working great so far.

As Jethro suggests in a comment above, Org-roam does not, and v2 will not care how the IDs are generated; I am using my own custom timestamp format that I like as the file ID. I don’t link to headlines, but should I do, I would use Or-id’s timestamps with the (setq org-id-method 'ts) option.