This week, phabricator changed the terminology it uses for managing
dependencies between tasks. What has been called "Blocking"/"Blocked by" is
now called "Parent"/"Subtask". Ignoring phab terminology for a minute, here
are the two basic cases these terms are covering:
1. *Sequential dependencies.* For example, if "Implement feature X" needed
to be complete before "Document feature X", then the implementation task
would Block the document task, and the document task would be blocked by
the implement task.
2. *Composition relationships/task breakdown.* For example, if "deploy
feature X" consisted of "implement feature X" and "document feature X",
then the deploy task might be a parent, while the implement and document
tasks would be subtasks.
Until recently, phab has used the blocking/blocked by term to cover both
cases. A parent task would be blocked by its subtasks. There was a command
to create a subtask, which would create the appropriate blocking
relationships.
Now, phab uses the parent/subtask terminology to cover both cases. In the
sequential tasks case, the endpoint would be considered the parent, so in
the example above, "document" would be the parent, and "implement" would be
its subtask. Note that a task may have multiple "parents".
A nice feature they added is the ability to manage the parent/subtask
relationship from either end. While editing a task, you can change its
subtasks or its parents. Previously, you could only edit one direction.
I created T139181 as a task to update our wiki phab documentation.
Kevin Smith
Agile Coach, Wikimedia Foundation