Die Skripte im Verzeichnis /opt/zpub/bin
führen jeweils spezifische Ausgaben aus, so dass im Zusammenspiel die
gewünschte Funktionalität geboten wird. In diesem Kapitel wird der
Programmablauf für verschiedene Anwendungsfälle beschreiben.
Dieser Anwendungsfall beginnt auf dem Rechner des Redakteurs, der ein vorhandenes Dokument lokal bearbeitet oder ein neues anlegt. Mit seinem Subversion-Client überträgt er seine Änderung auf den zpub-Server. Nun gibt es eine neue Revision des Dokuments, die über die von SVN vergebenen Nummer identifiziert wird.
SVN startet direkt nach dem Commit das Skript
zpub-post-commit-hook.sh
. Dieses untersucht die
soeben gemachten Änderungen um herauszufinden, welche Dokumente
bearbeitet wurden. Es ist natürlich möglich, mit einem SVN-Commit
mehrere Dokumente zu ändern. Für jedes geänderte Dokumement legt es
einen Auftrag in /opt/zpub/spool/todo
an, welches
Angaben zu
enthält. Dabei wird der zu verwendente Stil aus
conf/default_style
gelesen, und das
Ausgabeverzeichnis in /opt/zpub/demo/output
nach
dem oben beschriebenen Schema erstellt.
Außerdem aktualisiert zpub-post-commit-hook.sh
die
Datei /opt/zpub/demo/cache/documents
, die die
aktuell vorhandenen Dokumente aufzählt. Wird ein Dokument im
SVN-Repository gelöscht, wird es darauf hin auch nicht mehr angezeigt.
Die generierten Dokumente sind aber weiterhin vorhanden und müssen ggf.
vom Systemadministrator gelöscht werden.
Das Skript zpub-spooler.sh
, welches permanent
läuft, schaut regelmäßig in /opt/zpub/spool/todo
nach neuen Aufträgen. Diese verschiebt es nacheinander nach
/opt/zpub/spool/wip
und ruft das Skript
zpub-render.sh
mit den Parametern aus der
Auftrgs-Datei auf.
Das Render-Skript erstellt darauf das Ausgabeverzeichnis, falls es nicht
schon existiert. Es extrahiert die gewünschte Revision des Dokumentes
aus dem SVN-Repository, legt eine symbolische Verknüpfung zu dem
gewählten Dokumenten-Stil an und ruft, entsprechend der Konfiugration
von conf/formats
, die Skripte
zpub-render-
,
welche die einzelnen Ausgabeformate bauen.
Dabei kommt der Microsoft HTML Help Workshop
zum Einsatz, sowie die Werkzeuge xslt und fop. Bei jeder Art von Fehler
bricht dieses Skript ab.
format
.sh
Je nach dem, ob das Render-Skript erfolgreich war oder nicht, wird die
Auftragsdatei vom Spooler gelöscht oder nach
/opt/zpub/spool/fail
verschoben. Der Spooler ruft
dann auch noch das Skript zpub-send-mail.pl
auf,
welches gegebenenfalls an die in settings/subscribers
aufgeführten e-Mail-Adressen eine Benachrichtigung über die neue
Revision schickt, sowie das Skript
zpub-link-latest.pl
, welches den oben erwähnten
symbolischen Link anlegt. Danach wartet der Spooler wieder auf neue
Aufträge.