Staś Małolepszy

BugXhibit — an interface to Bugzilla’s search results

This post was migrated from my old blog. Some links might not work.

This is awesome. Andrew Sutherland hacked up a very cool proof-of-concept interface to Bugzilla search results using MIT’s SIMILE Exhibit library. It allows you to query Bugzilla using the Quick Search syntax and displays the results in form of a faceted interface, which in turn lets you slice, order and group the search results easily.

I immediately liked the idea (in fact, I’ve been thinking about something like this since I first experimented with Exhibit, but never got around to learn more about the Quick Search syntax and buglist.cgi options) and created a very simple search command for Ubiquity to be able to access Andrew’s tool quickly and seamlessly.

I then started to experiment with different queries as I continued to work, so that I can test both the Quick Search and the Exhibit interface on real-life examples. This has been such a great help to me already, and it hasn’t been even a day since I started using it.

Up until now, to quickly get a status of a locale or a bug, I’d simply start typing the bug’s summary in the awesome bar and then go directly to the bug (if there was only one that I was looking for) or to the dependency tree of the locale’s release tracker. However, the dependency tree doesn’t give much information (only summary, number and status), which is not enough when you’re using keywords (e.g. “fixed1.9.1″) in open bugs to indicate that the bug was fixed on branch but not yet on trunk. (I wrote about it before.) Bugzilla’s Quick Search is great help in this situation, because it lets me be more precise about which bugs I want to see. However the default buglist.cgi view isn’t very useful to me in this scenario: it’s just a flat list of bugs, whereas I’m interested in grouping bugs by locale, at the very least. Enter BugXhibit, which allows you to slice and dice the search results to your liking.

One other thing that made this so helpful for me and that we introduced a couple of weeks ago, is the “productization” keyword in We use this keyword for all bugs related to productization of Mozilla software, i.e. third-party services that extend its functionality (search engines, protocol and content handler, live bookmarks etc.). This allows me to see all open productization bugs with a query as simple as “!productization“, and Andrew’s BugXhibit lets me further manipulate this data by selecting bugs for a specific locale only (in “Components”), bugs that havn’t been yet fixed on branch (select only “productization”, not “fixed1.9.1, productization” in “Keywords”) or bugs that only regard protocol handlers (“protocol” in “Text Search”).

Since I wanted to tweak the interface a bit, I ended up cloning BugXhibit’s repository and making some small changes. Namely, I set the ordering criteria of the Tile view to “Component” first, “Bug status” second and “Keywords” third. I chose component as the first criterion because in, under the “Mozilla Localizations” product, components translate to locales. I’m pretty sure I could use SimileAjax.parseURLParameters() to specify the ordering in the URL and somehow tell Exhibit to use it in the Tile view. I just don’t know yet how to do that :)

I uploaded the code to the l10n server, go ahead and try it if you wish: bugXhibit-st.

Yet again Exhibit turned out to be a very interesting project and a great tool for sketching prototypes quickly. It has a great potential for creating dashboard-like interfaces (e.g. we currently use it on the l10n dashboard) and I’d like to experiment with it more in the near future, while working on the new l10n dashboard that’s being developed.

I’m sure I’ll continue using BugXhibit, especially through the Ubiquity command. Thanks a million, Andrew!

Published on 29.05.2009

Staś Małolepszy

Thoughts about the Internet, the information society, Mozilla and human-computer interactions.

Latest notes