Zum Inhalt

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:

$db = new DB_WE();
$result = $db->query($query);
$row = mysqli_fetch_assoc($result);
  • 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: