Abfragemasken

Thomas Berger thomas
Do Okt 7 17:35:27 CET 1993


Liebe AllegrologInnen,
Die Mitteilung von Herrn Allers "uber die neue M"oglichkeit, in
Parameterdateien via #q Dialoge mit dem Benutzer zu f"uhren, erinnerte 
mich an ein altes Lieblingsthema von mir:

Die Syntax f"ur die Abfragemaske ist in den letzten Jahren, wie ich behaupten 
m"ochte, vernachl"assigt worden (wohl weil in Version 13 etwas Neues kommen
soll oder sollte). Trotz dieser Vernachl"assigung ist sie nat"urlich dennoch
m"achtiger geworden: Ich m"ochte an die M"oglichkeiten des Vergleichs der 
Eingabe mit festen Strings oder an die Default-Vorgaben mit '<' erinnern. 
Gleichzeitig kamen auch noch ein paar M"oglichkeiten hinzu, Kategorien auto- 
matisch zu besetzen: Das Erzeugen von Neueingabe- und "Anderungsdatum sowie
der Signaturengenerator (und bald darauf die M"oglichkeit, solche Signaturen
in andere Kategorien umzubiegen '#90 |9#36 abc?3def'(!)) und last not least
die M"oglichkeit der Masekengesteuerten Umbiegung der Eingabedatei.

Gerade wohl weil aber diese Sprache m"achtiger geworden ist, f"urchte ich,
da"s einige fundamentale Nachteile jetzt deutlicher sichtbar geworden sind:

- Der Signaturengenerator ist nicht sehr komfortabel, speziell l"a"st
  er sich nur f"ur eine einzige Kategorie benutzen.

- F"ur das prinzipielle Funktionieren von Allegro unwichtige Teile,
  die zudem auch noch leicht zu "andern sein sollten, wie die Abfrage-
  maske, stehen in derselben Datei wie die "uberaus sensiblen Definitionen
  der erlaubten Kategorien und ihrer internen Reihenfolge.

- Es fehlt die M"oglichkeit, in den CFG-Dateien auf Include-Dateien a la
  .cPT zur"uckzugreifen.

- Es ist schwierig, mit Farbumschaltungen zu arbeiten: Man kann aus Parameter-
  dateien nicht auf die in der CFG-Datei eingestellten Farben zugreifen, man
  mu"s sie einfach kennen.

- Au"ser den Standard-Pr"ufroutinen, die zudem 'fest verdrahtet'mso inte sind,
  gibt es w"ahrend der Eingabe keine M"oglichkeit, Eingaben auf Konsistenz
  zu testen. Ich denke dabei nicht nur an syntaktische Pr"ufungen bei
  Eingaben von Aufstellungssystematik etc. sondern auch an komplizierte
  (evtl. interaktive) Aktionen, wie z. B. da"s eingegebene Schlagworte 
  daraufhin "uberpr"uft werden k"onnen, ob ein SW-Normsatz dazu existiert
  etc.

- Es fehlt eine generelle M"oglichkeit, beim Abspeichern von Aufnahmen
  Kategorien zu ver"andern bzw. neu anzulegen. Dies deckt sich mit der
  alten Problematik von Herrn Allers, in Indexparameterdateien nachladen
  zu wollen (ebenfalls um z.B. Schlagworte unter ihrer Ansetzung in den
  Index einzusortieren).

- Beim Ver"andern von Aufnahmen mittels Abfragemaske ('E' im Editor) ist
  es oft l"astig, da"s nach schon vorhandenen Kategorien nicht gefragt 
  wird. Man mu"s sie nach Beendigung der Maske von Hand 'suchen gehen'
  und au"serdem ver"andert es nat"urlich den Kontrollflu"s innerhalb der
  Maske ganz massiv.

- Beim Kopieren von Aufnahmen ist es oft l"astig, da"s Kategorien mit
  Ident-nummern nicht gel"oscht werden. Der Bearbeiter vergi"st oft, 
  gerade wegen des letzten Punktes, diese von Hand zu modifizieren.

- Werden kopierte Aufnahmen 'von Hand' also nicht Maskenunterst"utzt,
  editiert und abgespeichert, was oft schneller ist, so gibt es zwei
  "au"serst gravierende Probleme: eine evtl. Umschaltung der Eingabe-
  datei erfolgt nicht und au"serdem wird eine Signatur erzeugt in einer
  Kategorie, die bei dieser Sorte Datensatz eigentlich maskenunterst"utzt
  in eine andere Kategorie h"atte umgeleitet werden m"ussen. Als Folge
  wird dieser Datensatz, obwohl eigentlich z. B. ein Normdatensatz, 
  eventuell stets wie ein Buch behandelt...


Ich behaupte nun, da"s sich alle diese Probleme l"osen lassen, wenn man
auf die derzeitige 'Parametrierung' der Abfragemaske zugunsten einer
L"osung in der Exportsprache verzichtet. Au"serdem gewinnt man dar"uber
hinausgehend noch ein wesentlich mehr Flexibilit"at. 
Wichtig scheint mir, da"s man vorhandene Abfragemasken automatisch in die 
Form 'mittels Exportsprache' umwandeln kann (zumindest behaupte ich ,da"s 
dies geht), allerdings werden aus den bisher einzeiligen 'Anweisungen' 
zwei- oder sogar dreizeilige. 
Ein anderer Vorteil w"are, da"s die Sonderbefehle vom Typ Typ, cn, ce, cg, 
ci in den .CFG-Dateien verzichtbar w"urden. `

Ich stelle mir vor, da"s in der neuen Form jeder Durchlauf durch eine Maske (interaktiv, unter Beibehaltung der Funktionalit"aten des Phrasen- und Hinter- 
grundspeichers und der Indexexkursionen mit F6) einen Allegro-Datensatz im
Internformat erzeugt, zus"atzlich wird w"ahrend des Abspeicherns, wenn also
die Indexdatei schon f"ur andere Arbeitspl"atze gesperrt ist, noch ein Teil- 
st"uck ausgef"uhrt, da"s z. B. feste Kategorien mit Datumsstempeln erzeugt
und die Signatur(en) generiert.

Es gibt allerdings ein paar offene Fragen, die allenfalls die Entwicklungs- 
abteilung beantworten k"onnte. (Diese sollte man sowieso nicht oft genug
fragen, weil ja eventuelle "Anderungen nur dort realisiert werden k"onnen).

1.) bei der von Herrn Allers beschriebenen Funktion #q, gibt es dort die
    M"oglichkeit, eine (variable) Vorgabe der Eingabe vorzusehen und diese
    auch anzuzeigen? 

2.) gibt es eine elegante Methode, den letzten Schl"ussel im Index zu
    finden, dessen Anfang mit einer Vorgabe "ubereinstimmt?
    Alternativ: Gibt es eine M"oglichkeit, einen Schl"ussel zur"uck
    zu gehen, vergleichbar mit 'Pfeil rauf'?

3.) Gibt es eine elegante M"oglichkeit herauszufinden, welcher Folgebuchstabe
    noch nicht besetzt ist (vergleichbar mit #kk`u (u aigu) in der Import-
    sprache)?


Eigentlich m"ochte ich allerdings auf technische Details meines Vorschlags 
garnicht so sehr eingehen, d. h. im Endeffekt Ihnen auch den Nachweis schuldig 
bleiben, da"s mit minimalen Erweiterungen der Exportsprache, die au"serdem 
allgemein interessant sein k"onnten, die Funktionalit"at der Abfragemaske 
simuliert werden k"onnte. Vielmehr m"ochte ich erst einmal eine generelle 
Diskussion vom Zaun brechen, ob:

- die oben aufgef"uhrten Nachteile irgendjemanden au"ser mir st"oren?

- ein Vorteil darin besteht die (scheinbar?) einfache Sprache der Eingabe-
  masken zugunsten der (scheinbar?) komplizierten Exportsprache zu verlassen?

- ob nicht in Version 13 sowieso alles ganz anders wird?

- ...?


Auf Wortmeldungen gespannt ist
Thomas Berger



Mehr Informationen über die Mailingliste Allegro