Kein Zugriff auf Admin Apps.
strtolower(trim($group, '/')), array_values(array_map('strval', (array) ($currentUser['groups'] ?? []))) ); $isPartial = !empty($_GET['partial']); if (!in_array('administrators', $currentGroups, true)) { http_response_code(403); $forbidden = '
Admin Registry
= $h($sectionMeta[$section]['description']) ?>
Registry
| Titel | Scope | Typ | LDAP-Gruppen | Route | Flags |
|---|---|---|---|---|---|
|
= $h((string) ($app['title'] ?? '')) ?>
= $h((string) ($app['summary'] ?? '')) ?>
|
= $h((string) ($app['app_scope'] ?? '')) ?> | = $h(!empty($app['installable']) ? 'Custom App' : 'System') ?> | = $h((string) ($app['entry_route'] ?? '')) ?> |
Desktop
Widget
Tray
Default
Logoff Desktop
Admin only
|
Installation
Neue Apps koennen aktuell als Modul-Verzeichnis unter custom/apps/ abgelegt werden. Ein eigener Upload-Bereich fuer ZIP-Dateien oder Verzeichnisse ist noch offen und wird als naechster Ausbauschritt vorbereitet.
Flags
Default bedeutet: Die App wird fuer neue Benutzer oder fuer Benutzer ohne explizite Auswahl initial vorausgewaehlt. Logoff Desktop bedeutet: Die App darf bereits ohne Login auf der offenen Desktop-Oberflaeche erscheinen, sofern sie als Desktop-App darstellbar ist.
Gespeichert wird in = $h((string) ($meta['app_access_config_path'] ?? '')) ?>. Dort liegen sowohl LDAP-Gruppen als auch die Freigabe fuer den offenen Desktop.
Installationswege
Installierbare Apps liegen im Projekt unter custom/apps/. Der Desktop erkennt neue Module automatisch ueber deren Desktop-Metadaten.
Ein Modul-Verzeichnis wird nach custom/apps/<app>/ kopiert. Das ist der aktuell gueltige produktive Weg.
Ein Browser-Upload fuer ein vorbereitetes Modul-Verzeichnis ist fachlich vorgesehen, aber noch nicht implementiert.
Ein ZIP-Import mit Entpacken und Validierung ist vorgesehen, benoetigt aber noch einen dedizierten Installations-Workflow.
Widget Registry
Globale Widgets und modulbasierte Widgets werden hier gemeinsam sichtbar. Fachlich sind Widgets kleine Desktop-Elemente; technisch werden sie aktuell noch uebergangsweise im rechten Infobereich gerendert.
| Widget | Zone | Quelle | Launch-App | Status-API |
|---|---|---|---|---|
|
= $h((string) ($widget['title'] ?? '')) ?>
= $h((string) ($widget['summary'] ?? '')) ?>
|
= $h((string) ($widget['zone'] ?? 'sidebar')) ?> |
= $h((string) (($widget['source_app_id'] ?? '') !== '' ? $widget['source_app_id'] : 'global')) ?>
Modul: = $h((string) $widget['source_module_id']) ?>
|
= $h((string) ($widget['launch_app_id'] ?? '')) ?> |
= $h((string) ($widget['status_api'] ?? '')) ?> |
Addon
Die Werte werden in der aktuellen Environment-Datei gespeichert und beim Deploy in das gemischte `config/`-Verzeichnis uebernommen.