reddit / emacs
Org Roam gather weekly report
mudrainrocks · 2022-11-13 10:31
My use of org roam is pretty basic. The last couple months I was just using a journal, as the easist thing to do to build up some note taking muscle. The trouble with this is that for a given project, say, the notes for it are spread all over the file, I want to bring them together. Enter org roam.
I have a file per entity (person, project, journal, interview) and most entries are dated. Each week I like to review whats gone on and write up some conclusions, using the journal this was easy, but now not so much.
Is there a way to search my org dir, for a date range (last week), and pull together all of the matching nodes, and display them with the title and file tags from the orignal files? Been reading about consult this morning, and that sounds like a possible route, but figure I'd ask for some guidance.
I guess I could go the other way, just use a journal and tag each node, and pull together the entity nodes adhoc, but that would rely on being very consistent with tags, which seems more error prone to me. Happy for any tips if others go this route.
ftrx · 2022-11-13 13:24
Org-roam IMVHO has suffered and still suffers from an initial design error: the "one note, one file" approach or the lack of a proper storage for notes.
The "best compromise" I've found is saving headings (not files) in a time-line, on-disk like a note per month with a structure
org-roam-directory/YYYY/NN-monthname.org
than others subdirectories of `org-roam-directory` like
org-roam-directory/topics/topicname.org
where timelined headings get grouped as links or `org-transclude" links. This allow:
- enough flexibility in having different assembly of headings (notes) in different context
- not too many files, nor not too big files
Another brick of the wall is having templated (yasnippet, org-capture etc) org-mode drawers per headings instead of using just tags, that's allow a more flexible "key-value" approach I can "query" with `org-ql`. Making queries is not that easy, practical performances are not exceptional but it does the job. A small example (org-mode executable query link, that pops-up a result buffer):
[[elisp:(org-ql-search (file-expand-wildcards "~/a-path/booksnotes/*.org") '(and (property "kind" "book") (property "author" "A. U. Thor")) :title "Books from A. U. Thor" :sort '(date))][org-ql]]
with the corresponding drawer like:
:PROPERTIES:
:ID: ........................
:kind: book
:year: 2019
:publisher: Independently published
:language: ....
:author: A. U. Thor
:END:
Drawers templates are like your library catalog, topics will develop at their own peace depending of what you are doing with your notes.
thriveth · 2022-11-13 17:18
You seem to want org-roam to be something it is not meant to be. It is not a "design error", it's just designed to be something else than you seem to want. Org-roam is designed to be a Zettelkasten-like system. If that is not what you want then org-roam is simply not for you, but it is no "design error".
That said, org-roam can have arbitrarily many nodes in one file so I don't even quite see what the problem there is. In principle you could keep your entire org-roam note collection in one file. It would not be a good idea but you can.
thriveth · 2022-11-13 17:39
It sounds like you are trying to use org-roam for something it is not designed to do. Which is of course fine if it works for you, but I recommend reading up on the whole Zettelkasten system which has shaped the underlying design philosophy, to understand what the org-roam is designed to do, and then decide if it is the right tool for your task.
Personally, I manage my projects in dedicated files in each project's root folder, possibly branching out in more files if they grow too large, and add them to my agenda files so TODO items and deadlines show in my agenda. I reserve org-roam for my lasting knowledge base.
ftrx · 2022-11-13 18:45
Actually, we can choose many names, and my choice was not meant as a negative critic to org-roam devs but a constructive ones to suggest thinking about that.
org-roam v1 was "a note a file" and when back than I state that's not a good approach I've got comments like yours "we want something simpler, something else" then with the v2 org-roam devs makes an U-turn proving the original design was not good.
For ZK is similar: org-roam is not a ZK system simply because it makes no distinction between notes. In org-roam there are no fleeting notes, no permanent notes etc. Just a single kind. This is an issue because you will end up with notes with textual content and other who are mere "index notes" that links others. Something hard to master and hard to use.
Initially there was a vague idea of having many different selectable `org-roam-directory`(s) to separate notes, but was not good because the biggest plus of org-roam access was and is the search&narrow approach like a personal "Google, I'm feeling luck" button. Now with the "use as many subdirectory under org-roam-directory as you want" it allow a kind of ZK, witch means a scalable and manageable storage, *if the user do that manually and choose well* but still not something like a modern ZK system. The idea of org-roam dailies prove that a time-based approach was floating around so probably in the future something will pops up, allowing at least two kind of notes "captured" (time based, with textual contents) and "done" (topic based, linking the captured ones) witch is still not exactly a ZK but far more scalable and manageable.
> That said, org-roam can have arbitrarily many nodes in one file so I don't even quite see what the problem there is. In principle you could keep your entire org-roam note collection in one file. It would not be a good idea but you can.
There are few kind of issues:
- having giants files have performance issues, having too many too little files have manageability issue. If we stick to file-based storage the classic super-scalable way is a cache-like structure, since it's not nice to us humans I choose a time-based approach witch is NOT universally scalable because you might have too few headings to justify a one-note-per-month approach or too many, but fit well enough as a middle ground for me and it's easy with org-capture since I create a new monthly note at first capture with a simple plain + function template like
(function
(lambda ()
(if (file-exists-p
(concat "~/roam/timeline/" (format-time-string "%Y") "/"
(format-time-string "%m") "-" (format-time-string "%B") ".org"))
- org-roam-caputre actually can't be used with a personal storage design easily, or you capture in a bucket note than refile (too manually) or you create a classic v1 approach a file per note or you have too many capture templates. All does not work well in scalability terms.
IMVHO many simply do not use notes that much so they deal with few and simple "data set" to touch limits of various approach while others have pre org-roam homegrown systems with soooo many headings they simply can't migrate and so do not contribute with their experience.
Personally I'm on org-roam, I feel something missing from my old homegrown systems centered around `linkmarks` [1] witch allow nice things like having elisp: links listed in `linkmarks-select` search&narrow UI so not only visit notes but also act by selecting them in a certain ways, a thing I really miss, however org-roam offer a far less fragile approach than mine so... I'll try to merge the two world approach.
[1] https://github.com/dustinlacewell/linkmarks
thriveth · 2022-11-15 00:32
Just a couple comments:
"Fleeting notes" are never mentioned by Luhmann as a part of a ZK system, they're a name invented by Sönke Ahrens to describe the kind of notes you explicitly do *not* keep in your ZK system, so having a "fleeting" note type should not be a criterion for something to be a ZK system. That said, the dailies provide a very convenient place for your fleeting notes - as is stated in the org-roam manual.
It is true that org-roam does not distinguish literature notes from the rest - but that is easily done with a tag, and org-roam-BibTeX provides a different link type, letting you clearly see if a link is a citation link or a proper ZK reference. You have to make an effort to keep them apart, but it is not hard.
But perhaps more importantly: org-roam is designed to be a digital ZK system, whether you agree that the design meets that goal or not. It's stated very explicitly in the online manual. Therefore, understanding what a ZK is can help one understand how org-roam was designed to be used. Whether you want to use it differently or not, understanding the underlying design decisions is a good idea.
ftrx · 2022-11-15 21:11
The issue is not much in "having types of notes" in general, beyond ZK, the issue is handling notes in "storage" terms: sometimes we like to have an overview of something witch in org-mode terms means having a buffer with a set of headings inside we can open and see. Sometimes we need to see individual notes.
That's NOT simple in text-files storage terms. Some heavy users like Karl Voit have reported to have so big org files they need *few minutes* just to save them! Surely some others might get so many small files to exhausts their own filesystems inodes.
Actually we have some options to mitigate this issues, like `org-translusion` or `roam-block`, both do work but are still raw and do not perform that much on big notes sets. Org-roam do not take this into account not because of explicit design choice IMO but probably because it's developers do not have so much notes so far to have encountered such issues.
Some do have, and for instance `zetteldesk` was created to solve a specific issue on top of org-roam. Some org-roam devs (the original creator I think) have touched the "original" issue of using titles instead of headings and the v2 add nodes as headings, so perhaps new features will appear in the future, that's is.
It's not an issue of understanding or not a design choice, it's simply the fact that no one can know all possible workflows of all others, nor being interested in know them all but some workflows are a bit common, even if some variations, and only happen after a certain amount of time. Some touch them before some others, and even reporting them for others the report sound strange since they do not have touched in person the issue since it's not a code bug or a logic problem. That's is.
ZK today is "fashionable" because it's one of the simplest and modern noting technique to implement a kind of network theory concept, witch is very fashionable these days. Most do think it was a fantastic technique Niklas Luhmann invented in the '60s, while actually it's his own edition of countless equivalent systems used so long before by some others, I just cite:
- Paul Otlet and Henry La Fontain Mundaneum in the '30s
- Leibniz Scrinium Literatum 1673-94
- Conrad Gessner's libraries of Babel ~1545
- Callimacus pínakes (~245 BC) and Ashurbanipal from Nineveh (~612 BC) as the oldest kind-of systems we know
Try reading something about them and you'll see the same design for them all. Org-roam offer the mean to access notes, or the modern way to manage notes on a desktop. It's design will evolve as long as its devs write more and more notes, so encounter issues and solve them. That's is.
mudrainrocks · 2022-11-16 10:03
Solution: As has been noted else where, org-roam is perfectly able to have multiple nodes per file. Looking into it a bit more, a simple solution is to create a node per calendar wk (CYddWdd). After the dated heading on each page I can then insert a node link for the relevant week, this is easy enough to do, I can wrap this in a command at some point. Once the link is in org-roams in built in 'buffer' can bring them all together!
The searching thing was always going to be a painful, this is so much easier!