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:

Linked Install Toolbar

Datei Struktur

Dies ergibt folgende Struktur.

1
2
3
4
56
chrome
chrome\content
chrome\skin
install.rdf
make.shfabforge.xpi

Gruppen: