Kompatibilitätslayer – Entwicklungsgeschichte¶
Historisch
Beschreibt die Entwicklung und Motivation des Kompatibilitätslayers im Rahmen der FastpublishCMS-Migration. Für die aktuelle Systemdokumentation siehe Kompatibilitätslayer.
Motivation¶
Im FastpublishCMS waren alle Skripte tief mit dem CMS-Seitenkontext verzahnt. Für die Migration musste eine Schicht geschaffen werden, die:
- Den alten Seitenkontext (FastpublishCMS) nachbildet
- Authentifizierungsdaten transparent an portierte Skripte durchreicht
- Dynamisches Linking außerhalb des CMS ermöglicht
Ohne diesen Layer wäre eine schrittweise Portierung einzelner Module nicht möglich gewesen – es hätte alles auf einmal neu gebaut werden müssen.
drucken2.php (FastpublishCMS)¶
Im alten System war drucken2.php zentral für die URL-Generierung und den Reload
von Seiten. Sie baute dynamisch Verlinkungen anhand von FastpublishCMS-internen
Datenbankzuweisungen (Artikel-IDs) auf und lieferte diese zurück.
Im Rahmen der Portierung wurde ihre Rolle durch den Kompatibilitätslayer und das
Link-Modul ersetzt. drucken2.php ist nicht mehr aktiv.
FastpublishCMS-Kontext¶
Alle Seiten und Skripte im alten System erzeugten ihren Output nur im FastpublishCMS-
Seitenkontext. Verlinkungen liefen über interne Artikel-IDs (z.B. index2.php?artikel=957).
Die Migration erforderte:
- Ablösung der Artikel-ID-basierten Links durch WebEdition-URLs
- Wrapper für alten Skript-Output (DOM-Vollständigkeit, UTF-8, HTML5)
- Transparente Übergabe von
$ownerid,$benutzer,PORTAL_IDetc. an alte Skripte
Lessons Learned¶
- Ein Kompatibilitätslayer ermöglicht schrittweise Migration ohne Big-Bang-Rewrite
- Automatisches Session-Handling über WebEdition reduziert Portierungsaufwand erheblich
- Hartkodierte Pfade im alten System waren größtes Hindernis bei der Portierung