<html><head></head><body><div style="font-family: Verdana;font-size: 12.0px;"><div>
<div><br/>
Verlautbarung 281 zur allegro-Entwicklung                    2016-05-17</div>

<div><br/>
a99svi : Schnellkopplung via Internet<br/>
-------------------------------------</div>

<div>D.h.: a99 besorgt Daten aus einer fremden allegro-Datenbank im Netz.<br/>
Direkt, schnell und unmompliziert - wie die bekannte Schnellkopplung mit</div>

<div>zwei a99-Fenstern, wenn die Fremdbank auf demselben Server liegt.</div>

<div>Grundlegend wichtig ist der FLEX-Befehl  get Iurl, mit dem sich a99<br/>
Inhalte aus dem Netz holen kann, und zwar auch und gerade den Output<br/>
eines Jobs, der auf dem Webserver etwas aus einer Datenbank holt.<br/>
So kann a99 ohne Browser direkte Fernzugriffe auf Datenbanken taetigen,<br/>
die mit avanti am Netz sind. Das wird jetzt mal richtig ausgenutzt. (Ein</div>

<div>anderes Beispiel ist der  o-whrg.flx fuer die aktuellen Wechselkurse.)</div>

<div>Zur Klarstellung:<br/>
Man koennte versucht sein, von "a35 ohne Browser" zu reden, aber von<br/>
a35 wird kaum etwas dabei gebraucht.<br/>
"a99svi" ist aber auch keine neue, besondere a99-Version! Sondern das<br/>
ganz normale a99 kriegt ein paar neue FLEXe und der Webserver ein<br/>
paar neue Jobs, das ist alles. D.h. auch acon bleibt unveraendert.</div>

<div>Das svi-Arbeitsprinzip:</div>

<div>-- Die Fremddatenbank muss mit avanti am Netz sein.<br/>
   Der Webserver braucht aber nur PHP und ein paar kleine Jobdateien,<br/>
   d.h. eine a35-Implementierung oder eine andere ist nicht noetig,<br/>
   wenn keine Nutzung per Browser vorgesehen ist.</div>

<div>-- a99 startet spezielle FLEXe, z.B. a99ind.flx, die jeweils einen Job<br/>
   auf dem WebServer der Fremdbank aktivieren. Dies geht ueber das auch<br/>
   von a35 verwendete universelle Skript  ajax3.php</div>

<div>-- FLEX-Einstellungen fuer diesen Vorgang stehen  a99svi.inc,<br/>
   zunaechst steht da nur die Basis-URL fuer ajax3.php</div>

<div>-- a99xyz.flx startet einen Job a99xyz.job, der die Datenbankzugriffe<br/>
   macht und die Ergebnisse in definierter Form aufbereitet und<br/>
   ausliefert<br/>
   Zunaechst gibt es drei solche FLEXe und zugehoerige Jobs:<br/>
   xyz = get : Einen Datensatz per Satznummer holen<br/>
         ind : Registerausschnitt zeigen, incl. blaettern<br/>
         erg : Ergebnismenge mit find-Befehl bilden und zeigen</div>

<div>-- a99xyz.job verwendet automatisch die Einstellungen der Datenbank,<br/>
   in deren Ordner er auf dem Webserver liegt: Die Angaben dazu<br/>
   entnimmt er aus a35ini.php und ajax3ini.php. Weitere Dateien<br/>
   von a35 werden nicht gebraucht.</div>

<div>-- Die Ergebnisse liefert ajax3.php zurueck an den FLEX a99xyz.flx, der<br/>
   im a99 darauf wartet. Genauer: Der Befehl  get I  wartet darauf, und<br/>
   dann gehts weiter in dem FLEX, um die Ergebnisse auszuwerten und<br/>
   eine geeignete Anzeige daraus zu fabrizieren.<br/>
   Im Falle a99ind und a99erg sind dies ViewListen, die wiederum<br/>
   Aufrufe von a35get oder a99erg veranlassen koennen. a35get holt<br/>
   einen Datensatz und legt ihn zur Entscheidung vor: er kann sofort<br/>
   danach in einen Neusatz verwandelt werden.</div>

<div>Damit wird ein komfortables Suchen und Blaettern in der Fremdbank<br/>
moeglich sowie die direkte uebernahme von gefundenen Datensaetzen.<br/>
Gestartet wird mit  X a99svi. Der kleine FLEX a99svi.flx ist nur dazu<br/>
da, die gewuenschte Funktion auszuwaehlen:<br/>
  Im Index blättern<br/>
  Suchbefehl<br/>
  Datensatz mit interner Nr. abrufen<br/>
Zweckmäßig ist, mit der ersten zu beginnen, dann sieht man gleich,<br/>
welche Register es gibt.</div>

<div>Notwendige Dateien<br/>
------------------<br/>
A. Auf dem Datenbankserver im DbDir der Datenbank<br/>
a99svi.flx : Startmenue<br/>
a99svi.inc : Einstellungen; z.Zt. nur die Basis-URL fuer den Service<br/>
a99erg.flx : Find-Befehl absenden an a99erg.job,<br/>
             Ergebnis in ViewListe wandeln und zeigen,<br/>
             a99get.flx aufrufen, um gewaehlten Satz zu besorgen<br/>
a99get.flx : Per Satznummer einen Satz anfordern via a99get.job<br/>
a99ind.flx : Registerauszug anfordern und in ViewListe wandeln<br/>
             Gewaehlte Zeile auswerten:<br/>
             -- 1 Treffer: a35get.flx aktivieren<br/>
             -- mehrere  : a35erg.flx aktivieren</div>

<div>B. Auf dem Webserver im Skriptordner der Datenbank<br/>
a99erg.job : Find-Befehl ausfuehren und Erg.Menge liefern<br/>
a99get.job : Einzelnen Satz liefern<br/>
a99ind.job : Index-Auszug liefern<br/>
Die jeweiligen Ergebnisse werden von den zugehoerigen FLEXen dann<br/>
noch geeignet aufbereitet.</div>

<div>Zum Ausprobieren:<br/>
1. Diese fuenf Dateien mit  X gf ...  besorgen:<br/>
     a99svi.flx, a99erg.flx, a99get.flx, a99ind.flx, a99svi.inc<br/>
     (Die job-Dateien braucht nur, wer selber eine eigene Datenbank<br/>
     fuer a99svi ins Netz stellen will. Die liegen noch nicht bereit.)</div>

<div>2. Im eigenen a99 eingeben:   X a99svi  oder auch direkt  X a99ind<br/>
   Völlig risikolos und sofort mit der DemoBank!</div>

<div>Zum Ausprobieren wurde extra eine neue Datenbank gemacht:  EEBO<br/>
Die Benutzung ist ansonsten weitestgehend selbsterklaerend. Wenn nicht,<br/>
dann bitte Fragen stellen und Verbesserungsvorschlaege einreichen.</div>

<div>Die voreingestellte Testdatenbank enthaelt knapp 100.000 Datensaetze<br/>
von Early English Books Online. Man kann sie auch mit a35 nutzen:</div>

<div>  http://www.allegro-b.de/db/eebo</div>

<div>Die Daten sind alle z.B. im GBV. Die Datenbank als solche waere also<br/>
allenfalls fuer einige wenige Fachleute von Interesse, und der<br/>
Zugriff auf die Digitalisate (bei ProQuest) geht eh nur mit Lizenz.<br/>
(Die a35-Implementierung ist nicht voll ausgebaut, sie soll nur eine<br/>
oberflaechliche Besichtigung ermoeglichen; a99svi braucht das nicht.)</div>

<div>Hinweis:<br/>
Es handelt sich bei a99svi im Prinzip um eine Beta-Version in fruehem<br/>
Stadium. Verbesserungen und weitere Funktionen koennen hinzukommen, bis<br/>
hin zu der Moeglichkeit, Datensaetze in a99 zu bearbeiten und dann an<br/>
den Webserver zurueckzusenden, damit dort der Satz wieder gespeichert<br/>
wird. Oder ein Neusatz. Also Katalogisierung ueber Internet ohne<br/>
Browser, nur mit a99. Und mit geringstmoeglichen Aufwand auf der<br/>
Server- wie auf der Client-Seite.</div>

<div> </div>
</div></div></body></html>