Als Beispiel für eine Anwendung aus dem Formularwesen dient der Vordruck zum Urlaubsantrag, wie er in der Fachhochschule Regensburg verwendet wird. In der jetzigen Form geht der Vorgang vom Antragsteller, der den oberen Teil des Formulars ausfüllt, über den Vorgesetzten, der sein Einverständnis erklären muß, zum Sachgebietsleiter bzw. dem Kanzler, der für die Genehmigung des Antrags zuständig ist. Dieses Verfahren eignet sich als Demonstration für eine Intranet-Anwendung, da es relativ einfach abläuft. Für einen produktiven Einsatz ist die Anwendung nach den Vorschriften der Hochschule entsprechend zu ändern. Zu Vorführzwecken wird das Verfahren in zwei Schritte unterteilt:
Die Anwendung ist als Demonstration gedacht. Im Realfall ist es unwahrscheinlich, daß Antragsteller und Sachbearbeiter am gleichen Computer arbeiten. Es würden Antragsdaten per eMail versendet werden, die dann in einer eigenen Anwendung die Eingabedaten aus dieser Nachricht beziehen und sie weiterleiten. Ein anderer wichtiger Punkt ist, daß die Anwendung keinerlei Routinen zur Überprüfung der Eingabedaten auf Richtigkeit oder Sinn enthält. Bei Angabe des Urlaubszeitraumes müßte die Anzahl der Tage automatisch berechnet werden. Schließlich sind auch keinerlei Sicherheitsmechanismen realisert, die einen Mißbrauch verhindern. Jeder, der das Formular ausfüllt und absendet wird in der Log-Datei aufgenommen, egal, ob der Name und das Sachgebiet stimmen oder nicht.
Das offizielle Antragsformular besteht aus vier Teilen:
Die beiden ersten Bereiche sind vom Antragssteller auszufüllen, die beiden anderen vom jeweils zuständigen Vorgesetzten oder Sachbearbeiter.
Um dieses Formular nun als Intranet-Anwendung zu realisieren, ist
es notwendig, Art und Beschaffenheit der Informationen festzulegen,
die vom Benutzer an den Server zu übertragen sind. Tabelle 5.1
listet alle Formulardaten auf und gibt dabei Datentyp und Variablenname
in der Anwendung an.
Wie in den vorherigen Anwendungen, so verwendet auch dieses Skript die CGI.pm -Bibliothek, die dem Programm zur Verfügung stehen muß (gleiches Verzeichnis oder use lib... ). Das HTML-Dokument sollte sich in einem dem Server zugänglichen Verzeichnis befinden. Die beiden Skripten müssen sich in einem Verzeichnis befinden, das der Webserver für die Ausführung von CGI-Programmen zuläßt.
Für die Erstellung der Log-Datei wird im Beispiel ein eigenes Verzeichnis verwendet, in dem sich die Files befinden. Das Verzeichnis muß Schreibrecht für den Server haben. Es empfiehlt sich, die Logdateien Urlaub.list und Urlaub.ablage mit dem Unix-Befehl touch zu erzeugen, und dann die richtigen Rechte setzen: chmod 622 Urlaub.* .
In den Skripten befinden sich drei bzw. vier Variablen, die Verzeichnisnamen oder Mailadressen enthalten. Diese müssen an die jeweilige Umgebung angepaßt werden. Folgende Werte sind hier gesetzt:
Parameter: | Wert: |
$ausgabedatei | /www/log/Urlaub.list bzw. |
/www/log/Urlaub.ablage | |
$mailprog | /usr/sbin/sendmail |
$mailaddress | Christoph Metten<cmetten@tuba.baynet.org> |
$cgiprogram | /cgi-bin/Urlaub-Genehmigung.cgi |
Die Pfadangaben für Ausgabedateien und Mail-Programm sind absolut anzugeben, das CGI-Programm (nur Urlaub.cgi ) ist der absolute Pfad der URL.
Die Intranet-Anwendung zum Urlaubsantrag besteht aus drei Komponenten:
Im ersten Schritt öffnet der Antragsteller das HTML-Dokument und füllt die angegebenen Datenfelder aus. Im Anschluß daran hat er die Möglichkeit, die Daten zu verwerfen oder die Daten an die Anwendung zu übergeben. Das CGI-Programm Urlaub.cgi nimmt die Informationen entgegen und erstellt einen Eintrag in einer Log-Datei. Daraufhin wird eine eMail erzeugt, die die Daten gleichzeitig an eine vorbestimmte Mailadresse sendet. Dies kann beispielsweise ein Sachbearbeiter oder eine Sammelstelle für Urlaubsanträge sein. Als dritter Schritt werden die Benutzerdaten für eine Antwort an den Client aufbereitet. Hierzu wird ein HTML-Dokument erzeugt, das die Parameter übersichtlich darstellt. Ein weiterer Bestandteil dieser dynamischen Webseite ist ein Formular, mit dem vom Sachbearbeiter die Einverständniserklärung und die Verfügung des Antrags bearbeitet werden. Dieser Vordruck muß in jedem Fall an das zweite CGI-Programm (Urlaub-Genehmigung.cgi ) gesendet werden, das dann für eine weitere eMail, einem Eintrag in ein Logfile und eine Bestätigung sorgt, die für einen Ausdruck verwendet werden kann. Dieser kann dann zur Dokumentation des Verfahrens archiviert werden.
Das Antragsformular besteht im Wesentlichen aus einer <FORM> , mit der der elektronische Vordruck dargestellt wird, und das die Elemente zur Aufnahme der Benutzerdaten enthält. Die Informationen werden mit der Methode POST an das Skript Urlaub.cgi gesendet. Nachfolgend sind die Bestandteile des Formulars mit ihren Parametern beschrieben. Das HTML-Konstrukt <TABLE> wird nur für das Layout verwendet, damit die Eingabefelder in etwa die Anordnung des Originalformulars erhalten.
Darüber hinaus ist noch Text zur Beschreibung der einzelnen Eingabefelder verwendet.
Die beiden CGI-Skripte Urlaub.cgi und Urlaub-Genehmigung.cgi sind identisch aufgebaut. Der Unterschied liegt in der Ausgabe der Benutzerdaten, die im ersten Fall in Form einer <FORM> , im zweiten als statischer Text ausgegeben wird.
Der Ablauf läßt sich folgendermaßen beschreiben:
(nur Urlaub.cgi )