Phabricator is the software powering developer.blender.org, providing a bug tracker, task management, repository browsing, code review, code auditing, and repository hosting and configuration.
There are 3 main projects, which all have their own repository, and membership defines commit rights to that repository.
- BF Blender
Each Blender module also has its own project, with the module team as members of that project. Examples of these projects are Animation, Cycles, Mesh Modeling, Motion Tracking and User Interface. These all have a project page with links to documentation, mailing lists and other relevant information. For example if a project is without a maintainer, the project page might mention that we are looking for a maintainer and that the project can't accept many patches at this point.
Some other types of projects could be:
- Blender 2.xx: temporary project to collect tasks for an upcoming release
- Open Movies: projects to track all development tasks for some open movie project
- Moderators: project that acts as a group of all users with extended editing capabilities.
Tasks in Phabricator are not organized in trackers, but are rather more loose. To bring organization, tasks have these properties:
- Assigned to one or more project.
- One of the following types
- Bug: something that is broken or not working as intended
- Patch: code proposed to be added
- To Do: tasks that needs to be done
- Design: design for how some feature, functionality or implementation should work
- OpenGL Error: bug in graphics card or driver that causes problems in Blender
- Priority will be one of:
- Needs Triage by Developer: task needs to be evaluated by developer
- Needs Information from User: need more information from author or other to proceed. These tasks will also expire within a week
- Unbreak Now: critical feature that is broken and should be fixed asap
- Confirmed, High: bug confirmed by a developer with high priority
- Confirmed, Medium: bug confirmed by a developer with medium priority
- Confirmed, Low: bug confirmed by a developer with low priority
- Normal: no priority assigned, mostly for tasks other than bugs
- Tasks can be closed as:
- Resolved: bug is solved, feature implemented, to do is done, etc
- Duplicate: duplicate of another task
- Invalid: not an actual bug, not a wanted feature, out of scope, etc
- Archived: no or unknown resolution, but no longer relevant
To give a new developer commit rights:
- An administrator adds them to either the BF Blender, Addons or Translations project
- Also add them to the Moderators project so they get more editing capabilities
- The developer will also need to set up Git + SSH to commit.
To give non-developers extra editing capabilities to help managing bugs, tasks, projects, etc.
- Add them to the Moderators project
To make someone officially a module team member:
- Add them to the relevant module project