Un paquetage multi extensions fournit la possibilité de conditionner plusieurs paquets installables qui peuvent alors être chargés et installés par un utilisateur, ou fournis pré-empaquetés avec une application ou un programme externe. Chaque paquetage multi extensions doit utiliser un fichier install.rdf et a les mêmes exigences et possibilités qu'une extension, à l'exception de ce qui suit :
Si l'utilisateur installe une version précédente de l'extension, il n'existe aucun moyen de le prévenir ni de l'en empêcher.
Structure d'un paquetage multi extensions
La structure d'un paquetage multi extensions est la forme simplifiée d'un paquet installable et requiert un fichier avec l'extension .xpi
. Un paquetage multi extensions peut contenir aussi bien des extensions (fichiers .xpi
) que des thèmes (fichiers .jar
). La structure de base est indiquée ci-dessous:
/install.rdf Manifeste d'installation /extension1.xpi Extension /extension2.xpi Extension /theme1.jar Theme /theme2.jar Theme ...
Le gestionnaire d'extension lira le manifeste d'installation pour déterminer si c'est un paquetage multi extensions et démarrera alors automatiquement l'installation de chaque paquet qu'il contient. Aucun autre fichiers, hormis le manifeste d'installation et les fichiers .jar
ou .xpi
, ne sera extrait ni utilisé.
install.rdf
Un paquetage multi extensions n'a pas les mêmes obligations qu'une extension pour son manifeste d'installation. Les seuls éléments requis sont em:id
, em:targetApplication
, et em:type
.
Pour que les gestionnaires d'extensions de Firefox et Thunderbird 1.5 déterminent la nature du paquetage multi extensions, l'élément em:type
spécifié dans votre install.rdf doit être à 32
et indiqué comme <em:type NC:parseType="Integer">32</em:type>
. L'espace de nommage XML xmlns:NC="https://home.netscape.com/NC-rdf#"
doit aussi être déclaré dans votre install.rdf comme indiqué ci-dessous:
... <RDF xmlns="https://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:NC="https://home.netscape.com/NC-rdf#" xmlns:em="https://www.mozilla.org/2004/em-rdf#"> <Description about="urn:mozilla:install-manifest"> <!-- nsIUpdateItem type for a Multiple Item Package --> <em:type NC:parseType="Integer">32</em:type> ...
Pour les gestionnaires d'extensions de Firefox et Thunderbird 2.0, vous pouvez utiliser la précédente syntaxe ou <em:type>32</em:type>
comme indiqué ci-dessous:
... <RDF xmlns="https://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="https://www.mozilla.org/2004/em-rdf#"> <Description about="urn:mozilla:install-manifest"> <!-- nsIUpdateItem type for a Multiple Item Package --> <em:type>32</em:type> ...
En spécifiant em:targetApplication
, l'élément minVersion
indiqué doit être l'élément minVersion
le plus élevé et l'élément maxVersion
indiqué doit être l'élément maxVersion
le plus bas de tous les paquets installables par le paquetage multi extensions pour l'élément em:targetApplication
. Sinon chaque paquet incompatible ne sera pas installé, à moins qu'un test de compatibilité découvre une information de compatibilité mise à jour qui le rendrait compatible.
Installation
L'installation peut être effectuée en utilisant les méthodes existantes pour les extensions/thèmes et la même interface utilisateur est employée pour un paquetage multi extensions (les paquets contenus dans le paquetage multi extensions ne seront pas listés). Cela permet aussi d'afficher l'information de signature pour le paquetage multi extensions.
Si un gestionnaire (le gestionnaire d'extensions/thèmes par exemple) est affiché après le chargement du paquetage multi extensions, le gestionnaire affichera chaque paquet contenu dans celui-ci, de la même manière que si l'utilisateur avait choisi d'installer plusieurs paquets simultanément. Le gestionnaire n'affichera pas le paquetage multi extensions dans la liste des paquets, un fois le chargement terminé du paquetage multi extensions.
Références officielles de l'API du toolkit
Official References. Do not add to this list without contacting Benjamin Smedberg. Note that this page is included from the pages listed below. So: Don't Add Breadcrumbs!
- Structure of an Installable Bundle: describes the common structure of installable bundles, including extensions, themes, and XULRunner applications
- Extension Packaging: specific information about how to package extensions
- Theme Packaging: specific information about how to package themes
- Multiple-item Extension Packaging: specific information about multiple-item extension XPIs
- XUL Application Packaging: specific information about how to package XULRunner applications
- Chrome Registration