Anlegen eines Template Moduls

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.

Datei zur Moduldefinition

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:

  • vv_sqts_module
  • vv_datasqill_module_trigger
  • vv_sqts_action_attr_definition
  • vv_sqts_config_global

vv_sqts_module

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"

vv_datasqill_module_trigger

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.

vv_sqts_action_attr_definition

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

vv_sqts_config_global

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

Deployment des Moduls in datasqill

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.