Vorbereitung der Entwicklungsumgebung
Bevor die Entwicklung einer eigenen Extension beginnen kann, ist es nötig, ein Grundgerüst der Ordner und Dateien anzulegen. Hierbei bietet die Developer’s Extension [2] eine unverzichtbare Hilfe. Nach erfolgreicher Installation der Extension muss zunächst unter „Tools > Extension Developer“ die Option „Enable Debugging Preferences“ aktiviert werden. Die Option erleichtert die Programmierung, allerdings etwas zu Lasten der Performance; es empfiehlt sich deshalb, die Einstellung nach dem Entwickeln wieder zu deaktivieren.
Für die Basis der Extension bietet Mozilla eine fertige Zip-Datei [3] zum Download an, die auf dem Computer entpackt und dann per Developer’s Extension in den Browser geladen werden kann. Dazu müssen der entpackte Ordner unter „Tools > Extension Developer > Extension Builder“ ausgewählt und die Beschreibungen unter „Edit > install.rdf“ angepasst werden. Die Maximalversion von Firefox muss hier auf 3.0 gesetzt werden.
Nach einem abschließenden Neustart von Firefox kann die korrekte Installation am Eintrag des Test-Klassikers “Hello World!” im Menü „Tools“ erkannt werden. Jetzt kann die Extension Schritt für Schritt aufgebaut und erweitert werden, bis das gewünschte Ergebnis erreicht ist.
Technisches Design
Vor Beginn der eigentlichen Umsetzung sollte das technische Design der Erweiterung bedacht werden. Der Erfahrung nach hilft es, die Anwendung auf einem Model-View-Controller-Architekturmuster basieren zu lassen. Die Komponenten werden dabei logisch nach Aufgabenfeld in Präsentation (Fenster, Knöpfe, Textfelder etc.), Datenmodell und Steuerung getrennt. Die saubere Trennung von Logik und Darstellung ermöglicht ein flexibles Programmdesign, erleichtert spätere Änderungen und ist die Grundlage für Wiederverwendbarkeit der einzelnen Komponenten. Bei q-zilla [4] ist die Präsentationsschicht über die Oberflächensteuerung mit dem Anwendungskern verbunden, der die Einstellungen, die Internetverbindung zu TYPO3 und Anfrage- und Antwortmodelle verbindet. Für das spätere Einfügen neuer Felder ins Adressbuch werden lediglich das Datenmodell und die Einstellungen verändert.






