Apotheken-Notdienstplan Dorfen
Thomas Hofmann, Apr/Mai 2002 / 03.01.2003 (s. 8)
[http://apo-notdienst-dorfen.th-o.de]
Ausgangspunkt ist eine von Dieter Sauer gepflegte Excel-Tabelle. Die Form ist folgende:
Tag im Jahr | Monat | Tag | Apo Dorfen-Taufk. | Apo Isen-Haag | |||
1 | Jan | 1 | A | F | Namen A | St.Bernhard Apotheke | |
2 | Jan | 2 | C | G | Landshuter Str. 4 1/2 | ||
3 | Jan | 3 | D | H | 84416 Taufkirchen | ||
4 | Jan | 4 | E | I | Tel. 08084 - 7649 | ||
5 | Jan | 5 | B | J | |||
6 | Jan | 6 | B | K | Namen B | Marien Apotheke | |
7 | Jan | 7 | A | L | Marienplatz 8 | ||
8 | Jan | 8 | B | M | 84405 Dorfen | ||
9 | Jan | 9 | A | F | Tel. 08081 - 720 | ||
10 | Jan | 10 | C | G |
... und so weiter für alle 365 Tage des Jahres. Soll ein Übergang geschaffen werden von einem ins andere Jahr, so ist es denkbar, daß z.B. der Januar bereits vom nächsten Jahr erfaßt wird. Diese Datei soll heißen ApoNot02.XLS und wird, wenn sie fertig erfaßt ist, gespeichert als "Nur-Text Tabs getrennt". Dann hat sie den Namen ApoNot02.TXT . So wird sie in das entsprechende cgi-bin Verzeichnis des Webservers übertragen (kopieren mit FTP). Es sind derzeit 13 Apotheken erfaßt. Es können auch noch mehr dazukommen oder welche entfallen. "Tag im Jahr" wird ignoriert. Die Titel "Apo Dorfen-Taufk." und "Apo Isen-Haag" werden übernommen.
Die Übernahme der Daten erfolgt durch Aufruf des Scripts aponeu.pl im entsprechenden cgi-bin Verzeichnis. Den ordnungsgemäßen Lauf meldet das Script und gibt die Anzahl der übernomenen Datumsangaben und Apotheken bekannt sowie bietet es je einen Link auf die erzeugten Dateien.
Der Aufruf des Plans erfolgt über das Script apo.pl im entsprechenden cgi-bin Verzeichnises. Ohne alle weiteren Angaben gibt das Script ab dem aktuellen Datum (des Webservers) 7 Tage des Plans aus. Das Grundgerüst der Ausgabe ist im Script selbst enthalten. Dieser enthält auch Links auf die Ausgabe der einzelnen Monate und den Standardaufruf (ab heute 7 Tage). Außerdem enthalten sind zwei Eingabefelder für das Startdatum und die Anzahl der auszugebenden Tage. Der vollständige Aufruf kann z.B. so aussehen (ohne die eckigen Klammern):
Voraussetzung ist die vorherige Datenübernahme, siehe [Übernahme der Daten].
Das Script hat 4 mögliche Parameter, alle sind optional. Bei Weglassen wird der Standardwert genommen. Die Parameter gelten jeweils ohne eckige Klammer.
Es gibt an der Vorlage einiges zu beachten. Es sollte für sich genommen schon eine valide HTML Datei sein. Das kann man leicht prüfen mit einem beliebigen Validator oder dem Validator des W3C (World Wide Web Consortium) [http://validator.w3.org]. Die Vorlage muß unbedingt zwei Marken enthalten:
<!--beginn_inhalt-->
<!--ende_inhalt-->
Diese beiden Marken stehen auch am besten in einer Zeile für sich. An diesen Marken wird das Dokument in Vorspann, Inhaltsbereich und Nachspann getrennt. Der Vorspann wird vom Script einmal ausgegeben. Dann wird sooft der Inhaltsbereich ausgegeben, wie Tage ausgegeben werden sollen (siehe [diff]). Zum Schluß wird der Nachspann ausgegeben. Man kann alle nötigen Formatierungen mit der Vorlage steuern. Man kann zur besseren Übersicht und für leichte Pflegbarkeit sich der weitestgehenden Formatierung durch das Stylesheet bedienen.
Wichtig für die korrekte Ausgabe der gewünschten Inhalte ist die Einfügung der nötigen [Variablen] in die Vorlage. Achtung! Sind in der Vorlage Links zum Aufruf des Scripts vorhanden oder ein Formular mit Eingabefeldern für die Parameter [von] und [diff], dann muß in der Vorlage die Beibehaltung der Parameter [vorlage] und [stylesheet] selbst gesteuert werden. In einem Formular einfach Elemente input type="hidden" für die beiden name einfügen und die entsprechenden Werte angeben. Bei Links diese gleich mit allen nötigen Parametern ausstatten. siehe [Aufruf]
Wenn kein Stylesheet vorhanden ist, hängt das Erscheinungsbild der Ausgabe des Scriptes von der Vorlage ab. In der im Script selbst eingebauten Standardvorlage und/bzw. im Standard-Stylesheet sind bereits folgende Formatierungen eingebaut bzw. sind in letzterem enthalten.
Die Variablen können in der Vorlage (siehe [Vorlage Beschreibung]) benutzt werden, um die veränderlichen Werte an die richtige Stelle zu bekommen. Diese sind:
Zusätzlich wurde eine Spalte für den Bereich Wasserburg aufgenommen. Mir hat heute auf Anfrage die Grafschaft Apotheke Haag (08072-98700) einen Plan gefaxt, wo das auch noch dabei war. So habe ich die zusätzliche Spalte aufgenommen und die Scripte angepaßt. Die Tabelle sieht jetzt so aus:
Tag im Jahr | Monat | Tag | Apo Dorfen-Taufk. | Apo Isen-Haag | Apo Wass | ||
1 | Jan | 1 | A | F | Q | Namen A | St.Bernhard Apotheke |
2 | Jan | 2 | C | G | R | Landshuter Str. 4 1/2 | |
3 | Jan | 3 | D | H | S | 84416 Taufkirchen | |
4 | Jan | 4 | E | I | T | Tel. 08084 - 7649 | |
5 | Jan | 5 | B | J | U | ||
6 | Jan | 6 | B | K | O | Namen B | Marien Apotheke |
7 | Jan | 7 | A | L | X | Marienplatz 8 | |
8 | Jan | 8 | B | M | P | 84405 Dorfen | |
9 | Jan | 9 | A | F | Q | Tel. 08081 - 720 | |
10 | Jan | 10 | C | G | R |
Der alte Stand des Übernahme-Scripts wurde gespeichert unter aponeu.orig.pl und der alte Stand des Notdienstplan-Scripts unter apo.orig.pl. Die neuen Stände liegen unter aponeu.neu.pl und apo.neu.pl. Die neuen Stände wurden auch unter den Originalnamen abgelegt. Auch geändert wurde das Template und das Stylesheet, siehe (neu) bei [Stylesheet Beschreibung] und [Variablen].
Thomas Hofmann