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['required_groups_display'] ?? '')) ?> | = $h((string) ($app['entry_route'] ?? '')) ?> |
Desktop
Widget
Tray
Default
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.
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.
Access Control
Gespeichert wird in = $h((string) ($meta['app_access_config_path'] ?? '')) ?>. Die kurzen Gruppennamen entsprechen den LDAP-/Auth-Gruppen im Desktop.
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.