Plugins

Es ist möglich, Funktionen einzelner Module mittels Plugin-Mechanismus in anderen Modulen einzubetten. Ein Modul, welches durch Plugins erweitert werden kann, definiert dafür in seiner Oberfläche bestimmte Bereiche (genannt "Hooks"), in denen Plugins platziert werden können. Ein Modul, welches Plugin-Funktionen anbieten möchte, definiert explizite Plugin-Komponenten (genannt "Plugin").

Plugin ist ein Element für die Benutzeroberfläche. Jedes BPC-Modul kann Plugins bereitstellen.

Hook ist eine Art Platzhalter, der mit einem oder mehreren Plugins befüllt werden kann. Ein BPC-Modul kann beliebig viele dieser Hooks bereitstellen.

Konfiguration

Die konkrete Zuordnung zwischen Hook und Plugin erfolgt durch den Administrator im Konfigurationsbereich des BPC. Dort wird zunächst der Tab des Moduls ausgewählt, dem ein Plugin zugeordnet werden soll. Auf der linken Seite gibt es den Punkt "Plugins" (dieser ist nur sichtbar, wenn das betreffende Modul pluginfähig ist).

plugin tab

In der Konfigurationsoberfläche können dem Modul Plugins zugeordnet werden. Dafür muss ein neuer Eintrag in der Liste erzeugt werden. Anschließend werden auf der linken Seite das zu verwendende Plugin und der Hook, in dem das Plugin platziert werden soll, ausgewählt. Das ausgewählte Plugin kann nun wie folgt konfiguriert werden:

Plugin Konfigurationsansicht

plugin config

Plugin

Auswahl eines Plugins. Die Liste der verfügbaren Plugins hängt von den Modulen ab, die vom BPC geladen wurden.

Hook

Hook, in dem das Modul platziert werden soll. Die verfügbaren Hooks hängen von dem Modul ab, in dem man gerade die Plugin-Konfiguration vornimmt.

Beschreibung

Freitext für eine beliebige Beschreibung.

Komponente

Wenn das aktuelle Modul aus mehreren Komponenten/Instanzen bestehen kann (wie z.B. Process Monitoring), dann kann hier ausgewählt werden, für welche Komponenten/Instanzen die Plugin-Zuweisung berücksichtigt werden soll. Wird hier nichts eingetragen, so wird das Plugin in allen Komponenten/Instanzen hinzugefügt.

Organisation / Rollen / Rechte

Hier kann man die Plugin-Zuweisung von dem jeweiligen Benutzer abhängig machen. Nur wenn dieser über die konfigurierten Organisation / Rollen / Rechte verfügt, wird das Plugin angezeigt.

Plugin-Konfiguration

Hier kann eine zusätzliche JSON-Konfiguration angegeben werden, die vom jeweiligen Plugin ausgewertet wird. Diese sollte in der Dokumentation des Plugins beschrieben sein.

cmpConfiguration

Sollte das Plugin es nicht verhindern, so ist es möglich, über ein cmpConfiguration-Objekt direkt Konfigurationsparameter an der Plugin-Komponente zu setzen.

Dies kann z.B. sinnvoll sein, wenn das Plugin keinen eigenen Titel hat, aber der Hook die Plugins als Tabs anzeigt.

{
    "cmpConfiguration": {
        "title": "TAB1",
        "iconCls": "x-fa fa-fire"
    }
}

Eine falsche/unpassende Konfiguration kann zu Fehlern bei der Erstellung oder Verwendung des Plugins führen.

hookSubId

Manche Module verwenden den gleichen Hook mehrfach. In diesem Fall kann es sein, dass zur Differenzierung eine hookSubId genutzt wird. Ist dies der Fall, dann muss hier in der JSON-Konfiguration ebenfalls die passende hookSubId gesetzt werden.

Sollte hier eine hookSubId konfiguriert sein, dann muss der Hook ebenfalls diese hookSubId aufweisen. Andernfalls wird das Plugin nicht angezeigt.

Die Verwendung hookSubId sollte in der Dokumentation des jeweiligen Hooks angezeigt werden.

{
  "hookSubId": "passende_hookSubId_zum_hook"
}

Modul Plugins

Die einzelnen Plugins und Hooks sind jeweils an den Modulen dokumentiert, die diese definieren.

Core Plugins

Folgende Plugins werden durch das Core-Modul oder darin eingebettete Modulen bereitgestellt.


Keywords: