Phabricator

From MediaWiki.org
(Redirected from Feature requests)
Jump to: navigation, search

Other languages:
Deutsch • ‎English • ‎español • ‎suomi • ‎français • ‎italiano • ‎日本語 • ‎한국어 • ‎Nederlands • ‎português • ‎português do Brasil • ‎русский

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

For a Wikimedia-centric overview, watch the Tech Talk The Very Basics of Phabricator. Bugzilla users are encouraged to read our Phabricator versus Bugzilla comparison.

Get started! First missions include

Check our Phabricator Help. Your questions are very welcome.

For Phabricator support and camaraderie, join #wikimedia-devtoolsconnect.

phabricator.wikimedia.org[edit | edit source]

Wikimedia Phabricator documentation overview
Intro to Wikimedia Phabricator

After a favorable request for comment, we are deploying https://phabricator.wikimedia.org to replace Bugzilla, RT, Trello, Mingle, Gerrit, and gitblit. Why?

  • The volume and complexity of our software projects keeps increasing; MediaWiki and Bugzilla fall short for project management.
  • WMF teams are increasingly using Mingle and Trello, 3rd-party commercial services that are alien to the Wikimedia community and principles. This is creating a divide. Wikimedia Germany is trying Scrumbugz, a one-man OSS project barely maintained.
  • Overlap, duplication, and actions falling between the cracks increase.
  • To mitigate this problem, we have created more tools to synchronize information between services (like Bingle or Gerrit notifications in Bugzilla). They need to be maintained (e.g. when one service is upgraded and its API interface has changed).
  • Contributing to Bugzilla (Perl) and Gerrit (Java) is complex for us (mainly PHP developers, and Phabricator is written in PHP).
  • The current setup brings overhead and annoyance to key developers:
    • Senior developers having to use heavily Mingle/Trello in addition to Gerrit and Bugzilla.
    • New contributors arriving with GitHub-like expectations.

Weekly update / maintenance window[edit | edit source]

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 (check your timezone) and users will get redirected to 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[edit | edit source]

Beware, the Phabricator team may change this sequence as plans evolve (although we try not to). If you need more details, you can find them at T174 - Launch Wikimedia Phabricator Day 1.

  1. YesY Done Deployment of https://legalpad.wikimedia.org/ (project)
  2. YesY Done Migration of data from fab.wmflabs.org to phabricator.wikimedia.org
  3. YesY Done New test instance in Labs open to everyone, blocked by
  4. YesY Done phabricator.wikimedia.org open to all Wikimedia users
  5. YesY Done Test instance containing Bugzilla reports automatically migrated
    • YesY Done end of Bugzilla preview feedback period, announcement of Bugzilla migration date.
  6. YesY Done, 2014-11-21: Bugzilla migration (1-4 days downtime, see detailed timeline), blocked by
  7. YesY Done except for minor queues, 2014-12-18 00:00UTC-08:00UTC: Phabricator RT migration: RT migration (8 hours downtime of Phabricator; blocked by
  8. YesY Done Burndown charts & migration from Scrumbugz
  9. In progress In progress Define main tasks (epics) for code review in Phabricator
  10. In progress In progress, expected before 06/2015: Total migration from Mingle; cf. T825
  11. To do To do, expected before 06/2015: Total migration from Trello; cf. T825
  12. To do To do, expected before 06/2015: Proof of concept of code review in Phabricator
  13. To do To do, before 2015-06-31? Total migration from gitblit
  14. To do To do, before 2015-09-30? Total migration from Gerrit
  15. To do To do, before 2015-09-30? Total migration from Jenkins

Get started[edit | edit source]

Access to https://phabricator.wikimedia.org is open, but please be aware of the migration timeline and the fact that the site might be entirely down during the RT and Bugzilla migrations.

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

Learn more about Phabricator versus Bugzilla. You can also watch a screencast about handling tasks/bugs.

If you have questions, check the Help and the FAQ.

Get involved[edit | edit source]

We are working on the 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 our Labs instance as much as you want. Check out the documentation and short videos on Phabricator/Help.
  • Bugzilla, RT, Trello, and Mingle users are welcome to the Phabricator project. Your help is welcome anywhere, but especially in the tasks that are blocking Day 1.
  • Git and Gerrit users are welcome to the Code Review in Phabricator 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[edit | edit source]

We have two different projects to handle Phabricator related tasks:

  • Phabricator contains all the tasks specific to Wikimedia Phabricator: our processes, aspects related to migration of Wikimedia data, local customizations...
  • Phabricator.org is used to organize the tasks that should be handled upstream, at https://secure.phabricator.com: generic Phabricator bugs and feature requests.

The Phabricator.org workboard shows the process that tasks go through before being created upstream:

  • 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[edit | edit source]

As a PHP developer, you're welcome to contribute enhancements and new features upstream. Learn more at Phabricator/Code.

See also[edit | edit source]