# MOSAIC Changelog 2.1.005 fuer Entwickler

Stand: 18.04.2026

## Schwerpunkte

- DeepL-Uebersetzungen fuer Menues, Login und fruehe Admin-/Projektseiten wurden im Kern konsistenter zentralisiert.
- Die Login-Strecke wurde fuer Logo-Verwaltung, Rollenauswahl und sprachabhaengige UI-Texte nachgezogen.
- Das `mo_user`-Forum wurde um einen Dokumentationsbereich und robustere HTML-/Anlagenbehandlung erweitert.
- Oracle wurde fuer Demo-Volltest, Builder und Webpfade vollstaendig nachgezogen.
- Die Release-ZIPs fuer PHP 8.1, 8.2 und 8.3 wurden fuer Version `2.1.005` neu encodiert.

## DeepL und Oberflaeche

- `create_menu.php`, `show_menu.php` und `show_v_menu.php` uebersetzen Menuebeschriftungen jetzt ueber den zentralen DeepL-Pfad.
- Fruehe Projekt- und Login-Seiten loesen die passende Projektkonfiguration robuster auf, auch wenn `iss_program` noch nicht gesetzt ist.
- Mehrere Admin- und Login-Labels, die bisher deutsch stehen blieben, laufen jetzt ebenfalls ueber den zentralen Uebersetzungsweg.

## Login, Rollenauswahl und Branding

- `create_login.php` erlaubt jetzt die Auswahl eines Login-Logos als feste Datei `login/logo.jpg`.
- Login-Maske und Rollenauswahl greifen konsistent auf `login/logo.jpg` zu und blenden das Bild sauber aus, wenn keine Datei vorhanden ist.
- Die unteren Login-Texte wie Registrierungsbutton und Impressumsverweis werden beim Sprachwechsel korrekt uebersetzt.

## Forum und Dokumentation

- Im `mo_user`-Forum gibt es jetzt die Rubrik `Dokumentationen & Handbuch`.
- Offizielle Handbuchinhalte mit eingebetteten Bildern koennen im Forum stabil gespeichert und angezeigt werden.
- Die Bereinigung bearbeiteter Beitraege erkennt triviale Editor-Reste besser und zerstoert dabei echte HTML-/Bildinhalte nicht mehr.

## Oracle und Datenbankkern

- Der Kern behandelt Oracle-Identifier jetzt konsistent in der erwarteten Grossschreibung.
- Oracle-Schreibpfade binden Strings bis 4000 Zeichen ohne unnoetige LOB-Behandlung, damit Commits nicht mehr an offenen LOBs scheitern.
- Das Demo-Oracle-Setup normalisiert problematische Textspalten fuer Volltest und Acceptance auf `VARCHAR2(4000)` statt auf `CLOB`.
- `create_form.php` und `create_grid.php` erzeugen fuer Oracle jetzt korrekt gequotete Identifier und DB-spezifische String-Verkettungen.
- Webserver- und CLI-PHP laufen fuer Oracle wieder auf einer konsistenten Treiber-/Umgebungsbasis.

## Demo-Volltest und Datenbanken

- Der Demo-Volltest wurde am `18.04.2026` erneut ueber `demo` ausgefuehrt und eine neue Excel-Uebersicht erzeugt.
- Der Gesamtlauf ist jetzt **freigegeben**.
- Geprueft wurden:
  - `demo` auf MariaDB 10.4.32
  - `demo_mssql` auf Microsoft SQL Server 2022 Express 16.0.1000.6
  - `demo_pgsql` auf PostgreSQL 17.9
  - `demo_oracle` auf Oracle AI Database 26ai Free Release 23.26.0.0.0
  - `demo_sqlite` auf SQLite 3.36.0
- Alle 5 Datenbanken laufen im Volltest jetzt mit `PASS`.
- Die aktuelle Excel-Uebersicht des freigegebenen Laufs wird an die offizielle Freigabe im Forum angehaengt.

## Release-Pakete

- `iss_php8_1_v2.1.005.zip`
- `iss_php8_2_v2.1.005.zip`
- `iss_php8_3_v2.1.005.zip`

## Hinweise fuer Entwickler

- Fuer Menues und fruehe UI-Seiten sollte kein separater Uebersetzungs-Sonderweg mehr aufgebaut werden; der zentrale DeepL-Pfad ist jetzt die verbindliche Route.
- Fuer Login-Branding ist `login/logo.jpg` die gemeinsame Referenz fuer Login und Rollenauswahl.
- Fuer Oracle sollten normale Formular- und Acceptance-Texte bis 4000 Zeichen moeglichst als regulare String-Spalten und nicht als `CLOB` modelliert werden.