Phabricator/Project management/Tracking tasks

A "Tracking task" as it existed in now defunct Bugzilla was an umbrella task which specified no work itself, but which blocked on other tasks, and which had no defined endpoint. For example "Fix the docs". These tasks tended to exist forever, and really represented a category of work, rather than a chunk of work.

Creating new tracking tasks (tasks that "automatically" get resolved when all its dependency tasks are resolved) in Phabricator is discouraged. It is recommended to create a project instead.

Existing tracking tasks (see T4007 and the tracking project) can be converted to projects or remain regular tasks with dependency/blocker tasks. If you would like to convert a tracking task into a project, follow the regular process to request a new project and announce the conversion proposal in the tracking task.

Sub-tasks and blockers of "real" tasks (a task that describes an actual problem to fix and does not get resolved by just fixing all its dependency/blocker tasks) are of course fine. Umbrella tasks that represent a specific time period of work, such as a monthly goal, are acceptable when a sprint project won't work. And "Epic" stories, which represent a large but reasonably specific chunk of work, and which will be considered done when all the sub-tasks are resolved, are also acceptable.

Technical steps to perform a conversion
These are steps for performing the actual conversion, not for the proposal to convert:


 * If the request to convert a tracking task into a project has been made in a dedicated task, make sure that in the existing tracking task a comment has been added to create awareness and consensus: "Note that this tracking task will soon be converted into a Phabricator project, as proposed in {TXXXXX}." Wait a few days before going ahead with the following steps for the actual conversion.
 * Have batch-editing permissions
 * Create the requested new project
 * Go to the tracking task
 * Select all the blocking tasks of the tracking task and copy
 * Paste in a text editor
 * Save as CSV
 * Open the file in a spreadsheet application, using "space" as separator
 * Copy the first column with the reference numbers
 * Make sure task IDs in that list are separated by commas
 * Construct a Search URL with that list of task IDs, like https://phabricator.wikimedia.org/maniphest/?ids=1,2,3,4,5,6#R
 * Increase "Page Size" value of that search if needed (default is 100)
 * Select all tasks
 * Batch-edit the tasks and add the new project
 * If you run into a timeout, repeat.
 * Add subscribers of tracking task as project members to the new project.
 * Edit the tracking task:
 * Remove all subtasks
 * Change the status to Invalid
 * Change the priority to Lowest
 * Add the new project to the tracking task
 * Remove the task assignee if there is any
 * Change the task title to "[DO NOT USE] [superseded by #]"
 * Update its summary to "This tracking task has been superseded by the project #XXXXXXXXX as requested in {Txxxxx / above}. Please use / watch (https://www.mediawiki.org/wiki/Phabricator/Help#Receiving_updates_and_notifications) the project #XXXXXXXXX instead of this task."
 * Also add the new summary as a comment on the task (as mail notification settings differ)
 * Move the task to "Transition completed" column on #Tracking project workboard