Advanced Bugzilla Use: A Hacker's Guide
This is a write-up of what I actually said during the presentation, and is designed to accompany the slides so that those who were unable to be present can actually learn something :-) The slides by themselves are not particularly useful.
Slide 1: Introduction
Welcome :-) The purpose of this talk is to give people ideas on how to better use Bugzilla, now that it's quite widely used in the FOS community.
Slide 2: Roadmap
This is where we'll be going. Be warned - I'll be asking you all for suggestions at the end.
Slide 3: Who's Using Bugzilla
Here are all the projects using Bugzilla. Note the version of the one that applies to you. Bugzilla has many sub-versions - this is because we care about our users' security a lot. I pity those who use IssueZilla; they've missed out on most of the cool stuff.
"Which Bugzilla is biggest?" Stats as of Wednesday 5th Feb:
| mozilla.org | ASF (Apache) | Gnome | KDE | Red Hat | Linux Kernel | |
| Products: | 21 | 48 | 180 | 252 | 22 | 11 |
| Components: | 170 | 268 | 539 | 230 | 1956 | 71 |
| Bugs: | 191972 | 16793 | 105272 | 54122 | 83524 | 303 |
So KDE has gone from 0 to 50,000 in six months. At this rate, they'll pass Gnome in about August. (Note: this comparison isn't really valid; it was a joke.) The Linux Kernel, on the other hand, has almost no bugs in it at all.
Slide 4: Searching
- Stored queries - you can store searches in Bugzilla. These are better than bookmarks because they are portable; you can get at them whatever computer you are at.
- There is a default query, but it can't be suitable for everyone. So change it using the controls at the bottom of the query page. Some suggestions are given on the slide. Compare the two linked searches for "tooltips crash".
- Aliasing (giving bugs names as well as numbers) helps you to remember more bugs. Joel Spolsky says you can only remember two bugs at once. In my view, aliasing can raise that to three (a 50% improvement.)
- Boolean charts are great for really useful queries. Two examples on the slide demonstrating the use of search patterns not available through the rest of the interface, and also the binding of together criteria relating to a single entry in a multiple-entry field.
Slide 5: Browser Tricks
- There's a bookmarklet, the buglinks bookmarket, which gives you a Bugzilla bug list for all bug links on a particular page. It works particularly well with Bonsai, but also other reports. You can then "Edit This Query" and so do a subselect on a buglist, because you get all your fields back.
- Custom Keywords are also very cool. In Mozilla, make a Bugzilla bookmark to http://bugzilla.mozilla.org/show_bug.cgi?id=%s , and give it the keyword "bug". Then type "bug 12345" in your URL bar.
- You can keep multiple buglists, working around the fact that Bugzilla can only store one in your buglist cookie, by using multiple browser instances or profiles.
- You can review patches in a decent interface by copying them and doing "Paste As Quotation" in a new mail window. Code is in blue, your comments in black.
Slide 6: Other Stuff
- You can bookmark a state for the bug entry page - very useful when filing a whole load of similar bugs. For example, I have one which files a new Bugzilla bug against the latest version, with Platform and OS as All, assigned to me.
- Username wildcard matching - you can put partial email addresses in boxes which accept them, and Bugzilla will try and find a match for you, choosing the person automatically if there's only one match.
- There's a facility for applying Bugzilla's autolinkification algorithm to arbitrary text - this is good for status reports or web pages.
- The reports mechanism can also be useful - see the two demos linked on the slide. One is a report on the status of a team, another is a breakdown of bugs by component.
- There is a XUL interface to the most frequently-reported bugs list, duplicates.xul. However, as my demo proved, it doesn't always work. :-(
Slide 7: Questions and Audience Suggestions
I asked people if they have questions, or suggestions. We had a few useful comments on Bugzilla features, and queries on what I had said.