Add-on
Nun gehen wir die neue Herausforderung an. Wir erstellen ein Firefox Add-on um neue URL Beiträge zu erstellen.
Dabei benötigen wir einige Benutzeroberflächen, welche in XUL definiert werden und ein entsprechendes Installationspaket.
Add-on Manifest: install.rdf
Das Manifest ist die Beschreibung des Add-ons. Es handelt sich dabei um ein XML-Dokument, das Firefox Instruktionen über das Plugin und seine Installation gibt. Es beinhaltet die Angabe der Extensions Datei.
1 2 3 4 56 7 8 9 1011 12 13 14 1516 17 18 19 2021 22 23 24 25 | <?xml version="1.0"?>
<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>{a1577a80-3943-4362-a66d-858f01e2196c}</em:id>
<em:name>fabforge Bar</em:name><em:version>0.1</em:version>
<em:description>Toolbar for fabforge System</em:description>
<em:creator>foxfabi, Fabian Dennler</em:creator>
<em:aboutURL>chrome://fabforge/content/about.xul</em:aboutURL>
<em:homepageURL>http://www.fabforge.ch/</em:homepageURL><em:file>
<Description about="urn:mozilla:extension:file:fabforge.jar">
<em:package>content/</em:package>
<em:skin>skin/</em:skin>
</Description></em:file>
<em:targetApplication>
<Description>
<em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
<em:minVersion>1.0</em:minVersion><em:maxVersion>9.9</em:maxVersion>
</Description>
</em:targetApplication>
</Description>
</RDF> |
Jede Extensions bedarf einer eindeutiger ID. Eine solche UUID kann man sich erzeugen lassen. Die ID in der targetApplication darf nicht geändert werden. Sie gibt an, dass die Extension für den Firefox gedacht ist. Man kann die Versionen auf denen die Extension funktionert eingrenzen.
Der Zugriff auf “chrome://” entspricht dem Pfad innerhalb des *.jar Archivs. Dort werden dann die eigentlichen Daten und Programmteile der Extension abgelegt.
Add-on Builder: make.sh
Um das erstellen der Add-on Datei verwenden wir ein einfaches Script:
1
2
3
4
56
7
| \#!/bin/sh
rm -f fabforge.xpi
cd chrome
rm -f fabforge.jar
zip -r fabforge.jar content/ skin/cd ..
zip fabforge.xpi install.rdf chrome/fabforge.jar |
Durch öffnen der XPI Datei mit Firefox können wir das Add-on hinzufügen:

Datei Struktur
Dies ergibt folgende Struktur.
1
2
3
4
56
| chrome
chrome\content
chrome\skin
install.rdf
make.shfabforge.xpi |