Add-ons Management

Firefox Summit 2008

Dave Townsend (Mossop)

Firefox Developer, Mozilla Corporation

Overview

Two sides to the story

Current features for users

Current features for developers

Ideas for the future

Add-on locale packs

Dependency resolution

Install without restart

Install/uninstall hooks

Replace RDF

<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
        xmlns:em="http://www.mozilla.org/2004/em-rdf#">
  <Description about="urn:mozilla:install-manifest">
    <em:id>[email protected]</em:id>
    <em:version>2.0</em:version>
  
    <em:targetApplication>
      <Description>
        <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
        <em:minVersion>3.1</em:minVersion>
        <em:maxVersion>3.1.*</em:maxVersion>
      </Description>
    </targetApplication>
  
    <!-- UI metadata -->
    <em:name>Foobar</em:name>
    <em:description>An example extension</em:description>
  
    <em:updateURL>http://www.bar.com/update.xml</em:updateURL>
  
    <em:localized>
      <Description>
        <em:locale>en-CA</em:locale>
        <em:locale>en-GB</em:locale>
        <em:name>Foobar</em:name>
      </Description>
    </em:localized>
  
    <em:requires>
      <Description>
        <em:id>[email protected]</em:id>
        <em:minVersion>1</em:minVersion>
        <em:maxVersion>5</em:maxVersion>
      </Description>
    </em:requires>
  </Description>
</RDF>

Replace RDF

<extension xmlns="http://www.mozilla.org/2008/em-manifest#"
           id="[email protected]" version="2.0">

  <targetApplication id="{ec8030f7-c20a-464f-9b0e-13a3a9e97384}">
    <versionRange minVersion="3.1" maxVersion="3.1.*"/>
  </targetApplication>

  <!-- UI metadata -->
  <name>Foobar</name>
  <description>An example extension</description>

  <updateURL>http://www.bar.com/update.xml</updateURL>

  <localization locales="en-CA,en-GB">
    <name>Foobar</name>
  </localization>

  <requires addon="[email protected]>
    <versionRange minVersion="1" maxVersion="5"/>
    <updateURL>http://www.foo.com/update.xml</updateURL>
  </requires>

</extension>

UI changes

Add-ons Manager UI

Install UI

Add-on update channels

Other discussion