# Umsetzungsstatus Desktop UI Stand: 2026-06-21 Diese Datei ist die laufende Arbeitsgrundlage fuer die Umsetzung der Anweisungen aus `docs/Umsetzungsanweisung/`. Statuslogik: - `ERLEDIGT`: in sinnvoller Form umgesetzt - `TEILWEISE`: begonnen oder als Scaffold vorhanden, aber noch nicht fachlich fertig - `OFFEN`: noch nicht umgesetzt Abnahmeregel: - Punkte werden erst dann auf `ERLEDIGT` gesetzt, wenn der Nutzer die Umsetzung explizit bestaetigt. - Technisch funktionierende, aber noch nicht abgenommene Punkte bleiben auf `TEILWEISE`. ## Gesamtstatus Aktuell ist das Projekt auf einem V1-Scaffold-Stand: - Desktop-Shell auf Root ist vorhanden - Skin-System `Windows` / `Apple` / `Linux` ist vorbereitet - einfacher Fenster-Manager ist vorhanden - App-Registry, Widget-Registry und Import-Basis sind angelegt - erster echter Modulmechanismus fuer klassische Module ist vorhanden - `Mining-Checker` ist als erstes klassisches Modul angebunden - API soll im Zielbild auf demselben Host unter `(staging.)desktop.kusche.berlin/api/v1/...` liegen - Keycloak ist nur konzeptionell vorbereitet, nicht integriert - Admin-Bereiche und persistente User-Desktops sind noch offen ## Verbindliche Regeln - `Old-Nexus/` und die Inhalte unter `docs/Umsetzungsanweisung/Old-Nexus/` sind nur Referenz - keine Includes, Imports, Asset-Pfade oder Laufzeitkopplung auf Altbestand - klassische Module bleiben strukturell unter `modules//` - die Desktop-Shell ist eine eigene Anwendungsschicht und kein Theme-Umbau des alten Systems - API und Desktop teilen sich im aktuellen Zielbild denselben Host; Standardpfad ist `/api/v1/...` ## Status Nach Datei ### 1. `START_HIER.md` Status: `TEILWEISE` Erfuellt: - neue Desktop-Oberflaeche wird im neuen Projekt aufgebaut - Zielstruktur wurde angelegt: `public/`, `api/`, `src/`, `config/`, `partials/`, `modules/`, `tools/`, `debug/`, `temp/` - temporaere Import-Basis liegt unter `temp/nexus-module-import/` - keine technische Nutzung von `Old-Nexus/` im neuen Laufzeitcode Offen: - globale Verwaltungsseiten nur als Platzhalter vorhanden - weitere klassische Module sind noch nicht schrittweise an die Shell angebunden - persoenliche Dashboards sind noch nicht funktional Nachweise: - [public/index.php](/home/lars/Schreibtisch/Projekte/desktop.kusche.berlin/public/index.php:1) - [temp/nexus-module-import/README.md](/home/lars/Schreibtisch/Projekte/desktop.kusche.berlin/temp/nexus-module-import/README.md:1) - [modules/README.md](/home/lars/Schreibtisch/Projekte/desktop.kusche.berlin/modules/README.md:1) ### 2. `01_ZIELBILD_DESKTOP_UI.md` Status: `TEILWEISE` Erfuellt: - Root `/` ist die Desktop-Oberflaeche - Desktop-Flaeche, App-Icons, Fenster, Taskbar/Tray, Widget-Bereich und Skin-Konzept sind sichtbar vorhanden - gemeinsame technische Basis fuer alle drei Skins ist umgesetzt - Startmenue oeffnet und schliesst per Menu-Button, Abnahme fuer das Oeffnungsverhalten liegt vor Offen: - frei platzierbare Icons sind noch nicht umgesetzt - Layout und App-Anordnung des Startmenues sind noch offen - Skins muessen echte OS-Layouts 1:1 widerspiegeln: Farbschema, Leistenposition, Leistenverhalten, Fensterchrome und Desktop-Haptik fuer Windows, Apple und Linux Mint - persoenliche Startseite und oeffentliches Home sind noch nicht getrennt funktional - eingebettete Webseiten, Links, externe Integrationen und Dashboard-Inhalte fehlen Nachweise: - [partials/desktop/shell.php](/home/lars/Schreibtisch/Projekte/desktop.kusche.berlin/partials/desktop/shell.php:1) - [public/assets/desktop/desktop.css](/home/lars/Schreibtisch/Projekte/desktop.kusche.berlin/public/assets/desktop/desktop.css:1) - [public/assets/desktop/desktop.js](/home/lars/Schreibtisch/Projekte/desktop.kusche.berlin/public/assets/desktop/desktop.js:1) - [config/widgets.php](/home/lars/Schreibtisch/Projekte/desktop.kusche.berlin/config/widgets.php:1) ### 3. `02_ORDNERSTRUKTUR_UND_GRUNDREGELN.md` Status: `TEILWEISE` Erfuellt: - Kernstruktur orientiert sich an Nexus - `src/Desktop/` ist als globaler Desktop-Core vorhanden - `public/assets/desktop/` und `partials/desktop/` sind angelegt - Trennung zwischen globalem System, Desktop-UI und Modulen ist strukturell vorbereitet - Skin-System wird auf gemeinsame Basis plus Skin-spezifische Ordnerstruktur vorbereitet Offen: - weitere `modules//` sind noch nicht angebunden - `partials/landingpages/` und `partials/structure/` sind nur minimal vorbereitet - `tools/` und `debug/` sind noch nicht mit Funktion befuellt - Skin-Ordnerkonzept mit `base`-Fallback sowie pro Skin getrennten Layout-/Asset-Dateien fachlich fertigziehen und abnehmen Nachweise: - [src/Desktop/AppRegistry.php](/home/lars/Schreibtisch/Projekte/desktop.kusche.berlin/src/Desktop/AppRegistry.php:1) - [src/Desktop/SkinResolver.php](/home/lars/Schreibtisch/Projekte/desktop.kusche.berlin/src/Desktop/SkinResolver.php:1) - [src/Desktop/WindowManager.php](/home/lars/Schreibtisch/Projekte/desktop.kusche.berlin/src/Desktop/WindowManager.php:1) - [src/Desktop/WidgetRegistry.php](/home/lars/Schreibtisch/Projekte/desktop.kusche.berlin/src/Desktop/WidgetRegistry.php:1) ### 4. `03_MIGRATION_BESTEHENDE_MODULE.md` Status: `TEILWEISE` Erfuellt: - Rohkopie der Altmodule liegt in `temp/nexus-module-import/modules/` - relevante Doku aus der Altbasis wurde in den Import-Ordner uebernommen - Produktivcode referenziert den Import-Ordner nicht zur Laufzeit - `Mining-Checker` wurde als erstes Modul aus der Projektstruktur `modules/mining-checker/` an die Shell angebunden - Modul-Assets werden aus dem Modul selbst geladen statt ueber eine alte Sonderkopie - gemeinsame Modul-Helfer fuer Discovery und Zugriffsschutz sind im globalen Kern vorbereitet Offen: - keine Modulpruefung je Modul durchgefuehrt - weitere App-Registry-Eintraege fuer echte importierte Module fehlen noch - Fenstertauglichkeit weiterer Module ist nicht geprueft - kein Skin-Test je Modul erfolgt Nachweise: - [temp/nexus-module-import](/home/lars/Schreibtisch/Projekte/desktop.kusche.berlin/temp/nexus-module-import:1) - [config/apps.php](/home/lars/Schreibtisch/Projekte/desktop.kusche.berlin/config/apps.php:1) - [modules/mining-checker](/home/lars/Schreibtisch/Projekte/desktop.kusche.berlin/modules/mining-checker:1) - [src/ModulesCore/ModuleRegistry.php](/home/lars/Schreibtisch/Projekte/desktop.kusche.berlin/src/ModulesCore/ModuleRegistry.php:1) - [public/module-assets/index.php](/home/lars/Schreibtisch/Projekte/desktop.kusche.berlin/public/module-assets/index.php:1) ### 5. `04_UMSETZUNGSPLAN_V1.md` Status: `TEILWEISE` Phase 1 Fundament: - `ERLEDIGT`: Projektstruktur - `ERLEDIGT`: Desktop-Shell als Root - `ERLEDIGT`: Skin-Vorbereitung - `TEILWEISE`: Keycloak-Anbindung nur konzeptionell Phase 2 Desktop-Grundfunktionen: - `ERLEDIGT`: Desktop-Hintergrund - `ERLEDIGT`: App-Icons - `OFFEN`: frei verschiebbare Icons - `TEILWEISE`: Dock oder Taskbar - `TEILWEISE`: Statusbereich - `ERLEDIGT`: Uhr - `ERLEDIGT`: erstes Hauptmenue oeffnet und schliesst per Menu-Button - `OFFEN`: echte OS-spezifische Desktop-Layouts fuer Windows, Apple und Linux Mint Phase 3 Fenster-Manager: - `ERLEDIGT`: Fenster oeffnen und schliessen - `ERLEDIGT`: Fenster fokussieren - `ERLEDIGT`: Fenster minimieren - `ERLEDIGT`: Fenster maximieren - `ERLEDIGT`: Fenster-Layout und deckende Darstellung - `ERLEDIGT`: z-index-Verwaltung - `TEILWEISE`: Position und Groesse merken, technisch vorbereitet aber noch nicht abgenommen Phase 4 Inhaltssystem: - `ERLEDIGT`: App Registry als Grundstruktur - `TEILWEISE`: Widget Registry als Grundstruktur, noch nicht abgenommen - `TEILWEISE`: Seitenmodule, erster echter Modulpfad vorhanden - `OFFEN`: persoenliche Linklisten - `TEILWEISE`: oeffentliches Home-Dashboard nur als Placeholder - `TEILWEISE`: persoenliche Workspaces nur als Placeholder Phase 5 Admin-Bereiche: - `OFFEN`: globale Einstellungen - `OFFEN`: Widget-Verwaltung - `OFFEN`: Integrationen - `OFFEN`: Suchmaschinen - `TEILWEISE`: Apps nur als Placeholder-App - `OFFEN`: oeffentliches Home-Dashboard-Verwaltung Phase 6 Modul-Anbindung: - `TEILWEISE`: importierte Nexus-Module liegen vor - `TEILWEISE`: erstes Modul als App in der Shell - `OFFEN`: Fenstertauglichkeit weiterer Module pruefen - `OFFEN`: langfristige UX-Anpassung je Modul V1-Minimalziel: - `ERLEDIGT`: Root ist Desktop-Oberflaeche - `OFFEN`: Login vorhanden - `ERLEDIGT`: Desktop-Skins umschaltbar - `ERLEDIGT`: Apps koennen als Fenster geoeffnet werden - `OFFEN`: Admin kann global Apps, Widgets, Integrationen und Suchmaschinen verwalten - `OFFEN`: mindestens ein persoenlicher Desktop pro Nutzer funktioniert - `TEILWEISE`: oeffentliches Home-Dashboard nur als V1-Placeholder ### 6. `05_KEYCLOAK_LOGIN_UND_DESKTOP_LOGIN.md` Status: `TEILWEISE` Erfuellt: - Desktop-Login ist als eigener App-Eintrag vorbereitet - Theme-Handoff fuer Keycloak ist dokumentiert - gestalterische Zielrichtung ist im Projekt festgehalten Offen: - keine echte Keycloak-Anbindung - kein eigenes Keycloak-Theme implementiert - keine Theme-Zuordnung zu Client oder Realm - keine Login-UX in der laufenden Anwendung Nachweise: - [config/apps.php](/home/lars/Schreibtisch/Projekte/desktop.kusche.berlin/config/apps.php:1) - [docs/keycloak-theme-handoff.md](/home/lars/Schreibtisch/Projekte/desktop.kusche.berlin/docs/keycloak-theme-handoff.md:1) - [partials/landingpages/auth/login.php](/home/lars/Schreibtisch/Projekte/desktop.kusche.berlin/partials/landingpages/auth/login.php:1) ### 7. `06_STARTPROMPT_NEUE_SESSION.md` Status: `TEILWEISE` Erfuellt: - die dort genannte Erstaufgabe wurde im Scaffold-Sinn ausgefuehrt - Shell zuerst gebaut, dann Import-Basis vorbereitet - keine Vermischung mit alter Website-Navigation Offen: - Schritt 5 und 6 nur als Grundgeruest, nicht als voll funktionsfaehige Fachumsetzung ## Technischer Ist-Stand Vorhanden: - Root-Entry fuer die Desktop-Shell - JSON-Payload fuer Frontend per `api/desktop.php` - PHP-Autoload-Basis - App-Registry - Modul-Registry fuer klassische Module - Widget-Registry - Skin-Resolver - Default-Workspace- und Widget-State - einfacher Window-Manager - Window-Controls fuer minimieren, maximieren und schliessen - CSS/JS fuer Shell, Fenster, Taskbar, Startmenue, Widgets und Uhr - gemeinsamer Modul-Asset-Endpoint - `Mining-Checker` als erstes echtes Modul unter `modules/` Hauptdateien: - [public/index.php](/home/lars/Schreibtisch/Projekte/desktop.kusche.berlin/public/index.php:1) - [api/desktop.php](/home/lars/Schreibtisch/Projekte/desktop.kusche.berlin/api/desktop.php:1) - [src/App/App.php](/home/lars/Schreibtisch/Projekte/desktop.kusche.berlin/src/App/App.php:1) - [src/ModulesCore/ModuleRegistry.php](/home/lars/Schreibtisch/Projekte/desktop.kusche.berlin/src/ModulesCore/ModuleRegistry.php:1) - [src/ModulesCore/ModuleHttp.php](/home/lars/Schreibtisch/Projekte/desktop.kusche.berlin/src/ModulesCore/ModuleHttp.php:1) - [src/Desktop/DesktopState.php](/home/lars/Schreibtisch/Projekte/desktop.kusche.berlin/src/Desktop/DesktopState.php:1) - [public/assets/desktop/desktop.js](/home/lars/Schreibtisch/Projekte/desktop.kusche.berlin/public/assets/desktop/desktop.js:1) - [public/module-assets/index.php](/home/lars/Schreibtisch/Projekte/desktop.kusche.berlin/public/module-assets/index.php:1)