Verzeichnisstruktur

zpub erwartet eine bestimme Verzeichnisstruktur für seine Daten, seine Konfiguration, die Skripte und die Ausgabe. Es geht davon aus, dass all dies in /opt/zpub liegt. Neben den allgemeinen Verzeichnissen darin gibt es auch ein Verzeichnis pro Kunde, im folgenden exemplarisch /opt/zpub/demo benannt.

zpub-Verzeichnisse

/opt/zpub/bin
ausführbare Skripte, etwa der SVN-Post-Commit-Hook, das DocBook-Render-Skript oder das CGI-Skript.
/opt/zpub/bin/lib
gemeinsam genutzte Programmteile, etwa Perl-Module
/opt/zpub/templates
Template-Toolkit-Vorlagen für das Web-Frontend und die Benachrichtigungs-e-Mail
/opt/zpub/templates/static
Statische Dateien, etwa CSS-Style-Sheets, die unter /static in das Web-Interface eingebunden werden.
/opt/zpub/tools
Werkzeuge, die weder selbst entwickelt wurden (und demnach /opt/zpub/bin liegen), noch als Debian-Paket zur Verfügungen stehen; etwa der Worttrenner für fop.
/opt/zpub/spool

In diesem Verzeichnis werden die Render-Aufträge verwaltet. Es gibt die folgenden Unterverzeichnisse:

In new/ werden neue Aufträge, etwa nach einem SVN-Commit, angelegt und dann nach todo/ verschoben. Der Spooler findet sie dort und schiebt sie nach wip/ (für „work in process“), während sie bearbeitet und gelöst werden. Im Fehlerfalle werden sie nach fail/ verschoben.

/opt/zpub/repos/zpub
enthält das SVN-Repository für alle nicht-benutzerspezifischen, selbst entwickelten Dateien. Für den produktiven Betrieb wird dieses nicht benötigt.
/opt/zpub/demo
Verzeichnisbaum für alle benutzer-spezifischen Dateien, hier am Beispiel demo.
/opt/zpub/demo/conf
Konfigurationsdateien, die der Benutzer nicht selbst bearbeiten darf. Enthält neben der Apache-Konfiguration apache2.conf auch verschiedene Dateien, die das zpub-Verhalten selbst steuern. Diese sind weiter unten, in der Liste „zpub-Einstellungen“ erklärt.
/opt/zpub/demo/settings
Konfigurationsdateien, die der Benutzer selbst einstellen darf, etwa per Web-Frontend. Enthält neben der Apache-Benutzerdatenbank htpasswd auch weitere Dateien, die das zpub-Verhalten steuern. Diese sind weiter unten, in der Liste „zpub-Einstellungen“ erklärt.
/opt/zpub/demo/style
Verfügbare Stylesheets, eines pro Unterverzeichnis, deren Inhalt in „Aufbau der Stile“ erläutert werden.
/opt/zpub/demo/repos/style
Ein SVN-Repository, dass das oben genannte Verzeichnis verwaltet. Für den produktiven Betrieb wird dieses nicht benötigt.
/opt/zpub/demo/repos/source
Das SVN-Repository mit den eigentlichen XML-Quellen der Dokumente. Im Repository existiert für jedes Dokument ein Verzeichnis mit genau einer XML-Datei. Weitere Dateien, wie etwa Bilder, können in Unterverzeichnissen gespeichert sein. Für den produktiven Betrieb wird dieses Repository direkt verwendet, es gibt keine dauerhaft ausgecheckte Arbeitskopie.
/opt/zpub/demo/output

Hier werden die generierten Dokumente abgelegt. Es gibt ein Unterverzeichnis pro Dokument, das wiederum das Verzeichnis archive/ enthält. Darin wird für jede verfügbare Kombination aus SVN-Revisionsnummer und XSL-Stil ein Verzeichnis angelegt. Diese können gefahrlos gelöscht werden, wenn Festplattenspeicher frei gemacht werden soll.

Auch gibt es, neben dem Verzeichnis archive/, pro Dokument ein Verzeichnis latest. Dieses enthält pro Stil einen symbolischen Link auf die jeweils neuste Revision des Stils Er kann verwendet werden, um geeignete Bookmarks zu setzen.

/opt/zpub/demo/cache
In diesem Verzeichnis legt zpub diverse interne Dateien ab. Diese müssen nicht von Hand bearbeitet werden, dürfen aber auch nicht gelöscht werden.

Wie bereits oben erwähnt wird zpub über die Dateien in den Verzeichnissen /opt/zpub/demo/conf und /opt/zpub/demo/settings gesteuert. Diese sind meist einfache Text-Dateien, die nur eine Wert speichern, seltener eine Liste von Werten, die dann in jeweils einer Zeile stehen.

Manche Einstellungen, wie etwa /opt/zpub/demo/settings/final_rev/, sind dokumenten-spezifisch und sind selbst Verzeichnisse, die pro Dokument je eine wie das Dokument benannte Datei enthalten.

zpub-Einstellungen

conf/cust_name
Der Name des Kunden, in menschenlesbarer Schreibweise.
conf/logo.png
Ein Kunden-spezifisches Logo im PNG-Format, Auflösung 136×42 Pixel.
conf/hostname
(Optional) Der Name des virtuellen Hosts, standardmäßig demo.zpub.de.
conf/rootpath
(Optional) Der Pfad der URL der zpub-Instanz, wenn etwa mehrere zpub-Instanzen auf einem virtuellen Host laufen sollen. Standardmäßig leehr, das heißt dass zpub im Wurzelverzeichnis der Website läuft. Die Variable sollte mit einem Slash beginnen, aber ohne Slash enden, etwa „/zpub-instance“. Diese Einstellung ist unabhängig von den Pfaden der Dateien im Dateisystem!
conf/admins
eine zeilenweise Aufzählung der Benutzer, die in der Web-Oberfläche Admin-Rechte haben.
conf/features

Eine zeilenweise Aufzählung aller für diesen Kunden aktivieren Features. Momentan definierte Features sind:

  • final_approve: Ein Admin-Benutzter kann eine Revision eines Dokuments als final freigeben, dieses wird dann mit einem speziellen Stil erzeugt (etwa ohne den Vermerkt „draft“).

  • online_backup: Ein Admin-Benutzter kann auf der Status-Seite das komplette Dokumenten-Quellarchiv als SVN-Dump herunterladen.

conf/default_style
das standardmäßig zu verwendende XSLT-Stylesheet, spezifiziert über den Verzeichnisnamen in /opt/zpub/demo/style/.
conf/final_style
falls das Feature final_approve aktiv ist: Welcher Stil für freigegebene Dokumente verwendet werden soll.
conf/formats
enthält eine Zeile pro Format (html, pdf oder pdfhelp), in dem das Dokument erstellt werden soll. (Ab version 0.2)
settings/final_rev/
falls das Feature final_approve aktiv ist: Welche Revision des Dokuments die aktuell freigegebene ist. (dokumenten-spezifisch)
settings/subscribers/

Eine komma-separierte Liste der bei Änderungen am Dokument zu benachrichtigenden Benutzer. (dokumenten-spezifisch)

Beispiel:

Max Mustermann <max.mustermann@web.de>, Petra Musterfrau <petra@musterfrau.de>