Phabricator

Report bugs/anything else  Report security issue   Request custom domain   Request configuration changes

Phabricator is the issue tracking software used by Miraheze to help keep track of bugs, configuration change requests, feature requests, importing pages and more.

Phabricator is only for technical issues. If you require assistance with something not technical (e.g. your CSS doesn't work, a disruptive user, help with formatting a page}, please ask on the Community noticeboard or Stewards' noticeboard.

Technical information on Phabricator can be found here.

Creating an account/Logging in
To create an account or log in, please follow the following steps:


 * 1) Go to Phabricator.
 * 2) Click "Log In". The button should be on the top right of all pages if you are not logged in.
 * 3) Click on the button that says "Log In or Register // MediaWiki" (this will log you in to your Miraheze account).
 * Always click the "Log In or Register" button. Never try to login straight from Phabricator as that login prompt is not for wiki users.
 * 1) If prompted, sign into your Miraheze account.
 * There will be a prompt 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 below show how each screen/step should look. Each image is labeled what step it corresponds to.



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, it is recommended you 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".

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 themselves to help track the task's progress.

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 unaccessible, you should leave the priority at "Needs Triage" or "Normal" and a system administrator will change it if needed.

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 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, it is recommended that bureaucrats should be filing those issues. 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 does.


 * If you want to request an extension and/or configuration change (that is not on ManageWiki!) for your wiki, please use this form.
 * If you want to report a security issue, please use this form.
 * If you want to report a bug or anything else, please use this form.
 * If you want 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 we 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.

SRE Duty
Site Reliability Engineering Duty is a name assigned to the process of ensuring incoming tasks and problems get resolved in a timely manner or remain tracked week-in-week-out to prevent tasks dropping off everyone's radar.

''Read more about SRE Duty here.

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: https://phabricator.miraheze.org/project/query/all/

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 represents 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 in an easy way 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 [ https://phabdigests.bots.miraheze.wiki the PhabDigests tool] powered by the volunteer [ https://bots.miraheze.wiki MirahezeBots] 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 [https://bots.miraheze.wiki/privacy.html privacy policy].

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