* org.texi (TODO dependencies): Document TODO dependencies on
checkboxes.
+2009-01-31 Carsten Dominik <carsten.dominik@gmail.com>
+
+ * org.texi (TODO dependencies): Document TODO dependencies on
+ checkboxes.
+
2009-01-30 Carsten Dominik <dominik@science.uva.nl>
* org.texi (TODO dependencies): Document key binding for toggling
2009-01-30 Carsten Dominik <dominik@science.uva.nl>
* org.texi (TODO dependencies): Document key binding for toggling
@setfilename ../../info/org
@settitle The Org Manual
@setfilename ../../info/org
@settitle The Org Manual
@set DATE January 2009
@dircategory Emacs
@set DATE January 2009
@dircategory Emacs
@node TODO dependencies, , Faces for TODO keywords, TODO extensions
@subsection TODO dependencies
@node TODO dependencies, , Faces for TODO keywords, TODO extensions
@subsection TODO dependencies
+@cindex TODO dependencies
+@cindex dependencies, of TODO states
The structure of Org files (hierarchy and lists) makes it easy to define TODO
dependencies. Usually, a parent TODO task should not be marked DONE until
The structure of Org files (hierarchy and lists) makes it easy to define TODO
dependencies. Usually, a parent TODO task should not be marked DONE until
there is a logical sequence to a number of (sub)tasks, so that one task
cannot be acted upon before all siblings above it are done. If you customize
the variable @code{org-enforce-todo-dependencies}, Org will block entries
there is a logical sequence to a number of (sub)tasks, so that one task
cannot be acted upon before all siblings above it are done. If you customize
the variable @code{org-enforce-todo-dependencies}, Org will block entries
-from changing state while they have children that are not DONE. Furthermore,
-if an entry has a property @code{ORDERED}, each of its children will be
-blocked until all earlier siblings are marked DONE. Here is an example:
+from changing state to DONE while they have children that are not DONE.
+Furthermore, if an entry has a property @code{ORDERED}, each of its children
+will be blocked until all earlier siblings are marked DONE. Here is an
+example:
@example
* TODO Blocked until (two) is done
@example
* TODO Blocked until (two) is done
@kindex C-c C-x o
@item C-c C-x o
Toggle the @code{ORDERED} property of the current entry.
@kindex C-c C-x o
@item C-c C-x o
Toggle the @code{ORDERED} property of the current entry.
+@kindex C-u C-u C-u C-c C-t
+@item C-u C-u C-u C-c C-t
+Change TODO state, circumventin any state blocking.
@end table
If you set the variable @code{org-agenda-dim-blocked-tasks}, TODO entries
that cannot be closed because of such dependencies will be shown in a dimmed
font or even made invisible in agenda views (@pxref{Agenda Views}).
@end table
If you set the variable @code{org-agenda-dim-blocked-tasks}, TODO entries
that cannot be closed because of such dependencies will be shown in a dimmed
font or even made invisible in agenda views (@pxref{Agenda Views}).
+@cindex checkboxes and TODO dependencies
+You can also block changes of TODO states by looking at checkboxes
+(@pxref{Checkboxes}). If you set the variable
+@code{org-enforce-todo-checkbox-dependencies}, an entry that has unchecked
+checkboxes will be blocked from switching to DONE.
+
If you need more complex dependency structures, for example dependencies
between entries in different trees or files, check out the contributed
module @file{org-depend.el}.
If you need more complex dependency structures, for example dependencies
between entries in different trees or files, check out the contributed
module @file{org-depend.el}.