Page MenuHomePhabricator

Support "Add follow-up task" action in Maniphest
Closed, DuplicatePublic

Description

Maniphest tasks offer the option to "add a subtask" (which will block the current task) but not the option to "add a follow-up task" (which will be blocked on the current task).

The only way to specify such a task currently is to independently create a task, then search and add the original one as a subtask. There is no one-click action like "add a subtask". There is no parameter in URLs to create follow-up tasks (the way parent= lets you directly create a subtask). The Conduit API doesn't let you specify such a relationship either.

This is a UX issue, in particular for projects that use lots of follow-up tasks. That's the case for any project maintaining stable branches for backports. A task might be a bugfix in the master branch, and you want to file a follow-up task to backport that fix to a stable branch once the master fix is in.

Event Timeline

tcarrez raised the priority of this task from to Needs Triage.
tcarrez updated the task description. (Show Details)
tcarrez added a project: Maniphest.
tcarrez added a subscriber: tcarrez.

I'm going to merge this into T8345, which discusses this and some other relationships. My general concern here is that I don't want to add a large number of very similar relationship types which differ from one another only slightly. That said, "Followup" is probably the most compelling new relationship type discussed there.

I think it is slightly different from "related tasks" as described in T8345. Related tasks are described as "neither task is blocking the other task". In my case, the "follow-up" task is just a classic "parent" task: one that needs to be completed once the current one is done.

So it's a much more lightweight change that can be modeled with the existing relationships: it's just not exposed conveniently in the UI or the HTTP parameters. You can't create a parent task from a given task, you can only create child tasks.

As far as naming goes, "add follow-up task" sounds more intuitive than "add a parent task" (the same way "add a subtask" is more intuitive than "add a child task".

Ah, it sounds like you really want something like "Create Supertask" -- the opposite of "Create Subtask" -- rather than something more like "Create Sibling Task", which is where related/followup were previously headed.

These relationships are all individually defensible, but having a UI with a trillion options -- "Create Parent Task", "Create Child Task", "Create Subtask", "Create Supertask", "Create Related Task", and "Create Followup Task" seems clearly worse for everyone, since no user or install is likely to use all of those options. I'd generally guess none of this is very likely to move forward until after T3670 happens and have a more solid understanding of how much complexity that brings with it.

Better HTTP templating may happen sooner, some discussion in the 500 pages of text on T8434, and general context in T3320.