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 past affiliation with the defunct Automation and Tools team (A-Team).
- dkl: Dave Lawrence (Owner/Engineer)
- emceeaich: Emma Humphries, (Bugmaster)
- glob (Manager)
The Low-level, security, and quality tools team contributes tooling, and development:
- calixte: Calixte Denizet, (AutoNag)
- marco: Marco Castelluccio, (BugBug)
We also also have some volunteers, that we consider to be part of the B-Team as well:
- seban: Sebastin Santy (long-term volunteer, past GSoC student)
- atoll: Richard Solderberg (Reviewer-at-Large, slightly borrowed from Mozilla IT)
- kohei: Kohei Yoshino, (UX Designer)
- ... 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.
- zeid: Zeid Zabaneh (Engineer)
- mhentges: Mitchell Hentges (Engineer)
Past contributors include:
- mary: Mary Umoh (Intern, Summer 2017)
- gerv: Gervase Markham
- mcote: Mark Côté
- dylan: Dylan Hardison
- imadueme: Israel Madueme (Engineer)
- justdave: Dave Miller
Getting used to Bugzilla can be a bit daunting. We have a short introductory video available that is as gentle as possible. You may also be interested in the [MDN section about Bugzilla], which contains information more suitable as an introduction to a general audience. Of special interest is 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; and Firefox Nightly.
Internet Explorer is no longer supported, though some features may still work with IE 11.
Do Not Track header sent by your browser is honored.
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: Phabricator, 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 in the README.rst. 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; some of which will take more than a day or two in total, thus potentially jeopardizing other goals. The other daily 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.
|1309706||--||[meta] Tracking bug for migration of BMO attachments from the database to AWS S3||RESOLVED||FIXED||David Lawrence [:dkl]|
|1524700||--||Create Rules extension to replace hard coded edit rules currently in BMO bug_check_can_change_field hook||RESOLVED||WONTFIX||David Lawrence [:dkl]|
|1553533||P3||[meta] Make the version field uniform across products||RESOLVED||FIXED||Emma Humphries ☕️🎸🧞♀️✨ (she/they) [:emceeaich] (Pacific Time) use needinfo|
|1612290||--||Provide self-service UI for users to reactivate their account after being disabled due to bouncing||VERIFIED||FIXED||David Lawrence [:dkl]|
|1613784||--||Add Root Cause Field as Program Flag||RESOLVED||FIXED||Emma Humphries ☕️🎸🧞♀️✨ (she/they) [:emceeaich] (Pacific Time) use needinfo|
|1628590||--||[meta] Spring 2020 Triage Process Work||RESOLVED||FIXED|
6 Total; 0 Open (0%); 5 Resolved (83.33%); 1 Verified (16.67%);
0 Total; 0 Open (0%); 0 Resolved (0%); 0 Verified (0%);
|1599274||--||[META] Deprecate XMLRPC/JSONRPC API and support only REST going forward||NEW|
|1612286||--||Single sign-on through Mozilla IAM||RESOLVED||FIXED|
2 Total; 1 Open (50%); 1 Resolved (50%); 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.