User:MarkFinkle/MiniBooks/Extensions

From MozillaWiki
Jump to: navigation, search

Mozilla Minibooks

Mozilla Minibooks offer intensive coverage of a specific topic in as few pages as possible. They are downloaded PDFs usually less than 100 pages. Minibooks only cover what you need to know for the task at hand. No long boring backgrounds and overviews. Jump right into what you want to learn.

Extension Quick Start

Extensions provide way to add or modify functionality in Firefox and other Mozilla-based applications. The Extension Quick Start minibook will have you building extensions in no time. No previous experience needed. You'll also learn about common extension design patterns, how to package up your extension so people can install it and where to go to learn advance topics.


  1. Role of an Extension <sprinkle references to existing extensions to show the diversion ecosystem>
    1. Tweaking the User Interface
    2. Modifying Existing Features
    3. Adding New Features
  2. Hands On <Lets get the reader building and testing an extension as fast as possible>
    1. Introduce XUL Explorer
    2. Use XUL Explorer to cover parts of XUL Tutorial
    3. Use XUL Explorer to quickly build an extension. <The extension should exercise as many options as possible so we can use it for examples later in book.>
    4. Use XUL Explorer to test the extension in Firefox
    5. Use XUL Explorer to package the extension into a XPI <and install in Firefox>
  3. Details <Lets explain more details of how extensions work>
    1. Common UI Patterns <for each element discuss guidelines for how and why>
      1. Toolbar
      2. Menu / Context Menu
      3. Sidebar
      4. Statusbar
      5. Options <extension options guidelines>
    2. Parts of an Extension
      1. Content/Code
      2. Style
      3. Locale
      4. Manifest
      5. Install
      6. Components
    3. Merging with an Application <general content from XUL Overlays>
      1. Overlays for adding UI elements
        1. Using ID's to specify merge points
        2. Attributes used for positioning
      2. Overlays for adding script
  4. Fit and Finish <Lets wrap it up>
    1. Creating a XPI
      1. Using JAR files
      2. Changes to Manifest
    2. Installation
      1. File
      2. Webpage
      3. AMO
  5. What Now
    1. Breadth of platform
    2. Debugging your code
    3. Using MDC
    4. Using MXR
    5. Learning from unpacking existing extensions