Phabricator

From Meta
Miraheze White Logo.png
Phabricator
Miraheze's issue tracking platform. Report bugs, request features, and more!
Report bugs/anything else Report security issue Request custom domain Request configuration changes


Phabricator is the issue tracking software Miraheze uses to help keep track of bugs, configuration change requests, feature requests, page import requests and more.

Pictogram voting info.svg Note: Phabricator is only for technical issues! If you require assistance with something non-technical in nature (i.e. adoption requests, disruptive users, help with CSS, etc.), please ask on the Community noticeboard or Stewards' noticeboard.

Technical information on Phabricator can be found here.

Basics

Creating an account/Logging in

To create an account or log in, please use the following steps:

  1. Go to Phabricator.
  2. If you are not logged in, click "Log In" at the top right.
  1. On the next page, click the "Log In or Register // MediaWiki" button at the bottom right (this logs you in to your Miraheze account).
Pictogram voting info.svg Note: Always click the "Log In or Register// MediaWiki" button at the bottom right. Do not log in straight from Phabricator, that login prompt is not for wiki users.
  1. If prompted, sign into your Miraheze account.
  1. A prompt appears asking you if you want to allow Miraheze Phabricator to log you in, click "Allow".
  1. If you haven't made an account already, you will be asked to confirm your username and add your email.
Below are images that may assist you in this process, the images show how each screen/step should look. Each image is labelled what step it corresponds to.
Click "Expand" for images of how each screen should look.
Main Screen for Phabricator (Step 1/2)
Phabricator Login screen. Click the "Log In or Register // MediaWiki" button at the bottom right (Step 2a)
Meta Login Screen (Step 3)
OAuth screen asking for permission to log you into Phabricator, click Allow (Step 3a)
Phabricator Create Account Screen (Step 4)

Filing tasks

Once you are logged in, click the links at the top of the page to file tasks. Alternatively, if you click "Maniphest" in the Main Page, a button titled "Create Task" should appear.

When making requests, title them descriptively. For example, if you encounter a bug such as a database error on your wiki, a good title could be "Database errors on "mywiki.miraheze.org".

Pictogram voting info.svg Note: Unless you have been instructed to, do not assign the task to anyone (including yourself). System administrators assign tasks to other system administrators, users, or even to themselves to help track the task's progress. Additionally, unless the task is an urgent one (such as errors on all wikis, downtime globally, etc.), do not set the priority to "High" or "Unbreak Now!". This does not cause your request to be processed faster. Even if your wiki is inaccessible, you should leave the priority at "Needs Triage" or "Normal" and a system administrator will change it if needed.

Pictogram voting info.svg Note: Do not fill in "Tags" or change "Subscribers" if you do not know what you are doing. Leave them blank and if needed, someone will change them.

In the description of the task you are creating, be descriptive on the issue or feature you are requesting. If your task is regarding a wiki in particular, please link to it. If the task you are creating is using a template (e.g. Custom domain requests, security issues, etc.), please follow the guidelines laid out on the page.

Once you have filled out your request, a system administrator will process it shortly. Please have patience if your task is not dealt with immediately!

Who can file tasks?

All Miraheze users are free to file bug reports and to give feedback. However, for more sensitive issues such as custom domain requests, article imports, database name changes, changing of restricted settings, among others, only bureaucrats should files those tasks. Even if you are a sysop, it is recommended a bureaucrat files the task.

Requests and reports

Below are expanded descriptions on what each request button does.

  • To request an extension and/or configuration change (that is not on ManageWiki!) for your wiki, please use this form.
  • To report a security issue, please use this form.
  • To report a bug or anything else, please use this form.
  • To request a custom domain, please read this for more information.

For more technical details, please see Tech:Phabricator.

Task priorities

  • Many tasks, such as all feature requests and most configuration changes, are triaged as "Normal" by default. There is no need to change the priority of the request as it will not make your request be processed faster. All feature requests and configuration changes are done on a first come, first served basis, wherein your wiki will be configured when all requests before it are either completed or completed to a well enough standard that it is possible to move on. There are four different priorities that are used on Phabricator:
    • Unbreak Now!: Tasks here should be resolved as soon as possible, all other tasks should be dealt with after the ones here are resolved. These tasks generally relate to global issues such as downtime.
    • High: Tasks here should ideally be resolved in a few days.
    • Normal: Most tasks in this priority should be resolved as soon as someone is able to, and other tasks (such as goals) should be done in the time period that's assigned to them.
    • Low: Tasks here are not important to the direct functioning of Miraheze or are just ideas or cannot be worked on currently, and therefore they should be done whenever someone wants to.

Additionally, there are also statuses on Phabricator:

  • Open: Tasks that are currently waiting on someone to take care of them, or that are in progress.
  • Resolved: Tasks that have been completed.
  • Invalid: Tasks that are inappropriate for Phabricator and the request should have been made somewhere else.
  • Declined: Tasks that either can't be done at this time, won't be done or the conclusion was that it was not needed at the time.
  • Stalled Tasks that are waiting on an external entity to respond before any further action from us can be taken.

If you are unsure about how to triage an issue, please leave it as it is and a System administrator will triage it appropriately.

Tags/Projects

  • Tags/Projects are used to organize tasks into their relative topics. For example, a task titled "Feature request for example.miraheze.org" would be placed under the "Configuration" tag as this is the tag we put all feature requests and configuration changes under.
  • Extensions that may need to be reviewed are added to the "Extensions" project under the "Review Needed" workboard
  • Tasks that relate to the general running of Miraheze and its servers is placed under the Site Reliability Engineering tag.
  • There are countless other tags that are used for a variety of purposes. They can all be viewed here

Types

There are different types of projects/tags that are used on Phabricator. The current configuration is as follows:

  • Projects / Components
    • These represent the bulk of projects within Phabricator and belong to an area of either software, infrastructure, or activity.
    • Icon: Project
    • Colour: Blue
  • Groups
    • These represent entities of people and serve as a common association for tasks which require involvement or engagement from a certain group or for a group who may be a stakeholder in a task's progression.
    • Icon: Group
    • Colour: Violet
  • ACLs
    • Similar to groups except these are used for controlling access to certain tasks, with their group membership heavily restricted.
    • Icon: Policy
    • Colour: Red
  • Tags
    • Tags represent common objectives or issues that aren't Project-specific.
    • Icon: Tag
    • Colour: Yellow
  • Goals
    • Goals are most commonly our bi-annual planning period objectives.
    • Icon: Goal
    • Colour: Green
  • User
    • User projects can be used to allow a user to categorise tasks easily within a project rather than tracking it via other means such as notifications. Useful for monitoring progression of tasks across a workboard.
    • Icon: Timeline
    • Colour: Checkered

Access Policy

This outlines access to certain ACLs and Administrator privileges on Phabricator.

Administrator

Phabricator Administrator is not a powerful tool; however, it has access to certain protected information about user accounts and can see sensitive information such as 2-Factor Authentication Status.

Currently, Phabricator Administrator rights have only been granted to Site Reliability Engineers, who already maintain root access on the relevant Phabricator servers. This policy can be reviewed if a use-case can be presented by any member who is not eligible for the rights currently.

ACL: Security

This ACL allows tasks to be restricted from public view when the contents being public could cause a risk to Miraheze's operations, software security or data protection. This ACL can additionally be used when such information could pose a risk to other services until a reasonable disclosure period has passed - when Miraheze may make such information public.

Membership to the group is restricted to:

  • Site Reliability Engineering
  • Trust and Safety
  • Board of Directors (when they take an active part in compliance/regulatory business of the company)

Anyone, who requires access to a certain task, can be added as a subscriber without ACL membership.

Digests

Digests of Phabricator Search Queries are available using the PhabDigests tool powered by the volunteer FOSSBots project. This will require your email to be given to volunteers, and the information is not covered under the Miraheze NDA or Privacy Policy. Data stored on this system is subject to a separate privacy policy.

Please contact RhinosF1 or ask in #fossbots connect if you would like a digest.

See also