Ein Template Modul wird in einer datasqill database Datei erstellt. Dieses Format verwendet der datasqill database deployer (deploySheet.sh), um Struktur- und Datenänderung in der Repository Datenbank von datasqill durchzuführen.
Diese Datei ist im HJson Format und enthält im Falle von Moduldefinitionen nur Daten, die datasqill benötigt, um ein Modul zu registrieren.
Innerhalb dieser Datei wird auch der FreeMarker Template Code hinterlegt (siehe hierzu das Beispiel im späteren Kapitel).
In der Datei wird festgelegt, wie das Modul heißt, welche Parameter es benötigt und das FreeMarker Skript.
Diese Datei hat ein Format für das versionierte Deployment. In dem json Attribut version steht die aktuelle Repository Version, mit der diese Datei letztmalig geändert wurde.
Bei der Definition eines Modules werden Einträge in die Folgenden Views (effektiv sind es Tabellen, in denen die Einträge versioniert werden) vorgenommen:
In dieser Tabelle wird das Modul dem datasqill Server und der GUI bekannt gemacht. Hier gibt man folgende Informationen an:
Json Attribut | Datentyp | Bedeutung |
---|---|---|
module | String | Name, wie er von den action Attributes referenziert wird |
module_name | String | Angezeigter Name in der GUI |
module_type_id | Number | Immer fest 2 (Java Modul) |
description | String | Hilfetext für das Mouseover |
module_command | String | Immer fest "DsModTemplateSQL" |
module_action_data_type | String | Immer fest "SQL" |
Hier werden die möglichen Modultrigger angegeben. Da diese für alle Templates identisch sind, muss nur dieser Bereich aus dem folgenden Beispiel kopiert und verwendet werden.
Hier werden die Attribute eingefügt, die dieses Modul definiert.
Die Attribute mit dem Namen "Truncate Before" und "Loop Query" sind im Java-Code vordefiniert und werden dort ausgeführt.
Json Attribut | Datentyp | Bedeutung |
---|---|---|
action_type | String | Name des Moduls. Referenziert vv_sqts_module.module |
attr_name | String | Name des Attributs |
attr_label | String | Angezeigter Name in der GUI |
attr_data_type | String | Datentyp für die GUI (BOOLEAN, CHAR, CLOB, CONNECTION, NUMBER oder SQL) |
default_value | String | Default Wert für den Attributwert |
attr_description | String | Hilfetext für das Mouseover |
attr_position | String | Position (Reihenfolge) für die Anzeige der Attribute in der GUI. Wenn -1, dann wird es in der GUI nicht angezeigt |
In dieser Tabelle werden Basiswerte für datasqill hinterlegt. Es gibt 4 Primärspalten (config_key1 - config_key2), sowie einige Nutzspalten.
Json Attribut | Datentyp | Bedeutung |
---|---|---|
config_key1 | String | 1. PK: Immer fest "VARIABLE" |
config_key2 | String | 2. PK: Immer fest "Template" |
config_key3 | String | 3. PK: Immer fest "MODULE" |
config_key4 | String | 4. PK: Zu belegen mit dem Namen des Moduls (vv_sqts_module.module) |
config_value | String | Das Template für das Modul |
config_sort | String | Wird nicht verwendet. Kann auf NULL gesetzt werden |
config_comment | String | Wird bisher nicht verwendet. Kurze Beschreibung für das Template |
Wenn alle diese Einträge in einer dsdb Datei vorgenommen worden, kann man dieses Modul in den datasqill Server deployen:
deploySchema.sh --version 0 --dbid SQTS_DB_0 < mod_xxxx.dsdb
Und schon ist ein neues Modul in datasqill angelegt.