Firefox WebExtension Update

Firefox Extensions (oder auch Add-ons genannt) können über 2 verschiedene Arten gehosted werden: Entweder über Mozilla (AMO) oder selbst (self-hosted). In dem folgenden Beitrag werden wir den Update-Prozess für Add-ons, welche mittels der WebExtensions Technologie erstellt wurden, zeigen. Wenn die Extension bei Mozilla gehosted wird, erfolgt der Update Prozess automatisch, im zweiten Fall muss eine Update-JSON-Datei erstellt werden.

In diesem Beitrag werden wir nur den Update-Prozess beschreiben, also gehen wir davon aus, dass die erste Version des Add-ons bereits bei Mozilla veröffentlicht (bzw. verteilt) wurde. Hier ist für self-hosted Extensions zu beachten, dass (für Extensions welche bei AMO nicht gelistet sind) bereits in der manifest.json-Datei eine Update-URL angegeben wird. Bei diesem Pfad werden wir unsere updates.json-Datei hinterlegen und so Firefox mitteilen, dass dieser hier nach Updates suchen soll. Hier ein Auszug aus der manifest.json-Datei:

......"applications": {        "gecko": {            "id": "toolbar@varioous.at",            "update_url": "https://varioous.at/toolbar/updates.json"        }    },......

AMO gehostete Extensions

Nun gehen wir zuerst auf den einfacheren Fall ein und zwar dass die Extension bei AMO gehosted und verteilt wird. Die Extension ist also öffentlich über den Firefox Add-Ons Store zugänglich und kann auch dort heruntergeladen werden. In diesem Fall wird weder eine update_url in der Manifest-Datei noch eine updates.json-Datei benötigt. Es genügt lediglich die Version der Extension zu erhöhen und die neue Version in der Mozilla Add-on Entwicklerecke hochzuladen.

Firefox WebExtension Update

Selbst gehostete Extensions

In diesem Fall wird die update_url aus dem Manifest benötigt. Wichtig ist dies gleich beim Release der ersten Version zu bedenken. Der erste Schritt ist die Erstellung der updates.json-Datei. 

{  "addons": {    "toolbar@varioous.at": {      "updates": [        {           "version": "1.1",          "update_link": "https://varioous.at/files/toolbar_varioous_v1-1.xpi"        }      ]    }  }}

Hiermit teilt man Firefox mit dass es eine neue Version 1.1 gibt, welche der Browser von der angegebenen URL herunterladen kann. Wichtig hierbei ist außerdem dass die id (toolbar@varioous.at) mit der angegebenen id aus der Manifest-Datei übereinstimmt. Als nächstes wird die neue Version (wichtig Version im Manifest erhöhen) bei Mozilla hochgeladen (nicht gelistet). Nachdem man dies erfolgreich erledigt hat, wird die neue xpi-Datei an der vorhin definierten URL verfügbar gemacht(varioous.at/files/toolbar_varioous_v1-1.xpi). Damit ist der Update-Prozess abgeschlossen. Testen kann man dies nun, in dem man im Firefox unter Add-Ons auf das Einstellungs-Icon und danach auf „Check for Updates“ klickt. Wurden alle Schritte richtige befolgt, installiert Firefox die neue Version der Extension.

An dieser Stelle möchte ich nochmal darauf hinweisen, dass WebExtension eine sehr gute Weiterentwicklung im Vergleich zur alten XPCOM– und XUL-Methode (welche auch ab Firefox 57 nicht mehr unterstützt werden) ist. Hiermit lassen sich mit relativ geringem Aufwand Extensions zwischen den Browsern Firefox, Chrome, Edge und Opera portieren.

Wir entwickeln digitale Lösungen mit Leidenschaft

Warum wir das tun? Weil die Verwirklichung Ihrer Vision unser größter Anspruch und die schönste Anerkennung ist. Deshalb nehmen wir uns gerne ausreichend Zeit für die Realisierung Ihres digitalen Projekts.

Kontaktieren Sie uns, wir sind gerne für Ihre Fragen da:

Passend zu diesem Thema:

TYPO3 9 Custom Content Elements

TYPO3 9 Custom Content Elements

TYPO3 bietet in Sachen Inhalts-Pflege schon eine Vielzahl an Content Elementen an. Solche sind z.B. Text & Medien (textmedia), Menüs (menu_pages,...) …

TYPO3 Tipps und Tricks: Manueller/Programmatischer Login in Controller-Action (TYPO3 9)

TYPO3 Tipps und Tricks: Manueller/Programmatischer Login in Controller-Action (T…

Manchmal gibt es bei Web-Projekten die Notwendigkeit einen Login programmatisch (manuell, im PHP-Code) durchzuführen. Ein Kunde hat vor kurzem folgend…

TYPO3 Indexed Search mit Segmentierung/Indexierung

TYPO3 Indexed Search mit Segmentierung/Indexierung

In diesem Blogbeitrag will ich Euch den Einsatz der Such-Erweiterung "indexed_search" zeigen und anhand eines Beispiels näher bringen. Wir werden uns …