- Script Version: 0.7
- Running Time: < 10 mins
- Current Compiled Version: https://gerv.makes.org/popcorn/1bn6
- Voiceover Artist: Gerv
The presentation is built using popcorn.js and Popcorn Maker. Screenshots and other interactive elements are noted in the script.
Title card: as other Understanding Mozilla presentations
This short "Understanding Mozilla" presentation covers Bugzilla.
Bugzilla is web-based software for tracking bugs. Mozilla has an installation of this software at bugzilla.mozilla.org, which is heavily used by teams across the project.
Image: screenshot of bugzilla.mozilla.org front page in default skin.
That website is sometimes known as BMO, but is also called Bugzilla in casual conversation. Confused yet? Excellent. In this presentation, we'll use the term "Bugzilla" to refer to our particular installation, not the software in general.
Bugzilla tracks bugs. Except that it doesn't just do that - it also tracks feature requests, To Do items, suggestions and so on. But we tend to call them all bugs, nevertheless. The aim of this presentation is to introduce you to the key features of Bugzilla without getting too complex. And Bugzilla can be complex.
Image: screenshot of full bug.
Bugzilla is big because our needs are big - it's a mission-critical tool for the Mozilla project. It scales to millions of bugs, it has APIs to integrate with, and it has full-time developers working on improving it. It may look scary, but every field is in there because someone finds it useful. However, it's OK if that someone isn't you. Different teams within the project will use Bugzilla a bit differently.
Creating An Account
Image: screenshot of bugzilla.mozilla.org front page in default skin.
In order to change anything in Bugzilla, which you will want to do if you get involved in Mozilla at all, you need an account. There are three login methods - the normal way, where you fill in your email address and a password and click a confirmation link in an email, Github login (if you already have an account on Github), and Persona. Persona is Mozilla's secure system for using the same login on multiple sites. If you have a Persona account already, click "Sign in with Persona" and you're away. If you don't have a Persona account, click the button and get one, and later you can use it on any other Persona-supporting site.
Filing A Bug
People's often first experience Bugzilla because they want to file a bug.
If you are new to Bugzilla, you will be directed to the bug filing wizard, known as the Guided form.
Image: Guided form page 1
Text: Filing a bug: https://bugzilla.mozilla.org/enter_bug.cgi
You pick a product,
Image: Guided form page 2
summarise the bug (at which point, Bugzilla will have a look to see if a similar bug has been filed already) and then, if not,
Image: Guided form page 3
you have several text fields in which to explain what the problem is.
Once you acquire more privileges in Bugzilla, you will get the option of another form - but by the time you get to that, you should be able to understand it without any help from me.
In the summary, you should explain succinctly what the problem is or the improvement you would like to see. After that, the guided form asks you 3 key questions: what did you do, what happened, and what should have happened? This structure is to encourage people to explain what the problem they saw was and what they did to cause it, rather than what they think the fix is and how they think it should be implemented.
In a commendable effort at simplicity through specificity, Bugzilla also supports dedicated specialist bug filing forms for certain parts of the project - usually non-code parts.
Image: IPP bug filing form
By way of example, here's the one for the Internet Public Policy group. There's a list of these at the URL given, but if your area of the project uses one, you'll find out soon enough.
Understanding A Bug
Now, on to 'understanding a bug'.
Image: top of a bug
Sometimes you will want to figure out what's going on with a bug someone else has filed. Here are the important bits:
Summary - this is a once-sentence summary of what the bug is all about.
Status - where the bug is in its life cycle. Is it still waiting for someone to take it on? Has someone fixed it? Status will tell you.
Whiteboard and keywords - there are several ways of applying tags of one sort or another to bugs.
Text: Full keyword list: https://bugzilla.mozilla.org/describekeywords.cgi
The whiteboard field is freeform - type anything you like (but don't mess up other people's stuff). The keywords field only permits a set of administrator-defined values, such as "crash" or "regression".
Attachments - files relating to a bug. These can be test cases, patches, screenshots, design documents, mockups or anything else. Max size: 10MB.
Comments - the discussion related to the bug. People add comments when they have something useful to say about the bug. You should do the same.
If you need to get someone's attention to answer a question on the bug, use the "needinfo" feature. Set the needinfo flag, and give the name of the person you need info from.
There are also lots of other fields, which we don't have time to explain here. You will pick up their meanings when and if they become relevant to you. But in the mean time, don't worry about them.
Finding bugs. With over a million bugs in the system at time of speaking, it can be tricky to find the one you want. But never fear, there are many different ways of searching Bugzilla. At time of speaking, in fact, there are 5. Yes, 5. You can find them all on the search page.
Text: Search: https://bugzilla.mozilla.org/query.cgi
Image: Query page with Instant Search
Top Left text: "1. Instant Search". (Corresponding text and images appear for the other three tabbed searches.)
Instant Search. Very fast, but limited in power. This searches only the bug summary, and only in the parts of Bugzilla related to a single chosen piece of Mozilla software - e.g. Firefox.
<Image: Simple Search>
Simple Search. Not quite as simple as Instant Search. This can optionally search comments too, and restrict itself to just Open or just Closed bugs.
<Image: Advanced Search>
Advanced Search. The 800lb gorilla of Search. More knobs and switches than Darth Vader's bathroom. This is the best search if you want to generate a complete list of bugs exactly matching a set of criteria.
<Image: Google Search>
Google Search. This asks Google to do the job for us, which often produces good results. The only downside is that it doesn't search non-public bugs, or bugs which are quite new, because Google hasn't crawled them yet.
QuickSearch. Hang on, I hear you say, we've covered all the tabs on this search page. Indeed we have, but there's also a search box at the top of the page. Missed that, didn't you? Do you think this is a shortcut to any one of the searches explained so far? No, that would be far, far too simple. This is a different search again, called QuickSearch.
<Text: "QuickSearch reference: http://www.squarefree.com/bugzilla/quicksearch-help.html>
It attempts to combine the simplicity of Simple Search with the power of Advanced Search. Basically, it's a little mini language for describing searches, so you can say "component:Security keyword:crash". We can't go into it now, but if you use Bugzilla often, it's well worth learning. Start with Jesse Ruderman's guide, found at this link.
Pro Tips. We've covered the basics, now it's time to tell you about the little things which make life with Bugzilla so much more pleasant.
Top left text: "1. Etiquette"
Image: etiquette page screenshot
(and the same for each other tip.)
Etiquette. We like Bugzilla to stay a friendly, welcoming place. One way we do that is to have community standards of behaviour. The Bugzilla Etiquette page gives those. Many will seem to ordinary people to be common sense. Please cast your eye over it.
My Dashboard. This feature allows you to see all the bugs with which you are in some way involved. It's good to view this regularly to make sure you don't let something important slip through the cracks.
Component Watching. Bugs in Bugzilla are classified into Products (e.g. 'Firefox' or 'Websites') and sub-classified into Components. If you are particularly concerned with bugs in a certain Component, you can sign up to receive and email every time a bug in that component changes. Use the Component Watching interface to define which components you'd like to watch. Beware - watching popular components can lead to a great deal of email.
Profile tweaks. There are various changes you can make to your user profile to smooth your Bugzilla experience and that of other people. Firstly, put your usual nickname or IRC handle into the Real name box, preceded by a colon, like this. Because only regular users do this, this means people can type :fred or :gavin and not get matches on all the Gavins who filed one bug in 2003 and have never been seen since. And you can do this trick too, when you are CCing people or assigning bugs to them.
Secondly, on the User Preferences page, you can turn on HTML email for your bugmail, if you're that kind of person.
Thirdly, you can configure how much bugmail you get. Normally, you don't want to know if someone else CCes themselves on a bug you are otherwise getting mail about. Head over to the Email Preferences tab and uncheck a few boxes to slow down the flow. There's also a Bugmail Filtering tab which allows even more fine-grained control.
Browser Hacks. There are also changes you can make to your browser - if your browser is from Mozilla, which of course it is. A useful one is to add a "bug" keyword for the Bugzilla QuickSearch URL. Then, you can type "bug 123456" into your URL bar, and end up in the right place. The easiest way to do this is right-click the Quicksearch box and select "Add A Keyword For This Search".
That's it! Happy Bugzilla-ing!