manifest.json

Jedes Modul benötigt die Datei manifest.json. Die Datei sollte sich im primären Verzeichnis des Moduls befinden (zum Beispiel zabbix/ui/modules/module_name/manifest.json).

Als Minimum müssen folgende Felder in der Datei manifest.json enthalten sein:

{
"manifest_version": 2.0,
"id": "meine_ip_addresse",
"name": "Meine IP Addresse",
"namespace": "MeineIPAddresse",
"version": "1.0"
}

Die Datei manifest.json unterstützt folgende Parameter (Parameternamen für eine detaillierte Beschreibung anklicken):

Parameter Beschreibung Erforderlich
manifest_version Manifest-Version des Moduls. Ja
id Eindeutige Modul-ID.
name Modulname, der im Abschnitt „Administration“ angezeigt wird.
Namespace PHP-Namespace für Modulklassen.
Version Modulversion.
Typ Modultyp. Für Widgets muss er auf widget gesetzt werden Ja für Widgets, sonst nein
widget Widget-Konfiguration. Wird nur für Widgets verwendet.
Aktionen Aktionen die im Modul registriert werden.
Styles Einzuschließende CSS-Stile und JavaScript-Dateien. Nein
Autor Modulautor.
Konfiguration Standardwerte für benutzerdefinierte Moduloptionen.
Beschreibung Modulbeschreibung.
URL Ein Link zur Modulbeschreibung.

manifest_version

Manifestversion des Moduls. Derzeit wird die Version 2.0 unterstützt.

Typ: Double

Beispiel:

"manifest_version": 2.0

id

Modul-ID. Muss eindeutig sein. Um zukünftige Namenskonflikte zu vermeiden, wird empfohlen, ein Präfix für Module zu verwenden (Autor- oder Firmenname oder ein anderes). Wenn ein Modul beispielsweise ein Beispiel für Lektionen ist und der Modulname „Mein Modul“ lautet, lautet die ID „example_my_module“.

Typ: Zeichenfolge

Beispiel:

„id“: „example_my_module“

Name

Modulname, der im Abschnitt „Administration“ angezeigt wird.

Typ: Zeichenfolge

Beispiel:

"name": "Mein Modul"

Namespace

PHP-Namespace für Modulklassen.

Typ: String

Beispiel:

"namespace": "ClockWidget"

Version

Modulversion. Die Version wird im Bereich „Administration“ angezeigt.

Typ: Zeichenfolge

Beispiel:

"version": "1.0"

Typ

Typ des Moduls. Erforderlich für Widgets und muss "Widget" entsprechen.

Typ: Zeichenfolge

Standard: "Modul"

Beispiel:

"Typ": "Widget"

Aktionen

Aktionen, die mit dem Modul registriert werden sollen.

Die Definition des Objektschlüssels class für jede Aktion ist erforderlich, andere Aktionsschlüssel sind optional.

Type: Objekt

Unterstützte Objektschlüssel, wenn type auf module gesetzt ist:

  • dein.eigener.aktions.name (Objekt) – Aktionsname, sollte in Kleinbuchstaben [a-z] geschrieben und Wörter durch Punkte getrennt werden. Unterstützt die Schlüssel:
  • class (Zeichenfolge; erforderlich) – Name der Aktionsklasse.
  • layout (Zeichenfolge) – Aktionslayout. Unterstützte Werte: layout.json, layout.htmlpage (Standard), null.
  • view (Zeichenfolge) – Aktionsansicht.

Beispiel:

"actions": {
"module.example.list": {
"class": "ExampleList",
"view": "example.list",
"layout": "layout.htmlpage"
}
}

Unterstützte Objektschlüssel, wenn type auf widget gesetzt ist:

  • widget.{id}.view (Objekt) - Datei- und Klassenname für die Widget-Ansicht. Ersetzen Sie {id} durch den id-Wert des Widgets (z. B. widget.example_clock.view). Unterstützt die Schlüssel:
  • class (Zeichenfolge; erforderlich) - Aktionsklassenname für den Widget-Ansichtsmodus, um die Standardklasse CControllerDashboardWidgetView zu erweitern. Die Klassenquelldatei muss sich im Verzeichnis actions befinden.
  • view (Zeichenfolge) - Widget-Ansicht. Muss sich im Verzeichnis views befinden. Wenn die Ansichtsdatei widget.view.php ist, was standardmäßig erwartet wird, kann dieser Parameter weggelassen werden. Wenn Sie einen anderen Namen verwenden, geben Sie ihn hier an.
  • widget.{id}.edit (Objekt) – Dateiname für die Widget-Konfigurationsansicht. Ersetzen Sie {id} durch den id-Wert des Widgets (z. B. widget.example_clock.edit). Unterstützt die Schlüssel:
  • class (Zeichenfolge; erforderlich) – Name der Aktionsklasse für den Widget-Konfigurationsansichtsmodus. Die Klassenquelldatei muss sich im Verzeichnis actions befinden.
  • view (Zeichenfolge) – Widget-Konfigurationsansicht. Muss sich im Verzeichnis views befinden. Wenn die Ansichtsdatei widget.edit.php ist, was standardmäßig erwartet wird, kann dieser Parameter weggelassen werden. Wenn Sie einen anderen Namen verwenden, geben Sie ihn hier an.

Beispiel:

"actions": {
"widget.tophosts.view": {
"class": "WidgetView"
},
"widget.tophosts.column.edit": {
"class": "ColumnEdit",
"view": "column.edit",
"layout": "layout.json"
}
}

Assets

Einzuschließende CSS-Stile und JavaScript-Dateien.

Typ: Objekt

Unterstützte Objektschlüssel:

  • css (Array) – einzuschließende CSS-Dateien. Die Dateien müssen sich in assets/css befinden.
  • js (Array) – einzuschließende JavaScript-Dateien. Die Dateien müssen sich in assets/js befinden.

Beispiel:

"assets": {
"css": ["widget.css"],
"js": ["class.widget.js"]
}

Autor

Modulautor. Der Autor wird im Bereich "Administration" angezeigt.

Typ: Zeichenfolge

Beispiel:

"author": "John Smith"

Konfiguration

Standardwerte für die Moduloptionen. Das Objekt kann beliebige benutzerdefinierte Schlüssel enthalten. Falls angegeben, werden diese Werte bei der Modulregistrierung in die Datenbank geschrieben. Später hinzugefügte neue Variablen werden beim ersten Aufruf geschrieben. Danach können die Variablenwerte nur noch direkt in der Datenbank geändert werden.

Typ: Objekt

Beispiel:

"config": {
"username": "Admin",
"password": "",
"auth_url": "https://example.com/auth"
}

Beschreibung

Modulbeschreibung.

Typ: Zeichenfolge

Beispiel:

"Beschreibung": "Dies ist ein Uhr-Widget."

widget

Widget-Konfiguration. Wird verwendet, wenn type auf widget eingestellt ist.

Typ: Objekt

Unterstützte Objektschlüssel:

  • name (Zeichenfolge) – wird in der Widgetliste und als Standardkopfzeile verwendet. Wenn leer, wird der Parameter „name“ aus dem Modul verwendet.

  • size (Objekt) – Standard-Widgetabmessungen. Unterstützte Schlüssel:

  • width (Ganzzahl) – Standard-Widgetbreite.

  • height (Ganzzahl) – Standard-Widgethöhe.

  • form_class (Zeichenfolge) – Klasse mit Widgetfeldformular. Muss sich im Verzeichnis includes befinden. Wenn die Klasse WidgetForm.php ist, was standardmäßig erwartet wird, kann dieser Parameter weggelassen werden. Wenn Sie einen anderen Namen verwenden, geben Sie ihn hier an.

  • js_class (Zeichenfolge) – Name einer JavaScript-Klasse für den Widget-Ansichtsmodus, um die Standardklasse CWidget zu erweitern. Die Klasse wird mit dem Dashboard geladen. Die Klassenquelldatei muss sich im Verzeichnis „assets/js“ befinden. Siehe auch: assets.

  • use_time_selector (Boolesch) – bestimmt, ob das Widget einen Dashboard-Zeitselektor benötigt.

Unterstützte Werte: true, false (Standard).

  • refresh_rate (Ganzzahl) – Aktualisierungsrate des Widgets in Sekunden (Standard: 60).

Beispiel:

"widget": {
"name": "",
"size": {
"width": 12,
"height": 5
},
"form_class": "WidgetForm",
"js_class": "CWidget",
"use_time_selector": false,
"refresh_rate": 60
}

url

Ein Link zur Modulbeschreibung. Für Widgets wird dieser Link geöffnet, wenn Sie auf das Hilfesymbol im Fenster Widget hinzufügen oder Widget bearbeiten klicken.

Wenn url nicht angegeben ist, öffnet ein Klick auf das Hilfesymbol die allgemeine Seite Dashboard-Widgets.

Typ: Zeichenfolge

Beispiel:

"url": "http://example.com"