2013-11-22
allegro-B (a35) Dateien
Die für a35 notwendigen Dateien verteilen sich auf zwei Bereiche,
die auch auf zwei verschiedenen Servern liegen können.
Hinweis: Es werden keine anderen Hilfsmittel gebraucht, wie etwa ein SQL-Server oder ein XML-Parser!
*****************
Auf dem Webserver (Hinweis: Die Datenbanken selbst liegen auf dem Datenserver, s.u.)
*****************
Ordner
======
z.B. Homepage = c:\xampp\htdocs oder /opt/lampp/htdocs
Darunter folgende Ordner zu den Datenbanken:
WebDir: c:\xampp\htdocs\db oder /opt/lampp/htdocs/db
Scripts: WebDir/scripts; darunter
Hier liegen allgemeingültige .js und .css
und der Unterordner ./jobs f.d. allg. Jobs
Datenbanken: für jede Datenbank ein eigener Ordner mit den
datenbankspezifischen Scriptdateien, vorwiegend .php
z.B. WebDir/katalog, und darunter jeweils ein Unterordner
WebDir/katalog/$Jobdir f.spezif. Jobs (s. ajax3ini.php)
($Jobdir wird gesetzt in ajax3ini.php)
Anm.: Dateinamen mit _ sind veraltet und werden nicht mehr verwendet.
Konsequent nur Kleinbuchstaben und -
Achtung Anwender: schon vorhandene Dateien a35_head_* umbenennen!
Dann nicht die mitgelieferten verwenden oder diese ändern)
Andere Namen mit _ löschen.
Datenbankspezifische Dateien
============================
z.B. c:\xampp\htdocs\db\opac oder /opt/lampp/htdocs/db/opac
Außer den Einstellungen kann man zuerst alle so übernehmen!
Startseiten [lokale Anpassungen möglich]
-----------
(a35-*-menu.php und a35-*-cont.php sowie -head-* ausgegliedert)
a35-pc.php Regular browser (PC): 4 "Quadranten"
a35-tab.php Tablet: Tabs statt Quadr., Menü als Accordion
a35-app.php SmartPhone: Accordion statt Quadr., ohne Menü
Die Startseiten laden folgende Includes und Einstellungen:
Includes [Aussehen und Funktionsumfang!]
-------- (* = pc, tab, app)
a35-head-*.php Header (wahlweise Graphik oder Text)
(* = pc1, pc2, tab1, tab2, app1, app2, Auswahl in a35ini.php
zu den Versionen mit 1 gehören eigene Graphikdateien)
a35-*-menu.php Menu (nicht f. SmartPhone)
a35-*-cont.php Content: Alle sichtbaren Elemente
Einstellungen [unbedingt lokal anpassen]
-------------
a35ini.php Einstellungen f.d. Präsentation der Datenbank
Titelzeile, Name der Header-Datei (a35-head-...)
Liste der anzubietenden Register
Globale js-Variablen
ajax3ini.php Einstellungen f.d. Verkehr mit der Datenbank
z.B. $Jobdir f.d. datenbankspezifischen Jobs
Hier auch Adresse und Port des Datenbankservers
Hilfsscript zur Ausführung von Jobs
-----------
ajax3.php Asynchrone Kommunikation mit avanti (AJAX-Methode)
Die vorgenannten Dateien können alle spezifisch modifiziert werden
für die jeweilige Datenbank. Sie müssen daher als Kopien in jedem
Ordner WebDir/xyz liegen
Datenbankunabhängig
===================
Die folgenden Dateien funktionieren für alle Datenbanken und liegen
im Ordner WebDir/scripts
z.B. c:\xampp\htdocs\db\scripts oder /opt/lampp/htdocs/db/scripts
Im Einzelfall kann man eine abweichende Variante einer Datei machen
und diese in den Jobs-Ordner der Datenbank legen, sie wird dann der
allgemeinen Version vorgezogen.
Jobs
----
WebDir/scripts/jobs/*.job
JavaScript
----------
a35.js Allgemeines. Wichtigste Funktion:
receivE() verarbeitet Job-Ergebnisse
WebDir/scripts/jquery-min.js : jQuery Grundfunktionen 1.7.2
WebDir/scripts/jquery-ui.js : UI-Funktionen 1.10.3, 2013-05-03
(Von jQuery kann man auch neuere Versionen nehmen, es wird nicht
viel davon gebraucht.)
CSS
---
WebDir/scripts/a35css.php : speziell f. a35, z.B. das Pulldown-Menü
WebDir/scripts/jquery-ui.css : f. jQuery 1.10.1, 2013-02-15
*******************
Auf dem Datenserver
*******************
Dieser kann ein anderer Computer an einem anderen Standort sein.
Adresse und Port in ajax3ini.php
Hier liegen allegro-Programme und die Datenbanken des Anwenders.
Programmdateien : Nur avanti.con ist zu ändern
===============
Sie liegen in einem eigenen Ordner ProgDir,
z.B. c:\allegro bzw. /var/allegro
Minimum, wenn man NUR a35 fahren will:
avanti.exe bzw. avanti : Kommunikation mit Webserver, startet acon:
acon.exe bzw. acon : erledigt Jobs
uifsger : Meldungstexte für beide Programme
avanti.con : Verzeichnis der Datenbanken und ihrer relevanten
Eigenschaften, z.B. Ordnername und Datenbankname
Für jede bereitzustellende Datenbank ein Eintrag!
Man startet avanti.exe als Dienst bzw. avanti als Dämon.
Datenbankdateien, Konfiguration und Parameterdateien
====================================================
Diese Dateien liegen im Datenbankordner DbDir, und der muß sich auf demselben
Server befinden wie das ProgDir.
Man legt Datenbanken unterhalb eines gemeinsamen Verzeichnisses an,
z.B. F:\db oder /usr/db.
Dort hat man also z.B. einen Ordner f:\db\katalog bzw. /usr/db/katalog
Die "Konfiguration" ist eine Datei vom Typ .cfg, der Standard ist $a.cfg.
Der erste Namensbuchstabe, hier a, kehrt wieder in den Typbezeichnungen
der Parameterdateien, z.B. e-unihtm.apr oder d-khtm.apr oder ad-utd.apt.
Eine besondere Parameterdatei mit dem Typ .api nennt sich Indexparameterdatei
und enthält die Vorschrift, wie aus den Datensätzen die Registereinträge
zu bilden sind. Jede Datenbank braucht einen Kurznamen mit höchstens 4
Buchstaben. Der Standard ist "cat", und die Indexparameterdatei heißt
dann cat.api, (das a, Sie erinnern sich, kommt von $a.cfg).
Folgende Dateien müssen im Datenordner liegen:
(hier die Namen der Standarddateien)
Eigentliche Datenbankdateien, nur diese müssen auf DbDir liegen:
cat_n.ald (n=1,...,maximal 255) Datendateien
cat.tbl Satztabelle (Adressen der Datensätze in den Datendateien
cat.adx Index (enth. bis zu 11 alph. Register)
cat.a?x (? = a-c, e-z) optional weitere Indexdateien, z.B. cat.aex
cat.stl Kurztiteldatei f. a99
cat.res Restriktionendatei, z.B. Satztyp und Erscheinungsjahr
Alle weiteren können auch auf dem ProgDir liegen. Jede davon wird aber
zuerst auf dem DbDir gesucht und, wenn gefunden, von dort genommen.
$a.cfg Konfiguration [bzw. andere .cfg] (darin die Feldbezeichnungen)
a.cfl Liste der Unterfeldbezeichnungen, optional (f. cfga.job)
cat.api Indexparameter, darin die symbolischen Namen der Register (ALL, PER, ...)
i.apt Tabelle zur Umcodierung der Sonderzeichen f.d. Index
o.apt Umcodierung zwischen Interncode und Windows-Code f. a99
swl1.apr Stoppwortliste
ucodes.apt Tabelle UTF-8 -> Interncode der Datenbank
(die roten Dateien sind auch bei Verwendung von $a.cfg u.U. den eigenen Wünschen anzupassen)
d-khtm.apr Anzeigeparameter. Angabe des Namens in ajax3ini.php ($Dispar)
d-k.apt gehört dazu
a35erg.apr Zur Erzeugung der Kurztitel-Ergebnisliste
a35fts.apr dass. f.d. Volltextsuche
e-unihtm.apr Zur Umwandlung von Daten in HTML-Codierung
e-unicod.apr gleichfalls, geringe Unterschiede
utf.apr nur f. a35okont.job, Ausleihkonto
ad-utf.apt Tabelle interner Code -> UTF-8
d-htm.apt HTML-Codierungen f. bestimmte Zwecke