Funktionen (GUI)

Funktionsliste und Funktionsketten-Feld


images/download/attachments/164333141/1094-version-2-modificationdate-1742536512772-api-v2.png


(1) Hier können Sie entweder in allen vorhandenen Funktionen und Makros suchen, oder die Suche auf bestimmte Funktionsgruppen oder die Makros einschränken. Im Filter-Feld darunter können Sie mit Suchbegriffen nach Funktionen suchen. Per Default wird hier auch in den Funktions-Beschreibungen (Tooltips) gesucht. Wenn nur in den Funktionsnamen selbst gesucht werden soll, verwenden Sie bitte einen führenden Doppelpunkt.

(2) Um eine Funktion auf einem markierten Knoten oder Feld der Zielstruktur einzufügen, suchen Sie die gewünschte Funktion in der Liste hier und führen Sie einen Doppelklick auf dieser aus, oder ziehen Sie sie direkt in das Feld (2). Über das Kontextmenü können Sie sich die Dokumentation zu einer Funktion anzeigen lassen und eine "Übersicht aller Funktionen". Diese Übersichtsliste finden Sie auch auf der Seite Hilfe.

images/download/attachments/164333141/1294-version-2-modificationdate-1742536531146-api-v2.png

(3) Bereich mit den angewendeten Funktionen. Die sogenannte Funktionskette.

(4) Die Positionsnummer der jeweiligen Funktion in der Funktionskette. Wenn Sie die Maus direkt auf die Positionsnummer bewegen, erhalten Sie einen Tooltip mit einer Kurzbeschreibung der Funktion. Eine komplette Dokumentation der Funktion erhalten Sie über das Kontextmenü. Dort können Sie die Funktion auch löschen, kopieren und wieder einfügen.

Parameter-Felder


images/download/attachments/164333141/1095-version-3-modificationdate-1742536794969-api-v2.png


(5) Wenn Sie die Maus direkt auf einen Parameter-Buchstaben bewegen, erhalten Sie einen Tooltip mit einer Kurzbeschreibung des Parameters. Eine vollständige Beschreibung erhalten Sie in der Dokumentation der Funktion, wie oben beschrieben.

(6) Hier können Sie den Parameter-Typ auswählen (Wert, Variable, Ergebnis, Zuordnung, Quellfeld, Zielfeld). Eine Beschreibung finden Sie in Abschnitt "Arbeitsweise von Funktionen" unten.

(7) Der Wert für den jeweiligen Parameter. Je nach Parameter-Typ (5), können Sie hier aus Listen auch Namen von Variablen (über das dann sichtbare Auswahlmenü), Konstanten (über das Kontextmenü), Feldern (über Punkt 8) und Konfigurationsdateien (über das Kontextmenü) auswählen.

(8) Sie können hier ein größeres Eingabefeld öffnen, eine Konfigurationsdatei (aus Ordner ./conf) oder eine Profil-Konstante auswählen oder je nach Parameterfeld auch aus einer Liste erlaubter Werte auswählen (das können z. B. verwendbare Kodierungen oder MIME-Types sein oder auch verfügbare Datenbank-Aliase, Zertifikate, Kanäle, usw.). Eine nützliche Funktion, die Sie im Kopf behalten sollten.

Untere Leiste


images/download/attachments/164333141/1096-version-2-modificationdate-1742536562531-api-v2.png


(9) Über das Menü können Sie in erster Linie Makros verwalten, d. h. die vorhandene Funktionskette als Makro anlegen oder ein vorhandenes Makro bearbeiten oder einfügen.

(10) Hier können Sie eine Funktion auf eine andere Position (3) innerhalb der Filterkette verschieben.

(11) Hier können Sie sich die komplette Funktionskette anzeigen lassen und auch Notizen zu dieser hinterlegen.

images/download/attachments/164333141/1093-version-2-modificationdate-1742536575378-api-v2.png

Arbeitsweise von Funktionen


Funktionen können auf Knoten und Feldern der Zielstruktur verwendet werden. Sie haben Eingangsparameter und einen Rückgabewert und können bestimmte Operationen ausführen. Es sind aber dennoch keine Programmierkenntnisse notwendig.

Es können auch mehrere Funktionen hintereinander auf einem Zielstruktur-Feld (oder -Knoten) ausgeführt werden. Wir nennen das eine Funktionskette.

Eine Funktion kann 1 bis n Eingangsparameter haben. Folgende Typen sind verfügbar.


  • Wert. Also schlicht eine Zahl und/oder Buchstaben, es können auch Konstanten in der Syntax %CONST_NAME% verwendet werden.

  • Variable. Der Name einer Variable. Der Parameterwert ist der Wert der Variable.

  • Ergebnis. Die Position einer Funktion, die in einer Funktionskette vor dieser Funktion aufgerufen wird. Der Parameterwert ist der Rückgabewert der Funktion mit der angegebenen Positionsnummer.

  • Zuordnung. Also der Wert des Quellfelds, das diesem Zielfeld zugewiesen ist, d. h. der gemappte Wert.

  • Quellfeld. Der Name eines Feldes aus der Quellstruktur. Der Parameterwert ist der Wert des Quellstrukturfeldes.

  • Zielfeld. Der Name eines Feldes aus der Zielstruktur. Der Parameterwert ist der letztendliche Wert des Zielstrukturfeldes.


Hinweis: Verwendet ein Zielfeld ein anderes Zielfeld als Eingangsparameter einer seiner Funktionen, dann ist auf die Reihenfolge der Zielfelder zu achten. Das Zielfeld, das in seiner Funktion ein anderes Zielfeld als Eingangsparameter seiner Funktion verwendet, muss unterhalb dieses anderen Zielfelds stehen in der Zielstruktur. Ansonsten hätte das Zielfeld, das als Eingangsparameter verwendet wird, noch gar keinen Wert, da die Felder der Zielstruktur von oben nach unten abgearbeitet werden.

Hinweis: Es gibt auch Möglichkeiten die Abarbeitungsreihenfolge zu umgehen. Siehe Abschnitt Zukunftswerte verwenden.

Reihenfolge der Wertzuweisungen an ein Zielstruktur-Feld (und Zielstruktur-Knoten)


  1. Zuweisung (also der gemappte Wert) (falls es einen gibt).

  2. Rückgabewerte der Funktion (falls es einen gibt). Bei Funktionsketten wird immer der Rückgabewerte der letzten Funktion in der Funktionskette verwendet.

  3. Fixwert des Zielfeldes (falls es einen gibt).


Die nachfolgende Wertzuweisung überschreibt immer die vorherige. D. h. wenn ein Zielfeld einen Fixwert hat, dann wird damit der gemappte Wert dieses Zielfelds überschrieben und auch der Rückgabewert einer Funktion auf dem Zielfeld.

Hinweis: Im Prinzip trifft das auch auf Knoten in der Zielstruktur zu, allerdings gibt es hier keine Zuweisungen (Mapping) und auch keine Fixwerte, also nur Rückgabewerte von Funktionen.

Wirkung von Funktionen auf Zielstruktur-Knoten


Mit dem Rückgabewert einer Funktion auf einem Zielstruktur-Knoten kann gesteuert werden, ob dieser beim Mapping betreten wird und damit im Zielbaum erzeugt wird oder nicht. Dies ist eine sehr hilfreiche Technik, um im Mapping die dynamische Konstruktion des Zielbaums zu steuern.

Ist der Rückgabewert true (bzw. ein String, der mit t oder T beginnt oder eine Zahl > 0), dann wird der Zielstruktur-Knoten betreten und dadurch der Zielbaum-Knoten erzeugt.

Ist der Rückgabewert false (bzw. ein String, der nicht mit t oder T beginnt oder eine Zahl <= 0), dann wird der Zielstruktur-Knoten nicht betreten und dadurch wird der Zielbaum-Knoten nicht erzeugt werden.

Hinweis: Siehe auch Datentyp "Boolean".

Hinweis: Es kann sich beim Rückgabewert um den Booleschen Rückgabewert einer Funktion (oder einer Funktionskette) handeln oder z. B. schlicht um den String true oder 1, als Rückgabewert der Funktion "copy(field/value/variable)".

Sicherheit - Zugriffsbeschränkungen definieren


Es ist möglich, in einer Properties-Datei ./etc/admin/datawizard/whiteListPaths.properties die erlaubten Verzeichnisse (white list) für alle Funktionen, die auf das lokale Dateisystem zugreifen, einzuschränken.

Es müssen die absoluten Pfade eingetragen werden, die erlaubt sind (Unterordner sind enthalten). Beispiel:


/home/demo
/opt/IS/conf


Hinweis: Diese Liste gilt auch für den zeitgesteuerten Eingangsagenten "Datei" und den Antwortweg "Datei".

Hinweis: Nicht betroffen ist der Zugriff auf Konfigurationsdateien und SMB-Shares.

Sicherheit - Funktionen sperren


Es ist möglich, bestimmte Funktionen in der GUI zu sperren. Gesperrte Funktionen werden dann nicht in der Funktionsliste angezeigt. Dazu müssen in der Konfigurationsdatei ./etc/admin/datawizard/excludedFilter.properties die IDs der zu sperrenden Funktionen angegeben werden. Die ID einer Funktion können Sie in der Funktionsliste über das Kontextmenü einer Funktion sehen. Man könnte z. B. Funktionen sperren, die auf das lokale Dateisystem zugreifen können.