manifest.json

Katram modulim ir nepieciešams fails manifest.json. Failam jāatrodas moduļa galvenajā direktorijā (piemēram, zabbix/ui/modules/module_name/manifest.json).

Vismaz manifest.json failā jānorāda šādi lauki:

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

Parametri, kas tiek atbalstīti failā manifest.json (lai skatītu detalizētu aprakstu, noklikšķiniet uz parametra nosaukuma):

Parametrs Apraksts Obligāts
manifest_version Moduļa manifesta versija. Jā
id Unikāls moduļa ID.
name Moduļa nosaukums, kas tiks parādīts sadaļā Administration.
namespace PHP nosaukumvieta moduļa klasēm.
version Moduļa versija.
type Moduļa tips. Logrīkam jāiestata vērtība widget Jā logrīkiem, citādi nē
widget Logrīka konfigurācija. Izmanto tikai logrīkiem.
actions Darbības, ko reģistrēt modulī.
assets Iekļaujamie CSS stili un JavaScript faili. Nē
author Moduļa autors.
config Pielāgoto moduļa opciju noklusējuma vērtības.
description Moduļa apraksts.
url Saite uz moduļa aprakstu.

manifest_version

Moduļa manifesta versija.
Pašlaik tiek atbalstīta versija 2.0.

Tips: Double

Piemērs:

"manifest_version": 2.0

id

Moduļa ID. Tam ir jābūt unikālam. Lai izvairītos no iespējamiem nosaukumu konfliktiem nākotnē, moduļiem ieteicams izmantot prefiksu (autora vai uzņēmuma nosaukumu vai jebkuru citu prefiksu). Piemēram, ja modulis ir paredzēts kā piemērs mācību nodarbībām un moduļa nosaukums ir "Mans modulis", tā ID būs "example_my_module".

Tips: String

Piemērs:

"id": "example_my_module"

nosaukums

Moduļa nosaukums, kas tiks parādīts sadaļā Administrēšana.

Type: String

Example:

"name": "My module"

nosaukumtelpa

PHP nosaukumtelpa moduļa klasēm.

Tips: String

Piemērs:

"namespace": "ClockWidget"

versija

Moduļa versija.
Versija tiks parādīta sadaļā Administration.

Tips: String

Piemērs:

"version": "1.0"

type

Moduļa tips. Nepieciešams logrīkiem, un tam jābūt vienādam ar "widget".

Tips: String

Noklusējums: "module"

Piemērs:

"type": "widget"

darbības

Darbības, kas jāreģistrē modulī.
Katrai darbībai ir obligāti jādefinē class objekta atslēga; pārējās darbību atslēgas nav obligātas.

Tips: Object

Atbalstītās objekta atslēgas, ja type ir module:

  • write.your.action.name (object) - darbības nosaukums, kas jāraksta ar mazajiem burtiem [a-z], atdalot vārdus ar punktiem.
    Atbalstītās atslēgas:
    • class (string; required) - darbības klases nosaukums.
    • layout (string) - darbības izkārtojums.
      Atbalstītās vērtības: layout.json, layout.htmlpage (noklusējums), null.
    • view (string) - darbības skats.

Piemērs:

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

Atbalstītās objekta atslēgas, ja type ir widget:

  • widget.{id}.view (object) - logrīka skata faila un klases nosaukums.
    Aizstājiet {id} ar logrīka id vērtību (piemēram, widget.example_clock.view).
    Atbalstītās atslēgas:
    • class (string; required) - darbības klases nosaukums logrīka skata režīmam, lai paplašinātu noklusējuma CControllerDashboardWidgetView klasi.
      Klases avota failam jāatrodas direktorijā actions.
    • view (string) - logrīka skats.
      Tam jāatrodas direktorijā views.
      Ja skata fails ir widget.view.php, kā paredzēts pēc noklusējuma, šo parametru var nenorādīt.
      Ja tiek izmantots cits nosaukums, norādiet to šeit.
  • widget.{id}.edit (object) - logrīka konfigurācijas skata faila nosaukums.
    Aizstājiet {id} ar logrīka id vērtību (piemēram, widget.example_clock.edit).
    Atbalstītās atslēgas:
    • class (string; required) - darbības klases nosaukums logrīka konfigurācijas skata režīmam.
      Klases avota failam jāatrodas direktorijā actions.
    • view (string) - logrīka konfigurācijas skats.
      Tam jāatrodas direktorijā views.
      Ja skata fails ir widget.edit.php, kā paredzēts pēc noklusējuma, šo parametru var nenorādīt.
      Ja tiek izmantots cits nosaukums, norādiet to šeit.

Piemērs:

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

resursi

Iekļaujamie CSS stili un JavaScript faili.

Tips: Object

Atbalstītās objekta atslēgas:

  • css (array) - Iekļaujamie CSS faili. Failiem jāatrodas mapē assets/css.
  • js (array) - Iekļaujamie JavaScript faili. Failiem jāatrodas mapē assets/js.

Piemērs:

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

autors

Moduļa autors.
Autors tiks parādīts sadaļā Administration.

Tips: String

Piemērs:

"author": "John Smith"

config

Moduļa opciju noklusējuma vērtības.
Objekts var saturēt jebkādas pielāgotas atslēgas.
Ja šīs vērtības ir norādītas, tās moduļa reģistrēšanas laikā tiks ierakstītas datubāzē.
Vēlāk pievienotie jaunie mainīgie tiks ierakstīti pirmā izsaukuma laikā.
Pēc tam mainīgo vērtības var mainīt tikai tieši datubāzē.

Tips: Object

Piemērs:

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

apraksts

Moduļa apraksts.

Type: String

Piemērs:

"description": "This is a clock widget."

logrīks

Logrīka konfigurācija.
Tiek izmantota, ja type ir iestatīts uz widget.

Tips: Object

Atbalstītās objekta atslēgas:

  • name (string) - tiek izmantots logrīku sarakstā un kā noklusējuma galvene.
    Ja ir tukšs, tiks izmantots moduļa parametrs "name".

  • size (object) - logrīka noklusējuma izmēri.
    Atbalsta atslēgas:

    • width (integer) - logrīka noklusējuma platums.
    • height (integer) - logrīka noklusējuma augstums.
  • form_class (string) - klase ar logrīka lauku veidlapu.
    Tai jāatrodas includes direktorijā.
    Ja klase ir WidgetForm.php, kas tiek izmantota pēc noklusējuma, šo parametru var nenorādīt.
    Ja tiek izmantots cits nosaukums, norādiet to šeit.

  • js_class (string) - JavaScript klases nosaukums logrīka skata režīmam, lai paplašinātu noklusējuma CWidget klasi.
    Klase tiks ielādēta kopā ar informācijas paneli.
    Klases avota failam jāatrodas direktorijā assets/js.
    Skatiet arī: assets.

  • use_time_selector (boolean) - nosaka, vai logrīkam ir nepieciešams informācijas paneļa laika atlasītājs.
    Atbalstītās vērtības: true, false (noklusējums).

  • refresh_rate (integer) - logrīka atsvaidzināšanas intervāls sekundēs (noklusējums: 60).

Piemērs:

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

url

Saite uz moduļa aprakstu. Logrīkiem šī saite tiks atvērta, noklikšķinot uz palīdzības ikonas loga Pievienot logrīku vai Rediģēt logrīku logā. Ja url nav norādīts, noklikšķinot uz palīdzības ikonas, tiks atvērta vispārīgā lapa Informācijas paneļa logrīki.

Tips: String

Piemērs:

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