Vorschau auf neue Kitodo-Systemarchitektur

Neues aus dem DFG-geförderten Projekt zur Weiterentwicklung Kitodo.Production: Das Projektteam hat eine erste Entwicker-Vorschau auf die neue Kitodo-Systemarchitektur veröffentlicht.

Foto: Peter Voigt -- CC-BY-SA

Die auf <link https: github.com kitodo kitodo-production releases tag kitodo-production-3.0.0-alpha.1 _blank github>GitHub erhältliche Entwickler-Vorschau markiert gleich mehrere wichtige Meilensteine im Projekt:

Refactoring und Modularisierung

Inzwischen wird die neue Systemarchitektur deutlich sichtbar. Im Systemkern existiert nun die Ende April auf einem Workshop in Dresden vorgestellte und mit der Entwickler-Community diskutierte Service-Schicht, die künftig für die Verwaltung der unterschiedlichen Funktionsmodule zuständig sein wird. Mit dem Laufzettel-Modul, einem Modul für das Dateimanagement und einem Modul zur Registrierung persistenter Identifier wurden auch bereits die ersten Module auf Basis dieser neuen Service-Schicht realisiert.

Darüber hinaus wurde ein Großteil der Klassen, Methoden und Datenbanktabellen im Quellcode einheitlich ins Englische übersetzt. Das Datenbankhandling wird nun konsequent über das Java-Framework Hibernate erledigt und im Zuge der Frontend-Aktualisierung von JSF 1.1 zu Version 2.2 wurde die komplette Template-Technologie ausgetauscht. Statt veralteter JSP-Templates setzt Kitodo.Production nun auf moderne Facelets. Für die interne Suche wurde die quelloffene Suchmaschine Elasticsearch implementiert, die perspektivisch auch überall dort zum Einsatz kommen soll, wo derzeit noch vergleichsweise langsame Datenbankabfragen etwa zur Erzeugung, Sortierung und Filterung der Vorgangslisten verwendet werden. Diese Maßnahmen dienen neben der wichtigen Modularisierung und Modernisierung der Code-Basis vor allem auch der besseren Wartbarkeit des Quellcodes, indem Entwicklern der Einstieg erleichtert und über eine API und dokumentierte Schnittstellen die Erweiterung des Funktionsumfangs ermöglicht wird. Um die Einhaltung der <link file:190975 _blank>Kitodo Coding Guidelines zu erleichtern wurden zudem Tools und Konfigurationsdateien für gängige Entwicklungsumgebungen erstellt, die die Einhaltung der Regeln automatisch prüfen und in vielen Fällen sogar selbsttätig sicherstellen.

Die technische Dokumentation erfolgt direkt im Quellcode nach JavaDoc-Standard und wird um zusätzliche Dokumente (etwa zur Schnittstellenbeschreibung) ergänzt. Zusammengeführt wird die Dokumentation schließlich auf der Plattform <link http: kitodo-production.readthedocs.io readthedocs>ReadTheDocs, wo sie tagesaktuell öffentlich einsehbar ist. Die Werkzeuge stehen also bereit und im nächsten Schritt werden wir uns nun vor allem den Inhalten und natürlich der Anwenderdokumentation widmen.

Wissenschaft

Auch im wissenschaftlichen Teil unseres Projekts ist viel passiert. Die Kolleginnen und Kollegen der Nordakademie haben die Auswertung der bereits zur Mitgliederversammlung auf dem Bibliothekartag vorgestellten Ergebnisse der Evaluierung verschiedener Anwender von Digitalisierungssoftware abgeschlossen. Aus den Erkenntnissen wurden sogenannte Personas abgeleitet, die jeweils einen prototypischen Anwender beschreiben, sowie Szenarien entworfen, die für jeweils eine konkrete Zielstellung das idealtypische Vorgehen eines solchen Anwenders beschreiben. Daraus wiederum werden nun Designziele für die technische Implementierung und Gestaltung der Benutzungsoberfächen abgeleitet, die direkt in den SCRUM-Prozess einfließen werden.

Über erste, noch grobe Entwürfe wurde außerdem bereits mit den Kitodo-Farben und Möglichkeiten der Visualisierung experimentiert und versucht, sich langsam dem Look and Feel der künftigen Oberflächen anzunähern.

Team

Organisatorisch ist das Projekt-Team nach anfänglichen Verzögerungen durch schwierige Stellenbesetzungen und langwierige Ausschreibungen nun sehr gut aufgestellt und beinahe vollständig. Mit <link https: www.zeutschel.de _blank>Zeutschel und <link https: www.effective-webwork.de _blank>effective WEBWORK sind inzwischen auch zwei Kitodo-Dienstleister im Auftrag der SUB Hamburg am Projekt beteiligt. Zeutschel wird sich vorrangig der Vorgangsflexibilisierung (mit besonderem Blick auf hierarchische Beziehungen) widmen, während effective WEBWORK für die Benutzungsschnittstelle (also vor allem die Oberflächen) verantwortlich zeichnen wird. Einzig an der HU Berlin wird die aufgrund einer mehrfach gescheiterten Stellenbesetzung notwendig gewordene Mittelumwidmung und Ausschreibung voraussichtlich erst im September abgeschlossen sein.

Ende Juli konnten wir uns daher auch erstmals in fast voller Besetzung und mit allen beteiligten Dienstleistern zu einem Projekttreffen in Hamburg treffen. Dort konnten wir neben inhaltlichen Themen vor allem die künftige Zusammenarbeit des deutlich gewachsenen und noch stärker räumlich verteilten Entwickler-Teams besprechen. Zusätzlich zum bewährten und von Kathrin Huber geführten SCRUM-Verfahren soll es fortan regelmäßige Treffen der Entwickler geben, bei denen technische Fragestellungen und gemeinsame Hackathons im Vordergrund stehen. Diese Veranstaltungen werden wir in Einzelfällen auch für Teilnehmer aus der Community öffnen. Unseren Projektplan konnten wir ebenfalls aktualisieren, um den beschriebenen Verzögerungen bei Stellenbesetzungen und Ausschreibungen Rechnung zu tragen. Voraussichtlich wird das Projekt demnach (kostenneutral) etwas länger als ursprünglich veranschlagt laufen und Ende Februar 2019 abgeschlossen werden können.