Um einen schnellen Überblick von den Fähigkeiten und Möglichkeiten eines Einsatzes der OpenBib Recherche-Infrastruktur, z.B. als zeitgemäßer Online-Katalog, zu bekommen sowie eine Entscheidungshilfe für einen möglichen Einsatz zu geben, werden an dieser Stelle die generellen Features des Infrastruktur-Lösung aufgeführt.

OpenBib ist Open Source

Bei dem OpenBib Recherche-Portal handelt es sich um Open Source-Software. Damit ist eine maximale Freiheit bei der Anpassung an die individuellen Anforderungen gewährleistet. Darüber hinaus ist die Eintrittsschwelle in die Änderung oder Erweiterung des Portals durch die Verwendung des DBMS PostgreSQL (Model), des Template Toolkits (View), der Programmiersprache Perl (Controller) sowie von GNU gettext (I18N/L10N) äußerst niedrig. Schließlich fallen selbstverständlich keine (Lizenz-)Kosten an.

OpenBib basiert auf Standardkomponenten und bibliothekarischen Standards

OpenBib verwendet durchgängig Standardkomponenten. Es sind dies

Starman Webserver mit PSGI Durch die Verwendung des innovativen Open Source Webservers starman mit dem zeitgemäßender PSGI-Protokoll wird eine schnellstmögliche Reaktionszeit für die Webanwendung erreicht.

PostgreSQL DBMS PostgreSQL ist eines der meist genutzten Open Source Datenbanksysteme. Durch die referenzielle Integrität, konsistente in-time Backups sowie zusätzliche Erweiterungen wie pgcrypto wird ein Höchstmaß an Betriebssicherheit erreicht.

Perl Die Programmiersprache Perl zeichnet sich durch eine weite Verbreitung und eine niedrige Eingangsschwelle aus (Motto: There's more than one way to do it).

Perl Template Toolkit Durch das Perl Template Toolkit wird die gesamte Darstellung im Recherche-Portal realisiert. Durch seine Einfachheit aber auch seiner Mächtigkeit kann durch die Abspaltung der Ansichts-Komponente an Webdesigner oder Nicht-Programmierer sehr gut eine Arbeitsteilung erreicht werden. Im Vergleich zu XSLT ist die Learning Curve des Template Toolkits sehr flach, so daß z.B. eine Auslagerung an einen Bibliothekar problemlos möglich ist.

CSS Für die Darstellung werden in den Templates vielfältige CSS-Klassen verwendet, die zentral angepasst werden können.

GNU gettext Für die Anpassung des Portals an andere Sprachen hat sich in vielen Projekten (z.B. bei KDE mit mehr als 40 Sprachversionen) GNU gettext mit seinen Werkzeugen bewährt. Während andere Systeme z.B. numerische Message-Idendifier verwenden und dadurch etwaig verwendete Templates unlesbar machen, wird bei GNU gettext die jeweilige Meldung in einer Basissprache - bei OpenBib ist dies Deutsch - mit einem Methodenaufruf gekapselt (inkl. weiterer möglicher Parameter), so daß die Templates durchschaubar bleiben.

Verwirklichung der Prinzipien des Semantic Web Durch die Trennung von Ressourcen, gekennzeichnet durch URI's, von ihren verschiedenen Repräsentationen (HTML, JSON, RDF, ICAL, CSV, etc.) entsteht eine mächtige und erweiterbare Infrastruktur, die gleichzeitig Endnutzer, externe Dienste und das Semantic Web auf Grundlage eine einheitlichen URI-Schemas bedienen kann.

REST Jede Informations-Resource verfügt über einen abstrakten URI, über den via REST mit ihr interagiert werden kann. Dazu gehört der Standard CRUD (Create, Read, Update, Delete)

SOAP Für die Kommunikation mit externen Bibliothekssystemen wird das Standard-Protokoll SOAP verwendet.

RSS Über RSS-Feeds können verschiedene Informationen für das Gesamtportal bzw. View-basierte Unter-Portale angeboten werden.

UTF-8 Die Darstellung und interne Verarbeitung der Daten geschieht im Encoding UTF-8. Damit sind auch Datenbestände, die nicht auf ISO-8859-1 basieren, vollständig integrierbar.

log4Perl Durch die Verwendung des Logging-Frameworks log4Perl (Perl-Pendant zum bekannten log4j aus der Java-Welt) kann zu jeder Zeit an jeder Stelle des Portals ein Debugging erfolgen bzw. die genaue Abarbeitung verfolgt werden.

Xapian Mit der Verwendung von Suchmaschinen-Technologie aus dem Open Source Projekt Xapian (http://www.xapian.org/) kann alternativ zur herkömmlichen Suche via SQL weitere Funktionalität, wie z.B. Drill-Downs für große Treffermengen realisiert werden.

Z39.50 Über das Z39.50-Protokoll können entfernte Kataloge abgefragt werden (derzeit experimentell)

Das Datenmodell und das zugrundeliegende Meta-Datenformat basieren auf dem bibliothekarischen Standard MAB2 in einer zeitgemäßen JSON-Darstellung. Darüber hinaus ist seit der Ur-Version des Recherche-Portals im Jahr 1997 sehr viel bibliothekarisches Know-How in die Entwicklung mit eingeflossen.

OpenBib ist über verschiedene Views bzw. Sichten individualisierbar

Mit OpenBib können über das Merkmal 'View' bzw. 'Sicht' ausgehend von einer zentralen Installation mit geringstem Aufwand individuell gestaltete andere Portale erstellt werden. Ein View kennzeichnet dann immer ein individuelles Portal. Zum möglichst unaufwändigen Betrieb vieler Portale unter maximaler Nachnutzung bereits bestehender Komponenten wird ein objektorientierter Ansatz kaskadierender Templates und Stylesheets verwendet. Dieser Mechanismus funktioniert sowohl view- wie auch datenbankabhängig.

Wird für eine Datenbank oder einen View ein anderer Aufbau eines Templates gewünscht, so reicht es, ein spezielles Unterverzeichnis anzulegen, das zugehörige Standard-Template in das Unterverzeichnis zu kopieren und dort zu verändern. Damit müssen nur die Templates kopiert werden, die effektiv auch anzupassen sind. Dies gewährleistet eine sehr gute Übersicht der getätigten Änderungen zu verschiedenen Sichten und Datenbanken im Gegensatz zu dem häufig verwendeten Ansatz in anderen Portalen grundsätzlich alle Templates zu kopieren.

Neben den Templates werden ebenfalls die Stylesheets über diesen Mechanismus individualisierbar gemacht.

Über den Mechanismus kaskadierender Templates hinaus können datenbankabhängige (internationalisierbare bzw. lokalisierbare) Bezeichner für einzelne Kategorien definiert werden. Damit lassen sich einzelne Kategorien unter Beibehaltung ihres Datenbankbezeichners für spezielle thematische Datenbanken (siehe unten z.B. Digitale Einbandsammlung) 'umetikettieren' - und dies mehrsprachig.

Konkrete Beispiele sind

  • Das KUG Recherche-Portal (http://kug.ub.uni-koeln.de/)
  • Gentz Digital (http://gentz-digital.ub.uni-koeln.de/)
  • Das Kölner Münzportal (http://muenzen.uni-koeln.de/)
  • Die Virtuelle Bibliothek Historische Bestände im Rheinland (http://rheinlandbib.ub.uni-koeln.de)
  • Die Virtuelle Bibliothek Elise und Helene Richter (http://richterbibliothek.ub.uni-koeln.de/)
Gentz Digital

Gentz Digital

Kölner Münzportal

Kölner Münzportal

Richterbibliothek

Portal für die Virtuelle Bibliothek Elise und Helene Richter

OpenBib ist modular aufgebaut

OpenBib ist in seiner derzeitigen Version sehr modular konzipiert worden. Dies zeigt sich zu allererst in der Verwendung des MVC-Design-Patterns (Trennung von Modell, View, Controller) sowie der Auslagerung aller verwendeten Texte in internationalisierbare bzw. lokalisierbare GNU gettext Message-Kataloge.

Damit können - ganz praktisch gesehen - entsprechende Arbeiten wie das visuelle Design des Portals (Templates, Stylesheets) oder die Übersetzung der Texte (GNU gettext) an verschiedene - nicht im Programmierumfeld zu suchende - Mitarbeiter ausgelagert werden.

Darüber hinaus können andere Teile modular ausgewechselt werden - wenn dies gewünscht wird. Die Recherche-Komponente z.B. ist so abstrahiert, dass sich jenseits der Standard-Suchmaschine Xapian auch alternative Recherche-Backends nutzen lassen. Ganz konkret existieren bereits produktiv Backends für den API-Zugriff auf die Elektronische Zeitschriftenbibliothek und das Datenbank Informationssystem in Regensburg sowie experimentieller Zugriff auf die Suchmaschine ElasticSearch und Z39.50 Datenbanken.

OpenBib integriert Suchmaschinen-Technologie

In OpenBib ist die Suchmaschinen-Technologie des Open Source Projektes Xapian in Form eines alternativen Recherche-Backends integriert. Mit dieser Technologie können dem Nutzer bei großen Treffermengen sog. Facetten angeboten werden. Facetten bestehen aus den in der Treffermenge meistgenutzten Begriffen, die kategorisiert (Verfasser, Titelbegriff, Schlagworte, Erscheinungsjahr) dargestellt werden und dem Benutzer die Möglichkeit bieten,

  • sich einen generellen Überblick von der Treffermenge zu machen
  • durch Auswahl eines der Begriffe die bisherige Treffermenge weiter zu reduzieren.
Facettierte Suche

Facettierte Suche nach "programming perl"

OpenBib bietet viel Flexibilität für den Datenimport

Parametrisierbare Schnittstelle

OpenBib bietet ausgehend vom auf MAB2 basierten Meta-Datenformat eine für jede Datenbank individualisierbare und parametrisierbare Importschnittstelle.

Es kann definiert werden

  • welche Kategorien für die Kurztrefferliste optimierend aufbereitet werden sollen,
  • welche Kategorien in den einzelnen Normdatenbereichen für eine Volltextsuche nutzbar sein sollen,
  • welche Kategorien in den einzelnen Normdatenbereichen für eine String- bzw. Wortanfangs-Suche nutzbar sein sollen,
  • welche Kategorien in den einzelnen Normdatenbereichen für welche Suchfelder jenseits der freien Suche nutzbar sein sollen sowie
  • welche Kategorien in den einzelnen Normdatenbereichen für grundsätzlich ignoriert (blacklisted) werden sollen.

Kategorieseitig ist die grundsätzliche Strategie alles zu importieren, was nicht geblacklisted ist.

Wie schon bei den Templates und den Stylesheets gibt es auch hier eine Standardkonfiguration, die für alle Datenbanken gilt, für die nicht explizit eine eigene Konfiguration erstellt wurde.

Plugin-Mechanismus für verschiedene Quell-Datenbanktypen

Ausgehend von einer Standardkonvertierung im allgemeinen OpenBib Metadatenformat können im Programm für den automatisierten Import an verschiedenen Stellen des Import-Ablaufes datenbankspezifische Plugins eingebracht werden, in die man Spezialanpassungen auslagern kann. Damit bleibt der Überblick erhalten - selbst bei einer Vielzahl heterogener Datenquellen und Anforderungen.

Grundlegende Phasen, in die man eingreifen kann, sind:

Einsammeln der Daten An dieser Stelle können alternative Zugriffsmechanismen - wie z.B. OAI oder Konvertierungen aus anderen Formaten in das einheitliche Metadaten-Format - in externe Plugin-Programme ausgelagert werden.

Vorbereitung der Daten An dieser Stelle können alternative Vorbereitungsaktionen - wie z.B. Teilkatalogbildung - in externe Plugin-Programme zwischengeschaltet werden.

Konvertierung der Daten An dieser Stelle können alternative Konvertierungsroutinen - z.B. Filterung oder Anreicherung von Zusatzinhalten - zwischengeschaltet werden.

Einladen der Daten An dieser Stelle können weitere Aktionen - z.B. die Generierung von Wortwolken oder Konsistenzprüfungen - zwischengeschaltet werden.

OpenBib bietet eine externe Zugriffsschnittstelle via REST

Für den externen Zugriff kann die OpenBib-Infrastruktur über eine REST-Schnittstelle angesprochen werden. Diese Schnittstelle bietet Zugriff auf alle Resourcen, die von der Infrastruktur bereitgestellt werden. Neben der Recherche sind das z.B. nutzergenerierte Inhalte (Literaturlisten, Tags, Merklisten) und die gesamt Administration.

OpenBib verfügt über eine intelligente Lastverteilung

Im Standard-Setup wird der Zugriff auf die OpenBib-Infrastruktur über den intelligenten Load-Balancer haproxy verwirklicht. Dieser ist über eine Schnittstelle mit der Instrastruktur gekoppelt, so dass über die webbasierte Administration von OpenBib gezielt Recherche-Backendserver ein- oder ausgeschaltet werden können. Damit kann bei Ausfall oder bei Wartungsarbeiten der jeweilige Server aus der Verteilung herausgenommen werden, um in aller Ruhe entsprechende Arbeiten vorzunehmen. An der Universitäts- und Stadtbibliothek Köln wird z.B. ein Setup von zwei Clustern mit jeweils zwei Servern gefahren. Während ein Cluster die Recherche-Anfragen beantwortet, werden im anderen Cluster die Datenbestände aktualisert. Nach Beendigung der Aktualisierung tauschen die beiden Cluster Ihre Rollen.

OpenBib realisiert Content- bzw. Catalogue-Enrichment

Über eine zentrale Anreicherungsdatenbank können zusätzliche Inhalte katalogübergreifend in die vorhandenen Katalogdaten eingeblendet werden. Grundlage ist eine vorhandene ISBN/ISSN. Hiermit ist z.B. die Ergebnisanreicherung mit Inhaltsverzeichnissen realisierbar. Die Implementation der Ergebnisanreicherung in OpenBib ist jedoch so allgemein gehalten, daß sie sich auch mit anderen 'Zusatz'-Informationen nutzen lässt. So können beliebige Informationen wie Abstracts, Stichwortverzeichnisse u.ä. dort zentral abgelegt werden und sind für alle Kataloge des OpenBib-Portals nutzbar.

OpenBib bietet eine Recommender-Funktion

Durch statistische Auswertungen des Nutzungsverhaltens in OpenBib werden zu einem gegebenen Titel gewichtete nutzer- bzw. sessionspezifische Überschneidungsmengen mit anderen ausgeliehenen/-gewählten Titeln bestimmt. Dadurch bekommt der Nutzer konkrete Titelempfehlungen durch einen Überblick von weiteren Titel, die von anderen Nutzern im Kontext des aktuellen Titels für interessant befunden wurden.

OpenBib bietet Popularity-Funktionen

Durch eine Analyse des Nutzungsverhaltens - ähnlich wie bei der Recommender-Funktion - werden Popularitäts-Funktionen ermöglicht.

So werden für jeden Katalog getrennte Top 20 Listen der am meisten aufgerufenen Titel angeboten. Ebenso ist eine Top 20 Liste der am meisten genutzten Kataloge (bezogen auf die Auswahl konkreter Titel) implementiert. Schliesslich lassen sich Treffermengen nach der Popularität der Titel sortieren. Damit können Nutzer direkt vom Nutzungsverhalten anderer Nutzer profitieren.

OpenBib verwendet Wortwolken

Für jeden Katalog kann - soweit dort verschlagwortet wird - eine Übersicht der 200 am häufigsten vergebenen Schlagworte in der Form einer Wortwolke (engl. tag cloud) dargestellt werden. Je mehr Titel entsprechend verschlagwortet wurden, umso grösser wird das zugehörige Schlagwort dargestellt. Gleiches gilt für Notationen, Körperschaften und Personen.

Wortwolke der Schlagworte

Beispiel einer Wortwolke von Schlagworten

OpenBib bietet Tagging durch Nutzer

Angemeldete Nutzer können nun alle in OpenBib gefundenen Titel 'taggen', d.h. mit einem eigenen Etikett (= Schlagwort/Tag) versehen. Diese Tags sind einzelne Worte, die mit Leerzeichen getrennt eingeben müssen. Zur Vereinheitlichung werden sie automatisch normiert - d.h. Umlaute werden aufgelöst, es wird Kleinschreibung verwendet und unerwünschte Zeichen werden eliminiert (erlaubt sind Alphanumerische Zeichen sowie +-_.). Unter dem Reiter 'Tags' erhält der Nutzer dann in 'Mein KUG' eine Übersicht aller von ihm verwendeten Tags in Form einer Wortwolke - je mehr Titel sie mit einem entsprechenden Tag versehen haben, desto grösser wird es dargestellt. Durch einen Klick auf einen Tag gelangt er zu einer Kurztitel-Liste aller Titel, die von ihm mit dem jeweiligen Tag versehen wurden.

Neben diesem individuellen Tagging bietet OpenBib als optionale Erweiterung auch das Social-Tagging an - hierzu muss lediglich eine Konfigurations-Option geändert werden. Alle von Nutzern vergebenen Tags werden dann in den jeweiligen Titeln auch für nicht authentifizierte Nutzer dargestellt - so erhalten auch sie Zugriff auf alle mit dem jeweiligen Tag verknüpften Titel.

Ein Tag-Editor rundet die Tagging-Funktionen in OpenBib (Version 2.1) ab. Über diesen können Nutzer ihre Tags umbenennen und nachträglich bequem bearbeiten.

OpenBib bietet Literaturlisten

Nutzer können eigene Literaturlisten (privat und öffentlich) anlegen, thematisch einordnen und auf diese von überall über PermaLinks zugreifen. Zusätzlich können von authorisieren Nutzern offzielle Literaturlisten für Lehrveranstaltungen erstellt werden, die durch ein besonderes Icon für die anderen Nutzer kenntlich gemacht sind.

Literaturliste

Beispiel einer "offiziellen" Literaturliste eines Instituts

OpenBib bietet Mashups mit der Wikipedia und vielen weiteren Diensten

In der Einzeltreffer-Anzeige werden Personen sowie ISBNs direkt in die Wikipedia verlinkt. Wenn ein Nutzer Informationen zu einer Person oder einem Verfasser benötigt, kann er direkt eine Recherche nach der ensprechenden Person in der Wikipedia starten. Ebenso lässt sich bei vorhandener ISBN der ISBN-Suchservice der Wikipedia nutzen. Damit stehen dem Nutzer automatisch verschiedene Verbundkataloge, Buchhändler, Antiquariate usw. zur Verfügung, bei denen er direkt nach dem aktuell ausgewählten Titel recherchieren kann, ohne sich mit der jeweiligen Suchoberfläche auseinandersetzen zu müssen.

Darüber hinaus sind viele weitere Dienste über Mashups mit OpenBib verbunden.

Mashups

Mashups von OpenBib mit externen Diensten

Angemeldete Nutzer könnnen in OpenBib Rezensionen zu einzelnen Titeln schreiben und Bewertungen zu diesen abgeben. Diese Rezensionen können wiederum durch andere angemeldete Nutzer in ihrer Nützlichkeit beurteilt werden.

OpenBib bietet ein web-basiertes Administrationsinterface

Die Einrichtung einzelner Datenbanken, Zusammenfassung von Datenbanken in Views, die Konfiguration der RSS-Feeds sowie eine Beobachtung aktiver Sessions (Suchanfragen usw.) kann über ein web-basiertes Administrationsinterface erfolgen. Damit läßt sich auch eine große Anzahl an Katalogen unproblematisch konfigurieren.
Administrations-Interface

Web-Administration

Web-Administration von OpenBib

OpenBib respektiert die Sicherheit seiner Nutzer

OpenBib ist auch ohne die Aktivierung der sicherheitskritischen Browser-Sprache JavaScript vollständig nutzbar. Damit wird ein sicherheitsbewußter Nutzer nicht dazu gezwungen, für die Verwendung von OpenBib JavaScript in seinem Browser zu aktivieren. Ebenso lässt sich OpenBib - mit entsprechenden Einschränkungen - auch ohne Cookies verwenden.

Nutzerdaten werden in OpenBib bei einer Authentifizierung an einem Bibliothekssystem nur temporär gespeichert und nach Ende einer Session wieder gelöscht. Passworte werden nicht im Klartext, sondern ausschließlich verschüsselt abgespeichert.