Project to migrate my org-roam to the new, improved, and probably more-simple version 2. This is a pretty involved project and it means the short term turn-down of my prototype The Arcology Project server.
I need a plan, and I need to rapidly execute on it since the middle-phase of this migration will probably stink. I should at the same time consider this an opportunity to revisit parts of my Archive and re-surface a lot of old ideas.
update all documents and links
fix org-roam keyword caching, assess the health of CCE as i'll be editing tangled files until this works again
get back up to speed on The Arcology Project and judo-flip my way back in to Elixir development.
URLs
Hitchhiker's Rough Guide to Org roam V2 and Notable Differences from V1
jethro's migration script -- I don't know if this will work for me, and it only solves a bit
path to org-roam v2 from the developer of vulpea/vino
DONE what if i drove somewhere quiet and stayed in a room or cabin or something and cranked this migration out?
Do I even need the internet for this? i honestly don't know that I do. a monitor would be nice.
CANCELLED cache downloads and docs for things like vulpea, i'm probably going to make a thing that is derived from that for the CCE.
DONE a script for document schema changes
I may use one I find online or linked from above, or build my own as I mix FILETAGS and ROAM_TAGS in some important places. It will be nice to resolve that.
org-roam-v2 has a org-roam-migrate.el which is really close, but it just uses org-id-get-create to create node IDs and there's no reason that my file-level IDs shouldn't be org-roam slugs... so I want to modify this to create those. I'll run this with v1 in place, and use the titles table for it:
(defun cce/insert-org-roam-v2-slug-ids (&rest args)
(dolist (file (org-roam--list-all-files))
(org-roam-with-file file nil
(goto-char (point-min))
(if-let ((id (org-entry-get (point) "ID")))
(message "%s existing %s" file id)
(let ((new-slug (s-replace org-roam-directory ""
(file-name-sans-extension
(buffer-file-name)))))
(message "%s with ID %s" file new-slug)
(org-set-property "ID" new-slug)
(save-buffer))))))DONE ROAM_TAGS to FILETAGS
DONE Write file-property IDs for each page
matching either the page slug or the arcology key?
DONE migrate ROAM_ALIAS
DONE migrate ROAM_KEY to ROAM_REFS
handle multiple.
DONE rewrite page links
this won't be so bad with IDs matching the slug, i think...
DONE evaluate features broken in migration
DONE Dynamic and fast agenda
CANCELLED Quickly Rename Captured Zettel Files
CANCELLED org-roam-sbl-show-broken-links
DONE Consult-Buffer Org Roam Source
DONE Navigate notes by relations
DONE org-roam-keywords
I either need to continue with my widlcat org-roam keyword caching diff and port it and the extras functionality
or i can split it in to a separate DB -- I need to figure out how to square away my CCE and The Arcology Project
DONE decide whether to continue modifying schemata
DONE Shared CCE Helpers should probably be re-considered and a proper "cce-core" API can come together.
DONE consider advice-adding the module at a good spot instead of modifying source
really want to get on stock org-roam at the end of this.