Export von Workflows (inklusive Events)

Hallo zusammen,

während der Weiterentwicklung von Workflows erstelle ich immer mal wieder Kopien des Modells und ergänze den Namen um eine Versionsnummer. Nun wollte ich die Workflows exportieren und in einem git repo speichern.

Leider enthält der XML-Export der Modelle keine Event-Scripte. Gibt es in enaio eine Möglichkeit, die Modelle vollständig (inkl. Code) zu exportieren?

1 „Gefällt mir“

Ja man kann die Modelle vollständig exportieren. Möglicherweise brauchst Du eine Testlizenz aus dem Serviceportal, die enthält Lizensierung für alle Module. Diese ausserhalb des Tagesbetriebs mal aktivieren und exportieren.

2 „Gefällt mir“

Ich verwende das auch immer wieder zum Suchen und Ersetzen von Variablennamen im kompletten WF-Modell.

Vielen Dank für den Hinweis! Und Herzlich Willkommen! :slight_smile:

Ich habe gerade ein Modell auf dem Produktivsystem und einer Parallelinstallation mit Projektlizenz exportiert und in beiden Fällen waren die Skripte in der XML-Datei enthalten.

Wie ich das beim letzten Mal übersehen konnte, ist mir ein Rätsel, aber dank Deines Hinweises habe ich es gerade noch einmal geprüft und sehr froh, dass es funktioniert hat.

Die Idee mit dem Suchen und Ersetzen von Variablennamen ist sehr gut; so muss man sich per Hand durch die einzelnen Event-Scripte durch.

Ich wollte damit experimentieren, die Skripte aus dem XML als separate Dateien zu exportieren, um sie in git zu speichern. Mein Ziel ist es, die Weiterentwicklung transparenter machen zu können und ggf. eine statische Codeanalyse durchzuführen. Für die Event-Scripte im DMS habe ich bereits umgesetzt, dass aus der Objektdefinition und den exportieren evc-Dateien eine Ordnerstruktur wird, in der die Events als vbs-Dateien im Format „Client/Schrank/Objekttyp/Event.vbs“ abgelegt sind. Diese eignet sich dann sehr gut als Grundlage, um den Code in git zu verwalten und Änderungen leichter nachvollziehen zu können.

hier mein WF-Client-Skript, mit dem ich die DMS-Skripte exportiere:

Set ax = CreateObject(„optimal_as.application“)
Set ax1 = CreateObject(„optimal_as.application2“)

For k = 0 To ax.GetASSystem.DMSEvents.Count - 1
wfVariables.sScripts.Value = wfVariables.sScripts.Value & ax.GetASSystem.DMSEvents.Item(k).ScriptCode & vbCrLf
next

For i = 0 To ax1.ASCabinets.Count - 1
wfVariables.sScripts.Value = wfVariables.sScripts.Value & "Found Cabinet : " & ax1.ASCabinets.Item(i).Name & vbCrLf
For j = 0 To ax1.ASCabinets.Item(i).ASObjectTypes.Count - 1
wfVariables.sScripts.Value = wfVariables.sScripts.Value & "Found ObjectType : " & ax1.ASCabinets.Item(i).ASObjectTypes.Item(j).Name & vbCrLf
For k = 0 To ax1.ASCabinets.Item(i).ASObjectTypes.Item(j).DMSEvents.Count - 1
wfVariables.sScripts.Value = wfVariables.sScripts.Value & "Found Event : " & ax1.ASCabinets.Item(i).ASObjectTypes.Item(j).DMSEvents.Item(k).EventName & vbCrLf
wfVariables.sScripts.Value = wfVariables.sScripts.Value & ax1.ASCabinets.Item(i).ASObjectTypes.Item(j).DMSEvents.Item(k).ScriptCode & vbCrLf
Next
Next
Next

zu optimal_as.application2 hab ich keine Doku …
ciao
der Walter