I'm interested in modeling todo dependencies with the following types of structure:

  • A blocks B
  • A blocks C
  • B blocks D
  • C blocks D
  • D blocks E
  • D blocks F

Note the examples of multiple parents and multiple children - or diamonds and X's, visually. Each (A, B, etc) is a TODO heading, and A is the only TODO I'm enabled to do because the others are blocked.

This kind of graph structure isn't supported by orgmode out of the box.

So far, the only way I've found to do it is by using org-edna, which would require setting up a way to automatically assign org-ids to each TODO heading, and then automatically paste the relevant ids into each "blockee". This seems like it would be time-consuming and clunky... although a good excuse to learn some lisp.

Not having a lot of experience with emacs and orgmode yet, is there an easier way? It'd be extra cool if it could also be set to draw snippets of the graph, labeled by todo heading, with clickable nodes.


Have you seen Karl's article on org-depend? http://karl-voit.at/2016/12/18/org-depend/

I think that I'd try to use org-gantt and taskjuggler to create an overview for more complicated task blockades https://orgmode.org/worg/org-tutorials/org-taskjuggler.html

Maybe that's a bit too much, where I'd try to graph with dotty maybe.

| improve this answer | |
  • Embarrassingly, I couldn't figure out how to install org-depend on my spacemacs installation. I tried putting the require statement in my .spacemacs file, but it didn't have any effect. I gathered that edna was intended to sort of supersede org-depend. – tunesmith Mar 14 '18 at 21:10
  • Try a use-package stanza instead. That could also retrieve and install a package, which require could not. Also check LAYERS.org from your spacemacs installation on how to integrate new packages in your layers. – p_wiersig Mar 15 '18 at 4:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.