Files
desktop/docs/UMSETZUNGSSTATUS.md
Lars Gebhardt-Kusche b81de785ac
All checks were successful
Deploy / deploy-staging (push) Successful in 27s
Deploy / deploy-production (push) Has been skipped
mining checker
2026-06-21 00:14:19 +02:00

275 lines
11 KiB
Markdown

# 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
- 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/<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
- 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/<modul>/` 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)