1 line
2.9 KiB
Plaintext
1 line
2.9 KiB
Plaintext
<!-- SC_OFF --><div class="md"><p>org-edna is amazing for encoding dependencies between tasks in a complex project, but doesn't by itself help to find one's bearing in the project, much less manage it over time. For example, one of the most obvious things to do after breaking down and linking up the project is to display it as a network diagram - a graph on which each task is a node, and nodes are linked to those they depend on. This lets you get a high level view of the project, in a way in which manually inspecting <code>:PROPERTY:</code> drawers and decoding org-ids doesn't.</p> <p>I've done some hacks to create such visualizations in the past, see e.g. <a href="https://paste.temporal.pl/trc-workgraph-1-8660.el.html">this bit of bad elisp</a> that scraps <code>:BLOCKER:</code> entries for trivial ID-based links, builds a graph description and <a href="https://imgz.org/i9WGiDxL.png">shoves it to Graphviz for rendering</a>. I'm thinking about continuing development of this, but the truth is - I have a big project I need to focus on first, a project that could use such visualizations <em>right now</em>. Hence my question: did anyone else do any work in this direction?</p> <p>Long-term, if there's no existing work in this space (and I've failed to find any so far), I'll most likely do this properly myself. The core bit of code that needs to exist to enable all kinds of advanced project management support tooling is this: something that takes a list of org mode headlines belonging to a "project", and builds a graph (a data structure, not a picture) of all headlines, connected by their dependencies. From that data structure, one can implement everything - visualizations, critical path analysis, auto-scheduling, etc. If anyone has such code laying around, I'd also love to know. Also any tips on doing this - I still don't know what's the <em>proper</em> way to work with org mode headlines from elisp, a way that doesn't involve walking the textual content of the buffer with regexes.</p> <p>(Right now I'm looking into org-ql as a way for efficiently searching for headlines/tasks, but from what I can tell, it's oriented towards searching for nodes, not for recursively walking them.)</p> <p>PS. While writing this, I've discovered someone else just asked a related question: <a href="https://old.reddit.com/r/orgmode/comments/qxlyam/org_roam_dependency_graph_of_tasks/">https://old.reddit.com/r/orgmode/comments/qxlyam/org_roam_dependency_graph_of_tasks/</a>.</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/TeMPOraL_PL"> /u/TeMPOraL_PL </a> <br/> <span><a href="https://www.reddit.com/r/emacs/comments/qyajk9/any_package_for_querying_or_visualizing_orgedna/">[link]</a></span>   <span><a href="https://www.reddit.com/r/emacs/comments/qyajk9/any_package_for_querying_or_visualizing_orgedna/">[comments]</a></span> |