Elke module heeft het bestand manifest.json nodig. Het bestand moet zich in de primaire map van de module bevinden (ui/modules/module_name/manifest.json
).
Als een absoluut minimum moet manifest.json deze velden bevatten:
{
"manifest_version": 2.0,
"id": "my_ip_address",
"name": "My IP Address",
"namespace": "MyIPAddress",
"version": "1.0"
}
Ondersteunde parameters in manifest.json (druk op de parameternaam voor een gedetailleerde beschrijving):
Parameter | Beschrijving | Vereist |
---|---|---|
manifest_version | Manifestversie van de module. | Ja |
id | UniekID van de module. | |
name | Modulenaam die wordt weergegeven in de sectie beheer. | |
namespace | PHP-namespace voor moduleklassen. | |
version | Module versie. | |
type | Type van de module. Voor widget moet worden ingesteld op widget. | Ja voor widgets, anders nee. |
widget | Widget configuratie. Alleen gebruikt bij widgets. | |
actions | Acties om te registreren bij de module. | |
assets | CSS-stijlen en JavaScript-bestanden. | Nee |
author | Module auteur. | |
config | Standaardwaarden voor aangepaste module-opties. | |
description | Module omschrijving. | |
url | Een link naar de module omschrijving. |
Manifestversie van de module. Momenteel is de ondersteunde versie 2.0.
Type: Double
Voorbeeld:
Module-ID moet uniek zijn. Om toekomstige naamgevingsconflicten te voorkomen, wordt aanbevolen om een voorvoegsel voor modules te gebruiken (auteurs- of bedrijfsnaam, of een andere). Voorbeeld, Als een module een voorbeeld is voor lessen en de modulenaam is "Mijn module", dan is de ID "voorbeeld_mijn_module".
Type: String
Voorbeeld:
Modulenaam die wordt weergegeven in het gedeelte Beheer.
Type: String
Voorbeeld:
PHP-naamruimte voor moduleklassen.
Type: String
Voorbeeld:
Moduleversie. De versie wordt weergegeven in het gedeelte Beheer.
Type: string
Voorbeeld:
Soort van de module. Voor een Widget dient deze "widget" te bevatten.
Type: string
Standaard: "module"
Voorbeeld:
Acties om te registreren bij de module. Het definiëren van een class-object element voor elke actie is vereist, andere actie elementen zijn optioneel.
Type: Object
Ondersteunde type module object elementen zijn:
Voorbeeld:
"actions": {
"module.example.list": {
"class": "examplelist",
"view": "voorbeeld.lijst",
"layout": "layout.htmlpage"
}
}
Ondersteunde type widget object elementen zijn:
Voorbeeld:
"actions": {
"widget.tophosts.view": {
"class": "WidgetView"
},
"widget.tophosts.column.edit": {
"class": "ColumnEdit",
"view": "column.edit",
"layout": "layout.json"
}
}
CSS-stijlen en JavaScript-bestanden.
Type: Object
Ondersteunde object elementen:
Voorbeeld:
Module auteur. De auteur wordt weergegeven in het gedeelte Beheer.
Type: String
Voorbeeld:
Standaardwaarden voor de module-opties. Het object kan alle aangepaste sleutels bevatten. Indien opgegeven, worden deze waarden tijdens de moduleregistratie in de database geschreven. Nieuwe variabelen die later worden toegevoegd, worden bij de eerste aanroep geschreven. Daarna kunnen de variabele waarden alleen rechtstreeks in de database worden gewijzigd.
Type: Object
Voorbeeld:
Modulebeschrijving.
Type: String
Voorbeeld:
Widget-configuratie. Wordt gebruikt als type is ingesteld op widget.
Type: Object
Ondersteunde object elementen: - name (string) - Gebruikt in de widgetlijst en als standaardkop. Indien leeg, wordt de "name" parameter van de module gebruikt. - template_support (boolean) - Bepaalt of de widget beschikbaar moet zijn in sjabloon dashboards. Ondersteunde waarden: true, false (standaard). - size (object) - Standaard widgetafmetingen. Ondersteunde waarden: - width (integer) - Standaard widgetbreedte. - height (integer) - Standaard widgethoogte. - form_class (string) - Klasse met het formulier voor widgetvelden. Moet zich bevinden in de includes map. Als de klasse WidgetForm.php is, wat standaard wordt verwacht, kan deze parameter worden weggelaten. Indien een andere naam wordt gebruikt, specificeer deze dan hier.
js_class (string) - Naam van een JavaScript-klasse voor de weergavemodus van de widget om de standaard CWidget-klasse uit te breiden. De klasse wordt geladen met het dashboard. Het bronbestand van de klasse moet zich bevinden in de assets/js-map. Zie ook: assets.
use_time_selector (boolean) - Bepaalt of de widget de tijdsselector van het dashboard vereist. Ondersteunde waarden: true, false (standaard).
refresh_rate (integer) - Verversingssnelheid van de widget in seconden (standaard: 60).
Voorbeeld:
"widget": {
"name": "",
"template_support": true,
"size": {
"width": 12,
"height": 5
},
"form_class": "WidgetForm",
"js_class": "CWidget",
"use_time_selector": false,
"refresh_rate": 60
}
Een link naar de modulebeschrijving.
Type: String
Voorbeeld: