deploy
All checks were successful
Deploy / deploy-staging (push) Successful in 24s
Deploy / deploy-production (push) Has been skipped

This commit is contained in:
2026-06-20 01:50:07 +02:00
parent 3f81f7a670
commit 2cdd14c400
210 changed files with 55853 additions and 36 deletions

260
docs/UMSETZUNGSSTATUS.md Normal file
View File

@@ -0,0 +1,260 @@
# Umsetzungsstatus Desktop UI
Stand: 2026-06-07
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
- Keycloak ist nur konzeptionell vorbereitet, nicht integriert
- Admin-Bereiche, persistente User-Desktops und echte Modul-Anbindung 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/<modul>/`
- die Desktop-Shell ist eine eigene Anwendungsschicht und kein Theme-Umbau des alten Systems
## 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
- 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:
- `modules/<modul>/` im neuen Projekt enthalten noch keine wirklich angebundenen Module
- `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
Offen:
- keine Modulpruefung je Modul durchgefuehrt
- keine App-Registry-Eintraege fuer echte importierte Module vorhanden
- keine Modulansichten in die Fensterlogik integriert
- 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)
### 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
- `OFFEN`: Seitenmodule
- `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
- `OFFEN`: erste Module als Apps in der Shell
- `OFFEN`: Fenstertauglichkeit je Modul 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
- 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
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/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)