Die KUG Recherche-Infrastruktur mit OpenBib war seit jeher nicht als Content-Management-System (CMS) konzipiert. Inhalte und Logik für dynamische Inhalte werden über ein Templating-System organisiert. Durch dessen Objektorientierung kann über Vererbungs-Mechanismen elegant und mit wenig Aufwand eine Vielzahl von Sammlungs-Portalen – derzeit 26 zuzüglich weiterer 14 für die RheinlandBib – verwaltet werden. Die zugehörigen Templates sind auf jedem der derzeit vier Recherche-Server in einer Verzeichnis-Struktur abgelegt. Insgesamt umfasst die gesamte Recherche-Infrastruktur über alle damit realisierten Portale hinweg derzeit 1585 Templates.

Sollen Inhalte geändert werden, so muss das zugehörige bearbeitete Template auf jeden der vier Rechner übertragen werden. Durch die Verwendung des öffentlichen Subversion-Repositories ist das mit wenig Aufwand über die Abteilung UniversitätsGesamtKatalog der USB Köln möglich.

Gerade bei Sammlungs-Portalen, die in Zusammenarbeit mit Wissenschaftlern aus den verschiedenen Fachbereichen der Universität entstehen, Stichwort Forschungsdaten, kommt diese zugrundeliegende Organisation von Inhalten durch Templates an ihre Grenzen.

Ist die Konzeption einer Recherche-Infrastruktur auf einen zentralen Dienstleister und Betreiber ausgerichtet, so besteht nun der nachvollziehbare Wunsch der Wissenschaftler dezentral Texte auf der Einstiegs- oder weiteren Informationsseiten des jeweiligen Portals selbständig ändern zu können. Andererseits können wir als Betreiber der Infrastruktur von den Wissenschaftlern nicht verlangen, dass sich diese mit Template- oder Markup-Sprachen auseinander zu setzen haben, nur wenn sie Texte ändern oder Zahlen aktualisieren wollen.

Daher haben wir in der letzten Woche begonnen zu überlegen, wie sich dieser Wunsch in das bestehende Konzept integrieren lässt. Schnell war klar, dass es wenig Sinn macht, einfach die Templates über ein Webinterface zugänglich zu machen. Denn mag es bei einem einzigen Recherche-Server noch problemlos möglich sein, die Template-Datei über ein Web-Interface zu verändern –  bei einer Infrastruktur aus mehreren Clustern jeweils mit mehreren Servern, wie bei uns, ist das nicht mehr so einfach zu realisieren. Zusätzlich ist das Know-How, das für eine Veränderung auf Template-Ebene zwingend notwendig ist, einem Wissenschaftler – wie bereits angesprochen – nicht zumutbar.

Für die KUG-Infrastruktur mit OpenBib sind wir daher einen anderen Weg gegangen. Wir haben den eigentlichen Text-Teil innerhalb der betroffenen Templates aus eben jenen herausgelöst und daraus  eine eigene Resource (inkl. URI) gemacht, die wiederum in der zentralen System-Datenbank abgelegt wird. Damit sind die Text-Inhalte automatisch von allen Servern der Infrastruktur aus zugreifbar. Die so abgelegten Text-Inhalte sind eindeutig einem Template, einem Portal sowie einer Sprache zugeordnet.

In einem zweiten Schritt wurden die ursprünglichen Templates dahingehend verändert, dass sie dynamisch – u.a. entsprechend der aktuellen Sprachauswahl – die Text-Inhalte aus der Systemdatenbank für die Anzeige abrufen können. Die restliche Templatestruktur kann unangetastet bleiben. Anstelle des Text-Inhalts bedarf es jetzt nur noch einer Anweisung, den entsprechenden Text-Inhalt in das Template einzubetten, die z.B. wie folgt aussieht:

[% config.get_templatetext(‚info_erster_weltkrieg‘,’kapsel‘,lang) %]

Hier wird für das Portal „Kölner Sammlung von Zeitungsausschnitten“ (kapsel) der Text-Inhalt „info_erster_weltkrieg“ in der jeweilige ausgewählten Sprache integriert. Existiert kein eigenes Template für die jeweilige Sprache, so wird auf eine bestehende Sprachversion als Fallback zurückgegriffen.

Schließlich musste noch das Web-Interface für die Erzeugung, Bearbeiten und Revisionierung der Text-Inhalte sowie ein feingliedriges Zugriffs-Rechte-Management implementiert werden. Die Erzeugung editierfähiger Templates obliegt weiterhin der USB als zentralem Dienstleister, die Änderung der zugehörigen Text-Inhalte aber kann nun dezentral verschiedenen Nutzern zugesprochen werden.

Verwaltung von editierfähigen Templates durch den Administrator

Verwaltung von editierfähigen Templates durch den Administrator

Beispielsweise kann die Eingangsseite eines Sammlungs-Portals dem federführenden Wissenschaftler des Projekts zugesprochen werden, während nachgelagerte Informationsseiten an Wissenschaftliche Hilfskräfte delegiert werden. Darüber hinaus kann die Übersetzung der Text-Inhalte in die englische (oder beliebige andere) Sprache wiederum an weitere Personen verteilt werden.

Zuordnung eines Nutzers zur Rolle "Portal-Administrator" sowie zu einzelnen Templates durch den Administrator

Zuordnung eines Nutzers zur Rolle „Portal-Administrator“ sowie zu einzelnen Templates durch den Administrator

Verwaltung der für ihn freigegebenen Templates durch einen Nutzer

Verwaltung der für ihn freigegebenen Templates durch einen Nutzer

Für die eigentlich Änderung der Text-Inhalte setzen wir als Hilfsmittel den JavaScript Editor tinymce ein, durch den eine weitere Auseinandersetzung mit Markup-Sprachen, wie HTML, entfällt.

Änderung eines Text-Inhaltes im Arbeitsbereich des Nutzers

Änderung eines Text-Inhaltes im Arbeitsbereich des Nutzers

Da Änderungen in den Text-Inhalten sofort im Portal sichtbar sind, haben wir als „Sicherheitsnetz“ eine Revisionierung der bisherigen Inhalte integriert, so dass sich auf Kopfdruck jede vorherige Version des Textes schnell wiederherstellen lässt.

Wiederherstellung einer alten Revision des Textes per Knopfdruck

Wiederherstellung einer alten Revision des Textes per Knopfdruck

Mit der Intergration von diesen rudimentären Funktionen eines CMS ist es uns ingesamt sehr schnell gelungen, einen Wunsch aus dem Bereich der in Projekten mit uns zusammenarbeitenden Wissenschaftler umzusetzen. Inzwischen haben wir mehr als 100 Templates für die Änderung über das Web-Interface freigeschaltet. Wir sind immer sehr dankbar, wenn konkrete Verbesserungsideen an uns herangetragen werden. Mit einer offenen Plattform wie OpenBib waren diese bisher immer sehr zeitnah umzusetzen. Zusätzlich wirkt sich diese Art der anforderungsgesteuerten Weiterentwicklung positiv auf zukünftige Einsatzmöglichkeiten unserer Infrastruktur-Lösung aus.