すべてのモジュールには、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"パラメーターが使用されます。
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": "", "size": { "width": 12, "height": 5 }, "form_class": "WidgetForm", "js_class": "CWidget", "use_time_selector": false, "refresh_rate": 60 }モジュールの説明へのリンク。ウィジェットの場合、ウィジェットの追加またはウィジェットの編集ウィンドウでヘルプアイコンをクリックすると、このリンクが開きます。 urlが指定されていない場合、ヘルプアイコン
をクリックすると、一般的なダッシュボードウィジェットページが開きます。
タイプ: String
例: