Merging Task Management for Work With Org-Roam

I want to combine org-roam setup with my task management setup for work.

This will:

  • Add the concept of a ‘project’
    • org-capture can be used to create projects, capture tasks, and refile them to the correct project
  • Make agenda view more flexible to organize around what I’m trying to do instead of partitioning by work or personal
  • Add the ability to organize using backlinks (e.g. find associated people, related projects)
    • Mention an entity by inserting a link and typing
  • Resolve the split-brain problem between work and private life

Biggest risks:

  • Notes are publishable and public by default, accidentally leaking information would be bad
  • Latency of org-agenda could make it unusable if all org-roam notes can become projects

See also:

DONE Implementing org-roam for work

[2022-11-05 Sat 08:45]

  • Create a project template for org-roam-capture Add project tag and private tag to the tag vocabulary
  • Create a person template for org-roam-capture This will be used to link a person to notes and projects. It will also be used to generate tags automatically to make finding tasks grouped by person easier
  • Create a project note template Add a private tag to make sure it’s never published add a project tag so we can search later for only projects
  • Migrate one project to the new format
  • Project names look ugly when using org-roam slugs Is there a way to use the title instead of the filename in org-agenda?
    • Can set the CATEGORY property to the title of the project

    • Modify org-agenda-prefix-format but you can’t template the title property and I couldn’t find an expression that would work inline

      (org-agenda-prefix-format " %i %?-12(org-format-outline-path (list (nth 1 (org-get-outline-path)))) ")
  • How will this work on mobile?
    • Use Beorg? Hooking up my zettelkasten files will slow it down/crash it
      • Is there a way to limit which files Beorg picks up?
        • There is todo-exclude-files but there is not a way of specifying add just these files
      • Maybe just use it for capture on the go but not an agenda
      • There is a “subfolder” feature that adds a notes tab but it won’t pull in tasks automatically
    • Use Working Copy and sync with git pull/push
      • Would need to remember to commit and push when stepping away from the computer
    • Decided on only using Beorg for capture on the go, that’s it and that’s all it can really do in this system without significant effort to sync a dynamic list of files to Dropbox
  • [-] Should all work tasks be tagged? Will that make it easier to partition? Will come back to this
  • [-] Update the find note commands to exclude work or personal notes Will come back to this when it’s needed

TODO Update org-agenda to always include org-roam files tagged as projects

[2022-11-19 Sat 07:53] For now, add each project to the agenda list files C-c C-[

DONE Search for only projects not all notes

  • State “DONE” from “TODO” [2022-11-19 Sat 08:06]

[2022-11-19 Sat 07:43]

(defun my/org-roam-node-find-project ()
   nil nil
   (lambda (node)
     (seq-contains-p (org-roam-node-tags node) "project"))))
(global-set-key (kbd "C-c n p") 'my/org-roam-node-find-project)