Projects, Forms and Subtypes oh my!

Changes for 2019-02-27

New Features

Significant new functionality just landed in the wmf/stable branch of rPHAB Phabricator which resolves some minor headaches we've been living with for quite some time.

Subtask Subtypes

It's now possible to specify which types of Subtasks are valid for any given parent type.

Once configured, phabricator will choose the appropriate task type (and corresponding custom form) whenever someone creates a task via the "Create Subtask" menu. If there are multiple valid types, the user is presented with a choice of which type they would like to create.

This will eliminate one confusing situation that has come up a few times. When adding blockers to the weekly train tracking tasks, because the tracking tasks are instances of the custom "Release" type, and the default behavior is that subtasks to inherit the type of the parent task. This meant that subtasks would automatically inherit the type, and behavior, of train blockers which includes a big template at the top of the page with release schedules and whatnot. This is definitely not what we wanted to happen. This is no longer a problem, because now we can specify which types are valid (in this case, either one of Application Error or Security issue are allowed).

Here is an example of what that choice looks like:

Screenshot from 2019-02-27 20-01-51.png (409×726 px, 33 KB)

Changing the type of a task

There is another somewhat minor improvement to the types functionality which is worth mentioning in case readers have not noticed it already: It's now possible to change the type of a task from the transactional "Add Action" menu found above the task comment form. Previously this was only possible via conduit api call or the bulk editor interface.

Bugs Fixed

Last week's update came with a couple of nasty bugs which were identified quickly. The following bugs are now resolved with a bit of debugging by yours truly and quick response from upstream maintainers. Thanks to @epriestley for being awesome as usual!

  1. T216849: Search broken in phabricator project tag/subscribed fields
  2. T217082: Unable to edit Herald rules:: "Argument 1 passed to HeraldTokenizerFieldValue::setValueMap() must be of the type array, object given"
Written by mmodell on Feb 28 2019, 2:24 AM.
Volunteer Phabricator Admin
Lucas_Werkmeister_WMDE, Iniquity, epriestley
"Orange Medal" token, awarded by Krinkle.

Event Timeline

Wow! That's cool, I think we need to tell about this update in the TechNews.

Is the fact that the “Task” type is now visible on all task also a part of this update? I don’t remember seeing it before. (Basically, I was only very dimly aware of the existence of task types before, whereas now they seem to form a much more prominent part of the user interface.)

Is the fact that the “Task” type is now visible on all task also a part of this update?

Yes, it's related at least. That was caused by a configuration change that I made during thie last update, however, it looked cluttered and took up space unnecessarily so I reverted that configuration change.