manifest.json

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

Mindestens sollte manifest.json diese Felder angeben:

{
    "manifest_version": 2.0,
    "id": "my_ip_address",
    "name": "My IP Address",
    "namespace": "MyIPAddress",
    "version": "1.0"
}

Unterstützte Parameter in manifest.json (klicken Sie auf den Parameternamen für eine detaillierte Beschreibung):

Parameter Beschreibung Erforderlich
manifest_version Manifest-Version des Moduls. Ja
id Eindeutige Modul-ID.
name Modulname, der im Bereich Administration angezeigt wird.
namespace PHP-Namespace für Modulklassen.
version Modulversion.
type Typ des Moduls. Für Widgets muss widget gesetzt werden Ja für Widgets, sonst nein
widget Widget-Konfiguration. Nur für Widgets verwendet.
actions Mit dem Modul zu registrierende Aktionen.
assets CSS-Styles und JavaScript-Dateien, die eingebunden werden sollen. Nein
author Autor des Moduls.
config Standardwerte für benutzerdefinierte Moduloptionen.
description 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 Modullbeschreibung. Bei Widgets wird dieser Link geöffnet, wenn auf das Hilfe-Symbol im Fenster Widget hinzufügen oder Widget bearbeiten geklickt wird. Wenn url nicht angegeben ist, wird beim Klicken auf das Hilfe-Symbol die allgemeine Seite Dashboard-Widgets geöffnet.

Typ: String

Beispiel:

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