MOSAIC Forum

MOSAIC Beispiel: _blank Application und Konfigurationsaufbau

Thema im Board Dokumentationen & Handbuch

LesemodusGast
Offiziell Offen
Autor: ISS-MOSAIC Support 29.06.2026 17:39 11 0
Offizieller Beitrag

#25 - Autor: ISS-MOSAIC Support

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.php

Der Name vor `_blank.cfg` ist der Modulname. Bei `modul=kunden_assistent` erwartet der Runner standardmaessig:

text
kunden_assistent_blank.cfg
kunden_assistent_blank_function.php

Runner-Aufruf

text
_pgm/show_blank.php?project=demo&db=demo&modul=kunden_assistent&modul_path=assistenten

Aus 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=4711

Konfiguration: 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_assistent

Damit 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.php

Dieser Aufbau eignet sich besonders fuer Anwendungen, die fachlich individuell sind, aber trotzdem den MOSAIC-Rahmen, Security, Datenbankzugriff und Runner-Mechanismus nutzen sollen.

In diesem Thema sind aktuell keine neuen Antworten möglich.