« Zurück zu Produkt

Dokumentation

Struktur

Beschreibung

Die vorausgesetzte Struktur ist für eine richtige Funktionsweise innerhalb von IP-Symcon nötig. Nur wenn die Struktur eingehalten wird, funktioniert das Einbinden über Module Control.

  • Die "library.json" ist das Kernstück einer jeden Modulentwicklung.
  • Die "module.php" und "module.json" bilden zusammen das eigentliche Modul.
  • Für die Einrichtung der Konfigurationsseite kann die form.json genutzt werden.
  • Für mögliche Übersetzungen dient die locale.json.
  • Der Modulordnername (hier: Modul1, Modul2) sollte den gleichen Namen haben, wie der Klassenname in der module.php.

Ordner, welche keine module.json beinhalten, werden als fehlerhaft markiert.
Ausnahme bilden die Ordner:

  • libs/ (ab Version 4.2)
  • docs/ (ab Version 4.2)
  • imgs/ (ab Version 4.2)
  • tests/ (ab Version 4.4)
  • actions/ (ab Version 6.0)
Warning

Punkt-Ordner (z.B. .github, .style) werden ebenfalls ignoriert und sind nicht für die korrekte Funktionsweise des Modul nötig. Diese sind zum Beispiel wichtig, für die korrekte Funktionsweise des Repositories.

Diese Ordner werden nicht als Modul eingebunden und bieten die Möglichkeit externe Libraries, Dokumente, Bilder und Tests zur Verfügung zu stellen.

Verzeichnisstruktur

Bibliothek
|
- Modul1
|                          |   |
| - module.php             |
|                          |   |
| - module.json            |
|                          |   |
| - form.json (optional)   |
|                          |   |
| - locale.json (optional) |
|                          |
- Modul2
|                          |   |
| - module.php             |
|                          |   |
| - module.json            |
|                          |   |
| - form.json (optional)   |
|                          |   |
| - locale.json (optional) |
|                          |
- actions (optional)
|                             |   |
| - Definitionen von Aktionen |
|                             |
- libs (optional)
|                       |   |
| - beliebige Libraries |
|                       |
- docs (optional)
|                       |   |
| - beliebige Dokumente |
|                       |
- imgs (optional)
|                           |   |
| - beliebgie Mediendateien |
|                           |
- tests (optional)
|                         |   |
| - beliebige Testdateien |
|                         |
- library.json
|
- README.txt (optional)

Validierung

Für die JSON-Dateien eines Moduls stehen JSON Schemas zur Verfügung. Editoren wie Visual Studio Code oder PhpStorm können damit Autovervollständigung anbieten und die Dateien bereits beim Bearbeiten prüfen. Hierzu wird das Schema in der jeweiligen Datei über den Parameter "$schema" angegeben, z.B. "$schema": "https://www.symcon.de/assets/files/validation/librarySchema.json". IP-Symcon ignoriert diesen Parameter.

Datei JSON Schema
library.json librarySchema.json
module.json moduleSchema.json
form.json formSchema.json (siehe Konfigurationsformulare)
locale.json localeSchema.json
Haben Sie noch Fragen?