Main update
This commit is contained in:
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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`.
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user