Phabricator/High level Phabricator concepts
The goal of this page is to explain at a higher ("why") level how best to use Phabricator. Eventually this page should reflect the consensus opinions of the Team Practices Group. Step-by-step details for "how" to perform tasks in Phabricator can be left to other pages.
Major concepts[edit]
Phabricator has 3 main top-level objects: Users, Tasks, and Projects.
User[edit]
Each user has a profile. Users can Join or Subscribe to Projects, and can be Subscribed to or Assigned to Tasks.
Task[edit]
Tasks are the heart of the system, and mostly behave similarly to issues in other issue-tracking systems. Each Task is uniquely identified by its ID, which is in the form Txxxxx. Each task has a Title, Status, Assigned To, Priority, and Description, Visibility, Editability, and Security. Each also has a list of CC (Subscribers) and a list of associated Projects. Attachments can be added as part of a Description or Comment.
By conscious decision, Tasks in the WMF instance have very few fields, so for example they do not have "OS/Platform" or "See Also" fields. Requests to add additional fields are likely to be rejected, with the advice to instead include that information in the Description or in a Comment.
A task's status can only be one of:
- Open
- Resolved
- Stalled
- Declined
- Invalid
- Duplicate
These statuses are unrelated to the implied state that a task might be in, based on which column it is in any workboards. So for example, a task could have a status of "Open" but be in the "Done" column on a workboard. Or it might have a "Resolved" status but be in an "In Progress" column in a workboard. Although these cases are possible, they might (or might not) indicate that the task was managed incorrectly.
Project[edit]
Projects are unlike projects in most issue-tracking systems. See the project management page for more information.