This is a translation of the original English documentation page. Help us make it better.

manifest.json

Tout module a besoin du fichier manifest.json. Le fichier doit être situé dans le répertoire principal du module (ui/modules/module_name/manifest.json).

Au strict minimum, manifest.json doit spécifier ces champs :

{
           "manifest_version": 2.0,
           "id": "mon_adresse_ip",
           "name": "Mon adresse IP",
           "namespace": "MonAdresseIP",
           "version": "1.0"
       }

Paramètres pris en charge dans manifest.json (appuyez sur le nom du paramètre pour une description détaillée) :

Paramètre Description Obligatoire
manifest_version Version manifeste du module. Oui
id ID de module unique.
name Nom du module qui sera affiché dans la section Administration.
namespace Espace de noms PHP pour les classes de modules.
version Version du module.
type Type du module. Pour le widget doit être défini sur widget Oui pour les widgets, sinon non
widget Configuration des widgets. Utilisé uniquement pour les widgets.
actions Actions pour s'inscrire au module.
assets Styles CSS et fichiers JavaScript à inclure. Non
author Auteur du module.
config Valeurs par défaut pour les options de module personnalisées.
description Description du module.
url Un lien vers la description du module.

manifest_version

Version manifeste du module. Actuellement, la version prise en charge est 2.0.

Type : Double

Exemple:

"manifest_version": 2.0

identifiant

ID du module. Doit être unique. Pour éviter de futurs conflits de noms, il est recommandé d'utiliser un préfixe pour les modules (nom de l'auteur ou de l'entreprise, ou tout autre). Par exemple, si un module est un exemple de leçons et que le nom du module est « Mon module », alors l'ID sera « exemple_mon_module ».

Type : Chaîne

Exemple:

"id": "exemple_mon_module"

nom

Nom du module qui sera affiché dans la section Administration.

Type : Chaîne

Exemple:

"name": "Mon module"

namespace

Namespace PHP pour les classes de modules.

Type : Chaîne

Exemple:

"namespace": "ClockWidget"

version

Version du module. La version sera affichée dans la section Administration.

Type : Chaîne

Exemple:

"version": "1.0"

type

Type du module. Obligatoire pour les widgets et doit être égal à « widget ».

Type : Chaîne

Default : "module"

Exemple:

"type": "widget"

actions

Actions to register with the module. Defining class object key for each action is required, other action keys are optional.

Type: Object

Supported object keys if type is module:

  • write.your.action.name (object) - action name, should be written in lowercase [a-z], separating words with dots. Supports the keys:
    • class (string; required) - action class name.
    • layout (string) - action layout. Supported values: layout.json, layout.htmlpage (default), null.
    • view (string) - action view.

Example:

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

Supported object keys if type is widget:

  • widget.{id}.view (object) - file and class name for widget view. Replace {id} with the widget's id value (for example, widget.example_clock.view). Supports the keys:
    • class (string; required) - action class name for widget view mode to extend the default CControllerDashboardWidgetView class. The class source file must be located in the actions directory.
    • view (string) - widget view. Must be located in the views directory. If the view file is widget.view.php, which is expected by default, this parameter maybe omitted. If using a different name, specify it here.
  • widget.{id}.edit (object) - file name for widget configuration view. Replace {id} with the widget's id value (for example, widget.example_clock.edit). Supports the keys:
    • class (string; required) - action class name for widget configuration view mode. The class source file must be located in the actions directory.
    • view (string) - widget configuration view. Must be located in the views directory. If the view file is widget.edit.php, which is expected by default, this parameter maybe omitted. If using a different name, specify it here.

Example:

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

assets

CSS styles and JavaScript files to include.

Type: Object

Supported object keys:

  • css (array) - CSS files to include. The files must be located in the assets/css.
  • js (array) - JavaScript files to include. The files must be located in the assets/js.

Example:

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

author

Auteur du module. L'auteur sera affiché dans la section Administration.

Type : Chaîne

Exemple:

"author": "John Smith"

config

Default values for the module options. The object may contain any custom keys. If specified, these values will be written into the database during module registration. New variables added later will be written upon the first call. Afterwards, the variable values can only be changed directly in the database.

Type: Object

Example:

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

description

Descriptif des modules.

Type : Chaîne

Exemple:

"description": "Ceci est un widget horloge."

widget

Widget configuration. Used, if type is set to widget.

Type: Object

Supported object keys:

  • name (string) - used in the widget list and as default header. If empty, "name" parameter from the module will be used.

  • template_support (boolean) - determines whether the widget should be available in template dashboards. Supported values: true, false (default).

  • size (object) - default widget dimensions. Supports keys:

    • width (integer) - default widget width.
    • height (integer) - default widget height.
  • form_class (string) - class with widget fields form. Must be located in the includes directory. If the class is WidgetForm.php, which is expected by default, this parameter maybe omitted. If using a different name, specify it here.

  • js_class (string) - name of a JavaScript class for widget view mode to extend the default CWidget class. The class will be loaded with the dashboard. The class source file must be located in the assets/js directory. See also: assets.

  • use_time_selector (boolean) - determines whether the widget requires dashboard time selector. Supported values: true, false (default).

  • refresh_rate (integer) - widget refresh rate in seconds (default: 60).

Example:

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

URL

Un lien vers la description du module.

Type : Chaîne

Exemple:

"url": "http://exemple.com"