Architektur¶
GesamtΓΌberblick¶
Das Sachpool-Portal basiert auf WebEdition als Grundplattform. Um die historisch
gewachsenen Funktionen aus dem alten FastpublishCMS-basierten Portal der-sachpool.net
zu ΓΌbernehmen, wurde ein KompatibilitΓ€tslayer entwickelt, der die alten Skripte
transparent in den WebEdition-Kontext integriert.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β WebEdition Plattform β
β β
β ββββββββββββββββββββ ββββββββββββββββββββ βββββββββββββββ β
β β CMS / Backend β β Template-Engine β β Objekt- β β
β β (Seiten, Nav, β β (we:* Tags) β β Modul β β
β β Assets, Rechte)β β β β β β
β ββββββββββ¬ββββββββββ βββββββββββ¬βββββββββ ββββββββ¬βββββββ β
β β β β β
β βββββββββββββ¬ββββββββββββ΄βββββββββββββββββββ β
β β β
β ββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββ β
β β KompatibilitΓ€tslayer β β
β β β β
β β β’ Authentifizierungslayer (authorization.tmpl) β β
β β β’ Datenfilter (Platzhalter-Ersetzung) β β
β β β’ Modulkapselung (Anwendungsfenster) β β
β ββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ β
β β β
β ββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββ β
β β Portierte Module (PHP 7.3+) β β
β β β β
β β Vertragsauskunft Β· Tarifrechner Β· Vergleichsportale β β
β β GDV-Daten Β· Datenschutzeinwilligung Β· weitere β β
β ββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ β
β β β
βββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ
β
ββββββββββββΌβββββββββββ
β MySQL-Datenbank β
β β
β β’ WebEdition β
β β’ Extranetportal β
βββββββββββββββββββββββ
WebEdition als Grundplattform¶
WebEdition ist ein Open-Source-Webapplication-Framework aus Deutschland mit kontinuierlicher Weiterentwicklung. Es bildet die Basis fΓΌr:
| Funktion | Relevanz fΓΌr Sachpool |
|---|---|
| Backend-Dateimanagement | Assets (PDFs, Bilder, Dokumente) zentral verwaltbar, Verweise bleiben bei Verschiebungen erhalten |
| Klassen-/Objekt-Modul | Versicherungen, Ansprechpartner, News etc. als strukturierte Objekte pflegbar |
| Kundenmanagement | Login, Rechteverwaltung und Rollen fΓΌr den internen Bereich |
| Templateengine | we:*-Tags verbinden Frontend, PHP-Backend und eigene Entwicklung |
| ListView / SQL | Direkte Datenbankabfragen im Template-Kontext |
Database-Layer¶
Extranetportal- und WebEdition-Tabellen liegen in derselben Datenbankinstanz, damit Portal-Skripte und CMS-Funktionen gemeinsam auf die Daten zugreifen kΓΆnnen.
Der Datenbankzugriff erfolgt ΓΌber die WebEdition-Klasse:
- Keine eigene Verbindungskonfiguration in portierten Skripten
- Keine Mehrfachverbindungen oder separaten Kontexte
- Authentifizierung und Verbindungsaufbau ΓΌbernimmt WebEdition
β Details: Datenbank-Zugriff
KompatibilitΓ€tslayer¶
Zentrale Infrastrukturschicht zwischen WebEdition und den portierten Modulen.
Liegt im Ordner compatibility-layer.
Authentifizierungslayer (authorization.tmpl)¶
Auf allen internen Seiten eingebunden. Stellt Nutzerdaten in zwei Formaten bereit:
| Format | Variablen |
|---|---|
| Alt (Fastpublish-kompatibel) | $benutzer, $owner, $ownerid |
| Neu | $sach_user, $sach_forename, $sach_surname etc. |
ZusΓ€tzlich: PERS_ID, OWNER, PORTAL_ID, UEBERMAKLER, SIEHT_UNTERVERMITTLER
aus der Extranetportal-Datenbank.
β Details: Authentifizierungslayer
Datenfilter¶
Ersetzt Platzhalter (%SACHUSER%, %OWNERID%, β¦) in Texten, Links und URL-Parametern
zur Laufzeit. Aus Performance-GrΓΌnden nur in bestimmten Bereichen aktiv (Tarifrechner,
Vergleichsportale).
β Details: Link-Modul
Modulkapselung / Anwendungsfenster¶
Kapselt portierte Skripte kontextfrei vom CMS. Drei Varianten:
- Automatisches Forwarding
- Iframe-Einbettung
- Container-Klassen im normalen Seitenfluss
β Details: Modulkapselung
UTF-8 als Standard¶
Alle Inhalte und Skripte sind auf UTF-8 portiert. Keine ISO-8859-1 / ANSI / CP-1252 mehr.
utf8_encode() entfΓ€llt.
Historischer Hintergrund¶
Die Architektur ist das Ergebnis der FastpublishCMS-Migration 2020β2025. Motivation, Designentscheidungen und Entwicklungsgeschichte: