Cualquier módulo necesita el archivo manifest.json. El archivo debe estar ubicado en el directorio principal del módulo (por ejemplo, zabbix/ui/modules/module_name/manifest.json).
Como mínimo, manifest.json debe especificar estos campos:
{
"manifest_version": 2.0,
"id": "mi_direccion_ip",
"name": "Mi dirección IP",
"namespace": "MiDirecciónIP",
"version": "1.0"
}
Parámetros admitidos en manifest.json (pulse sobre el nombre del parámetro para obtener una descripción detallada):
Parámetro | Descripción | Requerido |
---|---|---|
manifest_version | Versión del manifiesto del módulo. | Si |
id | ID único del módulo. | |
name | Nombre del módulo que se mostrará en la sección Administración. | |
namespace | Espacio de nombres de PHP para las clases del módulo. | |
version | Versión del módulo. | |
type Tipo del módulo. Para widget debe establecerse como widget | Si para widgets, de lo contrario no | |
widget | Configuración del widget. Usado sólo para widgets. | |
actions | Acciones a registrar con el módulo. | |
assets | Estilos CSS y archivos JavaScript a incluir. | No |
author | Autor del módulo. | |
config | Valores por defecto para las opciones personalizadas del módulo. | |
description | Descripción del módulo. | |
url | Un enlace a la descripción del módulo. |
Versión de manifiesto del módulo. Actualmente, la versión compatible es 2.0.
Type: Double
Ejemplo:
Identificación del módulo. Debe ser único. Para evitar futuros conflictos de nombres, se recomienda utilizar prefijos para los módulos (autor o nombre de la empresa, o cualquier otro). Por ejemplo, si un módulo es un ejemplo para lecciones y el nombre del módulo es "Mi módulo", entonces el ID será "ejemplo_mi_módulo".
Type: String
Ejemplo:
Nombre del módulo que se mostrará en la sección Administración.
Type: String
Ejemplo:
Espacio de nombres PHP para clases de módulos.
Type: String
Example:
Versión del módulo. La versión se mostrará en la sección Administración. Module version. The version will be displayed in the Administration section.
Type: String
Example:
Tipo del módulo. Requerido para widgets y debe ser igual a "widget".
Tipo: String
Default: "module"
Ejemplo:
Acciones a registrar con el módulo. Se requiere definir la clave de objeto class para cada acción, otras claves de acción son opcionales.
Type: Objeto
Claves de objeto soportadas si type es module:
Ejemplo:
"actions": {
"modulo.ejemplo.lista": {
"clase": "ListaEjemplo",
"vista": "ejemplo.list",
"layout": "layout.htmlpage"
}
}
Claves de objeto soportadas si type es widget:
Ejemplo:
"actions": {
"widget.tophosts.view": {
"class": "WidgetView"
},
"widget.tophosts.column.edit": {
"class": "ColumnEdit",
"view": "column.edit",
"layout": "layout.json"
}
}
Estilos CSS y archivos JavaScript para incluir.
Tipo: Objeto
Claves de objetos compatibles:
-css (matriz) - Archivos CSS para incluir. Los archivos deben estar ubicados en assets/css. -js (matriz) - Archivos JavaScript para incluir. Los archivos deben estar ubicados en assets/js.
Ejemplo:
Autor del módulo. El autor se mostrará en la sección Administración.
Tipo: Cadena
Ejemplo:
Valores predeterminados para las opciones del módulo. El objeto puede contener cualquier clave personalizada. Si se especifica, estos valores se escribirán en la base de datos durante el registro del módulo. Las nuevas variables agregadas más tarde se escribirán en la primera llamada. Posteriormente, los valores de las variables solo se pueden cambiar directamente en la base de datos.
Tipo: Objeto
Ejemplo:
Descripción del módulo.
Tipo: Cadena
Ejemplo:
Configuración del widget. Utilizado, si type se establece en widget.
Type: Objeto
Claves de objeto soportadas:
name (cadena) - usado en la lista de widgets y como cabecera por defecto. Si está vacío, se utilizará el parámetro "name" del módulo.
size (objeto) - dimensiones por defecto del widget. Valores soportados:
form_class (cadena) - clase con el formulario de los campos del widget. Debe estar ubicada en el directorio includes. Si la clase es WidgetForm.php, que se espera por defecto, este parámetro puede omitirse. Si usa un nombre diferente, especifíquelo aquí.
js_class (cadena) - nombre de una clase JavaScript para el modo de vista widget para extender la clase CWidget por defecto. La clase se cargará con el tablero. El archivo fuente de la clase debe estar ubicado en el directorio assets/js. Véase también: assets.
use_time_selector (booleano) - determina si el widget requiere el selector de tiempo del tablero. Valores admitidos: true, false (por defecto).
refresh_rate (entero) - frecuencia de actualización del widget en segundos (por defecto: 60).
Ejemplo:
"widget": {
"name": "",
"size": {
"width": 12,
"height": 5
},
"form_class": "WidgetForm",
"js_class": "CWidget",
"use_time_selector": false,
"refresh_rate": 60
}
Un enlace a la descripción del módulo. Para los widgets, este enlace se abrirá al hacer clic en el icono de ayuda. en Agregar widget o en la ventana Editar widget. Si no se especifica url, al hacer clic en el icono de ayuda se abrirá la página genérica widgets del tablero.
Tipo: Cadena
Ejemplo: