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

This commit is contained in:
2026-06-24 02:24:39 +02:00
parent 5ff4c3fb2b
commit d121f74bd0
34 changed files with 2548 additions and 67 deletions

View File

@@ -29,12 +29,13 @@ Das Startmenue ist in drei Bereiche gegliedert:
2. `Funktion-Bereich`
Hier werden die Funktionsgruppen ausgewaehlt. Aktuell ist `Programme` die erste Gruppe.
3. `Auswahlbereich`
Hier erscheinen die Inhalte der aktuell gewaehlten Funktionsgruppe, zum Beispiel installierte Apps.
Hier erscheinen die Inhalte der aktuell gewaehlten Funktionsgruppe, gruppiert nach `Desktop`, `Systemtools` und `Modulen`.
## Programme oeffnen
- Desktop-Icons koennen direkt geoeffnet werden.
- Im Startmenue lassen sich Programme ueber den `Auswahlbereich` starten.
- `Systemtools` erscheinen dort getrennt von installierbaren `Modulen`.
- Fenster koennen verschoben, minimiert, maximiert und geschlossen werden.
- Programme koennen sowohl globale System-Apps als auch klassische Module sein.
@@ -71,6 +72,14 @@ Aktuell gilt:
- Modul-Businesslogik bleibt im Modul und wird nicht in den Desktop-Core verschoben
- gemeinsame Desktop-Mechaniken wie Fenster, Asset-Einbindung und Zugriffsschutz werden global bereitgestellt
## Widgets und Cronjobs
- Widgets koennen von Modulen bereitgestellt werden, wenn das Modul diese Funktion im Manifest hinterlegt.
- Widget-Funktionen stehen nur dann zur Auswahl, wenn die zugehoerige App fuer den Benutzer installiert oder aktiviert ist.
- Das `Cron Tool` ist ein globales `Systemtool` fuer Administratoren.
- Dort erscheinen Modul-Cronjobs automatisch, sobald ein Modul sie in `module.json` hinterlegt.
- Cron-Aufrufe laufen auf demselben Host und verwenden dieselbe Projektbasis wie der Desktop.
## Waehrungs-Checker
Der `Waehrungs-Checker` verwaltet gespeicherte Wechselkurse, Kurs-Historie, Umrechnungen und manuelle Aktualisierung.

View File

@@ -58,3 +58,6 @@ Aktuell wichtig:
- das gemeinsame Admin-Debug-Widget neben der Uhr ist der Standard fuer Live-Debugging in Desktop und Native-Apps
- der Waehrungs-Checker stellt zusaetzlich ein Desktop-Widget fuer manuelle Kursaktualisierung bereit
- das Oeffnen des Waehrungs-Checkers darf keinen externen Kursabruf ausloesen; Refreshes laufen nur nach Altersregel oder mit `force`
- `Systemtools` und installierbare `Module` werden getrennt behandelt; Systemtools sind nicht Teil der Benutzer-Installationsauswahl
- das `Cron Tool` ist als globales Systemtool vorhanden und sammelt Modul-Cronjobs automatisch ueber Manifest-Metadaten
- Widgets und Cron-Endpunkte sollen von Modulen bevorzugt direkt in `module.json` beschrieben werden

View File

@@ -79,3 +79,33 @@ Wenn `Old-Nexus/` vorhanden ist:
- `supports_widget`
- `supports_tray`
- `module_name`
## Erweiterte Modul-Metadaten fuer die neue Desktop-Shell
Importierte Module sollen bei der Migration nicht nur eine Fenster-App bekommen, sondern moeglichst direkt folgende Angaben im Manifest vorbereiten:
- `app_scope: module`
- `installable: true`
- `desktop.available`
- `desktop.show_on_desktop`
- `desktop.show_in_start_menu`
- `widgets[]`
- `cron_jobs[]`
Damit koennen folgende Dinge ohne weitere Sonderverdrahtung automatisch entstehen:
- Desktop- und Startmenue-Sichtbarkeit
- Widget-Auswahl im User Self Management
- Aufnahme in die zentrale Cron-Verwaltung
## Systemtools sind keine Module
Globale Verwaltungsfunktionen werden in diesem Projekt nicht als installierbare Module behandelt.
Beispiele:
- `User Management`
- `User Self Management`
- `Cron Tool`
Diese Apps laufen als `system_tool` und nicht als `module`.

View File

@@ -38,6 +38,8 @@ Verbindlich ist:
- importierte Module mit eigener API ueber konsistente `public/api/<modul>/index.php`-Shims an die gemeinsame Desktop-Auth anbinden
- importierte Module mit eigener Fensterseite ueber konsistente `public/apps/<modul>/index.php`-Shims anbinden
- Widget-Logik einer App muss dieselben fachlichen Regeln wie die App-API verwenden, nicht eigene Sonderwege
- Systemtools duerfen nicht als installierbare Module modelliert werden
- neue Modul-Widgets und Modul-Cronjobs sollen ueber Manifest-Metadaten registriert werden statt ueber versteckte Sonderlisten
## NoGo's
@@ -60,6 +62,8 @@ Verbindlich ist:
- globale Debug-Steuerung fuer Admins liegt im Desktop-Core; Aktivierung erfolgt ueber das gemeinsame Debug-Widget neben der Uhr
- API und Desktop teilen sich im aktuellen Zielbild denselben Host; offizielle Basis ist `/api/v1/...`
- App, API und Widget einer Fachfunktion muessen dieselben Sperr- und Force-Regeln fuer externe Abrufe nutzen
- die Trennung `core` / `system_tool` / `module` ist in Metadaten, Startmenue und Benutzer-Setup konsistent zu halten
- Cron-Endpunkte muessen auf demselben Host laufen und duerfen keine separate Standard-API-Domain voraussetzen
- Skins definieren Darstellung und Interaktionsdetails, nicht die Fachlogik
- Hilfe- und Inhaltsdateien sollen spaeter maschinenlesbar oder zumindest klar strukturierbar in einen Hilfebereich ueberfuehrt werden koennen