Was wird hier geboten?
Wasfür ein Software-Konzept ist allegro?Aus was für Dateien besteht eine Datenbank, wie sindsie strukturiert und was enthalten sie?
Es wird einkompakter Einblick gegeben, und zwar ausgehend von denwichtigsten Dateien.
Wenn man aber zuerst eine Datenbank konkret besichtigenmöchte:
Am Ende findetman Tips, wie manschnellstmöglicheinevorhandene Datenbank öffnen kann, unter Windows bzw. Linux.
Was ist eine allegro-Datenbank?
Eine allegro-Datenbankbesteht aus mehreren zuammengehörigen Dateien. IhreNamen deuten an, was sie enthalten und wozu sie da sind. Die DemoBankeignet sich als Beispiel:
Angenommen, die allegro-Installation liegt im Ordner c:\allegro, genannt Programm-Ordneroder kurz ProgDir.
Jede Datenbankbraucht einen frei wählbaren Namen (max. 4 Buchstaben) undeigenen Datenbank-Ordner,kurz DbDir.
Beispiel: DieDemoBankmit dem Namen cat(Abkürzungvon "catalog") liegt imUnterordner demo2 des ProgDir,darin siehtman im "Explorer" u.a. folgende Dateien (die Namen der zu dieserDatenbank gehörigen Dateien beginnen alle mit cat;die Symbole links besagen hier nichts):
NachWichtigkeit sortiert: (grün:editierbare Textdateien, enthalten Einstellungen und Befehle)
(Dateitypen sind alle ausführlich dokumentiert im Systemhandbuch, Kap. 0.3)
cat_1.ald DieDaten (alles, waseingegeben wurde. Nur diese muss man unbedingtsichern.)
cat.api Indexparameter= Vorschrift zum Indexieren; dabei werden dienächsten 5 Dateienerstellt:
cat.adx Indexd (Hauptindex, enthält Register 1 bis 11)
cat.aex Indexe (optional, evtl. gibt es weitere: cat.agx, cat.azxo.a.)
cat.tbl Tabelleder Satzadressen in den .ald-Dateien(womit das Prog. die Sätze findet)
cat.stl Kurzzeilenfür Ergebnislisten (auch diese wird zusammen mit dernächsten beim Indexierenerstellt)
cat.res Restriktionsdaten,z.B. Jahr, DokumentTyp
cat.logProtokolldatei:Alle Veränderungen werden hier als komplette Kopien derSätze gespeichert
cat.ini oder cat.inaEinstellungenfür den Start der Programme a99und alcarta
Es kann mehrere .inioderinageben - für mehrere Bearbeiter mit unterschiedlichenRechten [Doku: Datei a99.ini ]
Diefolgenden zwei wichtigen Dateien dürfen auch im Programmordnerliegen, dannkönnen sie mehrerenDatenbanken zugleich dienen:
$a.cfg Konfiguration:Grundeigenschaften und Definitionsliste der Datenfelder fürdas Standard-Schema
d-wrtf.apr Anzeigeparameter(Vorschrift zum Anzeigen der Datensätze in a99). Nicht fest andieDatenbank gebunden. Wer eine andere will, etwa d-krtf.apr,kann dies inder .ini-Datei einstellen.
Soviel zurDemoBank. FünfDinge können oder müssen bei einer anderenDatenbank anders sein:
1.Sie muss woanders liegen - egal wo im System. Auch einUNC-Pfad ist möglich, wiez.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önnennicht denselben Namentragen. Jededieser Dateien kann aber Sätze aller Typen enthalten, z.B.Titeldaten- und Normdatensätze, Benutzerdaten und Bestelldatenetc.
MaximaleGröße einer .ald-Datei: 16 MBoder ein Mehrfachesdavon (Einstellung ii=2in der .api bedeutet32MB).
3.Der Namensteil catleitet sich ab von der wichtigenDatei cat.api.Darin steht die Vorschrift, wie der Index aufzubauen ist, also dieDatei cat.adx.(Daneben kann cat.api weitereIndexdateien erzeugen, imBeispiel cat.aex. Wassich darin befindet und wiees aussieht, ist alles Sache der cat.api, geschriebenist die Datei in der Exportsprache.
Nochmals: DerDatenbankname, hier cat,ist beliebig wählbar, bis zu 4 Buchstaben. Entsprechendmüssen dann die anderen Namen lauten, die hier allemit catanfangen. Der Datenbanknameist in denzugehörigen .ini-Dateienmit DbName=...anzugeben.
4.Das a hinter demPunkt leitet sich ab vom Namender Konfigurationsdatei, in diesem Fall $a.cfg.
(Der$ kann auch fehlen, er hat nur historische Bedeutung.) Wenn Sie alsoeineKonfiguration b.cfghaben, dann haben Ihre Dateien dieTypkennungen .bdx, .bld usw.und IhreIndexparameter nicht .api,sondern .bpi
(Achtung:Der Dateityp.apihatnichts zu tun mit mit dem Programmiererbegriff API = ApplicationProgrammers'Interface; api bedeutet allegro parameters for indexing)
$a.cfg liegt imProgDir und kann dortmehreren Datenbanken dienen. Wenn man sich eine eigene,datenbankspezifische Variante davon macht,gehört die insDbDir. Dort suchen die Programme sie zuerst, danach im ProgDir.Dasselbe gilt für Parameter- und Hilfedateien.
Wennes $a.cfg und a.cfgbeide gibt, dann nehmen die Programme die $a.cfg.
5.Die Einstellungsdatei kann .inaheißenstatt .ini. Der Vorteil:denDateityp .ina kannman mit a99 verknüpfen. Dann wird bei Doppelklick aufeine .ina-Datei dasProgramm a99 gestartetund man ist sofort "drin". Mehr zum Start im Anhang.
Zu empfehlenist, die .ina-Dateien zu einer Datenbank alle in den Datenordner zulegen.
ImFall der .ini- und .ina-Dateienist der Name nichtvorgeschrieben (hier cat), sondern aufdenInhalt kommt es an. Sie können sich weitere solche Dateienanlegen mit anderenNamen und Einstellungen, z.B. eine schmidt.ina fürden Bearbeiter Schmidt. DieEinstellungen sind dokumentiert ina99.ini.(Die ist zugleich auch eine funktionierende .ini-Dateifür die DemoBank : GebenSie mal ein a99 a99, um sie zubenutzen.) Darin muss jeweils mit DbName=... derDbName angegeben sein.
Esgenügen wenige Einstellungen, und zwar im Demo-Fall braucht ineiner xyz.ininur zu stehen:
[General]
Konfiguration=a
DbName=cat<-- hier also ggfls. derselbstgewählte Datenbankname
access=3
Damitkann man von überall her die Datenbank so öffnen: c:\allegro\a99c:\allegro\demo2\xyz
und dieser Befehl kann hinter einem Desktop-Icon installiert werden.
Begriffe
ProgDir: Programmordner, z.B. c:\allegrooder/var/allegro
DbDir : Datenbankordner, z.B. c:\allegro\demo2oder/var/daten/katalog.
Jede Datenbank braucht einen eigenen DbDir als Wohnsitz.
WorkDir:Arbeitsordner : Ein spezielles Verzeichnis, in dem sowohl Hilfsdateiengesucht wie auchAusgabedateienabgelegt werden. Besonders bei gemeinsamer Nutzung ist es wichtig, dassjeder ein eigenes WorkDir benutzt. Normalerweise ist das WorkDir dasStartverzeichnis, d.h. von wo a99 oder acon gestartet wurde, es kann aber auchin einer Verknüpfung festgelegt werden.
Konfiguration: eine Datei vom Typ .cfgenthält wichtige Eigenschaften unddie Liste der Felddefinitionen
Die Konfiguration der DemoBank ist$a.cfg.Diese gilt als Standard für Bibliotheksanwendungen.
Indexparameter:Die in der Exportsprachegeschriebene Spezifikation der Indexdaten, beruhend auf derKonfiguration.
Die Indexparameter derDemoBank heißen cat.api.Sehr viele Anwender verwenden diese Parameter,
es gibt aber auch vieleandere, vonAnwendern selbst entwickelt.
TempDir : Ein vonWindows her festgelegter Ordner, in dem der Nutzer Schreibrecht hat.
Wichtige Ordnerdes Windows-Systems
Im ProgDirliegen 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 ina99 eingeben: Xkalender. Dann wird der Skript kalender.flxausgeführt, das Ergebnis erscheint in der Anzeige.
help: enthält die Hilfetexte für a99/alcarta im Format .rtf
AlsBeispiel in a99 eingeben: h doku. Es erscheint die Textdatei doku.rtf
html: einige HTML-Dateien, die mit dem allegro-eigenenBrowser janas zu nutzen sind.
AlsBeispiel einfach mal in a99 eingeben: X gjtricks.htm. Dann wird janasgestartet und zeigt die Datei tricks.htm
Das ist einegroße, kommentierte Beispielsammlung vonFLEX-Lösungen für allerhand verschiedeneAufgaben.
Diewichtigsten Programme
Windows: ;Profi-Variante: a99a.exe; ohne Schreibrecht: alcarta.exe
Linux: acon(Konsolprogramm), für Windows ebenfalls vorhandenund 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
DasProgramm acon.exe (Linux: acon) hat als Konsolprogrammkeine graphische Oberfläche. Dafürist seine Arbeitsweise plattformunabhängig. Es leistet auchdie Hauptarbeit fürdie Web-Oberflächen (a35, PHPAC, populo etc.).
Ein sehrwichtiger Konsol-Job ist update.job,mit dem man Daten in eine Datenbank einmischt. Diverse Optionengestatten es dabei, Datensätze ganz oder teilweise zu ersetzenoder einzufügen; stets wird der Index automatischaktualisiert.
Zusatzprogrammefür Windows und Linux: srch(Volltextsuche+Export), import (Datenumwandlung), index(Indexierung), qrix(Hilfsprogramm für Indexzugriffe), asort(Datensätze sortieren)
Flexibilitätund AusbaufähgkeitFLEX : die allegro-spezifischeSkriptsprache.
Wenn es heißt, "ein FLEX" oder "der FLEX", dann istdamitein FLEX-Skript gemeint,
geschrieben also in der FLEX-Sprache, Dateityp ist .flxfür a99 und .jobfüracon.
Eine Sammlung wichtiger FLEXe liegt im Unterordner flexdes ProgDir.
Ein Tutorial in engl. Sprachekann als erster Einstieg in FLEX und acondienen.
WeiterewichtigeDateitypen im ProgDiroder DbDir: .apr,.apt, .vw, .rtf
Hinweis:Wennein Programm eine Datei braucht, sucht es sie zuerst im WorkDir, dannim DbDir, und schließlich bei Mißerfolg im ProgDir. Das ist sehrpraktisch, wenn man mehrere Datenbanken hat und dazu einige Dateien(z.B. die $a.cfgoder d-wrtf.aproder o.apt), diefür alle Datenbanken gelten - dann brauchen die nur im ProgDirzu liegen, nicht bei jeder Datenbank.
Admin-Werkzeugefür den Umgang mit allegro
Texteditor : EinProgramm zum Betrachten und Bearbeiten von Textdateien, und das sindalle Dateien der Typen
.?p?,.flx, .job, .txt, .cfg, .ini, .frm, .vw
Ganzklare Empfehlung: WinVi : www.winvi.deoder www.heise.de
Denndamit kann man nicht nur die Textdateien alle bearbeiten, sondernauchDatendateien (.aldoder .alg)besichtigen - solche aber nichtbearbeiten!
EineDatei kann schon mal 50 MB groß sein, was ansonsten einenTexteditor meistens nicht erfreut.
Besonderswichtig: Man kann ganz leicht umschalten zwischen DOS-, Windows-,Unicode und Hexcode. So sieht das aus, wenn man eine Datenbank-Dateibesichtigt, hier die Datendatei der DemoBank, cat_1.ald: [ACHTUNG, nichtbearbeiten und wieder speichern, nurangucken!]
Der rote Pfeil zeigt auf den Hex-Anzeige-Button, dann sieht man auchdie Steuerzeichen.
WinVi-Ansichteiner Datenbankdatei
Diese kann mandirekt imAnzeigefenster der Programms a99 bearbeiten. Oder außerhalbmitdem Windows-Programm WordPad.WinWord geht auch, wird aber dafür nichtempfohlen.
Die meisten liegen im HELP-Ordner, aber DbDir und ProgDir sind auchmöglich.
Mehr dazu: Im a99-Eingabefeldeingeben: h help.
ANHANG: Eine Datenbank öffnen
Wasoben gesagt wurde, hilft beim Verständnis. Aber man will dieDaten auch sehenund damit arbeiten.
Am schnellstengeht das immer so:
Injedem Fall startet man in einem Konsolfenster und zwar aus einemOrdner, in dem man Schreibrecht hat.
Zuerstmuss man wissen, wo die Datenbank liegt, also den Namen desDatenordners (DbDir).
Dann schaut mandort nach einer Datei, deren Name mit .?dxendet, also z.B. xyz.bdx.Daraus entnimmt man:
Der Datenbankname (DbName) istxyzunddie Konfigurationsdateifängt mit b (b*.cfg)oder$b ($b*.cfg)an. Wichtig ist nurdasb, statt * können beliebigeoder keine Buchstaben stehen. Standard ist die Datei $a.cfg.
A.Windows : Programm a99 (dieses brauchtkeinen Server, es macht alles selber)
Beispiel:Datenbank xyzmit Konfiguration b.cfg liegt in k:\daten\katalog,
dieProgramme liegen im ProgDir c:\allegro. Dann startetman so, falls mankeine .ini- oder .ina-Datei hat:
c:\allegro\a99-dk:\daten\katalog -bxyz -kb
Wennes aber eine Einstellungsdatei gibt, z.B. start.ina, dann reicht
a99k:\daten\katalog\start.ina
AlleEigenschaften und Einstellungen bekommt man in a99 zu sehen mit demMenüpunkt
Global/ Datenbank-Information
Diewichtigsten Admin-Funktionen, z.B. die Indexerneuerung, liegen imMenü"Reorganisieren", abzurufen mit dem Befehl h org.
WeitereAdmin-Funktionen, z.B. die Bearbeitung wichtiger Einstellungen undDateien, liegen imMenü"Administration", abzurufen mit dem Befehl h admin.
Eine IllustrierteAnleitung erklärt alle Funktionen von a99.
50 Fortbildungslektionenmit Beispielen gehen auf jedes Thema noch genauer ein.
B.Linux : per Browser oder mit Konsolprogramm acon
Hiergibt es als graphische Oberfläche keine Entsprechung zu a99,sondern nur dasbrowserbasiertea35.Seine Nutzung erfordert einigeVorbereitungen.
Fürden Administrator gibt es das FLEX-Skript al.job(der Dialog ist komplettenglisch). Damit sind viele wichtige Funktionen und Informationenüber eine Datenbank leicht zugänglich.Ausgeführt wirdes vom Programm acon:
Beispiel:Datenbank xyzmit Schema b.cfg liegt in /var/daten/katalog, und die
Programmeliegen in var/allegro. In einemKonsolfenster startet man den al.job so:
/var/allegro/acon-jal -d/var/daten/katalog-bxyz -kb
[Hinweis: UnterWindows geht auch alxyz.ini, wenn man eine ini-Datei namens xyz.inihat oder xyz.ina]
Eserscheint dann ein Menü, Beispielsiehe unten. Jede Funktion hat ein Zeichen, das man eingibtunddann Enter.
AlleEigenschaften und Einstellungen bekommt man zu sehen mit demMenüpunkt
p: Properties(eingeben: p Enter)
Admin-Funktionen,z.B. Indexerneuerung und Bearbeitung wichtiger Dateien, liegen imMenü"Admin", abzurufen mit dem Menüpunkt
a: AdminD.h. aeingeben (s.u.)
Hinweis: Der al.jobfunktioniert auch unter Windows, und zwar ganz entsprechend:
Beispiel:Datenbank xyz mit Schema b liegtink:\daten\katalog,
dieProgramme liegen in c:\allegro. Dann startetman in c:\allegro so:
acon-jal -dk:\daten\katalog-bxyz -kb
Sofortmal ausprobieren?In a99 kann man es bequem starten mitAlt+4 und dann "Admin-Tool"
al.job:Nachdem Start mit Demo-Bank sieht manunter Linux diesesHauptmenü:
Administrationof your allegrodatabase
Database/var/daten/katalog/cat,Config: a.cfg
Content: 1217 records (of whichvalid: 1217, invalid: 0, unused: 0)
Internalcoding: DOS (ASCII)
ProgDir=/var/allegro/ acon Version :ac-w v35.8
FUNCTIONS (Enter '-' to step backat 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 anotex : Exit
Mangibt nur das Zeichen der gewünschten Funktion ein, dann Enter.Mit h kommt Hilfe. (Datei al-help.txt)
Wennman z.B. afür Adminwählt, erscheint diesesMenü:
1 : Indexrebuild 2 : Addresstable rebuild (.tbl file)
c : CFG editing i : Indexparam o : Other files
n : New database a : Anotherinstance of this job
p : Properties s :Settings(extended list)
l : List of data elements (asdefined in CFG)
k : Copy database b : Look forother databases
e : Exchange rates h : Help
Mitder Funktion pfür Propertieserfährt man diewichtigsten 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 isnot locked
DbTitle: 'allegro'-Demo-Datenbank
Size: 1217 (of which 0deleted 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