manifest.json
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. |
manifest_version
Manifestversie van de module. Momenteel is de ondersteunde versie 2.0.
Type: Double
Voorbeeld:
"manifest_version": 2.0
id
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:
"id": "voorbeeld_mijn_module"
name
Modulenaam die wordt weergegeven in het gedeelte Beheer.
Type: String
Voorbeeld:
"name": "Mijn module"
namespace
PHP-naamruimte voor moduleklassen.
Type: String
Voorbeeld:
"namespace": "ClockWidget"
version
Moduleversie. De versie wordt weergegeven in het gedeelte Beheer.
Type: string
Voorbeeld:
"version": "1.0"
type
Soort van de module. Voor een Widget dient deze "widget" te bevatten.
Type: string
Standaard: "module"
Voorbeeld:
"type": "widget"
Acties
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:
- eigen.actie.naam (object) - actienaam, moet worden geschreven in kleine letters [a-z], woorden scheidend met punten.
Ondersteunde elementen:
- class (string; vereist) - naam actieklasse.
- layout (string) - actielay-out. Ondersteunde waarden: layout.json, layout.htmlpage (standaard), null.
- view (string) - actieweergave.
Voorbeeld:
"actions": {
"module.example.list": {
"class": "examplelist",
"view": "voorbeeld.lijst",
"layout": "layout.htmlpage"
}
}
Ondersteunde type widget object elementen zijn:
- widget.{id}.view (object) - bestands- en klassenaam voor widgetweergave. Vervang {id} door de id waarde van de widget (bijvoorbeeld widget.example_clock.view).
Ondersteunde elementen:
- class (string; Vereist) - actieklassenaam voor widgetweergavemodus om de standaard CControllerDashboardWidgetView-klasse uit te breiden. Het klassenbronbestand moet zich in de map actions bevinden.
- view (string) - widgetweergave. Moet zich in de map views bevinden. Als het weergavebestand widget.view.php is, wat standaard wordt verwacht, kan deze parameter worden weggelaten. Als u een andere naam gebruikt, geeft u deze hier op.
- widget.{id}.edit (object) - bestandsnaam voor widgetconfiguratieweergave. Vervang {id} door de id waarde van de widget (bijvoorbeeld widget.example_clock.edit).
Ondersteunde elementen:
- class (string; Vereist) - actieklassenaam voor weergavemodus widgetconfiguratie. Het klassenbronbestand moet zich in de map actions bevinden.
- view (string) - widgetconfiguratieweergave. Moet zich in de map views bevinden. Als het weergavebestand widget.edit.php is, wat standaard wordt verwacht, kan deze parameter worden weggelaten. Als u een andere naam gebruikt, geeft u deze hier op.
Voorbeeld:
"actions": {
"widget.tophosts.view": {
"class": "WidgetView"
},
"widget.tophosts.column.edit": {
"class": "ColumnEdit",
"view": "column.edit",
"layout": "layout.json"
}
}
assets
CSS-stijlen en JavaScript-bestanden.
Type: Object
Ondersteunde object elementen:
- css (array) - CSS-bestanden om op te nemen. De bestanden moeten zich bevinden in assets/css.
- js (array) - JavaScript-bestanden om op te nemen. De bestanden moeten zich bevinden in assets/js.
Voorbeeld:
"assets": {
"css": ["widget.css"],
"js": ["class.widget.js"]
}
auteur
Module auteur. De auteur wordt weergegeven in het gedeelte Beheer.
Type: String
Voorbeeld:
"author": "John Smith"
configuratie
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:
"config": {
"username": "Beheerder",
"password": "",
"auth_url": "https://example.com/auth"
}
beschrijving
Modulebeschrijving.
Type: String
Voorbeeld:
"description": "Dit is een klokwidget."
widget
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
}
url
Een link naar de modulebeschrijving.
Type: String
Voorbeeld:
"url": "http://voorbeeld.com"