README-Datei V14b (14 K !)

Bernhard Eversberg EV at buch.biblio.etc.tu-bs.de
So Jan 7 13:52:44 CET 1996


README  V14b
------------  
(1996.01.08)

 Diese Diskette ist eine Update-Disk, sie enthaelt kein vollstaendiges
 System! Sie koennen also nur etwas damit anfangen, wenn Sie schon eine
 "allegro"-Installation haben. Siehe unter "Installation".
 (Als Neu-Anwender erhalten Sie eine Diskette "Kernsystem", die aber
 kein vollstaendiges System mehr enthaelt, sondern mit dieser Diskette
 ergaenzt werden muss.)

 Als "offiziell" gelten ab sofort nur noch Kernprogramme mit dem
 Datum 8.1.1996, Uhrzeit 14:02 oder spaeter.
 (14:02 deshalb, damit man unmittelbar die Zugehoerigkeit zu 14b erkennt)

 Inhalt:  (Empfehlung: Zeit nehmen fuer die Lektuere, es lohnt sich)
 -------
 -- Installation 
    - Neu-Installation   siehe --> README auf der Diskette 14a
	- Update-Installation
        Es wird nichts uebergebuegelt!
	- Bisherige Dateien und Programme in Reserve
	- Netz-Installation  siehe --> README auf Disk. 14a
 -- Tabellen o.apt und d.apt fuer ASCII -> ANSI (UNIX, Windows)
 -- Tabelle ansiasci.apt : ANSI -> ASCII mit OSTWEST.FON
 -- Parameterdatei D-FLIP.APR mit Beispielen fuer Flips
 -- Letzte Neuerungen: u.a. neue Option -I fuer PRESTO   [sehr wichtig]
                       und neue Manipulationsbefehle v und V
                       und: PRESTO toleriert jetzt Unordnung
 -- Letzte Korrekturen  [wichtig bei 3- oder 4-stelligen Kategorien]

Installation:
-------------
1. NEU-INSTALLATION: [wenn noch kein "allegro" auf dem Rechner ist]
--------------------
   Dazu brauchen Sie die Diskette "Kernsystem". Darauf steht gleichfalls
   eine Datei README mit den noetigen Anweisungen.
   Anschliessend nehmen Sie diese Diskette und fuehren 2. aus:

2. UPDATE-Installation:  (wenn Sie schon eine fruehere Version haben)
-----------------------
   im CockPit die Routine  "Neue Version installieren"
   anwaehlen, dann  'u'  fuer "Update" druecken.
   Dazu brauchen Sie dann NUR die "Update-Disk" !

Es wird nichts uebergebuegelt:
Bisherige Dateien und Programme werden in Reserve gehalten!
Die alten Programme und die wichtigsten Parameter- und Stapeldateien
werden auf ein Verzeichnis V14 kopiert, bevor sie ueberschrieben werden!
Die neuen Dateien werden zusaetzlich auf ein Verzeichnis 14b kopiert.
Im CockPit-Menue "Routinen" gibt es einen neuen Punkt "X : Extern".
Dieser macht bei V14a folgendes: es kommt ein kleines Menue, auf
dem Sie waehlen koennen, eine alte Datei zurueckzuholen oder eine der
neuen Dateien (wieder) zu aktivieren. Es wird jeweils eine Liste gezeigt,
welche Dateien dazu bereitstehen. Wenn also z.B. Ihre Bildschirmanzeige
bei 14a nicht mehr so aussieht wie frueher, dann holen Sie die alte 
Datei D-1.APR zurueck.
Die neuen Versionen der Parameterdateien haben das Datum 30.12.94, also
einen Tag spaeter als die bisherigen. Daher werden die alten nur dann
ueberschrieben, wenn Sie selbst daran noch nichts veraendert haben.
Sie koennen aber, wie gesagt, jederzeit sofort eine der neuen Dateien
aktivieren: Menuepunkt "X : Extern".
(Das wahre Datum steht in der Datei in der dritten Zeile)


Tabelle o.apt
-------------

Mit doppeltem Boden : Zeichenkonvertierung fuer das Editieren

Die Tabelle o.apt wandelt ASCII in ANSI um, damit man unter UNIX die
richtigen Zeichen sieht, wenn man auf eine DOS-Datenbank zugreift.
Fuer jeden Code, der nicht identisch ist, muss eine Zeile dieser Form
vorkommen:

o .ASC ANS

Wobei ASC der dezimale ASCII-Code, ANS der dezimale ANSI.Code ist.
Beispiel:

o .132 228   das kleine ae

Nur diejenigen Codes, die veraendert werden muessen, brauchen mit
einem o-Befehl angegeben zu werden. Kurz: standardmaessig ist 
o .x x  fuer jedes Zeichen voreingestellt.
Beim Befehl E bzw. beim Abspeichern findet die Umwandlung automatisch
statt. Kurz: Was man zu sehen bekommt, ist immer der zweite Code des 
o-Befehls, gespeichert wird aber der erste.
Es ist klar, dass die Tabelle ein-eindeutig sein muss, sonst wuerden
Fehler bei der Rueck-Umwandlung auftreten. Kurz: Es darf keine zwei
Zeilen mit unterschiedlichen ASC-Werten, aber gleichen ANS-Werten geben.

Ausserdem wird die Tabelle o.apt fuer die Kurzanzeige und fuer die
Kategorieanzeige benutzt.

Die Dateien o.apt und d.apt sind so angelegt, dass keine Sonderzeichen
in den Kommentaren vorkommen, auch keine Umlaute. Es gibt dann keine
Probleme mit der Lesbarkeit unter UNIX und Windows.

Wenn man VP oder das "presto" des X-Systems per telnet benutzt, sind
die Umlaute meistens problematisch, d.h. kommen nicht korrekt an,
Dafuer gibt es noch zwei Tabellen:
opac.apt    statt o.apt, macht z.B. aus 'ae' ein 'a'
dpac.apt    statt d.apt, ersetzt z.B. 'ae' durch "ae"
Obacht: Die opac.apt ist nicht ein-eindeutig! D.h. man darf bei ihrer 
Benutzung nicht editieren, sonst gibt es beim Speichern Verfaelschungen.
Man muss also fuer telnet-Zugaenge eigene Versionen der Parameter
vorhalten, oder jeweils vor dem presto-Aufruf die eine oder andere Tabelle
auf den Namen o.apt kopieren!
Bei einem telnet-Dialog aus Netscape heraus hat man wunderbarerweise
eine 8-bit-UEbertragung, d.h. dabei koennen o.apt und d.apt verwendet
werden, und man sieht alle Sonderzeichen als ANSI-Zeichen innerhalb
des telnet-Fensters. Ausserdem kann man in so einem Fenster auch
scrollen, etwa bei Benutzung von VP. Das sind entscheidende
Vorteile gegenueber z.B. NCSA-telnet unter DOS.

Tabelle ansiasci.apt
--------------------
Wenn man Daten aus Windows- oder UNIX-8bit-Systemen hat, sind es i.d.R.
ANSI-Codes. Diese koennen mit der Tabelle ANSIASCI.APT konvertiert 
werden. Dabei sind OSTWEST-Codes beruecksichtigt. Die Tabelle ist kommentiert.

Tabelle p-asci7.apt 
-------------------
Ausgabe ohne Umlaute und Akzente, statt dessen Grundbuchstaben.
Wenn Ihre Liste als Datei z.B. fuer Primitiv-UNIX ausgegeben werden soll,
benutzen Sie diesen "Treiber". OSTWEST-Codes beruecksichtigt.


D-FLIP.APR
----------
Starten Sie die Demodatenbank per CockPit, dann waehlen Sie per F2 F2 F2
die D-FLIP aus und Sie werden schon sehen, was Sie dann sehen.
In der Datei sind natuerlich die relevanten Dinge kommentiert.
Weiteres zum Thema FLIP unter Punkt 9) ganz am Ende dieser Datei.


Letzte Neuerungen [siehe "allegro news" Nr. 40 fuer alles andere]

1) Neue Option -I fuer PRESTO (auch APAC usw.)
----------------------------

Mit dieser Option kann man eine andere Index-Parameterdatei laden lassen.
Das ist besonders fuer APAC interessant: Der Opac-Benutzer braucht nicht
den vollen Umfang der .API. Erstens geht dann der Programmstart schneller,
zweitens wird weniger Parameterspeicher gebraucht, d.h. man koennte den
mX-Wert in der Opac-CFG reduzieren (wenn man eine solche hat).
Man gibt also ganz schlicht:
PRESTO ... -Iopac ...          bzw. entspr. fuer APAC oder ALFA
dann wird OPAC.API statt der zur Datenbank gehoerigen API geladen.
Es versteht sich, dass man da bei PRESTO sehr aufpassen muss: Wenn
Bearbeitungen durchgefuehrt werden, sollen ja keine falschen oder ganz
anderen Schluessel entstehen.
Was muss eine OPAC.API mindestens enthalten:
-- die Basisparameter (fl=0, i4=1 usw.)
-- den Abschnitt #-@ fuer den Primaerschluessel
-- die Abschnitte #-1 ... #-9, #-:  fuer die Umcodierung der Benutzereingabe
   (Abschnitt #-0 fuer die Kurzanzeige wird nicht gebraucht)
-- alle Bestandteile (Unterprogramme, Zwischenteile etc.), die evtl. aus 
     diesen Abschnitten heraus aufgerufen oder darin gebraucht werden.
-- die p- und q-Befehle, da notwendig fuer die Umcodierung
-- Wenn man Option -I bei aLFA einsetzt, muessen ausserdem  die Teile fuer 
     die Indexierung der Ausleihangaben vorhanden sein.


2) Manipulationsbefehle v und V  (Vergleichsbefehle)
-------------------------------
Jetzt kann man pruefen, ob ein Zeichen groesser oder kleiner als
ein bestimmter Wert ist:

vk,x    ist das Zeichen auf Position k kleiner als x? Dann weiter
Vk,x    ist das Zeichen auf Position k groesser als x? Dann weiter
Gilt die betr. Bedingung nicht: Abbruch.
Das Verhalten entspricht dem der Befehle i und I.
Die zwei Befehle lassen sich natuerlich kombinieren, z.B.

#40 V4,@ v4,[ 
      d.h. #40 wird nur ausgegeben, wenn es mit einem Grossbuchstaben 
      beginnt (@=64, A=65, ... , Z=90, [=91)
Die Vergleiche beziehen sich immer, wie bei i und I, auf die Original-
kategorie, nicht die dur Manipulation evtl. veraenderte. Das kann man
umgehen, indem man die manipulierte Kategorie zuerst in eine #u-Variable
speichert und dann diese exportiert.

3) PRESTO toleriert jetzt auch Unordnung
----------------------------------------
Was den anderen Programmen recht ist (news S.9), gilt jetzt auch fuer PRESTO.
Das bedeutet: man kann bedenkenlos in der CFG mal die Reihenfolge der
Kategorien aendern. Zu sehen bekommt man die Daten dann immer in der
Reihenfolge, die der CFG entspricht, und beim Bearbeiten und Abspeichern
wird diese Ordnung dann auch gespeichert. Beim Neuindexieren (mit -f7
oder -fn) wird alles neu geordnet, beim Exportieren per SRCH auch.
VP hat uebrigens auch diese Eigenschaft!

Letzte Korrekturen (29.12.95 bis 4.1.96)
----------------------------------------

1) Die Abfrageliste hatte ein Problem mit dem Kopieren aus dem 
   Hintergrundspeicher: Wenn man
   nnnn " xxxx: ".
   setzte, kam nicht die richtige Kategorie. Das trat bei 3- und mehr-
   stelligen Systemen auf. Korrigiert.

2) Noch andere Korrekturen wurden durchgefuehrt im Bereich der Abfrage-
   listen-Abarbeitung. Es gab da gewisse Irritationen, z.B. bei dem
   I-Befehl oder bei F9.

3) Kategorie #u2 liess sich bei 3- und mehrstelligen Systemen nicht 
   exportieren, d.h. nur mit dem Trick, einen Punkt hinter #u2 zu
   setzen. Jetzt funktioniert es richtig.

4) Nur als Hinweis:
   Wenn man eine PV-Routine hat, darf dort nach dem Sprungverteiler
   nicht #+- stehen, es muss #+# sein. Sonst klappt die Umcodierung
   der Benutzereingabe nicht.

5) IMPORT konnte haengenbleiben, wenn ein Datenfeld im Fremdsatz zwar
   existierte, aber nur Leerzeichen enthielt.

6) In PRESTO kann man seit alters mit <PgUp> und <PgDn> die zuvor 
   bearbeiteten Datensaetze durchblaettern. Bei Umschaltung auf andere
   Datenbanken konnten Fehler passieren: Es wurde der Satz mit gleicher
   Nummer aus der anderen Datenbank geladen. Jetzt merkt sich PRESTO
   neben der Satznummer auch die Datenbank, dann klappt es. 
   Insbesondere wird beim Speichern eines Satzes dessen Nummer
   gemerkt, so dass man auf korrigierte und kopierte Saetze in jedem
   Fall wieder zuverlaessig zurueckspringen kann.

7) Tip fuer Flip
   Will man das ach so umstaendliche und kryptische Alt+a vermeiden,
   programmiere man sich diesen Flip in die Anzeigeparameter:

   #t{ C "[" t71 "u" t76 "] umschalten" }   
   #uxb p"<0|" dZa aZa
   #uxa AZa  

   Dann erscheint    [a] umschalten   in der Anzeige (das a in rot)
   und es entsteht   #uZa<0|iregzeil
   wobei i die Nummer des zuletzt benutzten Registers ist, "regzeil"
   die Zeile, von der aus zugegriffen wurde. Auf genau die entsprechende
   Zeile in der zyklisch naechsten Datenbank (1->2->3->1) wird dann
   umgeschaltet.

8) Programm QRIX hatte Macken. Mal konnte es eine Indexdatei nicht zusammen-
   mischen (aus den i$-Dateien), mal konnte es eine schreibgeschuetzte
   Indexdatei nicht lesen. Jetzt geht alles.

9) Zu guter Letzt wurde noch eine neue FLIP-Methode zusaetzlich eingebaut:

Flips die Zweite
----------------
Die erste Methode, Flips zu programmieren, setzt voraus, dass man u.U.
viele Anwendervariablen zu ueberwachen hat. Wenn die Zahl der Flips von
Datensatztyp zu Datensatztyp sehr stark schwankt, oder wenn man sich
z.B. aufgrund der Datenstruktur einen Automatismus ueberlegen kann, der
alle benoetigten Flips in einer Schleife programmieren kann, geht man am
besten einen anderen Weg:

Man benoetigt nur eine Anwendervariable, in der die Flips nach folgendem
Muster aneinandergereiht sind:

#uFl <tr>1FLIP1<tr>2FLIP2<tr>3FL...

Der Name dieser Anwendervariablen ist beliebig. Jeder Flipeintrag
beginnt mit einem Trennzeichen und einem Kennbuchstaben. Der
Kennbuchstabe ist auch beliebig. Als Trennzeichen schlagen wir das
Teilfeldtrennzeichen '' vor, die Parametrierung, welche bei dieser
Methode notwendig ist, vereinfacht sich dadurch.

Man benoetigt einen Abschnitt #-` (` = ASCII 96) in der
Anzeigeparameterdatei, in dem die Auswertung der Tasten erfolgen muss.
Die Sprungmarke ist fest und ab jetzt fuer diesen Flipmechanismus
reserviert. Man benoetigt hier keine ak-Zeile, denn der Abschnitt wird
programmintern angesprungen (aehnlich wie #+@). In diesem Abschnitt steht
einem in der Sondervariablen #u1 sowohl die Taste, als auch die Nummer
der gerade aktiven Datenbank zur Verfuegung. Z.B.:

#u1 30

D.h. Taste [3] wurde gedrueckt und aktiv ist Datenbank Nr. 0. Die
Datenbanken sind von 0 bis 2 durchnummeriert, 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
Flip-Befehl, der zu dieser Taste gehoert. Dieser Befehl ist das Ergebnis
dieses Abschnittes. Das Programm wertet das Ergebnis aus und reagiert
entsprechend.

Ein Beispiel:

In dem Teil fuer die Anzeige eines Titels findet man diese Befehle:

...
    Erzeugen der Flip-Anwendervariablen, (#utz in diesem Fall):
#31c p"c?|3" Atz   Umschalten auf Reg. 3 Koerperschaftsschlagwort (Ort)
#31p p"p?|3" Atz   Umschalten auf Reg. 3 Personenschlagwort
#31m p"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:
    Kernprogramm springt automatisch nach #-`, wenn eine nicht
    definierte Buchstaben- oder Zifferntaste gedrueckt wird.
    (Programmieren Sie hier einen kompakten Sprungverteiler, damit
    das Programm bei Tasten, die zu keiner Reaktion fuehren sollen,
    schnell weitermachen kann)
    
#-`
#u1 +c i4,1 e0 #zz 0    Taste steht auf erster Stelle im Kategorietext!
#u1 +p i4,2 e0 #zz 0    bei mehr als zweistelligem Schema muss der i-Befehl
#u1 +m i4,3 e0 #zz 0    angepasst werden: z.B. i5,1 im dreistelligen Schema
#u1 e0 #zz 0            Alle anderen Tasten duerfen hier keine Reaktion
                        loesen
#+#

   Extraktion des entsprechenden Flipbefehls:
   (hier zeigt sich der Vorteil der Verwendung von ''
   als Trennzeichen!)
   Es entsteht als Ergebnis praktisch der Befehl fuer das Kernprogramm,
   wohin es flippen soll:
#-c
#utz c      Ergsbnis
#+#          Rueckkehr zum Kernprogramm

#-p
#utz p
#+#

#-m
#utz m
#+#



Erfolg mit V14b wuenscht die "allegro"-Entwicklungsabteilung
der Universitaetsbibliothek Braunschweig.
                                                       1996/01/08




Mehr Informationen über die Mailingliste Allegro