277 lines
11 KiB
Markdown
277 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
|
|
- 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/<modul>/`
|
|
- 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/<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`: `Admin Apps` als echte System-App fuer App-Inventar, Widget-Uebersicht und erste Gitea-Integrations-Einstellungen vorhanden
|
|
- `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)
|