Phabricator/High level Phabricator concepts

From mediawiki.org

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.