Titel


Titelseite

Inhalt Teil I

Inhalt Teil II

Literaturliste


Kapitel vor

Kapitel zurueck

Abschnitt vor

Abschnitt zurück


4.3.2 Beschreibungen des Aufbaus und der Funktionen

Prinzipieller Aufbau der Scripte

Für jede der zu erzeugenden Listen wurde jeweils ein Script entwickelt. Alle drei Scripte ähneln sich sehr stark, da sie prinzipiell das gleiche tun: Sie lesen ein, zwei bzw. drei Verzeichnisse und erzeugen je eine HTML-Seite im BGBM-Standard-Layout (Kopf und Fuß) mit ein, zwei bzw. drei Listen.

Obwohl die Scripte die gleichen Funktionen ausführen, wurde darauf verzichtet, diese in eine Bibliotheksdatei auszulagern, da die Scripte aufgrund ihres relativ geringen Umfangs auch so übersichtlich sind und für jemanden, der diese Scripte später nachbearbeiten muß, Ablauf und Funktionsweise leichter verständlich und nachvollziehbar bleiben.

Am Beispiel der Liste der Infoblätter (Script zurzeit.pl) soll im folgenden kurz der prinzipielle Aufbau der Scripte und ihre Funktionsweise erläutert werden:

A. Header
Header

B. Eigene Subroutinen
(unter C fettgedruckt, Erläuterungen siehe nächsten Absatz)

C. Ausführungsteil

  1. Ausgabe des Standard-Seitenkopfes mit entsprechender Überschrift

  2. Verzeichnis(se) öffnen, lesen und in temporäre Liste(n) schreiben

    Verzeichnisse öffnen, ...

  3. Erzeugung der Ergebnisliste(n) durch Modifizierung der temporären Liste(n) und Sortierung (hier alphabetisch)

    Ergebnisliste

    Die Mitarbeiterliste und die Infoblätterliste werden alphabetisch (Funktion sort) sortiert. Die Pflanzen des Jahres werden aber in umgekehrter alphabetischer Reihenfolge aufgelistet. Dies realisiert die kurze Funktion backwards:
    rückwärts sortieren
    Der Aufruf im Listings lautet dann z.B. für die Blumen des Jahres:
    Blumenliste

  4. Ausgabe der Ergebnisliste(n) und Verzeichnis(se) schließen
    Da bei den Mitarbeitern nur Verzeichnisse und keine Dateinamen gelesen werden, entfällt dabei die Funktion Entferne_Endung (Dateiendung .htm)
    Listenausgabe Beginn
    Listenausgabe Schleife
    Listenausgabe Ende

  5. Ausgabe des Standard-Seitenfußes mit entsprechender URL-Angabe

Bei den Pflanzen des Jahres (Blume, Baum und Pilz des Jahres, Script pflanzen.pl) und bei den Mitarbeitern (Wissenschaftler und Techniker, Script staff.pl) werden die Schritte 2.-4. entsprechend der Anzahl der jeweils gelesenen Verzeichnisse mehrfach durchlaufen. Ein Beispiel für den Verzeichnisinhalt und die damit erzeugte Liste der Infoblätter befindet sich im übernächsten Absatz.

Spezielle Funktionen

Laut Konvention zur Benennung weltweit eindeutiger Rechner- und Datei-Adressen (URL-Konvention) dürfen Sonderzeichen, insbesondere Leerzeichen und Umlaute nicht in URL´s enthalten sein bzw. besitzen dort eine andere Bedeutung (das Fragezeichen wird z.B. beim Script-Aufruf zur Parameterübergabe verwendet: script.pl?parameter). Dies hat Konsequenzen für die Vergabe von Namen für die Listenelemente der Pflanzen des Jahres, der Infoblätter und der Mitarbeiter (Vgl. /Lemay95/, S. 180-181, /Klute94a/, /Klute94b/, siehe auch Anhang L4):

  1. Der Datei- oder Verzeichnisname darf
    • ein langer Dateiname sein und die folgenden Zeichen enthalten: Ziffern 0-9, Großbuchstaben A-Z und Kleinbuchstaben a-z , Dollar-Zeichen $ , Bindestrich - , Unterstrich _ , Punkt . , Plus +
    • Umlaute Ä, ä, Ö, ö, Ü, ü und ß (sowie weitere nicht unter 2. genannte Sonderzeichen) enthalten, diese müssen aber für die URL-Angabe durch besondere URL-Ersatzzeichen ersetzt werden, damit sie richtig als Teil des URL interpretiert werden können (siehe dazu weiter unten).
  2. Der Datei- oder Verzeichnisname darf nicht
    • Leerzeichen enthalten. Um sie nicht kodieren zu müssen, verwendet man üblicherweise anstelle der Leerzeichen Pluszeichen +.
    • eines der folgenden Zeichen enthalten: # % & / : < > ? "

Daraufhin wurden am BGBM folgende Festlegungen hinsichtlich der Datei- und Verzeichnisnamen getroffen:

Infoblätter: Die Dateinamen besitzen die Form
Thema+des+Infoblattes.htm
Bsp.: Die+schönste+aller+Seerosen+-+die+Riesen-Seerose.htm

Pflanzen des Jahres: Die Dateinamen besitzen die Form
JAHR+-+Deutscher+Name+-+Lateinischer+Name.htm
Bsp.: 1995+-+Der+Spitz-Ahorn+-+Acer+platanoides+L..htm

Die Dateinamen für Infoblätter und Pflanzen des Jahres dürfen Umlaute enthalten, diese müssen dann per Hand für die Angabe der URL in der Fußzeile der Seite kodiert werden.

Mitarbeiter: Die Verzeichnisnamen besitzen die Form
\Vorname+Nachname
Bsp.: \Dörthe+Hildebrandt

Punkte bei den Namenskürzeln o.ä. sowie alle Titel werden weggelassen, z.B. \Walter+G+Berendsohn für Herrn Dr. Berendsohn. Jeder Mitarbeiter entscheidet selbst darüber, ob er die Umlaute in seinem Verzeichnisnamen verwenden möchte, wobei er diese dann ggf. für die Weitergabe an andere Personen (z.B. auf der Visitenkarte) kodieren muß, z.B. \Manfred+Baessler oder \Manfred+Bäßler für Herrn Dr. Bäßler.

Für die Scripte wurden Subroutinen entwickelt, die die Kodierung bzw. Dekodierung von Zeichen entsprechend obigen Ausführungen übernehmen und im folgenden kurz beschrieben werden:

a) URLEncode
Umlaute müssen z.B. im URL-Aufruf kodiert mittels URL-Ersatzzeichen angegeben werden. Diese Ersatzzeichen bestehen aus dem Prozentzeichen % und einem zwei Zeichen umfassenden Hexadezimal-Code aus dem Standard ASCII-Zeichensatz, die wichtigsten davon sind: Ä = %C4, ä = %E4, Ö = %D6, ö = %F6, Ü = %DC, ü = %FC, ß = %DF, é = %E9, á = %E1

Die Aufgabe dieser Kodierung übernimmt die Funktion URLEncode.

URLEncode

Beispiel:

  • Verzeichnisname: \BGBM\STAFF\Tech\Dörthe+Hildebrandt
    URL-Angabe:
    http://www.bgbm.org
    /BGBM/STAFF/Tech/D%F6rthe+Hildebrandt

b) Decode
Das anstelle des Leerzeichens verwendete Pluszeichen wird bei der Erstellung der Listen durch die Funktion Decode für die Anzeige im Browser automatisch entfernt.

Decode

Beispiel:

  • Verzeichnisname: \BGBM\STAFF\Tech\Dörthe+Hildebrandt
    In der Mitarbeiterliste: Dörthe Hildebrandt

c) Entferne_Endung
Die Dateiendung .htm muß (außer bei den Mitarbeitern) für die Anzeige der Listen auf dem Bildschirm entfernt werden. Diese Aufgabe übernimmt die Funktion Entferne_Endung.

Entferne_Endung

Beispiele:

  • Dateiname:
    Die+schönste+aller+Seerosen+-+die+Riesen-Seerose.htm
    In der Infoblätterliste:
    Die schönste aller Seerosen - die Riesen-Seerose
  • Dateiname:
    1995+-+Der+Spitz-Ahorn+-+Acer+platanoides+L..htm
    In der Liste der Pflanzen des Jahres:
    1995 - Der Spitz-Ahorn - Acer platanoides L.

Im folgenden werden am Beispiel der Infoblätter der Verzeichnisinhalt und die Ergebnisseite in Netscape dargestellt. Weitere Beispiele befinden sich in der Benutzerdokumentation im Anhang L5.

Beispiel Infoblätter

Die in Abb. 4-4 aufgeführten Infoblätter-Dateien werden vom Script zurzeit.pl gelesen (http://www.bgbm.org/scripts/BGBM/pr/zurzeit.pl).

Abb. 4-4: Dateien im Verzeichnis \BGBM\PR\Zurzeit\Papers\

Abb. 4-4: Dateien im Verzeichnis \BGBM\PR\Zurzeit\Papers\

Das Ergebnis der Ausführung dieses Scriptes ist die in Abb. 4-5 dargestellte Seite.

Abb. 4-5: Ergebnisausgabe in Netscape
Originalgröße: 621 x 443 Pixel, ca. 19 kB

Abb. 4-5: Ergebnisausgabe in Netscape

Seitenanfang Fortsetzung (Abschnitt 4.4) ...