287 lines
10 KiB
Markdown
287 lines
10 KiB
Markdown
# Umsetzungsstatus Desktop UI
|
|
|
|
Stand: 2026-06-07
|
|
|
|
Diese Datei ist die laufende Arbeitsgrundlage fuer die Umsetzung der Anweisungen aus `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 `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
|
|
- 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
|
|
|
|
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
|
|
|
|
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
|
|
|
|
Phase 3 Fenster-Manager:
|
|
|
|
- `ERLEDIGT`: Fenster oeffnen und schliessen
|
|
- `ERLEDIGT`: Fenster fokussieren
|
|
- `ERLEDIGT`: Fenster minimieren
|
|
- `ERLEDIGT`: Fenster maximieren
|
|
- `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)
|
|
|
|
## Offene Hauptpunkte
|
|
|
|
### Prioritaet A
|
|
|
|
- echtes Login mit Keycloak anbinden
|
|
- persoenlichen Desktop-Zustand pro Nutzer speichern
|
|
- Admin-App in echte Verwaltungsseiten zerlegen
|
|
|
|
### Prioritaet B
|
|
|
|
- frei verschiebbare Desktop-Icons
|
|
- Fensterposition und -groesse persistieren
|
|
- oeffentliches Home-Dashboard in echte Inhalte ueberfuehren
|
|
- persoenliche Linklisten und Workspaces funktional bauen
|
|
|
|
### Prioritaet C
|
|
|
|
- erstes importiertes Modul fachlich sichten
|
|
- Modul als App registrieren
|
|
- Modulansicht in Fenster oeffnen
|
|
- Skin- und Fensterverhalten fuer dieses Modul testen
|
|
|
|
## Arbeitsmodus Fuer Diese Datei
|
|
|
|
Wenn wir weitere Aufgaben umsetzen, wird diese Datei jeweils aktualisiert:
|
|
|
|
- Status pro Anweisungsdatei anpassen
|
|
- erledigte Punkte von `OFFEN` auf `TEILWEISE` oder `ERLEDIGT` setzen
|
|
- neue Nachweise auf konkrete Dateien verlinken
|
|
- offene Punkte nur dann als `ERLEDIGT` markieren, wenn sie fachlich funktionieren und nicht nur als Placeholder existieren
|