Paquetage multi extensions
Un article de MDC.
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 qu'une extension, à l'exception de l'annotation ci-dessous.
Il n'y a actuellement aucune facilité pour empêcher ou avertir l'utilisateur lors de l'installation d'une version précédente d'une extension.
Sommaire |
[modifier] 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. Aucuns autres fichiers, hormis le manifeste d'installation et les fichiers .jar ou .xpi, ne seront extraits ou utilisés.
[modifier] 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="http://home.netscape.com/NC-rdf#" doit aussi être déclaré dans votre install.rdf comme indiqué ci-dessous:
...
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:NC="http://home.netscape.com/NC-rdf#"
xmlns:em="http://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écedente syntaxe ou <em:type>32</em:type> comme indiqué ci-dessous:
...
<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">
<!-- 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 paquets qui n'est pas compatible ne sera pas installé, à moins qu'un test de compatibilité découvre une information de compatibilité mise à jour qui le rendrait compatible.
[modifier] 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.
[modifier] Références officielles de l'API du toolkit
- Structure d'un paquet installable : description de la structure commune des paquets installables, comme les extensions, les thèmes et les applications XULRunner
- Empaqueter une extension : informations spécifiques sur l'empaquetage d'extensions
- Empaqueter un thème : informations spécifiques sur l'empaquetage de thèmes
- Paquetage multi extensions : informations spécifiques sur les XPI d'extension comprenant plusieurs items d'extensions
- Empaqueter une application XUL : informations spécifiques sur l'empaquetage d'applications XULRunner
- Enregistrement chrome