Zum Inhalt

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:

  1. Ablösung der Artikel-ID-basierten Links durch WebEdition-URLs
  2. Wrapper für alten Skript-Output (DOM-Vollständigkeit, UTF-8, HTML5)
  3. Transparente Übergabe von $ownerid, $benutzer, PORTAL_ID etc. 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