allegro-C CrashCourse
für Einsteiger und Außenstehende |
2022-02-28 |
Installationspaket der Vollversion: http://www.allegro-b.de
Was wird hier geboten? (Diesen Text am besten ausdrucken...) Es wird ein kompakter Einblick versucht, und zwar ausgehend von den Dateien, die man kennen sollte, und mit Tips, wie man schnellstmöglich eine Datenbank öffnen kann.
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-Programme liegen 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, die denkt sich der Explorer aus):
Nach Wichtigkeit sortiert: cat_1.ald Die eigenen Daten (alles, was eingegeben wurde. Nur diese muß 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 [nicht jede Datenbank hat so eine Datei] cat.log Protokolldatei: Alle Veränderungen werden hier als komplette Kopien der Sätze gespeichert cat.ini nur
diese darf anders heißen, sie enthält Einstellungen
für den Start der Programme a99
und alcarta
$a.cfg Konfiguration: Grundeigenschaften und Definitionsliste der Datenfelder 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. Die Erstellung solcher Dateien erfordert gute Kenntnisse der Exportsprache, die im Kapitel 10 des Systemhandbuchs beschrieben ist. Auch die Indexparameter werden mit dieser Sprache programmiert. Soviel zur DemoBank. Fünf Dinge können oder müssen bei einer anderen Datenbank anders sein: 1. Sie muß 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 einzelnen .ald-Datei: 16 MB oder ein Mehrfaches davon (Einstellung ii=2 in der .api bedeutet 32MB). Somit kann eine Datenbank durchaus etliche Gigabyte groß werden. 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) 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, hier also wäre das DbName=cat 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 die
Indexparameter nicht .api,
sondern .bpi $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. 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 Mitarbeiter(in) 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 muß 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 ProgDir : Programmordner, z.B. c:\allegro oder /var/allegro DbDir : Datenbankordner, z.B. c:\allegro\demo2, oder auf Linux: /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 Indexparameter: Die in der Exportsprache geschriebene Spezifikation der Indexdaten, beruhend auf der Konfiguration. Darin ist also z.B. festgelegt, dass die Namen im Register 1 stehen sollen, die Titelwörter in 3 usw. Die Indexparameter der
DemoBank heißen cat.api.
Sehr viele Anwender verwenden diese Parameter, TempDir : Ein von Windows her festgelegter Ordner, in dem der Nutzer Schreibrecht hat. C:\Users\mueller\AppData\Local\Temp für Nutzer Müller 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 Diese Dateien kann man bearbeiten mit wordpad, zur Not auch mit Word. 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 im ProgDir Windows: a99.exe , Profi-Variante: a99a.exe; ohne Schreibrecht: alcarta.exe Linux: acon
(Konsolprogramm), für Windows ebenfalls vorhanden
und sehr wichtig auch für
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.). 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 so bearbeiten, das ist riskant! 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!] WinVi-Ansicht einer Datenbankdatei 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. Dazu ist die Software da, und am schnellsten geht das immer so: Zuerst muß 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. A. Windows : Programm a99 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 Internal coding: DOS (ASCII) ProgDir=/var/allegro/ acon Version : ac-w v35.8 |
Man
gibt nur das Zeichen der gewünschten Funktion ein, dann Enter.
Mit h kommt Hilfe. (Datei al-help.txt)
Wenn
man z.B. a für Admin
wählt, erscheint dieses
Menü:
1 : Index
rebuild 2 : Address
table rebuild (.tbl file) |
Mit der Funktion p für Properties erfährt man die wichtigsten Fakten zur Datenbank:
DbDir:
/var/db/demo2
Access: 3 (Write permit) |
Linux-Installation Ein bequemes Installationsprogramm wie bei Windows gibt es für Linux nicht. Besorgen Sie sich das Programmpaket http://www.allegro-b.de/downloads/allegro-prog.tar.gz 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:
Ferner existieren Pakete mit entsprechenden Dateien für die Zeichencodierungen ANSI und UTF-8, falls diese intern statt ASCII verwendet werden sollen. Für Webanwendungen muß 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. |