Dear Nikolaus, Nikolaus Rath writes: > Is there a way to have TODO items "blocking" each other? > > For example, if I have this document: > > * TODO Pay water > :PROPERTIES: > :blocked-on: checks > :END: > * TODO Pay electricity > :PROPERTIES: > :blocked-on: checks > :END: > * TODO Get new checks > :PROPERTIES: > :id: checks > :END: > > Then I'd like the first two TODO items not to show up in the agenda > until the third one is DONE (but I don't much care if the items can be > manually switched to DONE or not). > > I looked at org-depend.el but as far as I can tell, it only allows to > set up chains of dependencies, i.e. I could have "Pay Water" and "Pay > electricity" in state NEXT, and have a trigger in "Get new checks" that > would switch one, but not both, of the NEXT items to TODO. > > Do I understand that correctly? Is there some other way to achieve what > I want? I think that the dependency could be declared using org-depend but with the BLOCKER keyword instead of the TRIGGER one. To allow the elements to still be set to DONE, you could use the NOBLOCKING keyword. Then, in the agenda view, you could use the org-agenda-skip-function variable and put something like org-depend-block-todo that would indicate to skip the blocked items. Sorry to be to lazy to write the code here... The outline would look like this: --8<---------------cut here---------------start------------->8--- * TODO Pay water :PROPERTIES: :BLOCKER: checks :NOBLOCKING: t :END: * TODO Pay electricity :PROPERTIES: :BLOCKER: checks :NOBLOCKING: t :END: * TODO Get new checks :PROPERTIES: :id: checks :END: --8<---------------cut here---------------end--------------->8--- Having at the same time BLOCKER and NOBLOCKING appears a bit confusing to me. May be it is not a so good solution and an org-mode guru will probably correct me :-). Hoping this was useful. Best regards, -- Konubinix GPG Key : 7439106A Fingerprint: 5993 BE7A DA65 E2D9 06CE 5C36 75D2 3CED 7439 106A