BMO is a core piece of infrastructure at Mozilla. It is used to track not only bugs and feature requests but also many other tasks across various teams.
The BMO source is a slightly modified fork of Bugzilla with many custom extensions. It is currently based on Bugzilla 4.2 but with many features backported from 4.4 and master. All the BMO devs are also involved in the Bugzilla project, and we contribute features and fixes upstream where they are generally applicable, that is, not too specific to Mozilla's particular needs.
Updates are usually deployed on a weekly basis and are listed on the Recent Changes page.
- 1 B-Team
- 2 New Users
- 3 New Bots
- 4 User Guide
- 5 Road Map
- 6 Browser Support For BMO
- 7 Third-Party Applications
- 8 More Information about BMO
- 9 Contributing to BMO
- 10 Policies and Procedures
- 11 Current Projects
The team that works on BMO is called the B-Team, because of affiliation with the Automation and Tools team (A-Team), which is now called Engineering Productivity.
- dkl: Dave Lawrence (Owner/Engineer)
- dylan: Dylan Hardison (Owner/Engineer)
- mcote: Mark Côté (Manager)
- emceeaich: Emma Humphries (Bugmaster)
We also also have some volunteers, that we consider to be part of the B-Team as well:
- seban: Sebastin Santy (GSoC student)
- mary: Mary Umoh (Intern)
- atoll: Richard Solderberg (Reviewer-at-Large, slightly borrowed from Mozilla IT)
- kohei: Kohei Yoshino
- ... and you can be one too!
There are also some people that still have some involvement with BMO, but their day-to-day attention is directed to other parts of Mozilla.
- glob: Byron Jones
- justdave: Dave Miller
- gerv: Gervase Markham
Getting used to Bugzilla can be a bit daunting. We have a short introductory video available that is as gentle as possible. Also see the MDN article, What to do and what not to do in Bugzilla, which contains instructions on getting elevated privileges.
If you have a bot that uses BMO, be sure to add it to the BMO/Bot Registry so we know who to contact about it!
We're putting together a user guide with helpful information on various aspects of Bugzilla. New and experienced users alike should benefit from it. There's a lot to go through, so please feel free to contribute!
Browser Support For BMO
Full Support includes: The current versions of Firefox, Chrome, Chromium, Safari, WebKit, and Edge; and the latest Firefox ESR.
Limited Support includes: The previous versions of Firefox, Chrome, Chromium, Safari, WebKit, Edge, and Firefox ESR; IE 11 and Firefox Nightly.
See bug 1359310.
Lots and lots of web apps and general tools have been written to interface with BMO. We have started cataloguing them. If you're looking for different ways to interface with BMO, check it out; similarly, if you are thinking about writing an app, check the catalogue to see if something similar exists that you could use, contribute to, or fork before setting out on your own.
There's one in particular that is particularly important: MozReview, Mozilla's new and growing code-review tool.
More Information about BMO
If you're building an application or tool that interfaces with BMO, you may be interested in the following:
- Best practices and etiquette for integrating external apps with BMO
- Info and plans on Bugzilla's REST API, and the older, deprecated BzAPI.
Looking for another way to access Bugzilla's raw data? Try the ElasticSearch cluster.
Contributing to BMO
If you'd like to help out with BMO specifically (as opposed to the general upstream Bugzilla project), you can find us in #bmo on irc.mozilla.org. If you plan on contributing patches, see the documentation on hacking BMO. You can file bugs under the bugzilla.mozilla.org product. Don't file them under the Bugzilla product unless you are sure it's a bug in the general Bugzilla product. In particular, all administrative changes should be filed under bugzilla.mozilla.org (see below for more).
Policies and Procedures
Code updates are normally deployed to bugzilla.mozilla.org late Monday/early Tuesday, US/Pacific time, at no specific time, if changes need to be pushed out. Security fixes or other fatal type errors will always go out as soon as possible.
Updates are usually deployed on a weekly basis and are listed on the BMO/Recent Changes page.
If you need changes to BMO's configuration to support your team, project, etc., please consult this page before filing bugs:
BMO Administrative Processes
- Adding a new product
- Adding a new "rapid release" version
- Adding a new BMO security group
- Retiring Products and Components: moving things to the Graveyard classification.
- Restoring Disabled Accounts
- Merging Accounts
- Disabling Accounts
See also BMO on Mana (requires LDAP).
BMO Development and Other Processes
Custom Bug Entry Forms
In the past, BMO developers supported writing custom bug entry forms specific for the needs of different projects and groups within Mozilla. In order to focus more on other important features, we will no longer be providing that support going forward. For more information on why this change was made, see here.
There is a new custom form framework being developed by an outside contributor named Sebastin Santy. It is still in the early stages but it eventually will be very useful for users who want to create a customized bug entry form that can be used to submit bugs to BMO.
This table lists the bugs representing the current quarterly goals (and, near the end of the quarter, sometimes next quarter's goals). Those that were set at the beginning of the quarter are tagged with the keyword "bmo-goal". The BMO team also regularly gets requests for high-priority work items throughout the quarter; those that will take more than a day or two in total, thus potentially jeopardizing other goals, are included below, tagged with "bmo-big". The daily smaller tasks are also generally tracked in Bugzilla but not represented in the table below.
P1 indicates a critical project. P2 indicates an important but deferrable item. P3 is as P2 but more deferrable. Note that all items are important, and it is presumed that lower-priority items will increase in priority over time as high-priority tasks are completed, i.e., we don't plan to defer any of these tasks indefinitely.
|1150541||P1||[tracking] make bug-modal the default UI||RESOLVED||FIXED||David Lawrence [:dkl]|
|1184823||--||Elastic Quicksearch||NEW||Dylan Hardison [:dylan] (he/him)|
|1283138||P1||Deprecate Persona and provide information to client about alternative methods to login to BMO||RESOLVED||FIXED||David Lawrence [:dkl]|
|1286290||P1||CSP compliant bug modal||RESOLVED||FIXED||Dylan Hardison [:dylan] (he/him)|
|1321592||P1||Update Bugzilla Etiquette and add Abuse Policy||RESOLVED||FIXED||Emma Humphries ☕️ (she/her) [:emceeaich] (UTC-1) +needinfo me|
5 Total; 1 Open (20%); 4 Resolved (80%); 0 Verified (0%);
|44393||P3||develop an extension that provides comment-only inbound email support||NEW|
|956390||P3||Add suggested reviewers capability to the ui review flag||ASSIGNED||David Lawrence [:dkl]|
|1253535||P1||Detect if mysql can support utf8mb4, and if using utf8, convert to utf8mb4||NEW||Dylan Hardison [:dylan] (he/him)|
|1344088||P3||Add an "Introduced-in" field which takes the URL or number of a bug in which a regression or security issue was introduced||NEW|
|1344093||P3||Allow for reordering modules on page and automatically saving the state as a user preference||NEW|
|1346929||P3||[Tracking] Create new bug entry page without the legacy concerns of enter_bug.cgi||RESOLVED||DUPLICATE|
|1350081||P3||[meta] Create Bugzilla Extension for Privately Marking Bugs for Bookmarking||NEW|
|1350086||P3||[meta] Bug Triage View||NEW|
|1354589||P3||Implement OAuth2 on BMO||NEW|
9 Total; 8 Open (88.89%); 1 Resolved (11.11%); 0 Verified (0%);
|1292698||P2||Web Hooks Integration||NEW||Sebastin Santy [:seban]|
|1333594||--||Update bug modal form to support markdown comments||ASSIGNED||David Lawrence [:dkl]|
2 Total; 2 Open (100%); 0 Resolved (0%); 0 Verified (0%);
Further documentation about goals above and other projects follows:
- User Roles
- Generate different user roles based on what tasks a user is trying to complete when using the BMO system.
Some of these will have on-going maintenance and improvements, but the initial deployment has been accomplished. Others have been abandoned or rejected due to various factors, noted below.
- Change Notification System
- 4.0 Upgrade
- 4.2 Upgrade (Completed March 5th, 2013)
- User Profiles
- Tracking Flags
- Native REST API
- Pulse Integration
- This was completed and deployed, but it generated a lot of traffic and is of questionable utility since it must access Bugzilla as an anonymous user. A simpler, more general system is the Change Notification System.
- Migrating Bugzilla and BMO code from bzr to git
- Completed 2014/03/11.