acwww Leitseite |
acwww Version 2.5 |
Die Schnittstelle besteht aus vielen Dateien, die im Folgenden näher erläutert werden sollen. Bevor wir aber in die Einzelheiten abtauchen, etwas zur grundsätzlichen Arbeitsweise der Programme.
Jedes Teilprogramm fängt zunächst ähnlich an:
&Init
(in
acwww25.pl). Es werden einige Voreinstellungen
vorgenommen und die Verbindung zum avanti-Server hergestellt. Die eigentliche Arbeit sieht dann meistens so aus: Zuerst wird der Anfang der Ergebnisseite aus texts/scriptname.kpf ausgeben. Achten Sie darauf, dass hier der Anfang einer HTML-Seite korrekt eingeleitet wird, sonst sieht man im Browser u.U. nichts.
Dann wird der Auftrag für den avanti-Server zusammengestellt.Der Auftrag wird an den Server übergeben und das Script wartet geduldig, bis die Antwort zurückgegeben wird.
Das Ergebnis wird ausgewertet und präsentiert.
Zuletzt wird die Datei texts/scriptname.end ausgegeben. Sie
enhtält den Schluß des HTML-Dokumentes. Hier kann man eintragen, was man
am Ende der Seite erscheinen lassen will. Wichtig sind die
abschließenden </body>
- und
</html>
-Tags.
Sie werden in .../cgi-bin/acwww25 und darunter diese Dateien finden:
acindex.pl | Script zum Erzeugen eines Registerausschnittes. Die Registereinträge sind 'verlinkt', d.h. anklickbar. Entweder löst man mit einem Mausklick eine Titelanzeige oder bei einem Verweis eine weitere Registerproduktion aus. Das Register kann erweitert werden, d. h. zu jedem Registereintag können die Kurztitel angezeigt werden. |
acindex.net | Alternative zu acindex.pl. Hauptunterschied ist, dass der Zugriff auf die Kurztitel für das erweiterte Register nicht direkt erfolgt, sondern über avanti-Jobs geregelt wird. Dieses Programm müssen Sie einsetzen, wenn avanti auf einer anderen Maschine als diese Programme eingesetzt wird. Sie haben dann nämlich keine Möglichkeit, direkt auf die Kurztiteldatei zugreifen zu können! Um dieses Programm einsetzen zu können, müssen Sie es in acindex.pl umbenennen. |
allegro.pl | verarbeitet die Suchanfrage mit logischen Kombinationen und erzeugt aus der Ergebnismenge eine Kurztitelanzeige, aus der heraus dann die gewünschten Titel zur Anzeige gebracht werden können. Übersteigt die Ergebnismenge die Anzahl der anzuzeigenden Zeilen, gibt es eine Blätter-Funktion. |
maske.pl | erzeugt die Suchmasken für die Datenbanken. Dies ist der eigentliche Einstieg für die Recherche einer Datenbank. Die Verwendung diese Programms als Einstieg ist nicht zwingend vorgeschrieben. Es sind nur Besonderheiten in den anderen Programmen zu beachten. |
regsrch.pl | Das Programm zur Erzeugung der Titelanzeige. |
acwww25/texts | Verzeichnis, in dem sich Dateien mit HTML-Dateifragmenten
finden. Für jedes Script zwei. '.kpf ' enthält den
Anfang eines HTML-Dokumentes, '.end ' das Ende. Jedes
Script gibt am Anfang seiner Ausgabe das .kpf -Fragment
aus, dann den eigentlichen Inhalt und zum Schluß das
.end -Fragment. Sinn dieser Konstruktion: Sie können das
generelle Aussehen der produzierten HTML-Seiten einfacher
beeinflussen. Um Änderungen anzubringen, sind undbedingt
HTML-Kenntnisse notwendig. |
acwww25/lib | enthält die Dateien acwww25.pl und cgi-lib.pl. Sie gehören unbedingt in das Library-Verzeichnis von Perl! Für Windows ist das wahrscheinlich c:\perl5\lib und unter UNIX oft /usr/lib/perl5. Der genaue Ort hängt aber von Ihrer Perl-Installation ab! |
acwww25/opac | Ort der Konfigurationsdatei dbinfo.pl für die Datenbank mit der Kennung 'opac' und 'avdemo'. Mehr dazu weiter unten. |
Es gibt notwendige Anpassungen, die Sie in jedem Fall vornehmen müssen und solche, die nicht unbedingt notwendig sind. So werden Sie wahrscheinlich nicht damit zufrieden sein, wenn Ihr OPAC immer unter der Braunschweiger Überschrift zu recherchieren ist. Dann wollen Sie u.U. noch Anpassungen in den Parameterdateien für die Datensatzanzeige vornehmen. Nicht unbedingt notwendig sind Anpassungen, die das gesamte Erscheinungsbild der erzeugten Seiten betreffen. Wenn Sie das aber vorhaben, müssen Sie sich etwas mit Perl vertraut machen, da das Layout der Seiten im Programmcode enthalten ist.
In den Hauptprogrammen acindex.pl, allegro.pl, maske.pl und regsrch.pl sind zunächst mal keine Anpassungen notwendig -- es sei denn, Sie setzen Sie unter UNIX ein. Dann müssen Sie zumindest den Programaufruf in der ersten Zeile jedes der Hauptprogramme überprüfen. Weiter oben ist beschrieben, was zu tun ist.
Hingegen müssen Sie in den Dateien acwww25.pl im Perl-Library-Verzeichnis und in jeder dbinfo.pl einer anzubindenden Datenbank Änderungen vornehmen.
Die Datei acwww25.pl enthält die grundlegenden Einstellungen, die in allen Programmen der Schnittstelle benötigt werden. Außerdem finden Sie hier noch einige wichtige Unterprogramme. Anpassungen sind i. a. nur in den globalen Variablen am Anfang der Datei notwendig. Die Unterprogramme brauchen eingentlich nicht geändert zu werden. Im folgenden erläutere ich die Variablen im Einzelnen. Die Reihenfolge der Beschreibungen stimmt mit der in der Datei acwww25.pl überein und ist ganz bestimmt kein Indiz dafür, wie wichtig die jeweilige Einstellung ist.
Es wurde schon weiter oben erwähnt, dass es nicht notwendig ist, die Programme der Schnittstelle und avanti auf ein und derselben Maschine laufen zu lassen. Daher müssen die Programme natürlich wissen, wo sie avanti finden. Mit diesen beiden Variablen gibt man die Adresse der Maschine an, auf der avanti läuft:
"198.20.1.3"
oder einen symbolischen Namen wie z.B.
"mein_server.meine_domain.de"
angeben. Wenn avanti
auf derselben Maschine laufen sollen wie die
Schnittstellenprogramme muss als Adresse entweder
"localhost"
oder "127.0.0.1"
eingetragen sein.Voreinstellung:
$AVANTI_PORT = 4949; $AVANTI_HOST = "localhost";
An einigen Stellen setzen die Programme Links in den erzeugten HTML-Seiten auf andere Programme der Schnittstelle. Diese Links müssen einen Pfad enthalten. Welcher Pfad dort eingesetzt wird, bestimmt diese Variable. Sie sollte in HTML-Notation auf das CGI-Verzeichnis dieser Schnittstelle verweisen.
Achtung: Hier darf nicht der absolute wirkliche Pfad angegeben werden. Erstens würden die Links in den HTML-Seiten damit nicht funktionieren und zweitens wäre dies ein Sicherheitsloch, denn es offenbart etwas über die Struktur des Webservers.
Voreinstellung:
$HTMLScriptPfad = "/cgi-bin/acwww25";
Hier muss der einzig wahre, real existierende Pfad der Schnittstellenprogramme eingestellt werden. Jedes Programm wechselt am Anfang zu Sicherheit in dieses Verzeichnis. Denn abhängig von Einstellungen im Server, werden die Programme evtl. aus einem anderen Verzeichnis heraus gestartet. Für das Einlesen der datenbankeigenen dbinfo.pl muss das Script aber das eigene Verzeichnis als Arbeitsverzeichnis haben. Wenn sie aus einem anderen Verzeichnis gestartet würden, könnten sie dbinfo.pl nicht finden. Voreinstellung:
$AllegroW3CGIPfad = "c:/xitami/cgi-bin/acwww25";
Dies ist die wirklich wichtige Variable, die immer dann erweitert werden muss, wenn Sie eine neue Datenbank anbinden wollen. Es handelt sich hierbei um ein sogenanntes Hash-Array, auch assoziatives Array oder dictonary genannt. Die Einträge bestehen immer aus einem Schlüssel-Werte-Paar. Der Schlüssel ist der symbolische Name der Datenbank (für die WWW-Schnittstelle, aber auch für avanti), und der Wert ist das Verzeichnis, wo die Programme die zur Datenbank gehörige dbinfo.pl finden können. Die Angabe muss relativ zum Verzeichnis cgi-bin/acwww25 sein. Meistens wird das Verzeichnis genauso genannt wie die Datenbank. Voreingestellt ist:
%dbscripte = ( "avdemo", "opac", "opac", "opac", );
Achten sie bitte genau auf die korrekte Syntax: Sowohl Schlüssel als auch Wert sind in Anführungszeichen einzuschließen, und jedes Element wird mit Komma abgeschlossen!
Die Werte in dieser Variablen werden Sie wahrscheinlich so schnell wie möglich ändern wollen. %Organisation ist auch ein dictionary, enthält aber nur zwei Einträge: Den Namen der Bibliothek in einer Kurz- und in einer Langform. Beide sind in HTML-Schreibweise anzugeben.
Voreinstellung:
# Namen der anbietenden Organisation in Kurzform und Langform %Organisation = ( "Kurzform", "UB Braunschweig", "Langform", "Universitätsbibliothek Braunschweig", );
Diese Datei enthält Einstellungen speziell für eine Datenbank. Damit sollte deutlich sein, dass in dieser Datei so ziemlich alles angepasst werden muss. Für die Einstellungen in dieser Datei gibt es prinzipiell keine Voreinstellungen. Ich erkläre die einzelnen Elemente daher am Beispiel der mitgelieferten dbinfo.pl für die Demo-Datenbank. Sie finden sie im Verzeichnis .../cgi-bin/acwww25/opac.
Diese Variable spielt keine Rolle mehr. Der Wert wird nicht mehr in den Programmen benötigt.
Tragen Sie hier den vollständigen Pfad zu Ihrer Datenbank ein. Er wird von acindex.pl für den Zugriff auf die Kurztiteldatei benötigt. Beachten Sie, dass unter Windows die Pfadtrenner '\' doppelt angegeben werden müssen.
Falls Sie jedoch acindex.net einsetzen, spielt diese Variable keine Rolle mehr, da der Zugriff auf die Kurztitel dort über avanti-Aufträge geregelt wird.
Vorgabe:
$DBPfad="c:\\avanti-w\\avdemo";
Tragen Sie hier den wirklichen Namen Ihrer Datenbank (= Vorname der benutzten Indexparameterdatei) ein. Er wird ebenfalls von acindex.pl für den Zugriff auf die Kurztiteldatei benötigt.
Falls Sie jedoch acindex.net einsetzen, spielt diese Variable keine Rolle mehr, da der Zugriff auf die Kurztitel dort über avanti-Aufträge geregelt wird.
Vorgabe (Name der Demodatenbank avdemo):
$DBName="cat";
Jeder avanti-Auftrag muss mit Nutzernamen und Passwort gekennzeichnet werden. Für jede Datenbank, die unter Windows bei avanti angemeldet wird, gibt es einen voreingestellten Benutzer opac mit dem Passwort OPAC. Ihm ist nur der lesende Zugriff auf die Datenbank erlaubt. Für unsere Zwecke genügt das ebenfalls. Deshalb die Voreinstellung:
$user="opac"; # Nutzername $passwd="opac"; # Password
Die Zahl der möglichen Ausgabeformate ist nur durch die Zahl der bereitgestellten Parameterdateien begrenzt. Jedoch muss es mindestens eine Parameterdatei geben. Bei den Angaben zu den Parameterdateien muss man sich an bestimmte Regeln halten:
DEFAULT
. Alle weiteren Schlüssel sollen in
Kleinbuchstaben geschrieben sein. Sie können aber beliebig gewählt
werden. Aus diesen Angaben erzeugt dann regsrch.pl ggf. eine Auswahl für andere Anzeigformate.
Vorgabe:
%Parameterdateien = ( 'DEFAULT', 'Standardanzeige|d-html.apr', 'allegro', 'allegro-Internformat (a.cfg)|e-1.apr', );
Wenn das Suchergebnis aus mehreren Datensätzen besteht, sollte sie für die Anzeige nach einem sinnvollen Kriterium sortiert sein. Prinzipiell gibt es dafür zwei Möglichkeiten:
$SortChoice="kurztitel";
) und$SortChoice="sortierfile";
)Man kann für eine Datenbank nur eine von beiden Methoden benutzen.
Die erste Möglichkeit ist in der Raktionszeit schneller und damit generell zu empfehlen. Sie muss sogar eingesetzt werden, wenn Schnittstellenprogramme und avanti nicht auf derselben Maschine laufen. Wenn die Kurztitelzeile geschickt aufgebaut ist, kann man schon sehr viele Sortierungen anbieten. So gibt es bei der Demodatenbank, die ja auf dem Standardschema beruht, die Möglichkeiten der Sortierung nach
Die Sortierung lässt sich jeweils auf- oder absteigend einstellen. Das Zusammenstellen der auszugebenden Titel, Sortieren und Erzeugen der Ausgabe kann avanti in einem Auftrag erledigen.
Die zweite Möglichkeit bietet u.U. mehr Flexibiblität bei der Sortierung, ist aber komplizierter einzurichten. Sie dauert in der Ausführung länger, weil zwei avanti-Aufträge notwendig sind, und eine Zwischendatei geschrieben werden muss. Zudem funktioniert sie nur, wenn avanti und Schnittstellenprogramme auf demselben Rechner arbeiten oder auf dasselbe Verzeichnis zugreifen können.
Zunächst müssen Sie die notwendigen Sortierparameterdateien erstellen. Das Ergebnis der Ausgabe mit so einer Datei muss die Datensätze in einem Format liefern, dass sie sortiert werden können. Dieses Format ist dasselbe, was bei der Standardlistenproduktion eingesetzt wird. Nähere Informationen dazu finden Sie im Systemhandbuch unter dem Thema Listenproduktion und am Ende des Kapitels über die Parametrierung. Die erzeugten Daten werden vom Programm regsrch.pl sortiert und müssen dann in eine Datei geschrieben werden, auf die avanti lesend zugreifen kann. Insbesondere unter UNIX muss bei dieser Methode gewährleistet sein, dass zum einen regsrch.pl unter einem Nutzerkonto läuft, das unterhalb von .../cgi-bin/acwww25Schreibrechte hat, weil dort nämlich die Zwischendateien angelegt werden. Zum anderen muß gesichert sein, dass avanti diese Dateien auch lesen darf. In einem zweiten Auftrag liest avanti dann die sortierten Daten ein und gibt das für die Ausgabe formatierte Ergebnis an regsrch.pl zurück.
Nicht nur von der Methodik her ist diese Variante langsamer, sondern sie erfordert auch mehr Programmieraufwand.
$SortChoice="kurztitel"; if($SortChoice eq "kurztitel") { %Sortierung = ( 'DEFAULT', 'nach Erscheinungsjahr (absteigend)|d 58', 'erschjahr', 'nach Erscheinungsjahr (aufsteigend)|a 58', 'verfauf', 'nach Verfasser (aufsteigend)|a 45', 'verfab', 'nach Verfasser (absteigend)|d 45', 'titelauf', 'nach Titel (aufsteigend)|a 1', 'titelab', 'nach Titel (absteigend)|d 1', 'znosort', 'keine Sortierung|a -1', ); } else{ %Sortierung = ( 'DEFAULT', 'nach Verfasser / Jahr|s-verfj.apr', 'erschjahr', 'nach Erscheinungsjahr|s-ejahr.apr', 'verftitel', 'nach Verfasser / Titel|s-pt.apr', 'titel', 'nach Titel|s-titel.apr', 'znosort', 'keine Sortierung|s-nosort.apr', ); }
Wenn in den Ergebnissen Sonderzeichen wie Umlaute etc. zu erwarten sind, kann man das Ergebnis mit unterschiedlichen Codierungen anbieten. Wie bei den Parameterdateien gilt aber auch hier, dass es mindestens eine Parameterdatei geben muss. Die Regeln für den Aufbau der Variablen sind dieselben wie bei %Parameterdateien.
Vorgabe:
%Codierung = ( 'DEFAULT', 'HTML-Codierung|p-html.apt', 'ansi', 'ANSI-Codierung|p-ansi.apt', 'dos', 'DOS-Codierung|p-dos.apt', );
Hier sollten Sie eine kurze, aber sprechende Bezeichnung eingeben. Dieser Wert wird auf den einzelnen Bildschirmen als Überschrift ausgegeben. Daher müssen Sonderzeichen in HTML-Codierung eingegeben werden. Sie haben hier auch die Möglichkeit, den Namen als Link zu gestalten, bei dessen Aktivierung eine andere Seite erscheint.
Vorgabe:
$DatenbankName = "Demo";
Einige Links auf Hilfeseiten werden vom Programm automatisch erzeugt. Der Pfad zu diesen Seiten variiert von Datenbank zu Datenbank oder sollte es zumindest. In $HilfsseitenPfad trägt man diesen Pfad ein. Er ist relativ zum Hauptverzeichnis für die normalen HTML-Seiten anzugeben. Dort müssen dann aber auch die entsprechenden Seiten zu finden sein.
Zur Zeit wird diese Angabe nur von maske.pl benutzt, um einen Link auf die Hilfeseite maske.htm zu erzeugen.
Vorgabe:
$HilfsseitenPfad = '/acwww25/opac';
Trotz des Namens der Variablen, kann man hier Links angeben, die auf beliebiege andere Seiten verweisen. Wenn diese Variable nicht leer ist, erscheinen die aufgeführten Verweise am Ende jedes Bildschirms. Wie aus der Vorgabe unten zu ersehen ist, muss ein Link vollständig angegeben werden.
Vorgabe:
%AndereDBs = ( 'zk', '<a href="/cgi-bin/maske.pl?db=zk">[Katalog der Institute]</A>', 'zd', '<a href="/cgi-bin/maske.pl?db=zd">[Zeitschriftendienst des Deutschen Bibliotheksinstituts]</A>', );
Jeder Bildschirm mit einem Ausschnitt aus einem Register erhält als Überschrift den Namen dieses Registers, wobei er als Link ausgebildet sein sollte. Dieser Link verzweigt bei Aktivierung auf eine für das Register spezifische Hilfe. Diese Variable sollte für jedes angebotene Register einen Eintrag enthalten.
Die Variable ist ein dictionary mit bestimmten Werten als Schlüssel:
allg
verweist auf eine allgemeine Hilfeseite,
die einen Überblick über den prinzipellen Aufbau der Register
geben sollte.benutzung
verweist auf eine Stelle, die
erläutert, wie die Register zu benutzen sind.expandiert
enthält einen Link auf die Hilfe
zum expandierten Register. Dieser erscheint nur, wenn ein
Register expandiert angezeigt wird.Generell gilt hier, dass es egal ist, ob man jeden Link auf verschiedene Seiten zeigen lässt, oder auf unterschiedliche Abschnitte ein und derselben Datei. Historisch gewachsen ist die Aufteilung in verschiedene Seiten, wobei es für jedes Register jeweils eine Seite und für die allgemeinen Bemerkungen eine eigene Seite gibt. Vorbild waren die Hilfsbildschirme der DOS-Distribution.
Vorgabe:
%RegisterHilfe = ( '1', '<A HREF="/acwww25/opac/hreg1.html">Namen von Personen</A>', '2', '<A HREF="/acwww25/opac/hreg2.html">Körperschaften</A>', '3', '<A HREF="/acwww25/opac/hreg3.html">Wörter (Titel- und Schlagwörter)</A>', '4', '<A HREF="/acwww25/opac/hreg4.html">Buchtitel (Sonderabteilung K : Kongresse)</A>', '5', '<A HREF="/acwww25/opac/hreg5.html">Zeitschriften und Reihen (Serientitel ; Bandnummer)</A>', '6', '<A HREF="/acwww25/opac/hreg6.html">Verlage (Name,Erscheinungsjahr)</A>', '7', '<A HREF="/acwww25/opac/hreg7.html">Sachgruppen (mit Sonderabteilungen G und H)</A>', '8', '<A HREF="/acwww25/opac/hreg8.html">Signaturen (insbes. Lesesaal-Standorte)</A>', '9', '<A HREF="/acwww25/opac/hreg9.html">ISBN (mit \'i\' davor, also z.B. i3-512-02341)</A>', 'allg', '<A HREF="/acwww25/opac/hreg.html">[Allgemeine Informationen zu den Registern]</A>', 'benutzung', '<A HREF="/acwww25/opac/hreg.html#ALLGINFO">[Wie benutze ich das Register?]</A>', 'expandiert', '<A HREF="/acwww25/opac/hreg.html#EXPANDIERT">[Wie benutze ich das expandierte Register?]</A>', );
Der Aufbau dieser Variablen ist ähnlich wie der von %RegisterHilfe. Hier werden nur die Registerüberschriften nochmal für einfache Anzeigezwecke angegeben. Die Hinweise auf allgemeine Abschnitte fehlen.
Vorgabe:
%RegisterAnzeige = ( '1', 'Namen von Personen', '2', 'Körperschaften', '3', 'Wörter (Titel- und Schlagwörter)', '4', 'Buchtitel (Sonderabteilung K : Kongresse)', '5', 'Zeitschriften und Reihen (Serientitel ; Bandnummer)', '6', 'Verlage (Name,Erscheinungsjahr)', '7', 'Sachgruppen (mit Sonderabteilungen G und H)', '8', 'Signaturen (insbes. Lesesaal-Standorte)', '9', 'ISBN (mit \'i\' davor, also z.B. i3-512-02341)', );
In der Suchmaske wählt man das anzuzeigende Register über ein Dropdown-Menü aus. Der Inhalt dieses Menüs wird aus dieser Variablen erzeugt. Sie ist ein einfache Liste.
Vorgabe:
@RegisterPullDown = ( '1 Namen von Personen', '2 Körperschaften', '3 Wörter (Titel- und Schlagwörter)', '4 Buchtitel (Sonderabteilung K : Kongresse)', '5 Zeitschriften und Reihen (Serientitel ; Bandnummer)', '6 Verlage (Name,Erscheinungsjahr)', '7 Sachgruppen (mit Sonderabteilungen G und H)', '8 Signaturen (insbes. Lesesaal-Standorte)', '9 ISBN (mit \'i\' davor, also z.B. i3-512-02341)', );
Wenn die durch maske.pl automatisch generierte Suchmaske auch Eingabefelder für die Suche nach mehreren Aspekten anbieten soll, muss diese Variable auf 1 gesetzt werden. Wenn das der Fall ist, müssen auch die im folgenden aufgeführten Variablen belegt sein.
Vorgabe:
$logischeKombinationen = 1;
Jedes Feld der Suchmaske muss einen eigenen Namen haben. Die Schreibweise ist dabei egal. Auch die Benennung ist beliebig. Empfohlen wird jedoch, die Namen 'sprechend' zu wählen. In den nachfolgend beschriebenen Variablen %VarRegister und %VarInputDef müssen die Schlüssel dann jeweils diesen Namen entsprechen. Auch darf es dort nur soviele Einträge geben, wie hier Variablennamen definiert werden!
Vorgabe:
@MaskenVariable = ( 'pers', # fuer Suche nach Person in Register 1 'tit1', # erstes Stichwort (Register 3) 'tit2', # zweites Stichwort (Register 3) 'tit3', # drittes Stichwort (Register 3) );
Aus den Eingaben in den Feldern der Suchmaske wird für avanti ein find-Befehl zusammengesetzt. Dazu muss das Programm wissen, in welchem Register der Datenbank es mit welchem Suchbegriff suchen soll. Die Zuordnung der Eingabefelder zu einzelnen Registern wird in %VarRegister festgelegt. Die Kürzel für die Register entnimmt man der Indexparameterdatei der Datenbank. Es ist die sogenannte I-Tabelle, die man meistens am Ende der Datei findet. Sollten die Registerdefinition dort fehlen, muss man sie anlegen. Näheres dazu finden Sie im Systemhandbuch Kap. 10.2.1.3.
Die Schlüssel dieses dictionary müssen mit den Vorgaben in @MaskenVariable übereinstimmen.
Vorgabe:
%VarRegister = ( 'pers', 'PER', 'tit1', 'TIT', 'tit2', 'TIT', 'tit3', 'TIT', );
Die Felder der Suchmaske werden automatisch generiert. Sie haben alle denselben Aufbau: Sie benötigen einen Prompt, damit der Benutzer weiß, was er wo einzutragen hat, ein Eingabefeld, dessen Länge festgelegt werden muss und eine Angabe über eine Hilfeseite zu diesem Feld. Der Prompt wird als Link aufgebaut, so dass man bei einem Klick darauf auf eine Hilfeseite zu diesem Eingabefeld kommt.
Der Wert zu jedem Schlüssel besteht aus einer Zeichenkette. Diese ist in Unterfelder unterteilt, wobei die Felder durch das Pipe-Symbol ('|') voneinander getrennt werden. Es muss immer dieselbe Anzahl felder geben:
Die Schlüssel dieses dictionary müssen mit den Vorgaben in @MaskenVariable übereinstimmen.
Vorgabe:
%VarInputDef = ( 'pers', '30|50|/acwww25/opac/acautor.html|Name einer Person', 'tit1', '30|50|/acwww25/opac/actitel.html|1. Titelstichwort', 'tit2', '30|50|/acwww25/opac/actitel.html|2. Titelstichwort', 'tit3', '30|50|/acwww25/opac/actitel.html|3. Titelstichwort', );
Tragen Sie hier die Länge der Kurztitelzeilen ein, falls die
Datenbank über ein Kurztitelregister verfügt. Ansonsten tragen Sie
bitte 0 (Null) ein. Abhängig von diesem Wert kann man die
Registeranzeige expandieren oder nicht. Die Länge der Kurztitelzeile
finden Sie in der Indexparameterdatei als Befehl i0
Vorgabe:
$stl = 72;
Es gibt in der Datei dbinfo.pl nur ein Unterprogramm:
sub PrintErgebnis
. Diese Routine gibt das Ergebnis
einer Recherche für die Titelanzeige aus. In der Vorgabe ist sie
ganz einfach gehalten:
sub PrintErgebnis { local ( $ErgebnisDatei ) = @_; # Parameter uebernehmen print "<pre>\n"; print $ErgebnisDatei; print "</pre>\n"; return 1; }
Dieser Routine wird nur ein Parameter übergeben, nämlich das
Downloadergebnis in einer Zeichenkette. Wie das genau
aussieht hängt natürlich von der zur Anzeige benutzten
Parameterdatei ab. Die Vorgabe d-html.apr erzeugt aber eine
recht einfache Ausgabe, die der der DOS-Programme entspricht. Alle
Zeilen sind durch die Codes CR LF (ASCII 13 10) voneinander
getrennt. Die Routine PrintErgebnis
macht nun nichts
weiter als vor der Titelausgabe und danach das Preformatted-Tag
auszugeben.
Sie können diese Routine natürlich nach Belieben erweitern und verändern. Sie benötigen dazu aber solide Perl- und ggf. noch Parametrierkenntnisse.
Selbstverständlich ist es möglich, in der Datei dbinfo.pl weitere Variablen und Unterprogramme unterzubringen, wenn sie für die Anbindung einer Datenbank benötigt werden. Sie müssen die Verwendung dieser Ergänzungen aber in den Hauptprogrammen selbst hinzufügen.
Hier kann man sich nach Herzenslust austoben. Mitgeliefert wird eine für die Anzeige geeignete Parameterdatei d-html.apr. Sie gehört zum Standardschema und ist eine leicht abgewandelte d-1.apr. Sie finden sie im Datenbankverzeichnis avanti-w/avdemo der Demodatenbank.
Änderungen zur d-1.apr:
ak
-Zeilen) sind deaktiviert, weil diese
Datei nur eine Anzeige pro Titelsatz erzeugen soll. Daher geht es
gleich bei #-@
los. Von dort wird zu den einzelnen
Satztypen verzweigt. Vor jedem Satz wird direkt das
<hr>
-Tag (horizontal rule) ausgegeben.
dx=1
eingeschaltet werden, weil die Umlaute und Sonderzeichen in den
wenigsten Fällen schon in korrekter HTML-Codierung in der
Datenbank vorliegen dürften. Für Umcodierungszwecke gibt es z.B. die
Datei p-html.apt, die geeignete Tabellen enthält.
fl=0
auf
'unendlich' gesetzt.
.apt
-Datei) nicht mit dem t
-Befehl
in der Parameterdatei direkt geschehen. Das Nachladen
dieser Dateien geschieht über den avanti-Befehl
xport t
in der Jobdatei abhängig von den
eingestellten Optionen beim Aufruf von regsrch.pl.
In der Standardversion der Schnittstelle sorgt das Programm maske.pl für die Erzeugung der Suchmaske. Es ist aber nicht zwingend notwendig, die Suchmaske damit zu erzeugen. Statische HTML-Seiten sind genauso geeignet. Von denen aus werden dann die anderen Programme des Paketes angesprochen. In der Gestaltung dieser Seiten sind Sie vollständig frei, nur die an die Programme übergebenen Parameter müssen stimmen. Das beste ist, Sie erzeugen sich zunächst mit maske.pl eine Referenzseite und speichern sie ab. Am HTML-Code können Sie dann studieren, welche Variablen und Parameter die einzelnen Programme benötigen.
| Eine WWW-Schnittstelle für allegro-Datenbanken | Eigenschaften der Schnittstelle | Notwendige Komponenten | Installation für den schnellen Einstieg | Die Anbindung einer allegro-Datenbank an das WWW schematisch | Grundsätzliche Hinweise zur Installation | acwww25 - die Schnittstelle | Der Standardeinstieg für den WWW-Benutzer | Abschließende Hinweise |
Copyright © UB Braunschweig |