Forschungssoftware

Die Forschungssoftware des STURM-Projektes wird kollaborativ über die Code-Hosting Plattform GitHub entwickelt. Daneben werden alle Komponenten in regelmäßigen Abständen zitierfähig auf der Plattform Zenodo veröffentlicht.

Komponente Download
eXist Webapp (Hauptsoftware) GitHub
PHP Webapp (Beispielanwendung) GitHub

eXist-Applikation

Softwarearchitektur

Die STURM-Edition ist als Webanwendung für die native XML-Datenbank eXist realisiert. Innerhalb der Anwendung erfolgen sowohl die Editionsarbeiten mit oXygen als auch die Online-Publikation der STURM-Quellen und Begleittexte. Die eXist-Applikation ist inspiriert durch aktuelle Entwicklungen im Bereich statischer Website-Generatoren und Flat-File CM Systeme (bspw. Jekyll, Hugo oder auch Grav). Sämtliche Komponenten der Edition werden vollständig aus XML vorgeneriert und als statisches HTML ausgeliefert (Ausnahmen hierzu bilden die dynamischen APIs).

XQuery/XSLT (funktional programmierte) Version der STURM-Webanwendung. Implementierung in Form eines Static Site Generators. Zur Vergrößerung der Grafik klicken.

Neben einer deutlich besseren Performance hat dieser Ansatz weitere Vorteile, zum Beispiel eine gesteigerte Nachhaltigkeit der digitalen Edition, da nicht nur die Forschungsdaten und der dazugehörige Programmcode sondern auch die daraus erzeugte Präsentationsschicht und die aus den Daten abgeleiteten Formate (bspw. CMIF, JSON etc.) in einem ‚Gesamtpaket‘ systemneutral verfügbar gemacht werden können. 1

Webtechnologien

Für die Präsentationsschicht der Digitalen Edition kommen einschlägige Programmbibliotheken zum Einsatz. Entlang der Prinzipien des progressive enhancement werden die Forschungsdaten in statisches, semantisches HTML unter Berücksichtigung der Barrierearmut umgewandelt. Dadurch kann die Edition in ihrer grundlegenden Form mit jedem Webbrowser bzw. internetfähigem Gerät rezipiert werden. Hierauf aufbauend werden für modernere Browser mit Hilfe bestimmter JavaScript- und CSS-Bibliotheken zusätzliche Funktionalitäten bereitgestellt (bspw. eine Klickvergrößerung der Digitalisate, ein Mehrspaltensatz oder interaktive Karten im Ortsregister). Insgesamt werden folgende Bibliotheken und Frameworks eingesetzt:

Typographie & Gestaltung

Die Präsentationsschicht der digitalen Edition legt besonderes Augenmerk auf eine ansprechende Darbietung unter Einbeziehung typographischer Gestaltungselemente aus der Zeit des ‚Sturm‘, eine gute Benutzbarkeit sowie einen optimalen Zugriff sowohl mit Desktop- als auch mit mobilen Endgeräten. Eine Schriftanalyse der ersten Ausgabe des ‚Sturm‘ von 1910 zeigt, dass die ersten Ausgaben mit der damals in Amerika und Europa weit verbreiteten Schriftfamilie ‚Romana‘ des deutsch-amerikanischen Schriftdesigners Gustaf F. Schroeder gesetzt wurden. 2

Schriftvergleich der ersten STURM-Ausgabe vom 03. März 1910 und der Romana (Elsner + Flake) als Webfont.

Die STURM-Edition greift gestalterisch das historische Schriftbild des ‚Sturm‘ auf und überführt es in das digitale Zeitalter. Zum Einsatz kommt ‚Romana EF Book‘ (Elsner + Flake), die als moderner Webfont eingebunden wird. Die typographische Gestaltung der Texte wird ergänzt durch Ornamente (bspw. Trenner zur Seitenaufteilung), die ebenfalls inspiriert sind durch die Druckgestalt der STURM-Zeitschrift. Genau wie seinerzeit im Druck kommt in der webbasierten Version ein Mehrspaltensystem zum Einsatz (Grid), das in der eXist-Anwendung durch eine spezifische TEI/XML-Annotationsstruktur der Begleittexte codiert und in der Präsentationsschicht mit Hilfe des Skeleton CSS-Grid-Systems implementiert ist.

PHP-Applikation

Für den Einsatz in der Lehre wird neben der eXist-Applikation eine zweite Webanwendung entwickelt, die eine gleiche – wenn auch in der Funktionalität für Lernzwecke etwas reduzierte – Präsentationsschicht aus den XML-Daten erzeugt. Die Anwendung beruht jedoch auf einer gänzlich anderen Softwarearchitektur. Während die eXist-Applikation durchgängig X-Technologien verwendet (TEI/XML, XQuery, XSLT) und einem funktionalen Programmierparadigma folgt, ist diese Anwendung in PHP unter Einsatz des objektorientierten Programmierparadigmas entlang der Architekturprinzipien des Domain Driven Design implementiert. In diesem Rahmen demonstriert die Anwendung gängige Software-Entwurfsmuster, wie beispielsweise das Model-View-Controller Prinzip und zeigt unterschiedliche Möglichkeiten HTTP-basierter Schnittstellenprogrammierung auf. Im Rahmen des Moduls ‚Webtechnologien‘ des Masterstudiengangs ‚Digitale Methodik in den Geistes- und Kulturwissenschaften‘ können somit beide Programmierparadigmen und Software-Architekturprinzipien anhand einer einzigen Digitalen Edition vergleichend nachvollzogen werden.

PHP (objektorientiert programmierte) Version der STURM-Webanwendung unter Verwendung von Domain Driven Design und MVC-Prinzipien. Zur Vergrößerung der Grafik klicken.
  1. Vgl. hierzu aktuell auch den Beitrag von Fabian Cremer, Lisa Klaffki und Timo Steyer: „Der Chimäre auf der Spur: Forschungsdaten in den Geisteswissenschaften“, in: obib, Das offene Bibliotheksjournal, Bd. 5, Nr. 2 (2018), DOI https://doi.org/10.5282/o-bib/2018H2S142-162. »
  2. Schroeder entwickelte die Schrift 1892 im Rahmen seiner Tätigkeiten als Stempelschneider bei der Central Type Foundry auf Basis älterer Versionen, die bereits in den 1860er Jahren entworfen wurden. Siehe https://www.myfonts.com/fonts/bitstream/romana/. »