Deprecation notice: This repository is deprecated as it turns out to be unnecessary. Use =org-enforce-todo-checkbox-dependencies= instead.
This package lets you define todo dependencies in blockers
blocks.
Inside a blockers
block, you can put ID links to Org entries, and they will
become the blockers of the entry. You can also put extra information in the
block to describe why they are blockers.
Turn on org-bb-mode
, which is a global minor mode.
A recommended way is to load it after org
:
(with-eval-after-load 'org
(org-bb-mode t))
In the body of an Org entry that has dependencies, insert a blocker
block:
#+begin_blockers :from "TODO" :trigger "NEXT"
- [ ] [[id:XXXXXXX][HEADING 1]] (id link to a blocking entry)
- [ ] [[id:XXXXXXX][HEADING 2]] (id link to another blocking entry)
#+end_blockers
You can insert an empty block using org-bb-insert-block
command.
The block should contain one or more ID links to other Org entries. When all of the linked entries are done, the entry containing the block is considered unblocked.
The checkboxes are only for your convenience, and they will be ignored.
After you add a link to the block, run org-ctrl-c-ctrl-c
at the line of #+begin_blockers
.
Alternatively, you can run org-bb-update-block
command at anywhere inside the block.
This is necessary to hook triggers on the linked entries.
By setting :trigger
property of the block to a todo keyword, you can also
update the todo state of the entry automatically when all of the dependencies
are satisfied.
If you set :from
property to a todo keyword, the state change is not triggered
unless the current state matches the keyword.
At present, there are the following packages/libraries that lets you manage Org dependencies:
- org-edna
- org-depend (part of org-contrib, not actively maintained)
org-bb
is the simplest in functionality.
It only lets you manage blockers.