Dokumentation

Apotheken-Notdienstplan Dorfen

Thomas Hofmann, Apr/Mai 2002 / 03.01.2003 (s. 8)


index

[http://apo-notdienst-dorfen.th-o.de]

1 Ausgangspunkt

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.

2 Übernahme der Daten

[Übernahme der Daten]

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.

3 Aufruf des Apotheken-Notdienstplans

[Aufruf]

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):

[http://apo-notdienst-dorfen.th-o.de/cgi-bin/apo.pl?vorlage=apotempl.htm&stylesheet=apo.css&von=30.04.&diff=3]

Voraussetzung ist die vorherige Datenübernahme, siehe [Übernahme der Daten].

4 Parameter

Das Script hat 4 mögliche Parameter, alle sind optional. Bei Weglassen wird der Standardwert genommen. Die Parameter gelten jeweils ohne eckige Klammer.

[stylesheet]
Das Stylesheet (CSS) in Webschreibweise, d.h. entweder nur den Dateiname, wenn es im gleichen Verzeichnis wie das Script liegt, oder relativ (../styles/beispiel.css) bzw. Server-relativ (/home/Thomas.Hofmann/beispiel.css), oder absolut (http://apo-notdienst-dorfen.th-o.de/beispiel.css). Standard: apo.css ; siehe [Stylesheet Beschreibung]
[vorlage]
Die Vorlage (HTML); sie sollte alle nötigen [Variablen] und Steuerelemente enthalten. Die Angabe des Pfades erfolgt in Serverschreibweise, d.h. entweder nur den Dateiname, wenn es im gleichen Verzeichnis wie das Script liegt, oder relativ (../styles/beispiel.css) bzw. Server-relativ/-absolut (/home/iiv00096/public_html/beispiel.css). Standard: apotempl.htm ; siehe [Vorlage Beschreibung]
[von]
Das Startdatum in der Form TT.MM. Standard: aktuelles Serverdatum
[diff]
Die Anzahl der auszugebenden Tage. Standard: 7

5 Vorlage

[Vorlage Beschreibung]

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]

6 Stylesheet

[Stylesheet Beschreibung]

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.

[body]
Das Element body, Grundstile der Seite
[h1]
Das Element h1, für die Überschrift.
[a]
Das Element a, die Stile für Verlinkungen mit den Pseudoklassen link, visited, hover und active.
[monatslinks]
Klasse, möglich für ein Menü mit Verweisen (Aufrufe auf das Script), Empfehlung für die Behandlung als display: block
[eingabepar]
Klasse, Bereich mit Eingabefeldern und Formularbutton zum Absenden, Empfehlung für die Behandlung als display: block
[anzeigepar]
Klasse, Bereich für die Ausgabe der übergebenen Werte, Empfehlung für die Behandlung als display: block
[pardatum]
Klasse, übergebenes Datum, Empfehlung für die Behandlung als display: inline
[pardiff]
Klasse, übergebene Tagesanzahl, Empfehlung für die Behandlung als display: inline
[bereichinhalt]
Klasse, gesamter Inhalt mit Kopfzeile, Empfehlung für die Behandlung als display: block (Tabelle)
[kopfdaten]
Klasse, Grundformatierung, Empfehlung für die Behandlung als display: inline? (Tabellenzeile)
[kopfdatum]
Klasse, Formatierung Datums-Überschrift, Empfehlung für die Behandlung als display: block
[kopfdorfen]
Klasse, Formatierung Überschrift Dorfen-Taufkirchen, Empfehlung für die Behandlung als display: block (Tabellenzelle)
[kopfisen]
Klasse, Formatierung Überschrift Isen-Haag, Empfehlung für die Behandlung als display: block (Tabellenzelle).
[kopfwass]
Klasse (neu), Formatierung Überschrift Wasserburg, Empfehlung für die Behandlung als display: block (Tabellenzelle).
[inhaltdaten]
Klasse, Grundformatierung, Empfehlung für die Behandlung als display: inline? (Tabellenzeile)
[inhaltdatum]
Klasse, Formatierung Datums-Inhalt, Empfehlung für die Behandlung als display: block
[inhaltdorfen]
Klasse, Formatierung Inhalt Dorfen-Taufkirchen, Empfehlung für die Behandlung als display: block (Tabellenzelle)
[inhaltisen]
Klasse, Formatierung Inhalt Isen-Haag, Empfehlung für die Behandlung als display: block (Tabellenzelle).
[inhaltwass]
Klasse (neu), Formatierung Inhalt Wasserburg, Empfehlung für die Behandlung als display: block (Tabellenzelle).
[impressum]
Klasse, für ein Impressum, Empfehlung für die Behandlung als display: block
[copyright]
Klasse, für ein zusätzliches Copyright, Empfehlung für die Behandlung als display: block
[copyright a]
Das Element a innerhalb eines Elementes, welches die Klasse copyright für die Formatierung benutzt, mit den Pseudoklassen link, visited, hover und active.

7 Variablen

[Variablen]

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:

[__h_datum__]
Überschrift Datum aus Daten übernommen
[__h_dorfen-taufkirchen__]
Überschrift Dorfen-Taufkirchen aus Daten übernommen
[__h_isen-haag__]
Überschrift Isen-Haag aus Daten übernommen
[__h_wass__]
(neu) Überschrift Wasserburg aus Daten übernommen
[__datum__]
Das Datum für jeden auszugebenden Tag in der Form Wochentag TT.MM.
[__datumkurz__]
Alternative zu [__datum__] , für jeden auszugebenden Tag in der Form Ww TT.MM.
[__datumsolo__]
Alternative zu [__datum__] , für jeden auszugebenden Tag ohne Wochentag in der Form TT.MM.
[__dorfen-taufkirchen__]
gesamter Eintrag der Apotheke Dorfen-Taufkirchen
[__isen-haag__]
gesamter Eintrag der Apotheke Isen-Haag
[__wass__]
(neu) gesamter Eintrag der Apotheke Wasserburg
[__dorfen-apotheke__]
Teil der Apotheke Dorfen-Taufkirchen, Name
[__dorfen-strasse__]
Teil der Apotheke Dorfen-Taufkirchen, Straße
[__dorfen-ort__]
Teil der Apotheke Dorfen-Taufkirchen, Ort
[__dorfen-telefon__]
Teil der Apotheke Dorfen-Taufkirchen, Telefon
[__isen-apotheke__]
Teil der Apotheke Isen-Haag, Name
[__isen-strasse__]
Teil der Apotheke Isen-Haag, Straße
[__isen-ort__]
Teil der Apotheke Isen-Haag, Ort
[__isen-telefon__]
Teil der Apotheke Isen-Haag, Telefon
[__wass-apotheke__]
(neu) Teil der Apotheke Wasserburg, Name
[__wass-strasse__]
(neu) Teil der Apotheke Wasserburg, Straße
[__wass-ort__]
(neu) Teil der Apotheke Wasserburg, Ort
[__wass-telefon__]
(neu) Teil der Apotheke Wasserburg, Telefon
[__stylesheet__]
das [stylesheet], kann in der [vorlage] im Bereich von Links oder Formular benutzt werden, siehe [Aufruf]
[__von__]
Parameter [von], kann in der [vorlage] im Bereich von Links oder Formular benutzt werden, siehe [Aufruf]
[__diff__]
Parameter [diff], kann in der [vorlage] im Bereich von Links oder Formular benutzt werden, siehe [Aufruf]

8 Änderungen, Wasserburg (03.01.2003)

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

[www.th-o.de]


Generiert: T. Hofmann, 08.01.03

index