11 KiB
11 KiB
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 umgesetztTEILWEISE: begonnen oder als Scaffold vorhanden, aber noch nicht fachlich fertigOFFEN: noch nicht umgesetzt
Abnahmeregel:
- Punkte werden erst dann auf
ERLEDIGTgesetzt, 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/Linuxist 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 unterUmsetzungsanweisung/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:
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
- public/assets/desktop/desktop.css
- public/assets/desktop/desktop.js
- config/widgets.php
3. 02_ORDNERSTRUKTUR_UND_GRUNDREGELN.md
Status: TEILWEISE
Erfuellt:
- Kernstruktur orientiert sich an Nexus
src/Desktop/ist als globaler Desktop-Core vorhandenpublic/assets/desktop/undpartials/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 Modulepartials/landingpages/undpartials/structure/sind nur minimal vorbereitettools/unddebug/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
- src/Desktop/SkinResolver.php
- src/Desktop/WindowManager.php
- src/Desktop/WidgetRegistry.php
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:
5. 04_UMSETZUNGSPLAN_V1.md
Status: TEILWEISE
Phase 1 Fundament:
ERLEDIGT: ProjektstrukturERLEDIGT: Desktop-Shell als RootERLEDIGT: Skin-VorbereitungTEILWEISE: Keycloak-Anbindung nur konzeptionell
Phase 2 Desktop-Grundfunktionen:
ERLEDIGT: Desktop-HintergrundERLEDIGT: App-IconsOFFEN: frei verschiebbare IconsTEILWEISE: Dock oder TaskbarTEILWEISE: StatusbereichERLEDIGT: UhrERLEDIGT: erstes Hauptmenue oeffnet und schliesst per Menu-ButtonOFFEN: echte OS-spezifische Desktop-Layouts fuer Windows, Apple und Linux Mint
Phase 3 Fenster-Manager:
ERLEDIGT: Fenster oeffnen und schliessenERLEDIGT: Fenster fokussierenERLEDIGT: Fenster minimierenERLEDIGT: Fenster maximierenERLEDIGT: Fenster-Layout und deckende DarstellungERLEDIGT: z-index-VerwaltungTEILWEISE: Position und Groesse merken, technisch vorbereitet aber noch nicht abgenommen
Phase 4 Inhaltssystem:
ERLEDIGT: App Registry als GrundstrukturTEILWEISE: Widget Registry als Grundstruktur, noch nicht abgenommenOFFEN: SeitenmoduleOFFEN: persoenliche LinklistenTEILWEISE: oeffentliches Home-Dashboard nur als PlaceholderTEILWEISE: persoenliche Workspaces nur als Placeholder
Phase 5 Admin-Bereiche:
OFFEN: globale EinstellungenOFFEN: Widget-VerwaltungOFFEN: IntegrationenOFFEN: SuchmaschinenTEILWEISE: Apps nur als Placeholder-AppOFFEN: oeffentliches Home-Dashboard-Verwaltung
Phase 6 Modul-Anbindung:
TEILWEISE: importierte Nexus-Module liegen vorOFFEN: erste Module als Apps in der ShellOFFEN: Fenstertauglichkeit je Modul pruefenOFFEN: langfristige UX-Anpassung je Modul
V1-Minimalziel:
ERLEDIGT: Root ist Desktop-OberflaecheOFFEN: Login vorhandenERLEDIGT: Desktop-Skins umschaltbarERLEDIGT: Apps koennen als Fenster geoeffnet werdenOFFEN: Admin kann global Apps, Widgets, Integrationen und Suchmaschinen verwaltenOFFEN: mindestens ein persoenlicher Desktop pro Nutzer funktioniertTEILWEISE: 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:
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
- api/desktop.php
- src/App/App.php
- src/Desktop/DesktopState.php
- public/assets/desktop/desktop.js
Offene Hauptpunkte
Prioritaet A
- echte OS-Skins mit eigenem Layout und Verhalten fuer Windows, Apple und Linux Mint fertigziehen
- 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
OFFENaufTEILWEISEoderERLEDIGTsetzen - neue Nachweise auf konkrete Dateien verlinken
- offene Punkte nur dann als
ERLEDIGTmarkieren, wenn sie fachlich funktionieren und nicht nur als Placeholder existieren