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):
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.
(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 $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
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 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-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 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!] 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. 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 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 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:
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. |