Phabricator

Phabricator is an open-source software development platform used for project management, bug reporting, feature requests, and code review in an integrated fashion.

The phab-migration>Phabricator/Migration|migration to Phabricator is work in progress. See the timeline below for more information.

Get started


For a Wikimedia-centric overview, watch the Tech Talk [https://plus.google.com/events/c8qe7l0vtf4v6u07k3o059du2lg The Very Basics of Phabricator].

You can also watch a screencast about [https://plus.google.com/events/cm38slj29u0pb65iilcrb3vgn88 handling tasks/bugs].

First missions include


 * phab-account>Phabricator/Help#Creating your account|Creating your account
 * phab-task>Phabricator/Help#Creating a task|Creating a task
 * If you maintain projects: phab-projects>Phabricator/Creating and renaming projects|Creating a project and learning about phab-manage>Phabricator/Project management|project management in Phabricator.


 * 1>Bug management/Phabricator etiquette|Etiquette

If you have questions, check the phab-help>Phabricator/Help|Help and the phab-faq>Phabricator/FAQ|FAQ. Your talk-phab>Talk:Phabricator/Help|questions are very welcome.

For Phabricator support and camaraderie, join .

There is a test instance at phab-01.wmflabs.org</>. Use it to learn and experiment, not for serious work.

Weekly update / maintenance window
Phabricator doesn't have releases, and therefore it is up to us to decide how close do we want to follow the upstream version. There is a weekly window for updates and other maintenance tasks on Wednesdays at 15:00 UTC ([<tvar|timezone>http://www.timeanddate.com/worldclock/fixedtime.html?iso=20141210T15&p1=%3A&am=30</> check your timezone]) and users will get redirected to <tvar|phab-maint>Phabricator/Maintenance</>. We don't update Phabricator every week, but we reserve us the right to do it. The expected downtime during this window goes from 0 to 30 minutes.

Migration timeline
Beware, the [<tvar|phab-team>https://phabricator.wikimedia.org/tag/phabricator/</> Phabricator team] may change this sequence as plans evolve (although we try not to).
 * 1) ✅ Deployment of https://legalpad.wikimedia.org/ (project)
 * 2) ✅ Migration of data from fab.wmflabs.org to phabricator.wikimedia.org
 * 3) ✅ New test instance in Labs open to everyone, blocked by
 * 4) ✅ phabricator.wikimedia.org open to all Wikimedia users
 * 5) ✅ Test instance containing Bugzilla reports automatically migrated
 * 6) * ✅ end of Bugzilla preview feedback period, announcement of Bugzilla migration date.
 * ✅, 2014-11-21: Bugzilla migration (1-4 days downtime, see detailed timeline), blocked by
 * 1) * ✅ Community review of the Bugzilla migration test instance (two weeks)
 * 2) * ✅ Bugzilla to Phabricator import script
 * 3) * ✅ Elasticsearch (but temporarily reverted)
 * 4) * ✅ Move Bugzilla to old-bugzilla.wikimedia.org as a read-only instance
 * 5) * ✅ Automatic redirects from Bugzilla reports to Phabricator tasks
 * 6) * ✅ Wiki templates for Bugzilla pointing to Phabricator
 * 7) * ✅ Gerrit plugin to sync tasks with code reviews
 * 8) * ✅ IRC bots reporting Phabricator activity
 * 9) * ✅ How to organize projects
 * 10) * ✅ How to claim Bugzilla reports
 * 11) * ✅ Documentation for Bugzilla users
 * 12) * ✅ Communication plan
 * 13) * ✅ Approval from Wikimedia Foundation Engineering management
 * 14) * ✅ Reminder: Bugzilla migrated projects and tasks must be Visible To Public
 * 15) ✅ except for minor queues, 2014-12-18 00:00UTC-08:00UTC: Phabricator RT migration: RT migration (8 hours downtime of Phabricator; blocked by
 * 16) * ✅ Interaction with external users via email
 * 17) ✅ Burndown charts & migration from Scrumbugz
 * 18)  Define main tasks (epics) for code review in Phabricator
 * , before 2015-06-31? Total migration from Mingle; cf. T825
 * , before 2015-06-31? Total migration from Trello; cf. T825
 * , before 2015-07-31? Proof of concept of code review in Phabricator
 * , before 2015-07-31? Total migration from gitblit
 * , before 2015-12-31? Total migration from Gerrit
 * , before 2015-12-31? Total migration from Jenkins

Get involved
We are working on the phab-migration>Phabricator/Migration</>|migration of several developer infrastructure services to one single Phabricator instance. It's a very exciting project! We welcome your help.


 * Learn to use Phabricator. Play and test in [<tvar|wmflabs>https://phab-01.wmflabs.org/</> our Labs instance] as much as you want. Check out the documentation and short videos on <tvar|phab-help></>.


 * Git and Gerrit users are welcome to the phab-tag>phab:tag/gerrit-migration/</>|Gerrit-Migration project. We need help learning about the possibilities of Phabricator in this area: what is missing, what exists in a different way, what is remarkably interesting, which are the blockers that should be reported upstream?

Report bugs and feature requests
We have two different projects to handle Phabricator related tasks:


 * phab-tag>phab:tag/phabricator/</>|Phabricator contains all the tasks specific to Wikimedia Phabricator: our processes, aspects related to migration of Wikimedia data, local customizations...

The Phabricator-upstream workboard shows the process that tasks go through before being created upstream:
 * phab-tag>phab:tag/phabricator-upstream/</>|Phabricator-upstream is used for tasks that should be handled upstream at <tvar|phab-secure>https://secure.phabricator.com</>: generic Phabricator bugs and feature requests which are not specific to Wikimedia's Phabricator instance. See the Wikimedia Phabricator bug workflow for more details.


 * Backlog: this is where new tasks land by default. Stalled tasks can also be found here.


 * Need discussion: sometimes a task will benefit from a discussion, making sure that more Wikimedia contributors are on the same page and the report or the proposal are well argumented.


 * Ready to go: tasks in this column are waiting for someone to report them upstream.


 * Upstreamed: this column is where tasks are moved as soon as they have been reported upstream.


 * Wikimedia requests: a few requests reported upstream are made in the name of Wikimedia, because we consider that they have a higher relevance.

How fast a task is reported upstream may depend of how uncontroversial is (going through the Need Discussion column) and how high is its priority, but it ultimately depends on who takes the time to report it upstream. You can also do it!

This is an opt-in process aimed to check the appropriateness and relevance of a task before being created upstream. Anyone can create tasks upstream bypassing this process.

Developers
As a PHP developer, you're welcome to contribute enhancements and new features upstream. Learn more at <tvar|phab-code></>.