Conclusion

You now have a working Mozilla extension installer! To test it, try installing the extension on a fresh copy of Mozilla by loading the file in your Mozilla browser (this works whether you load it from the web or from your local hard drive via a file:/// URL). Mozilla will automatically detect that the file is an installer and ask you if you want to install the software. Try installing the extension, restarting Mozilla, and see if it works.

If the version you created in this tutorial doesn't work, compare it to this working version to help figure out the problem.

Future directions for development of the tutorial and/or coursework:

  1. In addition to build status, Tinderbox also tells you if the CVS tree is open or closed for check-ins. How would you use JavaScript to determine whether the tree is open or closed and CSS to style the icon accordingly?
  2. Mozilla applications often store their CSS and image files in a separate skin subdirectory within the installation directory. How would you modify the XPI structure and installer script to install these files in that subdirectory?
  3. How could you modify the extension to load the Tinderbox page when you click on the status icon?
  4. Mozilla has a fourth UI layer--localized text--that wasn't discussed in the tutorial because there is no text to localize. How could it be added to the extension if necessary?
  5. Tinderbox actually keeps track of more than one codebase. In particular, it tracks both the main Mozilla codebase (the trunk) and a stable branch. How could you modify tinderstatus to show the status of both the trunk and the branch?
  6. This extension can be installed into Netscape 7 without problems. Firefox has slightly different chrome registry requirements, so you may need to modify the contents.rdf files. For example, you need to change chrome://navigator/content/navigator.xul to chrome://browser/content/browser.xul.