148 lines
5.9 KiB
Markdown
148 lines
5.9 KiB
Markdown
# Content
|
|
|
|
Zentrale Inhaltsbasis fuer `desktop.kusche.berlin`.
|
|
|
|
Diese Datei dient als gemeinsame Quelle fuer:
|
|
|
|
- Begriffe und offizielle Benennungen im System
|
|
- Funktionsbeschreibung des aktuellen Systems
|
|
- spaetere Inhalte fuer einen Hilfe-Bereich
|
|
- zentrale Zusammenfassung der dezentralen `README.md`-Dateien
|
|
|
|
## Zweck
|
|
|
|
`CONTENT.md` beschreibt das System fachlich und sprachlich.
|
|
|
|
Nicht hier hinein gehoeren:
|
|
|
|
- technische Detailanweisungen fuer Entwickler
|
|
- Go- und NoGo-Regeln fuer Umsetzung
|
|
- nur ordnerspezifische Detailerklaerungen ohne Relevanz fuer das Gesamtsystem
|
|
|
|
Diese Inhalte liegen in:
|
|
|
|
- [ANLEITUNG.md](/home/lars/Schreibtisch/Projekte/desktop.kusche.berlin/docs/ANLEITUNG.md)
|
|
- [WEITERENTWICKLUNG.md](/home/lars/Schreibtisch/Projekte/desktop.kusche.berlin/docs/WEITERENTWICKLUNG.md)
|
|
|
|
## Offizielle Begriffe
|
|
|
|
Diese Benennungen gelten projektweit und sollen in UI, Doku und Weiterentwicklung konsistent verwendet werden.
|
|
|
|
### Oberflaechenbereiche
|
|
|
|
- `Desktop`
|
|
Die eigentliche Arbeitsflaeche mit Icons, Fenstern, Taskbar und Infobereich.
|
|
|
|
- `Infobereich`
|
|
Der rechte Bereich auf dem Desktop mit eingeblendeten Informationskarten oder kleinen Bereichsmodulen.
|
|
|
|
- `Widget-Bereich`
|
|
Der Bereich bei der Uhr bzw. Systemleiste fuer kleine Widgets oder Mini-Apps.
|
|
|
|
- `Setup-Bereich`
|
|
Der zentrale Einstellungsbereich fuer Benutzer, Desktop-Typ, Apps und Bereichsauswahl. Aktuell umgesetzt ueber `User Self Management`.
|
|
|
|
### Menue-Bereiche
|
|
|
|
- `User Setting Bereich`
|
|
Linke Menuespalte mit User-Icon, Benutzername, Einstieg in Einstellungen und Session-Aktion.
|
|
|
|
- `Funktion-Bereich`
|
|
Mittlere Menuespalte mit Funktionsgruppen wie `Programme`.
|
|
|
|
- `Auswahlbereich`
|
|
Rechte Menuespalte mit den Inhalten der aktuell gewaehlten Funktionsgruppe.
|
|
|
|
### Systemobjekte
|
|
|
|
- `App`
|
|
Ein bereitgestelltes System-Tool oder Modul. Eine App kann als Desktop-App, Menue-App, Systembar-Eintrag oder Quelle fuer Widgets/Funktionen auftreten.
|
|
|
|
- `API`
|
|
Die serverseitige Programmschnittstelle der Desktop-Anwendung. Sie wird im aktuellen Projekt auf demselben Host wie die Desktop-Shell unter `/api/v1/...` bereitgestellt.
|
|
|
|
- `Widget`
|
|
Eine kleine Funktion oder Mini-Anzeige. Widgets sind nicht automatisch identisch mit Apps. Eine App kann Widgets bereitstellen, muss es aber nicht.
|
|
|
|
- `Desktop Type`
|
|
Benutzerseitige Auswahl des Desktop-/Skin-Typs. Aktuell vorgesehen: `Apple`, `Windows`, `Linux`.
|
|
|
|
- `Skin`
|
|
Technische und visuelle Auspraegung eines Desktop-Typs, inklusive Layout, Interaktionsdetails und Asset-Zuordnung.
|
|
|
|
## Aktueller Systemumfang
|
|
|
|
Stand dieser Datei:
|
|
|
|
- gemeinsame Desktop-Shell mit den Skins `Apple`, `Windows` und `Linux`
|
|
- frei verschiebbare Desktop-Icons
|
|
- Icon-Positionen lokal gespeichert, pro Benutzer und pro Skin
|
|
- automatische Schriftfarbanpassung fuer Desktop-Icons anhand des Hintergrunds
|
|
- Fensterverwaltung mit Oeffnen, Fokussieren, Minimieren, Maximieren und Verschieben
|
|
- konsistentes Standard-Design fuer Fensterinhalte, sofern eine App kein eigenes UI mitbringt
|
|
- Startmenue mit `User Setting Bereich`, `Funktion-Bereich` und `Auswahlbereich`
|
|
- rechter `Infobereich` mit benutzerbezogener Sichtbarkeit
|
|
- `User Self Management` als Setup-App
|
|
- erster echter Modulpfad fuer klassische Module mit Modul-Discovery aus `modules/<modul>/`
|
|
- `Mining-Checker` als erstes angebundenes klassisches Modul
|
|
- versionierte API auf demselben Host unter `(staging.)desktop.kusche.berlin/api/v1/...`
|
|
- Benutzereinstellungen fuer Desktop-Skin, App-Auswahl, Infobereich und Profildaten in einer eigenen Datenbanktabelle mit `_user_data`-Suffix
|
|
- vorhandene JSON-Dateien dienen nur noch als Fallback oder Uebergang fuer lokale Entwicklung und Altbestaende
|
|
- LDAP-Synchronisierung fuer Standardfelder wie Name, E-Mail, Telefon, Titel und Ort
|
|
- `Geburtsdatum` aktuell bewusst nur lokal gespeichert
|
|
- Keycloak bleibt das Auth-System
|
|
|
|
## Zentrale Inhaltszusammenfassung aus bestehenden README-Dateien
|
|
|
|
### Globales Projekt
|
|
|
|
Aus [README.md](/home/lars/Schreibtisch/Projekte/desktop.kusche.berlin/docs/README.md):
|
|
|
|
- `public/` ist der Web-Root fuer die Desktop-Shell
|
|
- `src/Desktop/` enthaelt zentrale Desktop-Mechaniken
|
|
- die API bleibt auf demselben Host wie die Desktop-Shell und wird unter `/api/v1/...` versioniert
|
|
- `partials/desktop/` enthaelt Shell-Templates
|
|
- `modules/` bleibt Zielort fuer klassische Module
|
|
- `temp/nexus-module-import/` ist Rohbasis fuer importierte Nexus-Module
|
|
- Keycloak bleibt das Auth-System
|
|
|
|
### Module
|
|
|
|
Aus [modules/README.md](/home/lars/Schreibtisch/Projekte/desktop.kusche.berlin/modules/README.md):
|
|
|
|
- klassische Module bleiben unter `modules/<modul>/`
|
|
- Businesslogik wird nicht in den Desktop-Core verschoben
|
|
- ein Desktop-Modul kann eigene `desktop.php`, `pages/`, `api/` und `assets/` Strukturen mitbringen
|
|
- Modul-Assets muessen nicht in den globalen Desktop-Asset-Baum kopiert werden
|
|
|
|
### Aktueller Modulstand
|
|
|
|
- `Mining-Checker` ist das erste Modul, das als echte Desktop-App aus `modules/mining-checker/` angebunden wird
|
|
- die Desktop-Shell kann Moduldefinitionen zentral erkennen und als `App` bereitstellen
|
|
- wiederverwendbare Modul-Helfer liegen im globalen Kern, die Fachlogik bleibt im Modul
|
|
|
|
### Skins
|
|
|
|
Aus [skins/README.md](/home/lars/Schreibtisch/Projekte/desktop.kusche.berlin/skins/README.md):
|
|
|
|
- `skins/<skin>/profile.php` enthaelt Skin-Metadaten
|
|
- `skins/<skin>/vendor/` enthaelt Rohquellen und Quellpacks
|
|
- `public/assets/desktop/skins/<skin>/` enthaelt auslieferbare CSS/JS-Dateien
|
|
- `public/assets/desktop/skin-icons/<skin>/` enthaelt verwendete Web-Icons
|
|
|
|
## Hilfe-Bereich Vorbereitung
|
|
|
|
Fuer einen spaeteren Hilfebereich sollen Inhalte aus dieser Datei in Themenblcke uebernommen werden:
|
|
|
|
- `Begriffe`
|
|
- `Desktop bedienen`
|
|
- `Menue verstehen`
|
|
- `Fenster verwenden`
|
|
- `Infobereich konfigurieren`
|
|
- `Apps und Desktop Type verwalten`
|
|
- `Module verstehen und starten`
|
|
- `API-Pfade und Versionen verstehen`
|
|
- `Benutzerdaten und Synchronisierung`
|
|
|
|
Die Inhalte sollen spaeter moeglichst nicht neu erfunden, sondern aus den zentral gepflegten Dateien abgeleitet werden.
|