Des changements pour les développeurs d'extensions

La semaine dernière, j'ai incorporé quelques changements importants au système de gestions des extensions de Firefox. Ces modifications ont nécessité une restructuration presque complète du système d'extensions  1  et offre les avantages suivants (en bref) :

  • Pour les développeurs : Vous pouvez désormais avoir des extensions qui résident hors des répertoires extensions du profil et de l'application. Ceci peut faciliter le développement, parce que vous pouvez avoir le code source de votre extension résidant ailleurs, utiliser le flat chrome packaging (au lieu des .jar) et placer un fichier dans le dossier « extensions » du profil dont le nom est le {GUID} de votre extension qui contient le chemin vers l'emplacement où se trouve votre extension.
  • Pour les utilisateurs : Vous pouvez installer des extensions en déposant leur XPI dans le répertoire extensions du profil ou de l'application.
  • Pour les développeurs : Vous pouvez installer des extensions en décompressant le XPI dans un dossier dont le nom est le {GUID} de l'extension et le déposer dans le répertoire extensions du profil ou de l'application.
  • Pour les développeurs : Avant le 1.1 (pas encore mais bientôt) vous pourrez installer les extensions en configurant une clé du registre.
  • Pour les utilisateurs et les développeurs : Vous pourrez désinstaller une extension en supprimant simplement son dossier du répertoire extensions du profil ou de l'application, ou le fichier texte de liaison.
  • Pour les développeurs : Les applications XULRunner pourront spécifier leurs propres sortes spéciales d'emplacements d'installation des extensions en plus des répertoires de profil et d'application, par exemple une sorte spéciale de clé de registre de correspondance, etc.
  • Pour les développeurs : Un enregistrement d'événements d'installation et de mise à jour plus détaillé.
  • Pour les utilisateurs : Monter et descendre [des items de la liste des extensions] devrait maintenant marcher correctement.

La nouvelle architecture pour dépister la façon dont les extensions sont installées est plus améliorée que celle utilisée par Firefox 1.0 et nous permettra de faire beaucoup de choses nouvelles et intéressantes, rendre notre processus de compilation et de sortie plus efficace, rendre l'installation de l'application plus facile et permettre pour d'autres types d'éléments d'être plus facilement recherchés par le système d'extension.

Je veux prodiguer des remerciements à Benjamin Smedberg et Darin Fisher pour l'excellent et rapide retour sur un patch de 5 600 lignes ajoutées ou modifiées et pour avoir aidé à le faire enregistrer aussi rapidement que possible pour Deer Park  2  alpha.

Plus d'informations sont disponibles sur la page documentant les changements apportés au gestionnaire d'extensions.

Note 1 : Concerne les extensions proprement dites ainsi que les thèmes.

Note 2 : Petit nom de Firefox 1.1 (voir la feuille de route pour Firefox 2.0).