Thursday, July 19, 2007

Mozilla extension

A Mozilla extension is an installable enhancement to the Mozilla browser that provides additional functionality.
This tutorial walks you through the process of building a Mozilla extension that adds an icon to Mozilla's status bar showing the current status of the Mozilla source code (i.e. whether or not the latest version of the code is compiling successfully and passing tests).
The extension will access Tinderbox, mozilla.org's webtool for tracking source code status, to get the status of the code.
Completing this tutorial will give you a basic understanding of how Mozilla's user interface (UI) is constructed, how to find the source code for the UI you want to extend, how to make an installation of Mozilla modifiable, how to use Mozilla's network library to load and parse web pages in JavaScript, and how to use dynamic overlays to package a Mozilla extension for installation by others.
link

Tinderbox is a web tool for tracking the status of the Mozilla source code.The tool enables mozilla.org to be immediately notified of changes to the code that prevent Mozilla from compiling and running (or compromise performance and footprint) so they can get someone to fix the problem or reverse the changes.Mozilla engineers regularly check Tinderbox before changing the code because changes are prohibited while the codebase is broken. The Mozilla sheriff, a rotating position responsible for watching the code and getting engineers to fix breakage, checks Tinderbox even more regularly.
While it isn't difficult to load the Tinderbox web page or sidebar, it would be useful to have an even quicker way to check tinderbox that doesn't require going to a web page, changing sidebars, or even having the sidebar open.
Although there are multiple tinderbox clients machines doing different kinds of builds (f.e. different platforms), most people only care about the overall situation, i.e. whether or not any clients have failed. By checking for build failures first and test failures second, we make sure to show users the worst possible situation, i.e. if any clients have failed to build, we will display a red icon that signifies a build failure; if all clients built successfully but some failed tests we will display an orange icon that signifies a test failure.
Only if all clients reported both successful builds and successful tests will we display a green icon that signifies all is well with the code.

No comments: