[Allegro] aLF : PHPAC-Selbstbedienung fuer Verlaengerung

Bernhard Eversberg ev at biblio.tu-bs.de
Mo Jan 12 08:55:06 CET 2009



aLF : Schema der WebOPAC-Selbstbedienung
========================================
Bereitstellung erfolgt noch heute.
Zusammen mit der Beispielseite:
http://www.biblio.tu-bs.de/db/demo2/konto.htm
kann man sich schon mal ein Bild machen.

Vorbereitung:
-------------
    in a99       X a-oinit
                 -->  Datei  alfsys.dat  mit allen Systemdaten
                             auf dem DbDir, für a-overl.job (s.u.)
                             u.a. Kalenderdaten, Leserklassen, Mat.Typen
    Dies muß wiederholt werden, wenn an den Systemsdaten etwas geändert
    wird, spätestens zum Beginn eines neuen Jahres! Sinn ist, daß avanti
    nicht bei jedem kleinen Vorgang sich die Systemdatensätze erst
    selber laden muß (a99 braucht das nur bei Sitzungsbeginn zu tun)


Alle nachfolgend genannten Dateien müssen zu den PHP-Skripten der
betreffenden Datenbank.

Start für Endnutzer:
--------------------

    a-okonto.htm
       Enthält JavaScript fuer AJAX-Funktion und <div>...</div>, in das
       hinein die AJAX-Ergebnisse geschrieben werden:  receivE()
       Tip: Link zu  a-okonto.htm  in die Katalog-Startseite einbauen
       Diese Seite bleibt die ganze Zeit stehen, sie wird per AJAX-
       Methodik durch Ergebnisse der Aktionen verändert.

    Eingabe von Lesernummer und -paßwort startet dann a-okonto.php:

    a-okonto.php
       Nimmt die Eingaben entgegen und reicht sie weiter an avanti, und
       zwar an
    a-okonto.job    [s. Beispielbild]
       Dieser liefert die Kontodaten, fertig als HTM-Tabelle aufbereitet
       Jede Kontozeile hat ein <div>... fuer das Ergebnis einer Aktion.
       Außerdem zwei Funktionen:
         Alle Entleihungen verlängern / Paßwort ändern
       Parameter: utf.apr  nur zur Ausgabe von Daten in UTF-8
                  (Diese Datei muß auf das DbDir oder ProgDir)

    In der Kontotabelle gibt es drei Arten von Angaben, je nach
    Status des betr. Exemplars:

      Verlängern :           Aktion v
          Die komplizerteste Aktion wegen der Fristberechnung u.a.
          Wirkungsweise entspricht der des aLF-FLEXes  a-verl.flx
          Mehr zu den Einzelheiten siehe unten.

      Vormerkung freigeben : Aktion a
          Der Vormerksatz wird einfach gelöscht

      Verzicht auf Abholung: Aktion w
          Dann wird Datum $W in #9DH auf gestern gesetzt
               und #9DH$u mit Präfix @z versehen,
               damit der Satz im Konto nicht mehr auftaucht

    Damit und mit der Satznummer wird dann per AJAX aufgerufen:

    a-overl.php
       Übernimmt die Daten (Satznummer #urN und Aktionscode #urA)
       Startet den avanti-Job:
    a-overl.job
       Liest die Systemdaten  alfsys.dat  (s.o.)
       Führt die Aktion durch
       Ausgabe geht zurück zu a-okonto.htm und wird in die betr. Zeile
          eingetragen (per JavaScript: receivE() )


Einiges zur Wirkungsweise der Verlängerung:

--  Die Fristberechnung und die Bedingungsprüfungen entsprechen genau
         der Verfahrensweise im Normalbetrieb von aLF, insbes.:
--  Die Frist wird immer vom aktuellen Tag aus gerechnet, also nicht
         auf die bei Ausleihe gesetzte Frist aufaddiert, d.h. es ist
         zwecklos, schon gleich nach Ausleihe verlängern zu wollen. Aber
--  Falls die Verlängerung eine kürzere Frist als die schon gewährte
         ergäbe, wird sie nicht ausgeführt. Darauf wird hingewiesen.
--  Mehrfachauslösung am selben Tag wird verhindert, obwohl jedesmal
         derselbe Termin herauskäme - es wären aber doch unnötige
         Datenzugriffe. Es erfolgt kein Hinweis - der Leser sieht ja,
         daß sich nichts ändert und kann sich sein Teil denken.
--  Bei Vorliegen von Gebuehrenforderungen und bei abgelaufener
         Mitgliedschaft wird das Verlaengerbegehren abgewiesen.

Man _könnte_ zwar fordern, daß die Kontoliste schon gleich auswiese,
welche Entleihungen überhaupt verlängerbar wären und mit welchem Rück-
gabedatum. Das jedoch wäre erheblich aufwendiger und mit viel mehr
Datenzugriffen verbunden. Oftmals wird der Nutzer ja nur schnell mal
eben schauen wollen, was er denn momentan so alles hat.





Mehr Informationen über die Mailingliste Allegro