[Allegro] Bewertungskriterien für Bibliothekssoftware

Bernhard Eversberg b-eversberg at gmx.de
Mi Mär 1 15:44:56 CET 2017


Für die Fortbildung in Potsdam am 17.3. ist u.a. geplant, einen kurzen Überblick zu dem
System Koha zu geben. Dies übernimmt dankenswerterweise Herr Wolf aus Freiburg, der auch 
ein allegro-Experte und -Supporter ist.
Bei der Gelegenheit wollen wir auch versuchen, eine vergleichbare Kurzbeschreibung
beider Systeme zu geben. Auf dieser Basis wird es dann hoffentlich möglich, auch andere
Systeme in derselben Weise zu charakterisieren. Bislang besteht, wie schon oft bemerkt,
ein völliger Mangel an solchen Beschreibungen. Eine Migrationsentscheidung ist jedoch
weitreichend und i.d.R. unumkehrbar, daher will man vorher genau wissen, auf was man
sich einläßt und natürlich auch, auf was man sich freuen kann.

Nochmals dieser Hinweis: Die Absicht ist NICHT, zu einer baldigen Migration weg von
allegro zu raten. Das System wird so lange lauffähig bleiben wie Windows und Linux.
Und gerade auch für die neue Initiative allegro-NG könnte es sehr helfen, wenn man
mehr weiß über Stärken und Schwächen sowie Eigenschaften aller Art ganz allgemein.

Nachfolgend ein erster Entwurf der allegro-Beschreibung.
Es wäre schön, wenn dazu Kritik und Anregungen gegeben werden könnten. Wenn man als
Entwickler so eine Ausarbeitung schreibt, ist ja Subjektivität kaum vermeidbar.
Die Absicht ist aber, eine nüchterne, allein auf realen, nachprüfbaren Fakten 
beruhende Kurzbeschreibung zu liefern.
Also: Was wird vermißt, was ist zu positiv formuliert, was geht gar nicht, was
sollte man hinzufügen, was erscheint überflüssig, obsolet, dringend änderungsbedürftig?
Rückmeldungen an das Forum oder direkt.

B.Eversberg


Kurzcharakteristik der Software allegro-C
-----------------------------------------

Plattform:
  Windows: Graphische Oberfläche (a99); Kommandozeile (acon); Browser (a35)
  Linux:  Browseroberfläche (a35); Kommandozeile für Admin (acon);

Server:
  Ein lokales Netz mit Windows-Desktops braucht keinen Datenbankserver, nur
  einen freigegebenen Bereich im Dateiensystem.
  Nur für Browser-Oberflächen braucht man die Programme avanti und acon für
  die Kommunikation über das Netz bzw. die Ausführung von Aufträgen.

Download:  http://www.allegro-b.de/download/inst-all.exe
             Installpaket ca. 5 MB; incl. Demo-Datenbank mit 1200 Sätzen
                   entpackt: 23 MB, 41 Ordner, 1.680 Dateien
           http://www.allegro-b.de/download/a35.zip
                   entpackt: 3.5 MB, ca. 10 Ordner mit 250 Dateien
           Linux-System:
           http://www.allegro-b.de/download/linux-prog.tar.gz

Quellprogramme OpenSource:
   https://svn.allegro-c.de/svn/


Datenbank: allegro ist selbst ein Datenbanksystem, d.h. es macht alles selber.
  Dies hat zwei Aspekte:
  1. Es wird keine fremde Datenverwaltung eingebunden (z.B. MySQL); 
     Auch für andere Zwecke werden keine Komponenten aus anderen Quellen verwendet.
  2. allegro ist nicht festgelegt auf Bibliotheksdaten und -funktionen, sondern
     kann auch für ganz andere Strukturen und Aufgaben konfiguriert werden.
     So gut wie jede Eigenschaft kann ohne Eingriff ins Programm verändert werden.

Funktionen: [alle sind umfassend variabel, weil skriptfähig]
  Katalogisierung (mit frei gestaltbaren Formularen oder direkt mit Feldnummern)
  Fremddaten: s. Import
  Online-Katalog: alcarta (Windows)
  Suchsystem:
      1. Beliebteste Methode: "Schnelle Suche" mit bel. Stichwörtern
      2. Nur noch wenig genutzt: Alphabetische Register zum Blättern 
  Erwerbung: ja (2 Versionen: einfach und komplex, in jedem Fall variabel)
  Ausleihverbuchung: ja (ebenfalls zwei Varianten, einfach und komplex)
  Zeitschriftenverwaltung; ja
  Resource-Management: bislang nein; viele Funktionen wären aber mit FLEX
                       und evtl. weiteren Hilfsmitteln konstruierbar

Web-Katalog: a35 (HTML5, jeder moderne Browser); 
  Lokale Anpassung der Oberfläche: HTML5 mit JavaScript und CSS3
  VuFind als zusätzliches Suchsystem konfgurierbar
  (VuFind ist reines Suchsystem ohne Datenbankfunktionen)

Admin-Funktionen:  [lokal ausbaufähig mit FLEX]
  Alle sind über Menüs bequem auszuführen.
  Schnelle Erneuerung aller wesentlichen Dateien (Index etc.)
  Datensicherung und -restaurierung
  Diagnostik: z.B. Satzadressen checken und unzulässige Datenfelder finden
  Volltextsuche mit regulären Ausdrücken und beliebigem Export
  Update: Offline-Einspeisen neuer und veränderter Daten mittels
      Primärschlüssel oder anderer Kriterien, z.B. ISBN/ISSN
  Konsolprogramm acon kann beliebige FLEX-Skripte ausführen. Dazu gehört
      auch das Einspeisen von Daten aus beliebigen anderen Quellen.
  
Programmierung:
  Kernprogramme in C und C++
  Web-Programmierung, insbes.:
  Oberfläche a35:  PHP, HTML5 mit JavaScript und CSS3
                   a35-Funktionen per FLEX-Skripting beliebig erweiterbar,
                   ohne eigene zusätzliche PHP- oder JavaScript-Programmierung
                   (Es gibt einige PHP- und JavaScript-Funktionen, die aber
                   standardisiert sind und i.a. keine Anpassung brauchen.)

Skripting: eigene Sprache FLEX mit ca. 100 Befehlen.
           Ein FLEX-Skript ist ein Programm, das die allegro-Programme a99
           und acon ausführen können. Zum Installationspaket gehören mehr
           als 300 Skripte für Aufgaben aller Art. Alle sind ausführlich
           dokumentiert.
           Alle höheren Funktionen sind in FLEX programmiert, nicht in C++, und
           daher ohne Eingriff in die Kernprogramme lokal anpaßbar und erweiterbar.
           Neue, komplexe Funktionen wurden in den letzten Jahren nur noch
           in FLEx realisiert, d.h. Programmierung auf C-Ebene minimiert.
           Per FLEX können auch externe Programme gestartet und deren Ergebnisse
           verwertet werden. So ist z.B. eine Z39.50-Clientfunktion realisiert.
           FLEX-Skripte kann man im laufenden Betrieb aktualisieren, wodurch
           das Testen beschleunigt und erleichtert wird.

Konfigurierung:
          Datenschema frei gestaltbar mit beliebigen Feldbezeichnungen, 
            Mehrfachfelder in beliebiger Zahl; Hierarchische und verknüpfte Sätze.
          Unterschiedliche Datensatztypen frei konfigurierbar innerhalb derselben 
            Datenbank, jederzeit erweiterbar ohne Reorganisation der Datenbank.
          Standardschema für normale Anwendungen ist aktuell auch für RDA eingerichtet.
          Es gibt daneben Konfigurationen für u.a. MARC21, MAB2 und Pica
          Freie Gestaltung der Indexierung und der Datenanzeige
          Viele Lokale Einstellungen in .ini-Dateien bzw. FLEX-Skripten realisierbar
           
Export: Viele Standard-Exporte, z.B. MARC21, XML, MAB2, Pica3
          Tabellarische Reports für externe Zwecke (Excel).
          Eigene "Exportsprache" für anwenderseitige, beliebig strukturierte Exporte.
          Export ist als Unterfunktion auch in der Skriptsprache FLEX verfügbar, wobei
          FLEX die Exportsprache aber nur für wenige Spezialzwecke noch braucht.

Import: Standard-Importe: MAB2, Citavi, MARC21 (z.B. für Z39.50-Daten), u.a.
          Sofort-Importe aus DNB, GBV und Z39.50-Quellen mit FLEX-Skripten.
          Älter ist die Importsprache, die nur noch für Spezialzwecke gebraucht
          wird; Beispiele: Pica-, MAB2- oder MARC21-Daten aus Download- oder 
          Exportdateien anderer Systeme, auch CSV-Daten. Fremdstrukturen sind
          vielfältig, aber mit der Importsprache alle beherrschbar.

Einarbeitung: Das Arbeiten mit dem Windows-Programm ist schnell erlernbar, wenn
          man die Standard-Parameter anwendet. Diese sind auch lokal anpassungsfähig. 
          Schwieriger wird es, wenn man eigene Projekte mit ganz anderen Standards 
          und Funktionen realisieren will.
          Eigene Parameter für Export, Import, Anzeige und Indexierung zu schreiben
          ist nicht schnell erlernbar, weil die Sprachkonstrukte eigene Entwicklungen
          sind, die keinen gängigen Sprachstandards entsprechen oder ähneln, wie
          z.B. Perl oder Python. Vollständig dokumentiert ist zwar alles, aber von
          selbst oder intuitiv erklärt sich fast nichts in diesen Konstrukten. 
          Die Skriptsprache FLEX hat aber für viele Aufgaben diese alten Konzepte abgelöst.

Einzelthemen:
          Globale Änderungen und Ersetzungen
              einfache: per Dialog 
              komplizierte: per FLEX-Skript
          Volltextsuche mit regulären Ausdrücken
          Log-Datei auswerten
          Gelöschte Sätze finden und reaktivieren
          Archivdatenbank [für ausgesonderte Datensätze]


Informationsquellen:

   http://www.allegro-b.de
   o  Aktuelle Downloads und Dokumente, incl. Systemhandbuch als PDF
   o  mehrere Demo-Datenbanken mit a35-Oberfläche
   o  Fortbildungstexte für Einsteiger und Fortgeschrittene

   http://www.allegro-c.de
   o  Historische Website, Stand Dez. 2015. Viele noch relevante ältere Dokumente
   o  http://www.allegro-c.de/ac-dbs.htm : Liste von Referenzen im Web.
   o  SVN für die Quelldateien (C und C++)
          https://svn.allegro-c.de/

Kosten:
   Standard-Gesamtpaket kostenfrei. Aber OpenSource-Software ist unterm Strich nicht kostenlos:
   Lokale Änderungen können vor Ort von eigenem Personal erledigt werden oder bei
   Supportern gegen Entgelt in Auftrag gegeben.
   Das nötige allegro-Knowhow für Änderungen und funktionale Erweiterungen ist umfangreich 
   und nicht leicht zu erwerben, weil die Software eigenwillig konstruiert ist und nicht
   auf geläufigen Standards basiert. 


Hinweise auf andere Systeme:

Entwicklungsprojekte der VZG Göttingen: 
z.B. Folio (früher Kuali und OLE) und LAS:er (früher VuFind)
https://www.gbv.de/news/aktuelles/Verbundzentrale/Publikationen/broschueren/vzg-aktuell

FOLIO : Nachfolger von OLE Community, zusammen mit EBSCO:
https://www.folio.org   (für laufende Projekte s. insbes. Blog)

Objectives for the building of an Open Source Next Generation 
  Library Management System  [White Paper of OLE Community]
http://www.openlibraryenvironment.org/wp-content/uploads/2016/07/2016-06-02_Draft_OLE-Objectives-Statement.pdf





Mehr Informationen über die Mailingliste Allegro