Dieser Beitrag zeigt ein kompaktes Beispiel fuer eine MOSAIC _blank Application und den dazugehoerigen Konfigurationsaufbau.
Eine _blank Application wird verwendet, wenn eine Anwendung nicht in das klassische GRID- oder FORM-Muster passt, aber trotzdem MOSAIC-Funktionen wie Projektkontext, Datenbankzugriff, Security, Runner-Aufruf und Rechtepruefung nutzen soll.
Typische Einsaetze:
- Assistenten und Generatoren
- komplexe Auswertungen oder Druckvorschauen
- eigene POST-Aktionen mit MOSAIC-Rechten
- individuelle Anwendungen mit freiem HTML
- uebernommene Logik aus Scriptcase-Blank-Anwendungen
Dateiaufbau
Beispiel im Projekt:
text
demo/
assistenten/
kunden_assistent_blank.cfg
kunden_assistent_blank_function.phpDer Name vor `_blank.cfg` ist der Modulname. Bei `modul=kunden_assistent` erwartet der Runner standardmaessig:
text
kunden_assistent_blank.cfg
kunden_assistent_blank_function.phpRunner-Aufruf
text
_pgm/show_blank.php?project=demo&db=demo&modul=kunden_assistent&modul_path=assistentenAus GRID, FORM, Menue oder eigenem Link kann die Anwendung zusaetzliche Parameter bekommen:
text
_pgm/show_blank.php?project=demo&db=demo&modul=kunden_assistent&modul_path=assistenten&kunde_id=4711Konfiguration: kunden_assistent_blank.cfg
php
[
'title' => 'Kunden-Assistent',
'headline' => 'Kunden-Assistent',
],
'security' => true,
'database_required' => true,
'hooks_file' => 'kunden_assistent_blank_function.php',
'ui' => [
'render_shell' => true,
'width' => '90%',
'back_label' => 'Zurueck',
'back_refresh' => true,
],
'params' => [
'kunde_param' => 'kunde_id',
'allowed_roles' => ['1', '3', '7'],
],
'actions' => [
'generate' => [
'label' => 'Auswertung erstellen',
'right' => 'E',
],
],
'permissions' => [
'view' => true,
'execute' => true,
],
];Bedeutung der wichtigsten Konfigurationsbereiche
- `app`: Titel und Ueberschrift der Anwendung.
- `security`: aktiviert die MOSAIC-Rechtepruefung fuer die Application.
- `database_required`: die Anwendung benoetigt eine aktive Datenbankverbindung.
- `hooks_file`: PHP-Datei mit der eigentlichen Anwendungslogik.
- `ui`: steuert MOSAIC-Rahmen, Breite und Zurueck-Button.
- `params`: eigene Parameter der Anwendung, z. B. IDs, Rollen oder Auswahlwerte.
- `actions`: erlaubte POST-Aktionen mit eigener Rechtekennung.
- `permissions`: Grundrechte fuer Anzeigen und Ausfuehren.
Minimaler Funktionsaufbau: kunden_assistent_blank_function.php
php
'Bitte zuerst einen Kunden auswaehlen.',
'message_class' => 'warning',
];
}
// Hier steht die eigentliche Business-Logik:
// Daten lesen, Ergebnis berechnen, Datei erzeugen, Status setzen usw.
return [
'message' => 'Auswertung wurde erstellt.',
'message_class' => 'success',
];
}
function onRender(array &$context, array &$blankConfig): string
{
$kundeId = htmlspecialchars((string)($context['request']['kunde_id'] ?? ''), ENT_QUOTES, 'UTF-8');
$token = htmlspecialchars((string)($context['csrf_token'] ?? ''), ENT_QUOTES, 'UTF-8');
return '
Auswertung erstellen
';
}Security und Rechte
Beim Oeffnen der Anwendung prueft `show_blank.php` das Anzeigerecht `V`.
Fuer POST-Aktionen wird das in `actions` konfigurierte Recht geprueft. Im Beispiel braucht die Aktion `generate` das Recht `E`.
Der interne App-Key wird nach diesem Muster gebildet:
text
|show_blank||Im Beispiel:
text
demo|show_blank|assistenten|kunden_assistentDamit laesst sich die _blank Application wie GRID und FORM sauber in die MOSAIC-Rechteverwaltung einbinden.
Praxis-Hinweis
Eine echte Referenz im Projekt ARGOS ist der Befundbogen:
text
argos/befundbogen/befundbogen_blank.cfg
argos/befundbogen/befundbogen_blank_function.phpDieser Aufbau eignet sich besonders fuer Anwendungen, die fachlich individuell sind, aber trotzdem den MOSAIC-Rahmen, Security, Datenbankzugriff und Runner-Mechanismus nutzen sollen.