03.04.2020   R.13
FBT & DGM — Technisches

Static Site Generation

Im März 2020 wurde die Generierung der statischen Webbereiche des FBT und der DGM
  von frame4j auf jekyll umgestellt.

Dieser neue Ansatz bietet vielfältige Vorteile:

  • Testserver für den Entwicklungsplatz
  • Klarheit und Einfachheit durch
  • Markdown als Seitenbeschreibungssprache
  • Bereich mit nach Datum sortierten Beiträgen
    (sogenannte posts, wie als ein Beispiel dieser)

Wegen der umfangreichen Änderungen wurde auch das Versionsverwaltungssystem (Subversion oder kurz SVN) neu aufgesetzt. Ganz Aufmerksame werden sich bei einzelnen Seiten über Versionssprünge von beispielsweise 48 auf 4 wundern.

Der “static site generator” jekyll ist weit verbreitet und wird neben vielen web shops auch von Github verwendet. Dementsprechend gut ist die Unterstützung und Dokumentation im Web. Die seit über 10 Jahren und bis zuletzt gut funktionierende Generierung mit den frame4j tools konnte und sollte mit einem weltweit vieltausendfach eingesetzten und unterstützten Projekt nicht mehr mithalten.

Der völlig andere Ansatz in der Seitenbeschreibung bedingte das “Anfassen” jeder einzelnen Seite — wobei als positiver Nebeneffekt auch gleich ein paar teilweise sehr alte Fehler auffielen.

Wegen der umfangreichen Änderungen wurde auch das Repository im Versionsverwaltungssystem (Subversion oder kurz SVN) neu aufgesetzt. Ganz Aufmerksame werden sich bei einzelnen Seiten über Versionssprünge von beispielsweise 48 auf 4 wundern.

jekyll versteht und generiert ausschließlich UTF8. Das flexible frame4j hätte das auch gekonnt, aber wir haben traditionell nur IS0-8859-1 verwendet. Die Umstellung aller Umlaute, von ß und einigem mehr erfolgte weitgehend durch die Werkzeuge, aber stellenweise war händisches Eingreifen nötig.

Daten und Listen

Mitgliederlisten wurden in .xml-Dateien gehalten und mit XML transforming style sheets (.xsl) dargestellt. Jekyll kann Daten halten — u.a. auch in mit Excel oder libreOffice calc einfach und übersichtlich bearbeitbaren .csv-Dateien. Als solchen Daten können sehr flexibel statische .html-Seiten generiert werden.

Die statische Generierung hat gegenüber der bisherigen browserseitigen XML-Tranformation den Vorzug die client-Rechner nicht zu belasten und dorthin auch nicht die kompletten Daten-files zu liefern. Somit können auch zusätzliche (auch nicht-öffentliche) Informationen in den Daten-files gehalten werden.

Auf diesen Ansatz wurde im April 2020 umgestellt. Notwendigerweise heißen die Listen-URLs nun anders: Aus mitglieder.xml, migtgl_inst.xml etc.
wurde mitglieder.html, migtgl_inst.html etc.

Beitrag liefern

Wer einen Beitrag liefern möchte, schreibt ihn als unformatierten Text oder auch gleich in Markdown und schickt die Datei an den Web-Betreuer. Die Markdown-Quelldateien der Beiträge finden Sie als Augangspunkt und Beispiel unter /docu/examp/ im download-Bereich.

Résumé

Die viele Arbeit der Umstellung hat sich gelohnt. Alles geht nun viel leichter, und Jekylls Test-Server auf dem Entwicklungs-PC ist einfach ein Segen. Aber neben einigen beseitigten Fehlern bringt fast jede Umstellung auch neue. Wenn Sie also Fehler bemerken, bitten wir um Entschuldigung und einen hilfreichen Hinweis.