すべてのモジュールには、manifest.jsonファイルが必要です。 ファイルはモジュールのプライマリディレクトリに存在する必要があります (例: zabbix/ui/modules/module_name/manifest.json)。
最低限として、manifest.jsonでは次のフィールドを指定する必要があります。
{
"manifest_version": 2.0,
"id": "my_ip_address",
"name": "My IP Address",
"namespace": "MyIPAddress",
"version": "1.0"
}
manifest.jsonでサポートされているパラメーター (パラメーター名をクリックすると詳細な説明が表示されます):
パラメーター | 説明 | 必須 |
---|---|---|
manifest_version | モジュールのマニフェストバージョン。 | Yes |
id | 一意のモジュールID。 | |
name | 管理セクションに表示されるモジュール名。 | |
namespace | モジュールクラスのPHP名前空間。 | |
version | モジュールのバージョン。 | |
type | モジュールのタイプ。ウィジェットの場合はwidgetと設定する必要があります。 | Yes (ウィジェットのみ) |
widget | ウィジェットの設定。ウィジェットのみに使用されます。 | |
actions | モジュールに登録するアクション。 | |
assets | 含めるCSSスタイルとJavaScriptファイル。 | No |
author | モジュールの作成者。 | |
config | カスタムモジュールオプションのデフォルト値。 | |
description | モジュールの説明。 | |
url | モジュールの説明へのリンク。 |
モジュールのマニフェストバージョン。現在サポートされているバージョンは2.0です。
タイプ: Double
例:
モジュールID。一意である必要があります。将来的に名前の競合が発生しないように、モジュールにはプレフィックス (作成者名、会社名など) を使用することをお勧めします。 たとえば、レッスンのサンプルのモジュールで、モジュール名が"My module"の場合、IDは"example_my_module"になります。
タイプ: String
例:
管理セクションに表示されるモジュール名。
タイプ: String
例:
モジュールクラスのPHP名前空間。
タイプ: String
例:
モジュールのバージョン。バージョンは管理セクションに表示されます。
タイプ: String
例:
モジュールのタイプ。ウィジェットの場合必須で、"widget"と等しくなければなりません。
タイプ: String
デフォルト: "module"
例:
モジュールに登録するアクション。 各アクションのclassオブジェクトキーの定義は必須ですが、他のアクションキーはオプションです。
タイプ: Object
typeがmoduleの場合にサポートされるオブジェクトキー:
例:
"actions": {
"module.example.list": {
"class": "ExampleList",
"view": "example.list",
"layout": "layout.htmlpage"
}
}
typeがwidgetの場合にサポートされるオブジェクトキー:
例:
"actions": {
"widget.tophosts.view": {
"class": "WidgetView"
},
"widget.tophosts.column.edit": {
"class": "ColumnEdit",
"view": "column.edit",
"layout": "layout.json"
}
}
含めるCSSスタイルとJavaScriptファイル。
タイプ: Object
サポートするオブジェクトキー:
例:
モジュールの作成者。作成者は管理セクションに表示されます。
タイプ: String
例:
モジュールオプションのデフォルト値。オブジェクトにはカスタムキーが含まれる場合があります。 指定した場合、これらの値はモジュールの登録中にデータベースに書き込まれます。 後で追加された新しい変数は、最初の呼び出し時に書き込まれます。 その後、変数値はデータベース内でのみ直接変更できます。
タイプ: Object
例:
モジュールの説明。
タイプ: String
例:
ウィジェットの設定。typeがwidgetに設定されている場合に使用されます。
タイプ: Object
サポートするオブジェクトキー:
name (string) - ウィジェットリストおよびデフォルトのヘッダーとして使用されます。空の場合、モジュールの"name"パラメーターが使用されます。
template_support (boolean) - ウィジェットをテンプレートダッシュボードで使用できるかどうかを決定します。 サポートする値: true、false (デフォルト).
size (object) - デフォルトのウィジェットの寸法。サポートするキー:
form_class (string) - ウィジェットフィールドフォームを持つクラス。includesディレクトリに配置する必要があります。 クラスがデフォルトで期待するWidgetForm.phpの場合、このパラメーターは省略できます。 別の名前を使用する場合は、ここで指定します。
js_class (string) - デフォルトのCWidgetクラスを拡張するウィジェットビューモードのJavaScriptクラスの名前。 クラスにはダッシュボードがロードされます。 クラスのソースファイルは、assets/jsディレクトリに配置する必要があります。参照: assets。
use_time_selector (boolean) - ウィジェットにダッシュボード時間セレクターが必要かどうかを決定します。 サポートする値: true、false (デフォルト)。
refresh_rate (integer) - ウィジェットのリフレッシュ レート (秒単位) (デフォルト: 60)。
例:
"widget": {
"name": "",
"template_support": true,
"size": {
"width": 12,
"height": 5
},
"form_class": "WidgetForm",
"js_class": "CWidget",
"use_time_selector": false,
"refresh_rate": 60
}
モジュールの説明へのリンク。
タイプ: String
例: