allegro-Homepage

allegro-C - CrashCourse

für Einsteiger und Außenstehende

 

 Installationspaket der Vollversion:  http://www.allegro-b.de


Was wird hier geboten?

Was für ein Software-Konzept ist  allegro?  Aus was für Dateien besteht eine Datenbank, wie sind sie strukturiert  und was enthalten sie?  

Es wird ein kompakter Einblick gegeben, und zwar ausgehend von den wichtigsten Dateien.


Wenn man aber zuerst eine Datenbank konkret besichtigen möchte:

Am Ende findet man Tips, wie man schnellstmöglich eine vorhandene Datenbank öffnen kann, unter Windows bzw. Linux.

 

Was ist eine allegro-Datenbank?

Eine allegro-Datenbank besteht aus mehreren zuammengehörigen Dateien. Ihre Namen deuten an, was sie enthalten und wozu sie da sind. Die DemoBank eignet sich als Beispiel:

Angenommen, die allegro-Installation liegt im Ordner c:\allegro, genannt Programm-Ordner oder kurz ProgDir. 

Jede Datenbank braucht einen frei wählbaren Namen (max. 4 Buchstaben) und eigenen Datenbank-Ordner, kurz DbDir.

Beispiel: Die DemoBank mit dem Namen  cat  (Abkürzung von "catalog") liegt im Unterordner  demo2 des ProgDir, darin sieht man im "Explorer" u.a. folgende Dateien (die Namen der zu dieser Datenbank gehörigen Dateien beginnen alle mit cat; die Symbole links besagen hier nichts):

 

Dateien im DbDir demo2

Nach Wichtigkeit sortiert:  (grün : editierbare Textdateien, enthalten Einstellungen und Befehle)

(Dateitypen sind alle ausführlich dokumentiert im Systemhandbuch, Kap. 0.3)

cat_1.ald   Die Daten (alles, was eingegeben wurde. Nur diese muss man unbedingt sichern.)

cat.api     Indexparameter = Vorschrift zum Indexieren; dabei werden die nächsten 5 Dateien erstellt:

cat.adx     Index d (Hauptindex, enthält Register 1 bis 11)

cat.aex     Index e (optional, evtl. gibt es weitere: cat.agx, cat.azx o.a.)

cat.tbl     Tabelle der Satzadressen in den .ald-Dateien (womit das Prog. die Sätze findet)

cat.stl     Kurzzeilen für Ergebnislisten (auch diese wird zusammen mit der nächsten beim Indexieren erstellt)

cat.res     Restriktionsdaten, z.B. Jahr, DokumentTyp

cat.log     Protokolldatei: Alle Veränderungen werden hier als komplette Kopien der Sätze gespeichert

cat.ini oder cat.ina  Einstellungen für den Start der Programme a99 und alcarta

     Es kann mehrere .ini oder ina geben - für mehrere Bearbeiter mit unterschiedlichen Rechten  [Doku: Datei a99.ini ] 

Die folgenden zwei wichtigen Dateien dürfen auch im Programmordner liegen, dann können sie mehreren Datenbanken zugleich dienen:

$a.cfg      Konfiguration: Grundeigenschaften und Definitionsliste der Datenfelder für das Standard-Schema

d-wrtf.apr  Anzeigeparameter (Vorschrift zum Anzeigen der Datensätze in a99). Nicht fest an die Datenbank gebunden. Wer eine andere will, etwa d-krtf.apr, kann dies in der .ini-Datei einstellen.

 

Soviel zur DemoBank. Fünf Dinge können oder müssen bei einer anderen Datenbank anders sein:

 

1. Sie muss woanders liegen - egal wo im System. Auch ein UNC-Pfad ist möglich, wie z.B.

    \\datenserver\db\katalog.

 

2. Es kann mehr als eine Datei mit der Endung .ald geben. Die Nummer (_1 ... _255) ist nur dazu da, die Dateien auseinanderzuhalten, denn zwei Dateien können nicht denselben Namen tragen. Jede dieser Dateien kann aber Sätze aller Typen enthalten, z.B. Titeldaten- und Normdatensätze, Benutzerdaten und Bestelldaten etc.

Maximale Größe einer .ald-Datei: 16 MB oder ein Mehrfaches davon (Einstellung ii=2 in der .api bedeutet 32MB).

 

3. Der Namensteil  cat  leitet sich ab von der wichtigen Datei  cat.api. Darin steht die Vorschrift, wie der Index aufzubauen ist, also die Datei  cat.adx. (Daneben kann cat.api weitere Indexdateien erzeugen, im Beispiel  cat.aex.  Was sich darin befindet und wie es aussieht, ist alles Sache der  cat.api, geschrieben ist die Datei in der Exportsprache.

Nochmals: Der Datenbankname, hier  cat, ist beliebig wählbar, bis zu 4 Buchstaben. Entsprechend müssen dann die anderen Namen lauten, die hier alle mit  cat  anfangen. Der Datenbankname ist in den zugehörigen .ini-Dateien mit  DbName=... anzugeben.



4. Das a hinter dem Punkt leitet sich ab vom Namen der Konfigurationsdatei, in diesem Fall  $a.cfg.

(Der $ kann auch fehlen, er hat nur historische Bedeutung.) Wenn Sie also eine Konfiguration  b.cfg  haben, dann haben Ihre Dateien die Typkennungen  .bdx, .bld  usw. und Ihre Indexparameter nicht .api, sondern .bpi 
(Achtung: Der Dateityp .api hat nichts zu tun mit mit dem Programmiererbegriff API = Application Programmers' Interface; api bedeutet  allegro parameters for indexing)

$a.cfg liegt im ProgDir und kann dort mehreren Datenbanken dienen. Wenn man sich eine eigene, datenbankspezifische Variante davon macht, gehört die ins DbDir. Dort suchen die Programme sie zuerst, danach im ProgDir. Dasselbe gilt für Parameter- und Hilfedateien.

Wenn es  $a.cfg und  a.cfg beide gibt, dann nehmen die Programme die $a.cfg.

 

5. Die Einstellungsdatei kann .ina heißen statt .ini. Der Vorteil: den Dateityp .ina  kann man mit a99 verknüpfen. Dann wird bei Doppelklick auf eine .ina-Datei das Programm a99 gestartet und man ist sofort "drin". Mehr zum Start im Anhang.

Zu empfehlen ist, die .ina-Dateien zu einer Datenbank alle in den Datenordner zu legen.

 

Im Fall der .ini- und .ina-Dateien ist der Name nicht vorgeschrieben (hier cat), sondern auf den Inhalt kommt es an. Sie können sich weitere solche Dateien anlegen mit anderen Namen und Einstellungen, z.B. eine schmidt.ina für den Bearbeiter Schmidt. Die Einstellungen sind dokumentiert in  a99.ini. (Die ist zugleich auch eine funktionierende  .ini-Datei für die DemoBank : Geben Sie mal ein  a99 a99, um sie zu benutzen.) Darin muss jeweils mit  DbName=...  der DbName angegeben sein.

Es genügen wenige Einstellungen, und zwar im Demo-Fall braucht in einer  xyz.ini  nur zu stehen:

[General]

Konfiguration=a

DbName=cat    <-- hier also ggfls. der selbstgewählte Datenbankname

access=3

Damit kann man von überall her die Datenbank so öffnen:   c:\allegro\a99 c:\allegro\demo2\xyz
und dieser Befehl kann hinter einem Desktop-Icon installiert werden.

 

Begriffe

 

ProgDir : Programmordner, z.B. c:\allegro oder  /var/allegro

DbDir    : Datenbankordner, z.B.  c:\allegro\demo2 oder  /var/daten/katalog.

    Jede Datenbank braucht einen eigenen DbDir als Wohnsitz.

WorkDir: Arbeitsordner : Ein spezielles Verzeichnis, in dem sowohl Hilfsdateien gesucht wie auch Ausgabedateien abgelegt werden. Besonders bei gemeinsamer Nutzung ist es wichtig, dass jeder ein eigenes WorkDir benutzt. Normalerweise ist das WorkDir das Startverzeichnis, d.h. von wo a99 oder acon gestartet wurde, es kann aber auch in einer Verknüpfung festgelegt werden.

Konfiguration : eine Datei vom Typ .cfg enthält wichtige Eigenschaften und die Liste der Felddefinitionen
                          Die Konfiguration der DemoBank ist  $a.cfg. Diese gilt als Standard für Bibliotheksanwendungen.

Indexparameter: Die in der Exportsprache geschriebene Spezifikation der Indexdaten, beruhend auf der Konfiguration.

                             Die Indexparameter der DemoBank heißen cat.api. Sehr viele Anwender verwenden diese Parameter,

                             es gibt aber auch viele andere, von Anwendern selbst entwickelt. 

TempDir : Ein von Windows her festgelegter Ordner, in dem der Nutzer Schreibrecht hat.

 

Wichtige Ordner des Windows-Systems

Im ProgDir liegen drei Unterordner, die jeder braucht:

flex : hier liegen die Standard-Skripte, die a99 und alcarta brauchen, darunter alle Funktionen für Ausleihe und Erwerbung.

Als Beispiel in a99 eingeben:  X kalender. Dann wird der Skript kalender.flx ausgeführt, das Ergebnis erscheint in der Anzeige.

help : enthält die Hilfetexte für a99/alcarta im Format .rtf

Als Beispiel in a99 eingeben:  h doku. Es erscheint die Textdatei doku.rtf 

html : einige HTML-Dateien, die mit dem allegro-eigenen Browser janas zu nutzen sind.

Als Beispiel einfach mal in a99 eingeben:  X gj tricks.htm. Dann wird janas gestartet und zeigt die Datei tricks.htm

Das ist eine große, kommentierte Beispielsammlung von FLEX-Lösungen für allerhand verschiedene Aufgaben. 

Die wichtigsten Programme

 

Windows:        ; Profi-Variante: a99a.exe; ohne Schreibrecht: alcarta.exe

 

Linux: acon  (Konsolprogramm), für Windows ebenfalls vorhanden und sehr wichtig auch für
          Web-Anbindungen

 

Web-Anbindung: avanti  (Linux) bzw.  avanti.exe  (Windows): Leistet die Verbindung zwischen Webserver und acon.

        Funktionsweise der Web-Anbindung:

        Browser <-> WebServer <-> avanti <-> acon <-> Datenbank

Das Programm acon.exe (Linux: acon) hat als Konsolprogramm keine graphische Oberfläche. Dafür ist seine Arbeitsweise plattformunabhängig. Es leistet auch die Hauptarbeit für die Web-Oberflächen (a35, PHPAC, populo etc.).
Ein sehr wichtiger Konsol-Job ist 
update.job, mit dem man Daten in eine Datenbank einmischt. Diverse Optionen gestatten es dabei, Datensätze ganz oder teilweise zu ersetzen oder einzufügen; stets wird der Index automatisch aktualisiert.

Zusatzprogramme für Windows und Linux:  srch (Volltextsuche+Export), import (Datenumwandlung), index (Indexierung), qrix (Hilfsprogramm für Indexzugriffe), asort (Datensätze sortieren)

 

 

Flexibilität und Ausbaufähgkeit 

FLEX : die allegro-spezifische Skriptsprache.

            Wenn es heißt, "ein FLEX" oder "der FLEX", dann ist damit ein FLEX-Skript gemeint,

            geschrieben also in der FLEX-Sprache, Dateityp ist .flx  für a99 und  .job  für acon.

            Eine Sammlung wichtiger FLEXe liegt im Unterordner  flex  des ProgDir.

            Ein Tutorial in engl. Sprache kann als erster Einstieg in FLEX und  acon  dienen.

 

Weitere wichtige Dateitypen im ProgDir oder DbDir: .apr, .apt, .vw, .rtf

Hinweis: Wenn ein Programm eine Datei braucht, sucht es sie zuerst im WorkDir, dann im DbDir, und schließlich bei Mißerfolg im ProgDir. Das ist sehr praktisch, wenn man mehrere Datenbanken hat und dazu einige Dateien (z.B. die $a.cfg  oder  d-wrtf.apr  oder  o.apt), die für alle Datenbanken gelten - dann brauchen die nur im ProgDir zu liegen, nicht bei jeder Datenbank.

 


Admin-Werkzeuge für den Umgang mit allegro

Texteditor : Ein Programm zum Betrachten und Bearbeiten von Textdateien, und das sind alle Dateien der Typen 

.?p?, .flx, .job, .txt, .cfg, .ini, .frm, .vw

Ganz klare Empfehlung:  WinVi  :  www.winvi.de  oder  www.heise.de

Denn damit kann man nicht nur die Textdateien alle bearbeiten, sondern auch Datendateien (.ald oder .alg) besichtigen - solche aber nicht bearbeiten! 

Eine Datei kann schon mal 50 MB groß sein, was ansonsten einen Texteditor meistens nicht erfreut. 

Besonders wichtig: Man kann ganz leicht umschalten zwischen DOS-, Windows-, Unicode und Hexcode. So sieht das aus, wenn man eine Datenbank-Datei besichtigt, hier die Datendatei der DemoBank, cat_1.ald: [ACHTUNG, nicht bearbeiten und wieder speichern, nur angucken!
Der rote Pfeil zeigt auf den Hex-Anzeige-Button, dann sieht man auch die Steuerzeichen.

WinVi-Ansicht einer Datenbankdatei

WinVi Beispiel

Für RTF-Hilfetexte (.rtf = Rich Text Format von Microsoft)
Diese kann man direkt im Anzeigefenster der Programms a99 bearbeiten. Oder außerhalb mit dem Windows-Programm WordPad. WinWord geht auch, wird aber dafür nicht empfohlen.
Die meisten liegen im HELP-Ordner, aber DbDir und ProgDir sind auch möglich.
Mehr dazu: Im a99-Eingabefeld eingeben:  h help.


 



 

ANHANG : Eine Datenbank öffnen

Was oben gesagt wurde, hilft beim Verständnis. Aber man will die Daten auch sehen und damit arbeiten.

Am schnellsten geht das immer so:

In jedem Fall startet man in einem Konsolfenster und zwar aus einem Ordner, in dem man Schreibrecht hat.

Zuerst muss man wissen, wo die Datenbank liegt, also den Namen des Datenordners (DbDir). 

Dann schaut man dort nach einer Datei, deren Name mit  .?dx  endet, also z.B. xyz.bdx. Daraus entnimmt man: 

Der Datenbankname (DbName) ist xyz und die Konfigurationsdatei fängt mit b (b*.cfg) oder $b ($b*.cfg)an. Wichtig ist nur das b, statt * können beliebige oder keine Buchstaben stehen. Standard ist die Datei $a.cfg.

A. Windows : Programm a99  (dieses braucht keinen Server, es macht alles selber)

Beispiel:  Datenbank  xyz  mit Konfiguration b.cfg liegt in k:\daten\katalog,

die Programme liegen im ProgDir c:\allegro. Dann startet man so, falls man keine .ini- oder .ina-Datei hat:

   c:\allegro\a99 -dk:\daten\katalog -bxyz -kb

 

Wenn es aber eine Einstellungsdatei gibt, z.B.  start.ina, dann reicht

   a99 k:\daten\katalog\start.ina

 

Alle Eigenschaften und Einstellungen bekommt man in a99 zu sehen mit dem Menüpunkt

   Global / Datenbank-Information

 

Die wichtigsten Admin-Funktionen, z.B. die Indexerneuerung, liegen im Menü "Reorganisieren", abzurufen mit dem Befehl   h org .

Weitere Admin-Funktionen, z.B. die Bearbeitung wichtiger Einstellungen und Dateien, liegen im Menü "Administration", abzurufen mit dem Befehl   h admin.

Eine Illustrierte Anleitung erklärt alle Funktionen von a99.

50 Fortbildungslektionen mit Beispielen gehen auf jedes Thema noch genauer ein. 

 

B. Linux : per Browser oder mit Konsolprogramm acon

Hier gibt es als graphische Oberfläche keine Entsprechung zu a99, sondern nur das browserbasierte a35. Seine Nutzung erfordert einige Vorbereitungen. 

Für den Administrator gibt es das FLEX-Skript  al.job  (der Dialog ist komplett englisch). Damit sind viele wichtige Funktionen und Informationen über eine Datenbank leicht zugänglich. Ausgeführt wird es vom Programm acon:

 

Beispiel:  Datenbank  xyz mit Schema b.cfg liegt in /var/daten/katalog, und die

Programme liegen in var/allegro. In einem Konsolfenster startet man den  al.job  so:

 

   /var/allegro/acon -jal -d/var/daten/katalog -bxyz -kb 

 

[Hinweis: Unter Windows geht auch  al xyz.ini, wenn man eine ini-Datei namens  xyz.ini  hat oder  xyz.ina ]

Es erscheint dann ein Menü, Beispiel siehe unten. Jede Funktion hat ein Zeichen, das man eingibt und dann Enter.

Alle Eigenschaften und Einstellungen bekommt man zu sehen mit dem Menüpunkt

   p : Properties    (eingeben:  p Enter)

 

Admin-Funktionen, z.B. Indexerneuerung und Bearbeitung wichtiger Dateien, liegen im Menü "Admin", abzurufen mit dem Menüpunkt

   a : Admin      D.h.  a  eingeben (s.u.)

 

Hinweis: Der  al.job  funktioniert auch unter Windows, und zwar ganz entsprechend:

Beispiel:  Datenbank  xyz mit Schema b liegt in k:\daten\katalog,

die Programme liegen in  c:\allegro. Dann startet man in  c:\allegro  so:

 

   acon -jal -dk:\daten\katalog -bxyz -kb

 

Sofort mal ausprobieren? In a99 kann man es bequem starten mit  Alt+4  und dann "Admin-Tool"

 

al.job : Nach dem Start mit Demo-Bank sieht man unter Linux dieses Hauptmenü:

Administration of your allegro database

Database /var/daten/katalog/cat, Config: a.cfg
Content: 1217 records (of which valid: 1217, invalid: 0, unused: 0)

Internal coding: DOS (ASCII)

ProgDir=/var/allegro/      acon Version : ac-w v35.8

 
FUNCTIONS (Enter '-' to step back at any point, or 'x' back to main menu)
1 : Index   2 : Record       3 : Find   4 : Review
a : Admin   p : Properties   l : Lock
h : Help    m : Make a note             x : Exit

Man gibt nur das Zeichen der gewünschten Funktion ein, dann Enter. Mit h kommt Hilfe. (Datei al-help.txt)
Wenn man z.B.  
für Admin  wählt, erscheint dieses Menü:

1 : Index rebuild   2 : Address table rebuild (.tbl file)
c : CFG editing     i : Index param   o : Other files
n : New database    a : Another instance of this job
p : Properties      s : Settings (extended list)
l : List of data elements (as defined in CFG)
k : Copy database   b : Look for other databases
e : Exchange rates  h : Help

Mit der Funktion   für Properties  erfährt man die wichtigsten Fakten zur Datenbank:

DbDir:    /var/db/demo2   Access: 3   (Write permit)
Config.:  $a.cfg    Coding: DOS (ASCII)   t/k=2/4    sizeFactor=5
DbName:   cat, cat.tbl is not locked
DbTitle:  'allegro'-Demo-Datenbank
Size:     1217 (of which 0 deleted or unused numbers)
LogFile:  cat.log, Size: 2252192 Bytes, Time: 20151127/10:04:00
date n/e: #99n / #99e
ProgDir:  /var/allegro/    DisplParam: e-w0    Editor: vi


Linux-Installation
Ein bequemes Installationsprogramm wie bei Windows gibt es für Linux nicht. Besorgen Sie sich per FTP das Programmpaket
    http://www.allegro-b.de/downloads/allegro-prog.tar.gz  
(Kennung ac15, kein Pw.) und entpacken es in Ihr ProgDir, z.B.  /var/allegro
Das Entpacken geht so:   tar -xfvz allegro-prog.tar.gz.
Danach liegen in  
/var/allegro  diese Programme und Dateien:


Hauptprogramme
acon

avanti
avanti.con
für die wichtigsten Aufgaben:
Konsolprogramm (zur Ausführung von FLEX-Jobs)

Serverprogramm (nur für Web-Anwendungen)
Einstellungsdatei für avanti (Textdatei mit Kommentar)
Arbeitsprogramme
index

qrix
srch
import
asort
log2alg


Beschreibung im Handbuch, Kap. 0.2.4
Programm zur Indexierung (Erstellung der Indexdateien)

Hilfsprogramm zu index
Volltext-Suchprogramm
Fremddaten-Konvertierprogramm
Prog. zum alphanumerischen Sortieren
Umwandlung einer .log-Datei in eine Grunddatei (.alg)
Jobs für acon
al.job
al-help.txt
srch.job

update.job
FLEX-Skripte
Admin-Job

Hilfetext dazu
Volltext-Suche und Export mit acon
Job zum Einmischen von Daten in eine Datenbank
Meldungstexte
uifsger
uif4ger
uif5ger
uif7ger
uifqger
Werden benötigt von den Programmen
avanti und acon
srch
import
index
qrix
Export-Parameterdateien
*.apr oder *.@pr
*.apt oder *.@pt
Für das formatierte Ausgeben von Daten
Eigentliche Export-Parameter
Hilfstabellen zur Zeichenkonvertierung
Jede Datei enthält ausführliche Kommentare
Das Paket enthält nur die unbedingt notwendigen für eine Anwendung mit der Standardkonfiguration $a.cfg
Codetabelle
s1.asp
Für das Volltextsuchprogramm  srch
... damit es z.B. die Umlaute korrekt findet

Wenn ein anderes Schema als  $a.cfg  verwendet wird, braucht man entsprechende Parameterdateien.
Ferner existieren Pakete mit entsprechenden Dateien für die Zeichencodierungen ANSI und UTF-8, falls diese intern
statt ASCII verwendet werden sollen.

Nur für Webanwendungen, z.B. mit a35, muss man den Server  avanti  starten, und zwar unter linux als Daemon, unter Windows als Dienst. In die Datei  avanti.con  ist für jede anzubindende Datenbank eine Eintragung zu machen (Kommentare siehe in der Datei). Der Webserver kann auf einer anderen Plattform liegen, dort dann auch das Paket der PHP-Skripte und FLEX-Jobs für die Datenbank. Die Kommunikation zwischen Webserver und avanti läuft über TCP/IP, die notwendige Server-IP und Portnummer steht in  avanti.con  und auf der PHP-Seite in  ajax3ini.php.
Zu Installation und Funktionsweise von a35 gibt es eine umfassende Dokumentation.










B.Eversberg, 2015-09-28 / 2016-11-18 // 2022-10-01