Phabricator/Creating and renaming projects

These guidelines are being discussed in T705 Approve the Phabricator project guidelines.

Big Disclaimer
''Currently the creation of new projects is restricted to teams migrating from Trello and Mingle, as well as initiatives without any presence in Bugzilla. Members of these new projects must be aware that Wikimedia Phabricator will be inaccessible during several days in the following weeks, due to the RT and Bugzilla migrations. They also need to understand that the Phabricator maintainers have limited capacity to support them while they are focusing on the Phabricator launch.''

Create a request
In order to keep some sanity and consistency, projects can be created only by the Phabricator team. Anybody can request a new project. Just create a new task under the "Phabricator" project including these details:


 * Name
 * Description
 * Type of project
 * Policy (only if different from the default)

Guidelines
Project requests following the guidelines are likely to be resolved pretty fast.

Name

 * Think of the shortest name that users can find easily typing ahead.
 * Ideally one word, otherwise multiple words must be connected with dashes.
 * Unnecessary use of frequent words like "Wikimedia" or "MediaWiki" should be avoided.
 * Title case by default.

Good: Phabricator, MediaViewer, Code-Review, Phabricator-Production-Instance...

Bad: Wikimedia Phabricator, MediaViewer-for-MediaWiki, Code Review for Phabricator...

Description

 * Describe the project in a way a newcomer would understand it.
 * Add links to the relevant project pages.
 * Subprojects should link to their Phabricator parent project.

Type of project


There are several types of projects in Wikimedia Phabricator, and each type must follow the purpose, color, and icon defined in these guidelines.


 * Project is the default option.
 * Team corresponds to an existing team. If you belong to a team that will manage several projects, then the first step is to create a project for your team.
 * Sprint is for subprojects with a hard deadline. You are encouraged (but not required) to name it with a "Sprint-" prefix.
 * Release is for subprojects that belong to a specific deployment.
 * Tag is for... tags / keywords.
 * Private is for exceptional projects with tasks that are not public.

Additional hashtags
Hashtags ( #Example-Project ) are used to link to projects in descriptions and comments, as well as to call them in searches typing ahead.


 * Optional field, you can leave it empty.
 * Or you can add shorter / alternative tags that clearly identify with your project.

Good: #HR for Human-Resources.

Bad: acronyms nobody will guess, misleading tags...

Policy
IMPORTANT: this policy applies to the project page itself, not to the tasks assigned to it!

Default policy
The default access policies for Wikimedia Phabricator projects are:
 * Visible To Public (no login required)
 * Editable By All Users
 * Joinable By All Users

This corresponds to the policies of wiki pages of teams, projects, extensions, etc, in mediawiki.org. Just like there is no reason to protect project wiki pages by default, there is no reason to protect Phabricator project pages by default.

Restricting Visible To
There should be no reason to restrict the visibility of a project page. All Wikimedia Phabricator projects should be Visible To Public (no login required).

Restricting Editable By
Similarly to wiki pages, protecting project pages from being edited by All Users should be an exceptional measure to prevent or respond to abuse.

Restricting Joinable By
This is an option to be used mainly for Team projects where membership provides special access to features. If you want to restrict this option you need to justify this decision in your request.

Note that Phabricator allows to subscribe and watch projects only to their members. If you want more users following your activity, you should let them join the projects. If you want to define who is an official member of your team, you can do so editing the project description.