Die Entwickler-Dokumentation zum webconf-Paket
Version 0.4.2
Christian Würdig
eisfair@chriswue.de
Inhalt
* [1]Einführung
+ [2]Einleitung
+ [3]Funktionsumfang
* [4]Allgemeine Unterstützung zur Administration des Paketes
+ [5]Die Menüdatei
o [6]Syntax und Semantik
o [7]Ein Beispiel
* [8]Unterstützung für die Konfigurationsdateien
+ [9]Das Konfigurationsformular
o [10]Syntax und Semantik
o [11]Ein Beispiel
* [12]Unterstützung für die Serviceadministration
+ [13]Das Serviceformular
o [14]Syntax und Semantik
o [15]Beispiele
* [16]Zusätzliche Unterstützung in den Formularen
+ [17]Die Hilfedatei
o [18]Syntax und Semantik
o [19]Ein Beispiel
+ [20]Unterstützung von CSS
o [21]Ein Beispiel
* [22]Vordefinierte reguläre Ausdrücke
Einführung
Einleitung
Damit die Oberfläche möglichst einheitlich aussieht, werden die
Formulare über sogenannte Formulardateien erzeugt, in denen der
formale Aufbau beschrieben ist. Im Paket ist ein Pseudodienst namens
`webcnfex' enthalten, anhand dessen man sich anschauen kann, wie das
Ganze dann im Browser aussieht.
Funktionsumfang
Es sollte zur Zeit bereits möglich sein, die komplette Administration
eines Dienstes über den Browser durchzuführen[23] [*] . Die Funktionen
`Package administration' und `User administration' aus dem Setup sind
noch nicht im Paket integriert.
Allgemeine Unterstützung zur Administration des Paketes
Beim Klick auf den Punkt `Service administration' werden alle Dateien
aus /var/install/form gelesen, die auf `.main' enden. Das sind die
sogenannten Menüdateien, die den Ausgangspunkt darstellen und aus
denen die Liste der Links erstellt wird, die dann zur konkreten
Konfiguration führen.
In der Menüdatei wird festgelegt, wie das Konfigurationsformular und
die Dokumentation des Paketes heißen, sowie welche Funktionen zur
Administration bereitstehen und welche Formulardatei für welche
Funktion zuständig ist. In unserem Beispiel benötigen wir also erstmal
die Datei /var/install/form/webcnfex.main.
Die Menüdatei
Syntax und Semantik
Servicename
...
Servicename
Legt fest, unter welchem Namen der Servicedienst in der
Hauptauswahl erscheint [24][*] .
Zeigt eine Textdatei als HTML-Seite an. Die einzelnen Optionen:
name
Hier kann der Name des Menüpunktes angegeben werden. Falls
diese Option fehlt wird als Menüname `View documentation'
verwendet.
file
Der Name der Textdatei. Es wird der Dateiname mit der
kompletten Pfadangabe erwartet.
Hier wird der Menüpunkt zum Editieren der Konfigurationsdatei
angelegt. Die Option:
form
Der Name der Formulardatei, die relativ zu
/var/install/form gesucht wird.
Dieser Tag bewirkt die Erzeugung einer Leerzeile und kann an
beliebiger Stelle stehen.
Die Reihenfolge der Tags ist relevant und sollte immer wie oben
angegeben lauten, damit eine einheitliche Menüführung
gewährleistet wird. Der Tag ist zwingend, alle
anderen sind optional und können entfallen.
Kommentare sind möglich und werden mit `#' eingeleitet. Alles
ab diesem Zeichen wird, genauso wie Leerzeilen, ignoriert, es
sei denn es steht innerhalb eines Tags.
Ein Beispiel
Webconf Service example
Unterstützung für die Konfigurationsdateien
In der Menüdatei wird im Tag angegeben, wie das
Konfigurationsformular heißt, das zum Anpassen der Konfiguration
zuständig ist (siehe [26]Die Menüdatei). Dabei ist zu beachten, daß
diese Datei genauso heißen muß, wie die Konfigurationsdatei, die sich
in /etc/config.d befinden muß. Desweiteren wird nach einer Hilfedatei
([27]Syntax Hilfedatei) gesucht, die ebenfalls genauso heißen und sich
in /var/install/help befinden muß. Wenn diese Hilfedatei gefunden
wird, dann wird zu jeder Variablen ein Hilfepunkt angelegt.
Nach dem Absenden des Formulars werden die Variablen in der
Konfigurationsdatei gespeichert. Falls der Benutzer `Apply' gewählt
hat, wird versucht das zugehörige Skript aus /var/install/config.d
aufzurufen, welches wiederum den gleichen Namen[28] [*] haben muß wie
das Konfigurationsformular. Falls `Reload' gewählt wurde, dann wird
das Formular mit den neuen Inhalten neu erzeugt.
Das Konfigurationsformular
Syntax und Semantik
...
...
...
Dient zur Gruppierung von Variablen, ist optional und kann
entfallen. Die Gruppe wird mit `Gruppenname' auf dem Formular
gekennzeichnet. Es sind beliebig viele Gruppen möglich (man
kann also bei Bedarf pro Option eine Gruppe anlegen, was aber
etwas sinnlos wäre).
Falls die Option `name' entfällt wird kein Name auf dem
Formular vergeben.
-Tag entfallen und statt dessen
wird der öffnende