This blog post will describe a bit about how we are utilizing the "Task Types" feature in Phabricator to facilitate better tracking of work and to streamline workflows with custom fields. Additionally, I will be soliciting feedback about potential use-cases which could potentially take further advantage of this feature.
Inroducing Task Types
Task Types are a relatively new feature in Phabricator which allow tasks to be created with extra information fields that are unique to tasks of a given type. For example, Release tasks have a release date and release version which are not relevant for other types of tasks.
Another task type that has been recently introduced is the deadline type. Deadlines include a single extra field Due Date which is displayed at the top of the task view as well as on workboard cards.
Example: Typed Tasks
More Uses for Task Types
Task types have the potential to streamline workflows and support the use of Phabricator for collecting structured data.
Bug reports and Feature Requests
One proposed use of task types is for collecting specific information in bug reports and feature requests. Bug reports, for example, might ask for OS or Browser version in separate fields to aid in sorting and searching through reports.
Another potential use-case which is currently being developed is a security issue task type. This will allow the security team to add fields relevant to security issues without cluttering the task form used by everyone for other types of tasks.
The Relationship Between Custom Forms and Custom Types
Custom forms can be created which hide irrelevant fields and generally streamline the process of submitting a task for a given workflow or for a team's specific use-case. This is a great feature in Phabricator and we have made extensive use of it for various purposes. The drawback to custom forms is that they are generally only useful for submitting tasks. Once a task is created, editing takes place on the normal "generic" task edit form.
Enter: Typed forms
It's now possible to assign a type to a form. Now it's possible to configure forms so that whenever you edit a Security task you always see the Edit Security Task form. Thanks to typed forms, we can now add custom fields which are always visible when editing one type of task but hidden when editing other types.
Example: Custom Forms
|Security Issue Form||Standard Form|
Your feedback will be helpful in shaping the types of tasks and forms available in Phabricator. In order to best meet the needs of everyone who uses Phabricator, I'd love to hear your input on what forms and fields would be most useful for your needs. Describe a workflow or a use-case that you think would be well served by custom fields. You can comment here or on the task: T93499: Add support for task types (subtypes)