OrgMode Smart Archive
So far, my workflow in OrgMode for managing tasks and events was to have one file called
organize.org that contains top-level headings - Tasks, Events that contained respective items. Once I finished those items, I’d move them to a different file called
archive.org. So, my
organize.org file looked something like this:
* Tasks * Task 1 * Task 2 * Events * Event 1 * Event 2
Initially, I was directly archiving all the tasks/events that I completed, so my
archive.org became a dumping ground. A few weeks later I looked at my archive file and it was so hard to go look at it and separate them out, so I created similar top-level headings.
archive.org had Tasks and Events as the top-level headings and I would archive all the DONE tasks and events to their respective headings. This also felt a little tedious because each time I had to archive something, I had to select the specific file and heading. I could have used the archive feature that org-mode provides, but that creates a new file whenever I want to archive something from another file. I want to maintain just one file for archive and if I want to archive anything from any of the other files, they’ll all go to this one
archive.org. This is part of my PARA workflow.
What I figured out later was to have a
:PROPERTIES: drawer containing the location of the archive file and the heading under which it can be archived to. And, I did this for all the headings where I usually archive stuff. Now that I’ve set this up, all I do is hit
SPC m A (or
M-x org-archive-subtree) and the item goes to the right location. And not just that, it also adds a
:PROPERTIES: drawer in the destination location with all the relevant details like where that heading came from, at what time the task was archived, etc.
* Tasks :PROPERTIES: :ARCHIVE: ./archive.org::* Tasks :END: * Events :PROPERTIES: :ARCHIVE: ./archive.org::* Events :END:
Now, if I have to look at all the things I’ve done and events I’ve attended over the past day/week/month/quarter/year, I just have to go to
archive.org and do a sparse tree search (
SPC m s s or
M-x org-sparse-tree) on that tree and I can slice and dice the data however I want. In case you want to know what properties get added in
archive.org, here’s a preview.
* Tasks ** DONE Task 1 CLOSED: [2020-09-12 Sat 11:51] :PROPERTIES: :ARCHIVE_TIME: 2020-09-12 Sat 11:52 :ARCHIVE_FILE: ~/Documents/org-mode/organize.org :ARCHIVE_OLPATH: Tasks :ARCHIVE_CATEGORY: organize :ARCHIVE_TODO: DONE :ARCHIVE_ITAGS: task :END: