Ausgabe 96/2, 16. Juli 1996
Universitätsbibliothek der Technischen Universität Braunschweig, Universitätsplatz 1, D-38106 Braunschweig, Tel. (0531)391-5011, -5026, FAX -5836
Keep it simple, keep it plain,
what use is complication!
Why strain
one's brain?
So out with learning and out with pain
and in with automation!1
Das Projekt avanti (erstmals vorgestellt in news Nr. 39) zielt nicht allein auf Windows-Programmierung ab, sondern soll in umfassendem Sinn für mehr Einfachheit und Reduktion des Lernbedarfs sorgen:
QUEX: | QUick and Easy eXport: alphabetisch geordnete Listen unter Menüführung erstellen - völlig ohne Parametrierung; Weiterverarbeitung mit Textsoftware möglich. |
QUANT: | QUANTitative Auswertung von Feld- oder Teilfeldinhalten: menügesteuerte Statistik für jede Datenbank; |
Diese zwei sind so etwas wie Reportgeneratoren. Man muß nur ein paar einfache Fragen beantworten, die Produktion läuft dann automatisch und kann bei Bedarf jederzeit wiederholt werden, weil man die Einstellungen speichern kann.
PRONTO: | Ein neues Datenbankprojekt ganz schnell auf die Beine stellen: ohne Einarbeitung in die Allegrologie kann man jetzt in kürzester Frist aus Fertigteilen die notwendigen Dateien erstellen, vollständig menügeführt. |
EXPEX: | Wer einen einfacheren Einstieg in die Parametrierung sucht, erhält hiermit ein Sortiment von ausführlich kommentierten Beispiel-Parametern für interaktive Export-Experimente, die vom denkbar einfachsten Export in 10 Stufen bis zu einer ISBD-Ausgabe aufeinander aufbauen, und zwar auf der Grundlage des USMARC-Formates (welches man doch auch schon immer kennenlernen wollte...) |
VPW: | Das Versuchsprogramm (VP) für den allegro-Zugriff unter Windows oder UNIX (news 40) hat jetzt auch Schreibfunktionen und eine Ladeschnittstelle bekommen ('W' steht für Write). Jetzt kann man z.B. Datensätze extrahieren, mit einem beliebigen Editor bearbeiten und dann wieder einlesen. Oder Datensätze außerhalb des Systems mit anderen Mitteln erstellen und dann in eine Datenbank einspeisen. |
Mit QUEX (= QUick and Easy eXport) wurde eine stark vereinfachte Exportmethode entwickelt, die ohne Parametrierung auskommt. Für schnelle ad-hoc Listen ohne Anspruch auf Perfektion oder spezielle Finessen wird man nicht mehr parametrieren müssen, besonders wenn ohnehin eine Nachbearbeitung mittels WORD, dBase o.a. vorgesehen ist.
Was leistet QUEX?
Zwecks Anwendung baut man sich folgende Zeile bei den "Eigenen Routinen" in die Vorgabendatei (CP.OPT) ein:
R QUick & Easy eXport, QUEX.BAT, Einfache Listen und Dateiausgabe
QUEX.BAT kann man auch von Hand starten, dann teilt es mit, welche Environment-Variablen man vorher setzen soll.
Ergebnis: Heraus kommt am Ende eine alphabetisch geordnete Datei namens LISTE mit den selektierten Datensätzen.
Es folgt eine knappe Übersicht des Ablaufs. (Vollständige Beschreibung: siehe Datei QUEX.TXT)
Zuerst sind verschiedene Fragen zu beantworten:
Wählen Sie: 1 = nur der Anfangsteil (Ende beim Trennzeichen) 2 = jeder Teil (auch Teile zwischen den Trennzeichen)Wenn man 2 wählt, können natürlich mehrere Ausgabesätze je Datensatz entstehen. 6. Wieviele Ausgabesätze maximal je Datensatz?
1 = nach Art von dBase (comma-delimited) (Dann weiter bei --> 8a) 9 = nach eigenen Vorgaben (Dann weiter bei --> 8b)Wenn man mit 1 antwortet, wird die Datei quexdb.apt auf export.apt kopiert und es geht bei 8a weiter.
0=keins 1='. ' 2=', ' 3='; ' 4=C 5=' : ' 6=C C 7=' = ' 8='. - ' 9=' / ' 10=' (' 11=')' 12=' [' 13=']' 14=' ' Geben Sie nur die Nummer ein!Man gibt z.B. 8, wenn Nummer 8 gewünscht ist
Hintergrund für Allegrologen: Die Datei Q-EXPORT.APT muß vorhanden sein. Sie wird kopiert auf EXPORT.cPT, die dann automatisch ergänzt wird: die Antworten auf 8. bis 12. werden an die Datei EXPORT.cPT angehängt, diese wird per "tEXPORT" in P-QUEX.cPR eingebunden. Die Antwort auf Frage 8a. wird dagegen als -Uc9%C9% an das Programm srch übergeben (s. 15). So kommt man auch bei der Dateiausgabe ohne Eingriff in die Parameterdatei aus.
Jetzt kommt eine Kontroll-Anzeige, wo man nochmals die wichtigsten Einstellungen sieht. Wenn irgendwas nicht stimmt, antwortet man mit 'n', und es geht wieder von vorn bei 1. los.
Wenn man aber 'j' sagt:
14. Es entsteht die Datei QX.cLG, mit ASORT wird sie sortiert. Das Ergebnis ist dann QUEX.cLG; QX.cLG wird gelöscht.
15. SRCH verarbeitet QUEX.cLG zu der Ergebnisdatei LISTE.Schematischer Ablauf von QUEX.BAT: (für Konfiguration A)
Abfragen Export mit asort Export mit vom --------------> QX.ALG ------> QUEX.ALG --------------> LISTE Anwender S-QUEX.APR P-QUEX.APR (srch/presto) (srch)
Wer kennt die Situation nicht: man ahnt, daß eine Aufgabe mit "allegro" im Prinzip zu lösen ist - aber in der Praxis fehlt einem die Zeit für die Parametrierung. Statistische Auswertungen fallen in diesen Bereich. Neben dem Aufgabenbereich der rechnerischen Auswertungen (Exporttyp R) gibt es die Häufigkeits-Auswertungen von Kategorieinhalten. Nur um diese soll es hier gehen. Die typische Situation ist doch, daß der Chef ruft: "Schnell, Frau Schneckler, ich brauche eine Liste der am meisten vergebenen Signaturgruppen!" oder: "Ich muß wissen, welches die zwanzig dicksten Bücher in unserem Bestand sind!" Was dann? Dem Mann erzählen, daß das nicht so einfach ist? Dieses Dilemma ist behoben, denn jetzt gibt es QUANT, die universelle QUANTitative Auswertungsmethodik.
Was leistet QUANT?
Zwecks Anwendung baut man sich folgende Zeile bei den "Eigenen Routinen" in die .OPTDatei ein:
R Quantitative Auswertung, QUANT.BAT, Häufigkeitslisten von Kategorieinhalten
QUANT.BAT kann man auch von Hand starten, dann teilt es mit, welche EnvironmentVariablen man vorher setzen soll.
Ergebnis: eine Datei QUANT bzw. QUANTS, in der die ausgewerteten Daten alphabetisch bzw. nach Größe geordnet stehen.
Es folgt eine knappe Übersicht des Ablaufs. (Vollständige Beschreibung: siehe Datei QUANT.TXT).
Zuerst sind verschiedene Fragen zu beantworten:
(Die Fragen erscheinen immer in grün, die Antworten in gelb)
Wählen Sie: 1 = nur den Anfangsteil auswerten (Ende beim Trennzeichen) 2 = jeden Teil auswerten (auch Teile zwischen den Trennzeichen) 3 = nur Teil hinter dem TrennzeichenDies läßt sich nur mit 1, 2, 3 beantworten, was in %C3% gespeichert wird. 6. Sortiermodus:
Jetzt kommt eine KontrollAnzeige, wo man nochmal sieht, was jetzt als Vorgabe benutzt wird. Wenn irgendwas nicht stimmt, antwortet man mit 'n', und es geht von neuem bei 1. los.
Wenn man 'j' gesagt hat:
12. QUANT und QUANTS sind ASCIITextdateien, die man beliebig weiterverwerten kann.
Schematischer Ablauf von QUANT.BAT :
Abfragen Export mit asort Export mit vom ----------------> QUANT -----> QUANT.ALG ------------> QUANT Benutzer C-FI.APR COUNT2.APR (srch/presto) (srch) asort wahlweise dann noch QUANT ---------> QUANTS oder sort
Im Prinzip ist vieles mit "allegro" machbar, aber was man alles bedenken, beachten und vor allem wissen muß daran dürften bis heute in der Praxis manche schönen Datenbankpläne scheitern. Zwar sind die Fähigkeiten des Systems auch für nichtbibliothekarische Zwecke attraktiv, aber die Hürde war hoch, die man nehmen mußte, um diese Fähigkeiten effektiv zum Einsatz zu bringen. Es war eine Konfiguration mit allem Drum und Dran zu erstellen, dann die Indexparameter, dann die Anzeigeparameter. Dann testen ... und bis das alles stimmte ... Auch wenn man "eigentlich nur was ganz Einfaches" machen wollte, war es doch harte Arbeit.
Sie lesen richtig: die Hürde WAR hoch sie wurde weggeräumt. Jedenfalls für die Fälle, wo man eine relativ einfache Anwendung erstellen will. Zu den laufenden Bemühungen um Vereinfachungen (im Umfeld des Projekts avanti) kommt jetzt ein Paket hinzu, welches das Erstellen einer neuen Datenbank zu einer sehr leichten Übung werden läßt, die keine Kenntnisse der Konfigu und Parametrierung mehr voraussetzt.
Das neue Paket heißt PRONTO. Im Italienischen bedeutet das "fertig". In der Tat wird mit Fertigteilen gearbeitet. Es wurde ein Bausatz entwickelt, aus dem die notwendigen Dateien: .CFG, .cPI, .cPR zusammengesteckt werden. Das Zusammenstecken passiert sogar automatisch, d.h. man braucht die Teile selbst gar nicht in die Hand zu nehmen.
Was zu tun bleibt, ist nur ein absolutes Minimum: man muß in einem Dialog die Datenfelder festlegen, bis zu 20, aus denen die Sätze hinterher bestehen sollen, und für jedes Feld einige Eigenschaften. Das sehen wir uns jetzt an.
(Vollständige Beschreibung aller Einzelheiten: siehe Textdatei PRONTO.TXT)
PRONTO.BAT steuert den gesamten Ablauf. Starten Sie es vom CockPit oder per Hand, das ist egal.
Es werden zuerst 2 Dinge abgefragt:
1. Name der Datenbank (bis zu 4 Zeichen) z.B. BANK
Der eingegebene Name wird zugleich als Name des Unterverzeichnisses benutzt!
2. Kennbuchstabe für die Konfiguration z.B. K
Vorher wird gezeigt, welche es schon gibt; man wählt einen noch nicht vorkommenden Buchstaben.
Dann kommt eine Prozedur, die bis zu 20mal abläuft:
Dabei muß man die Namen der gewünschten Datenfelder eingeben und zu jedem Feld 8 Fragen beantworten:
(diesen Ablauf steuert die Stapeldatei PRONTO2.BAT)
Man kann während des Eingebens der Felddaten nicht zu einem schon abgeschlossenen Feld zurück, aber wenn die 8 Fragen beantwortet sind, kann man noch korrigieren (s.u.). Es empfiehlt sich deshalb, die Liste der Elemente vorher zusammenzustellen, damit man nicht unnötig ins Schleudern kommt oder die Übersicht verliert, weil nicht alles gleichzeitig angezeigt wird.
Frage: Default: Anmerkung ------------------------------------------------------------------------------------------- Kurzbezeichnung fuer Kategorieliste (nur f. interne Zwecke) wird nur in CFG eingetragen Langbezeichnung fuer Abfrage und Anzeige wird später sichtbar Prüfbuchstabe (c:Artikel, d:Person, e:Jahr) a s. Handbuch Anh.A.1.2 Pflichtfeld j/n j Eingabezwang Mehrfachabfrage gewünscht j/n n Eingabeschleife Ziffer für Register / 0: nicht indexieren 0 in welches Register? Trennzeichen (z.B. ; oder /, b = Blank, n = keine Trennung) ; wenn Zerlegung gewünscht Anzeige gewuenscht? j/n j n: wird nicht gezeigt
Das Programm erstellt aus den Eingaben die Dateien K.CFG, BANK.KPI und D1.KPR. Sie können dann sofort mit der Eingabe beginnen, oder vorher noch diese Dateien verbessern, denn anschließend kommt dieses Menü:
1 : Konfiguration nochmal bearbeiten (z.B. Abfrageliste!) K.CFG editieren 2 : Indexparameter bearbeiten BANK.KPI editieren 3 : Anzeigeparameter bearbeiten D-1.KPR editieren 8 : CockPit aufrufen mit den korrekten Einstellungen! 9 : Mit der Dateneingabe beginnen Datenbank wirklich anlegen c : Alles wieder loeschen Das Projekt verwerfen n : Neues Projekt Von vorn beginnen x : EXIT PRONTO beenden
Die Kurzanzeige wird aus den ersten 4 Feldern zusammengebastelt, das wird man evtl. berücksichtigen wollen!
Standardmäßig ist jede Kategorie beliebig wiederholbar, auch wenn keine Mehrfachabfrage eingestellt wird, und jeweils bis zu 2000 Zeichen lang. Innerhalb der Kategorien kann ¶ (Strg+t) als Absatzende eingegeben werden (bewirkt neue Zeile beim Druck); für den Index wird der Text generell an dieser Stelle abgeschnitten.
Die Kategorienummern muß man sich nicht ausdenken: Das Programm erteilt selbst die Nummern #10, #15, ..., #95. Das Schema ist somit immer zweistellig, was vollkommen angemessen ist. Die #00, #01 und #99 gibt es kostenlos dazu, in #00 werden automatisch IdNummern eingetragen, #99a und #99b werden für Aufnahme bzw. Bearbeitungsdatum genommen. Natürlich kann man die Nummern später in der CFG ändern und ergänzen, d.h. weitere einbauen.
Auf die neue Datenbank lassen sich dann auch die Methoden QUANT und QUEX anwenden, d.h. man kommt jetzt ohne jede Ahnung von der Parametrierung von den Anfängen bis zu recht diffizilen Produkten.
Wie kriege ich meine vorhandenen Daten hinein?
Wenn schon eigene oder Fremddaten in irgendeiner Form vorliegen und in eine neu geschaffene "allegro"Datenbank zu übertragen sind, muß man natürlich importieren. Das leistet PRONTO nicht. Die Bandbreite der Fremdformate ist viel zu groß, als daß man dies spürbar automatisieren könnte.
Empfehlung (wenn man die Importsprache nicht beherrscht): zuerst die Daten (mit Textmakros, mit eigenem Programm oder wie auch immer) in eine Form bringen, die schematisch so aussieht (man muß sich nach der PRONTOProzedur die CFG ansehen, da das Programm die Kategorienummern der neuen Datenbank selber festlegt):
#00 IdNr Satz 1 #nn aaaa #nn bbbbb ccccc dddddd eeeeeeee fffffffff gggggggggg hhhhhhhh iiiiiii jjjjjjj kkkk llllllllll mmmmmmmm ... #nn pppppp ... der Anfang des nächsten Satz wird an #00 erkannt #00 IdNr Satz 2 #nn rrrr ssssss tttttttt uuuuu #nn vvvvv wwwwww xxxxxxxxx yyyyyyy...
wobei #nn die Kategorienummern sind, wie sie in der CFG definiert sind. #00 kann leer sein, wenn man keine eigenen IdNummern hat, aber nicht entfallen, denn daran merkt das Programm, daß ein neuer Satz beginnt! Lange Kategorien können, aber müssen nicht, beliebig umgebrochen sein, so daß Fortsetzungszeilen immer mit Leerzeichen anfangen.
Auf eine solche Datei kann man das Importprogramm loslassen und dafür die Standardparameter kat00.aim verwenden! (Kopie kat00.kim machen, wenn man mit K.CFG arbeitet.) Die entstehende Grunddatei indexiert man in die neue Datenbank hinein (siehe Handbuch Kap. 7 und 9). (Wenn der Text anders aussieht, z.B. ein spezielles Satzendezeichen verwendet wird, muß man kat00.kim geringfügig ändern.)
Dieselbe externe Datenstruktur ist auch für das Programm VPW wichtig. Deshalb werden dort (s.S. 9-10) noch weitere Einzelheiten beschrieben. Mittels VPW kann man jetzt auch schon unter Windows neue Daten in eine Datenbank einspeisen, und zwar ohne vorherige Importprozedur, wenn man von dieser Datenstruktur ausgeht.
Die Exportsprache ist eine tragende Säule des allegro-Systems und begründet seine Flexibilität und Offenheit für alle Formate. Bildschirmanzeigen, Karten, Listen, Ausgabedateien, Indexregister werden alle damit programmiert. Mächtige und vielseitige Werkzeuge sind jedoch nicht leicht zu beherrschen, und so kann man leider nicht von einem Tag zum nächsten Allegrologe werden. Große Verdienste um die Verbreitung von Kenntnissen der Exportsprache hat sich Heinrich Allers mit seinem Lehrbuch erworben. Es bietet zu jedem einzelnen Befehl eine ausführliche Lektion mit jeweils genau passenden Beispielen. Dieses Lernsystem, organisiert mittels CockPit, kann durchaus auch neben dem Handbuch als Referenz der Exportsprache dienen. Nicht jeder Befehl ist jedoch gleich wichtig, und so fühlt sich mancher am Anfang erschlagen von der Fülle des Materials. Wo soll man beginnen, was ist nicht so wichtig, was wird unbedingt gebraucht?
Das neue Lernpaket EXPEX hat zum Ziel, interaktiv von einfachsten Ansätzen bis zu einer recht anspruchsvollen Parameterdatei in die Programmierung einer Bildschirmanzeige einzuführen. Man lernt dabei eine Reihe von wichtigen Befehlen, man lernt aber auch gleich das Testen mit der Expressmethode der "Merseburger Testschleife" (Handbuch S.204), denn wer produktiv sein will, muß schnell arbeiten können.
EXPEX wurde in Zusammenarbeit mit David Helliwell von der Bodleian Library in Oxford entwickelt. Deshalb sind die Kommentare in den Dateien in Englisch, und es wird mit einem vereinfachten MARC-Format gearbeitet. Das mag als Nachteil gesehen werden, andererseits wird neuerdings sehr viel von internationaler Vereinheitlichung geredet und von einer notwendigen Orientierung an internationalen Standards, sprich MARC und den Anglo-American Cataloguing Rules (AACR). Damit kennt sich noch nicht jeder aus. So kann EXPEX nebenbei auch ein wenig helfen, das Einarbeiten in diese Standards zu erleichtern.
Wie arbeitet man mit EXPEX? Es erklärt sich weitgehend selbst, daher können wir uns hier kurz fassen. Nach der V14c- Installation hat man ein Unterverzeichnis EXPEX, auf dem alle Dateien liegen.
Start: entweder mit der Hand, indem man von C:\ALLEGRO aus den Befehl expex\expex gibt, oder man baut sich in die Vorgabendatei CP.OPT diese Zeile ein (bei den "Eigenen Routinen"):
R Export-Experimente, EXPEX\EXPEX.BAT, Interaktiver Einstieg in die Exportsprache
dann braucht man nur im CockPit diesen Menüpunkt anzuwählen. Alles weitere erklären Ihnen dann die Menütexte und die Kommentare in den Dateien. Wenn man EXPEX nicht benötigt oder alles verstanden hat, braucht man nur das Unterverzeichnis EXPEX zu löschen, und das Ganze ist spurlos beseitigt, kein Ballast bleibt zurueck.
Wenn man anschließend auf den Geschmack gekommen ist, kann man sich sukzessive mit dem Lehrbuch weitere Feinheiten aneignen. Wenn man noch mehr über MARC wissen will, greift man zur Konfiguration $U.CFG und den Dateien MARC.UPI und D-1.UPR, um damit eine "richtige" MARC-Datenbank aufzubauen, oder man holt sich die Beispieldatenbank, die unter FORMINT.EXE auf dem Verzeichnis FORMATE des FTP-Servers liegt. Sie enthält die offiziellen Testdaten der LC mit allen verschiedenen Satztypen, die im Zuge der "format integration" geschaffen wurden.
Das Programm VPW ist zunächst für Windows, LinuX und SUN verfügbar. Der Aufruf sieht genauso aus wie bei VP.
Wenn ein Datensatz angezeigt wird, hat man bisher diese Funktionen: (siehe news Nr. 40)
[n] = naechster Satz [v] = voriger Satz [m] = andere Nummer [a] = Anfang [z] = Ende [F] = Familie [K] = Indexeintraege [k/c] = Kategorien [i] = Index [x] = Kurzanzeige [f] = FindBefehl [d/D] = Download (Bildschirm/Datei)
Die folgenden kommen neu hinzu: (Wenn mit a0 oder ohne Option a gestartet wird, gibt es nur [E])
[E] = Satz > E.DAT [T] = Satz tilgen [Y] = Untersätze löschen [N] = Neue Kategorie eingeben [t] = Kategorie tilgen [S] = Satz abspeichern [C] = Kopie als neuen Satz nehmen [u/U] = Upload Satz/Datei [G] = E.DAT -> aktuellen Satz einlesen
Zusätzlich gebraucht wird eine Parameterdatei E-W.APR, die bei Funktion [E] die Ausgabe des Satzes in die Datei E.DAT ausführt. E.DAT hat eine sehr einfache Struktur, die auch mit anderer Software leicht herzustellen ist. (Unter UNIX heißt die Datei "e.dat", also klein geschrieben! Wir schreiben sie hier groß, damit der Name im Text besser auffällt) Die neuen Funktionen machen folgendes:
[E] |
Export for Edit : exportiert den aktuellen Satz mittels ew.apr in E.DAT Diese Datei kann sofort anschließend in einem anderen Fenster editiert werden. Wenn in ew.apr oBefehle stehen (oder der Befehl to), werden diese zur Umcodierung verwendet. Das ist notwendig, wenn ein UNIX oder WindowsEditor benutzt wird, der ANSICodes voraussetzt. So kann man eine PCDatenbank im ASCIICode unter Windows und UNIX unverändert editieren. |
[G] | Get : Liest die Datei E.DAT ein und überschreibt mit den Daten den aktuellen Satz. Kategorien, die in E.DAT nicht vorkommen, bleiben im aktuellen Satz erhalten. Weitere wichtige Hinweise siehe unten! |
[C] | Copy : Der aktuelle Satz wird hierdurch zu einem neuen Satz, d.h. wenn man anschließend [S] gibt, wird er als neuer Satz gespeichert. Vorher kann man [E] geben, die Datei E.DAT bearbeiten, sie mit [G] wieder einlesen, und den bearbeiteten Satz dann speichern: |
[S] | Save : Speichert den aktuellen Satz, der vorher durch beliebige Manipulationen mit anderen Funktionen (t,N,G,Y) verändert wurde. Wenn der aktuelle Satz ein gelöschter ist, wird er als neuer Satz behandelt. Wenn man sich vorher überzeugen will, wie der Satz in Kategorieform aussieht: [k] oder [c] geben |
[T] | deleTe : Der aktuelle Satz wird gelöscht. Das entspricht der Löschfunktion (mit [Entf]) des normalen PRESTO. |
[t] | delete 1 field : eine Kategorie kann gelöscht werden, indem man ihre Nummer eingibt. Wenn die betr. Kategorie nicht vorliegt, passiert nichts. Mit [S] speichern, sonst nicht wirksam. |
[N] | New field : Es kann eine neue Kategorie eingegeben werden, und zwar muß man Kategorienummer und Text eingeben. Das Programm ordnet sie in den aktuellen Satz ein. Wenn diese dort schon vorhanden ist, wird sie durch die neue Eingabe ersetzt. Ist als Wiederholungszeichen '~' gesetzt, wird das nächste freie Wiederholungszeichen anhand der CFG bestimmt und dafür eingesetzt. |
[Y] |
remove subrecords : Wenn ein hierarchischer Satz vorliegt, werden alle Untersätze beseitigt, nur der Hauptsatz bleibt übrig. Das passiert nur im Arbeitsspeicher! Erst mit [S] wird der verkürzte Satz auch so abgespeichert. Sinn: hat man [E] gegeben und den Satz dann bearbeitet und dabei die Reihenfolge der Untersätze verändert oder neue eingefügt, kann anschließend mit [G] das ganze Gefüge in der neuen Zusammensetzung neu eingelesen und der gesamte Satz dann mit [S] abgespeichert werden. Empfehlung: Man gibt [E], macht die Bearbeitung, dann [Y] [G] [S]. |
[u] | upload 1 record : Wenn eine Datei u.dat existiert, wird daraus der erste oder nächste Satz gelesen, angezeigt und gespeichert. Anschließend kann er genauso behandelt werden wie jeder andere Satz. |
[U] | Upload many records : Die Datei u.dat soll teilweise oder insgesamt eingelesen und in die Datenbank eingespeist werden. Wenn man U drückt, wird gefragt "How many records?" Gibt man z.B. 10 ein, werden die nächsten 10 Sätze geladen, angezeigt und gespeichert, gibt man 0, wird die gesamte restliche Datei gelesen. |
Wichtige Hinweise zu den Funktionen [G], [u] und [U]
Wir haben hier eine neue, vereinfachte Ladeschnittstelle zum Einspeisen von Daten in ein allegro-System! Denn die Dateien E.DAT bzw. U.DAT müssen gar nicht durch vorherigen Export mit der Funktion [E] entstanden sein. Wenn man [G] bzw. [u/U] betätigt, werden diese Dateien geladen, egal wo sie herkommen und was drinsteht. Also kann man auch Sätze einlesen, die mit anderer Software erstellt wurden. Die formale Struktur dieser Datei ist einfacher als die bisherige Grunddatei (Typ .ALG), also leichter herzustellen, und es muß kein Import mehr vorgeschaltet werden. Auch das im Entstehen begriffene Windows-PRESTO wird diese Schnittstelle haben.
Es gelten folgende Regeln: (einige sind nur für Funktion [G] relevant, nicht für [u/U])
Bevor man [S] gibt, kann man mehrfach in die Bearbeitung gehen, um z.B. einzelne Kategorien nochmals zu korrigieren.
Tip:
Wenn man eine oder mehrere bestimmte Kategorien in eine Anzahl von Sätzen einfügen will, bereitet man eine Datei E.DAT mit genau diesen Kategorien vor, ruft dann die Sätze einzeln auf, gibt jeweils [G] und [S] hintereinander denn die E.DAT bleibt stehen, solange man nicht erneut den Befehl [E] gibt (dann wird sie überschrieben).
Auf der folgenden Seite wird noch die wichtige Parameterdatei E-W.APR vorgestellt, die man zum Erstellen der externen Daten benötigt.
Exportparameter ew.apr
Mit dieser Export-Parameterdatei wird die externe aus der internen Struktur erzeugt. (Eine so produzierte Datei kann man mit IMPORT und KAT00.AIM wieder in eine Grunddatei verwandeln.) Sie funktioniert mit jeder Konfiguration, d.h. man macht z.B. eine Kopie E-W.PPR für P.CFG. Für UNIX sind nur ganz geringe Änderungen nötig (10 statt 13 10).
Export fuer externe Editierung (Funktion E) und/oder Einlesen von Daten in VPW (Funktion G) 960523 zl=72 Zeilenlaenge 72 zi=1 1 Leerzeichen am Zeilenanfang bei Fortsetzungszeilen (d.h. wenn eine Kategorie laenger als 72 ist) zb=" " fuer den Zeilenumbruch gilt nur " " als Trennung ze=13 10 Zeilenendecode ze=10 UNIX nur 10 zm=0 Kein Seitenumbruch! ae=13 10 Zeilenendezeichen auch am Satzende ae=10 bei UNIX fl=0 Keine feste Anzahl Zeilen pro Satz ks=0 KategorieStartposition 0: gesamten Text incl. '#' ausgeben ke=C &0 KategorieEnde: Neue Zeile, dann auf Position 0 beginnen #hi +A e0 #zz 0 Untersatz > #A #00 +A e0 #zz 0 wenn #00 vorhanden, > #A #t{ "#00" C } #00 ergaenzen, wenn keine vorhanden #A ## Pauschalausgabe aller Kategorien in interner Reihenfolge /nnn wenn bestimmte Kategorien nicht extern editiert werden sollen kann man solche Zeilen ergänzen #nnn wird dann nicht ausgegeben Achtung: die naechsten 2 Zeilen aktivieren, wenn benoetigt: d.h. wenn die Datenbank ASCII ist, der Editor aber ANSI erwartet to Tabelle o.apt laden: temporaere Umcodierungen ASCII <> ANSI dx=1 Umcodierung aktivieren
Noch mehr Komfort für Teilfelder
Damit man auch Teilfelder bequem extrahieren kann, wurde der Manipulationsbefehl w etwas erweitert:
Wenn man z.B. dieses hat:
#dt p"260$c" e5 w
wird der Arbeitstext als Kategorienummer interpretiert, also #260, und deren Teilfeld c wird automatisch neuer Arbeitstext. (Das '$' ist hier wirklich das Zeichen '$', nicht der Code 31, damit es auch unter UNIX geht).
Bisher war nur
#dt p"260" e3 w
möglich, damit wurde aber die gesamte Kategorie #260 zum Arbeitstext. Man konnte zwar dann#dt p"260" e3 w <tf>c
machen, aber genau das geht nicht bei der QUEX-Methode: dabei kann man die Kategorienummer per U übergeben und auswerten, aber nicht die Teilfeldkennung. Mit der neuen Erweiterung geht dieses jetzt.
Nochmal ganz knapp: Man kann diesen Aufruf machen:
srch .... Uca260$c ... dann entsteht #uca260$c
und dann in der Parameterdatei schreiben:
#uca w
und schon hat man als Arbeitstext das Teilfeld c der Kategorie #260. (Aber nicht vergessen: hierbei immer '$' als Steuerzeichen, damit es auch unter UNIX geht, nicht '<tf>').
Teilfelder eliminieren
kann man jetzt auch. Wenn man Kategorien mit vielen Teilfeldern hat, wie bei aLF und ORDER, muß gelegentlich beim Exportieren das eine und/oder andere Teilfeld weggelassen werden. Bisher braucht man dafür mehrere Zeilen in den Exportparametern und muß dabei sehr aufpassen. Jetzt gibt es einen ganz einfachen Manipulationsbefehl:
... ~x ... nimmt das Teilfeld <tf>x aus dem Arbeitstext heraus.
Dabei gelten mehrere Regeln:Verschluckte Punkte
bereiteten immer wieder Ärger, wenn mit zl=0, also ohne Zeilenumbruch gearbeitet wurde. Zwischenteile wie 17=". " büßten dann den Punkt ein, wenn als Präfix verwendet. Man konnte das durch 17=46 " - " umgehen, aber wer kommt schon auf sowas! Das Problem wurde beseitigt.
Wenn man mit dem Befehl OSTWEST.BAT den erweiterten Zeichensatz geladen hat, dann ist zugleich ein Hilfsprogramm namens AW.EXE aktiviert, das einem mit [Alt]+w die Zeichentabelle zeigt. Was aber, wenn man im Anchluß eine andere Software benutzt, die vom Programm AW gestört wird? Nun, AW kann man mit einem anderen Hilfsprogramm wieder entfernen. Genauer gesagt, es gibt zwei kleine Hilfsprogramme: MARK.COM und RELEASE.EXE. Das erste startet man unmittelbar vor AW (oder vor OSTWEST.BAT), das zweite ruft man auf, wenn AW entfernt werden soll. Nach Installation von V14c haben Sie diese Programme auf Ihrem Verzeichnis, ansonsten liegen sie auch auf dem FTP-Server im Verzeichnis UTILITY.
Vorgabendatei
Der Menüpunkt "Vorgaben" unter "Optionen" soll die momentan benutzte Vorgabendatei zum Bearbeiten auf den Schirm bringen. Das funktionierte nicht immer. Der Fehler wurde behoben.
Kartendruckparameter
Für PRESTO kann die Befehlszeile q zur Aktivierung von Kartendruckparametern jetzt im oberen Bereich der Vorgaben (für den Menüpunkt "benutzen") und getrennt im unteren Bereich (für den Aufruf von PRESTO unter "Funktionen") eingestellt werden. Vorher wirkte die zweitgenannte Einstellung auch auf den "benutzen"-Aufruf.
Indexparameter
Auf dem Funktionsmenü für das Programm INDEX wurden die Indexparameter nicht auf dem Datenbankpfad gesucht. Das wurde korrigiert.
Update-Dateinnummer
CockPit hatte unter "Funktionen" / "Update" kein Eingabefeld für die Dateinummer für die neu einzuspeisenden Daten. Es wurde immer die 1 genommen. Das fehlende Eingabefeld wurde eingerichtet.
Manuelle Unterbrechungen
sind wieder möglich, wenn man beim Aufruf -m1 gesetzt hat. Bei Druck auf 'x' hält das Programm an, sobald der nächste Satz fertig bearbeitet ist. Wenn nochmals 'x' gedrückt wird, erfolgt Abbruch (aber was drin ist, bleibt drin!), bei Leertaste läuft das Programm weiter.
Kontroll-Liste
Option -e erzeugt jetzt in jedem Fall eine Ausgabe. Wenn -fm21 gesetzt wurde, stehen darin diejenigen Sätze, die identifiziert, aber wegen Modus '2' nicht eingemischt wurden. Darüber steht jeweils "record match found", mit dem Primärschlüssel dahinter.
Bei -fm11 (wie bei -fc) heißt die Überschrift wie bei -fc "Neuer Satz" und darunter "Alter Satz", damit man sieht, was man vorher hatte (und nun eben nicht mehr hat).
Alternative Indexparameter
Wie bei PRESTO und APAC geht jetzt auch die Option -I, mit der man eine andere Indexparameterdatei laden kann. Für UPDATE ist das sinnvoll, wenn für einen Mischvorgang ein anderer Schlüssel als Primärschlüssel benutzt werden soll. In diesem Fall würden sich die Parameter nur durch die Reihenfolge der ak-Befehle unterscheiden.
Protokoll
Update schreibt seine Meldungen außer auf den Bildschirm auch in eine Datei namens UPRO. Wenn man von einem Verzeichnis aus mehrere Updates startet, kommt es zum Konflikt. Das ist verhinderbar: man gibt jedem UPDATE-Aufruf die Option -xxyz mit jeweils einem individuellen Namen xyz mit.
Die UNIX-Version hat noch eine weitere Option: -B. Diese bewirkt, daß die Meldungen nur in die Datei, nicht auf den Bildschirm geschrieben werden. Gleiches gilt auch für das UNIX-Programm srchb.
Option -u
Jetzt kann man den Dateinamen ohne Pfadangabe eingeben. Gesucht wird dann zuerst auf dem Datenverzeichnis, dann auf dem Startverzeichnis, jedoch nicht auf dem Programmverzeichnis (es sei denn, man startet von dort).
Teilfelder aktualisieren
Wenn in der Update-Datei eine Kategorie steht mit <tf><tf> am Anfang und dann einem oder mehreren Teilfeldern, werden die Teilfelder ausgetauscht. Wenn z.B. #260 <tf><tf>bRowohlt<tf>c1980 in der Update-Datei steht, im Titelsatz aber hat man #260 <tf>aBerlin<tf>bFischer<tf>c1977, dann kommt heraus: #260 <tf>aBerlin<tf>bRowohlt<tf>c1980.
Sonderfall: Die Vorgabe #260 <tf><tf>b würde das Teilfeld <tf>b löschen.
Fremddaten des Typs C
also mit fester Anzahl von Feldern je Satz, werden mit dem Befehl F importiert (übrigens ist f gleichwertig). Es gab dabei eine Ungenauigkeit: wenn das betreffende Feld leer war, entstand eine leere allegro-Kategorie. Dies passiert jetzt nicht mehr. Man konnte es verhindern, indem man z.B. schrieb:
#71 F8 } 1 { 1
Wenn nämlich Feld 8 leer ist, kann "} 1" nicht ausgeführt werden, der Paragraph #71 wird abgebrochen und Feld #71 entsteht nicht. Solche Kunstgriffe sind jetzt unnötig.
Version 14b erhielt in letzter Minute, kurz vor dem 8.1.96, zusätzliche Funktionen, die unter dem Namen "Flip" zusammengefaßt wurden. Flips sind Umschaltungen auf andere Sätze oder Registerstellen, die durch Knopfdruck ausgelöst werden können. Zusätze in den Anzeigeparametern (Datei D-1.cPR) ermöglichen es, dem OPAC-Benutzer solche Schaltknöpfe anzubieten, und zwar abhängig vom Inhalt des angezeigten Satzes, also sehr individuell. news Nr. 40 berichtete darüber auf der letzten Seite nur allzu knapp. Wenig bekannt ist, daß es zwei Methoden zum Flippen gibt. Die zweite wurde nur in der README-Datei der V14b beschrieben. Damit endlich alles zu diesem Thema übersichtlich an einer Stelle zu finden ist, folgt hier eine Zusammenstellung.
Besonders bei der Gestaltung von OPACs, aber auch sonst, wird man mit Aufgaben konfrontiert, die noch mehr Querverbindungen zwischen Datensätzen verlangen, als es die bisherigen Methoden schon ermöglichen. Seit V11.2 schon kann man bei der Anzeige eines Datensatzes deutliche Hinweise auf andere Datensätze erscheinen lassen oder diese nachladen und gleich mit anzeigen. Das letztere führt manchmal zu weit (komplizierte, überfrachtete Anzeige), das erstere ist zu wenig direkt und verlangt vom Benutzer, ein anderes Register aufzuschlagen und dort einen bestimmten Begriff mit der Hand einzugeben. Seit V14b kann man folgendes tun: man läßt an beliebigen Stellen innerhalb der Anzeige sogenannte Flips erscheinen, z.B. so: (die eckigen Klammern haben als solche keine Funktion!)
[1] Hinweis1 [2] Hinweis2 [c] Hinweis3 ...
Den Ziffern kann man eine auffällige Farbe geben, damit sie optisch hervorstechen (nur unter DOS allerdings).
Eine typische Zeile in den Anzeigeparametern, um so etwas zu erzeugen, sieht z.B. so aus:
#31 p{ C "[" t71 "1" t76 "] Werke zum Thema " } FLIP 1 anzeigen
Dieses muß innerhalb der Anzeigeparameter an einer geeigneten Stelle stehen, am besten unterhalb oder oberhalb des gesamten Datensatzes. Damit überhaupt etwas passiert, muß es eine Anwendervariable namens #uZ1 geben, in der steht, was bei Druck auf '1' tatsächlich passieren soll. Folgende Zeile würde diese Anwendervariable erzeugen:
#31 p"?|3" dZ1 aZ1 FLIP 1 generieren
Diese Zeile steht am besten über oder unter der oben gezeigten Zeile. Wird dann die Ziffer 1 gedrückt, flippt das Programm zum ersten betreffenden Datensatz, d.h. holt ihn sofort auf den Schirm, schaltet aber auch das betreffende Register an die bewußte Stelle, so daß man (nach Druck auf <Enter>) dort auch gleich blättern kann. Der neue Datensatz kann seinerseits weitere Flips präsentieren, die zu wieder anderen Sätzen hinführen. Mit <Bild> kann gleich wieder zum jeweiligen Ausgangssatz zurückgeschaltet werden, natürlich mehrfach hintereinander. Man ist versucht, das Schlagwort "Hypertext" zu bemühen, wobei aber an existierenden Daten noch nicht einmal irgend etwas ergänzt oder verändert werden muß.
Für geübte Parametrierer wird die Methode sehr leicht anzuwenden sein: man muß nur die hinter den Flips steckenden Registereinträge innerhalb der Anzeigeparameter präparieren und in bestimmte Anwendervariablen speichern, und zwar #uZ1 ... #uZ9 für die Ziffern 1 bis 9 (ein großes 'Z'!).
Wenn z.B. #uZ4 den Inhalt ?|1Shakespeare, William hat, wird beim Druck auf Ziffer '4' in das Register 1 auf shakespeare, william geschaltet. Ohne das '?' kommt der erste Datensatz zur Anzeige, der zu dem Registereintrag gehört. Wenn außerdem am Anfang von #uZ4 noch das Präfix "<0" steht, wird auf die andere Datenbank umgeschaltet, falls eine aktiviert wurde. Man bemerkt: hinter Flip [4] steckt also nicht notwendig Register 4! (Statt Ziffern sind auch alle Buchstaben möglich, hinter denen kein Befehl steckt, siehe oben [c].) Die präparierten Registereinträge müssen auch nicht exakt der Registerform entsprechen, denn es wird die Umcodierung angewendet, die innerhalb der Indexparameter programmiert ist (Sprungmarken #-1 bis #-9). Klipp und klar: wenn in #uZ4 etwas steht, wird bei Druck auf '4' geflippt, egal was auf dem Schirm steht! Umgekehrt: wenn ein Hinweis [4] in der Anzeige steht, aber #uZ4 nicht besetzt ist, passiert bei Druck auf '4' nichts. Man parametriere mit Sorgfalt, wie immer.
Zum Beispiel könnte man Flips für die Schlagwörter oder Systemstellen machen, die bei einem Titel angegeben sind. Der Benutzer kann dann zu der jeweiligen Registerstelle flippen, wo diese Schlagwörter etc. stehen, ohne mit der Hand umschalten und eine neue Eingabe machen zu müssen. (Beispieldatei: D-FLIP.APR.)
Dieses neue "feature" ist auch in allegro-X enthalten. Die Grafikversionen von PRESTO und APAC ermöglichen es ferner, hinter einem Flip einen Programmaufruf zu verbergen. Etwas Ähnliches wird auch in die Windows-Version eingebaut werden.
Die erste Methode, Flips zu programmieren, setzt voraus, daß man u.U. viele Anwendervariablen #uZx zu überwachen hat. Wenn die Zahl der Flips von Datensatz zu Datensatz stark schwankt, oder wenn man sich z.B. aufgrund der Datenstruktur einen Automatismus überlegen kann, der alle benötigten Flips in einer Schleife programmieren kann, geht man am besten einen anderen Weg:
Man braucht hierzu nur eine Anwendervariable, in der die Flips nach folgendem Muster aneinandergereiht sind:
#ufv <tr>1FLIP1<tr>2FLIP2<tr>3FL...
Der Name dieser Flipvariablen ist nicht auf #ufv festgelegt. Jeder Flipeintrag beginnt mit einem Trennzeichen und dahinter einem Kennbuchstaben oder -ziffer. Der Kennbuchstabe ist auch beliebig. Als Trennzeichen schlagen wir das Teilfeldtrennzeichen '<tf>' vor, die Parametrierung, welche bei dieser Methode notwendig ist, vereinfacht sich dann etwas.
Man benötigt einen Abschnitt #` (` = ASCII 96) in der Anzeigeparameterdatei; dort muß die Auswertung der Tasten erfolgen. Die Sprungmarke ist fest und ab jetzt für diesen Flipmechanismus reserviert. Man benötigt hier keine akZeile, denn der Abschnitt wird nur programmintern angesprungen (ähnlich wie #--). Zu dem Zeitpunkt stehen automatisch in der Sondervariablen #u1 die Taste und die Nummer der gerade aktiven Datenbank, z.B.:
#u1 30
D.h. Taste [3] wurde gedrückt und aktiv ist Datenbank Nr. 0. Die Datenbanken sind von 0 bis 2 durchnumeriert, wobei die erste Datenbank die Nummer 0 hat.
In diesem Abschnitt wertet man die Taste (und bei Bedarf auch die Datenbanknummer) aus. Man extrahiert aus obiger Anwendervariable den FlipBefehl, der zu dieser Taste gehört. Dieser Befehl ist das Ergebnis dieses Abschnittes. Das Programm wertet dann das Ergebnis (d.h. den Arbeitstext) aus und reagiert entsprechend.
Ein Beispiel:
In dem Teil für die Anzeige eines Titels findet man diese Befehle (an der Stelle, wo die Flips im Anzeigetext erzeugt werden sollen):
... Erzeugen der FlipAnwendervariablen (hier ist es #utz): #31c p"<tf>c?|3" Atz Umschalten auf Reg. 3 Körperschaftsschlagwort (Ort) #31p p"<tf>p?|3" Atz Umschalten auf Reg. 3 Personenschlagwort #31m p"<tf>p?|3" Atz Umschalten auf Reg. 3 Musikschlagwort ... Erzeugen des Hinweises in der Anzeige: #31c { " [" t71 "1" t76 "] mehr zu: " } #31p { " [" t71 "2" t76 "] mehr zu: " } #31m { " [" t71 "3" t76 "] mehr zu: " } ...
Auswertung der Tasten:
Das Programm springt automatisch nach #`, wenn auf dem Anzeigebildschirm eine nicht definierte Buchstaben oder Zifferntaste gedrückt wird. Programmieren Sie hier einen kompakten Sprungverteiler, damit das Programm bei Tasten, die zu keiner Reaktion führen sollen, schnell weitermachen kann. (Dieser Abschnitt muß an einer Stelle stehen, die beim normalen Durchlauf nicht erreicht wird.) Das Schema sieht so aus:
#` Welche Taste wurde gedrueckt? #u1 +c i4,1 e0 #zz 0 Taste steht auf erster Stelle im Kategorietext, deshalb i4! #u1 +p i4,2 e0 #zz 0 bei mehr als zweistelligem Schema muß der iBefehl #u1 +m i4,3 e0 #zz 0 angepaßt werden: z.B. i5,1 im dreistelligen Schema #u1 e0 #zz 0 Alle anderen Tasten dürfen hier keine Reaktion auslösen #+#
Extraktion des entsprechenden Flipbefehls: (hier zeigt sich der Vorteil der Verwendung von '<tf>' als Trennzeichen!) Es entsteht als Ergebnis praktisch der Befehl für das Kernprogramm, wohin es flippen soll:
#c #utz <tf>c Ergebnis: Arbeitstext ist jetzt der Flipbefehl von #31c #+# Rueckkehr zum Kernprogramm, dort wird der Sprung ausgefuehrt #p #utz <tf>p #+# #m #utz <tf>m #+#
http://www.biblio.tu-bs.de/allegro/index.htm
Der Web-Server der UB Braunschweig bietet neben Katalogangeboten auch einen expandierenden Zweig mit allegro-Information und -Dokumentation. Die news sind hier als HTML-Dateien zu finden, das Format '96, aber auch aktuelle Texte über ORDER und aLF sowie Aufsätze von Anwendern und Links zu allegro-Katalogen..
allegro-W : Bildschirmbeispiel
Die Abbildung zeigt ein Bildschirmbeispiel des im Entstehen begriffenen allegro for Windows. Man sieht ein Bearbeitungsfenster. Zunächst werden hauptsächlich Zugriffsfunktionen geschaffen, d.h. ein als OPAC einsetzbares Programm. Die erste Auslieferung wird aber auch schon Schreibfunktionen enthalten, wenn auch noch nicht im vollen Umfang ein Ersatz des bisherigen Systems darin zu finden sein wird. Das Feld "Eingabe:", sichtbar am unteren Rand, ermöglicht ein direktes Eingeben von Kategorien, die dann in den aktuellen Satz eingeordnet und sofort im oberen Bereich sichtbar werden.
Das im Vorjahr angelaufene Projekt avanti (siehe allegro news Nr. 39 und 40) bringt ganz neue Programme und Methoden hervor. In der Entwicklungsarbeit gelten die folgenden zwei Punkte als wichtigste Prioritäten:
Schon die bisherigen Programme ermöglichen es, eine Datenbank unverändert von einer auf die andere Plattform zu übertragen oder von zwei verschiedenen Plattformen zugleich darauf zu arbeiten. Das gilt sogar dann, wenn unterschiedliche Zeichensätze im Einsatz sind (ASCII vs. ANSI): Umwandlungstabellen sorgen dafür, daß man davon nichts merkt.
Die DFG genehmigte kurzfristig einen Antrag auf Personalmittel für das Vorhaben, eine Schnittstelle nach dem Standard Z39.50 zu schaffen. Eingestellt wurde für diese Aufgabe ab 1.7.96 Dipl.-Ing. Cord Veltkamp. Über dieses Vorhaben soll in der nächsten Ausgabe der news berichtet werden.
© 1996 UB Braunschweig, Bernhard Eversberg (b.eversberg@tu-bs.de)
Fragen bitte an:
ub@tu-bs.de