Workflows Creation and Management
Workflow events viewer
Definition
The Event Viewer lets inspect each step of your workflow.
The event viewer displays various information:
Global Workflow execution status
Errors
Double-click on an error to a more detailed view.
Task Messages
All the messages generated by Task message will appear in the MEssages section.
Active Transfers and Ended Transfers
Tasks list in flat view
Tasks list in tree view
All these information can be presented and grouped:
- By status
- By date
- By Workflow
You can also check the last execution report and the live events of the current running instances.
Displaying the Event Viewer
In the workflow designer
To show the Event Viewer, click on the small button.
Click again on the to hide the Event Viewer.
In Supervision/Nodes view
Event viewer can be display at the node level.
Go to Supervision menu and select the Nodes item. Select the nodes you wish to inspect.
Event selection
Your home task has a specific Log tab that let you configure the kind of events to record.
Warning:
You should be aware that the more events are selected, the more time and space it will take to execute your workflow.
Event to record | Description |
---|---|
New task | It could be safe to unselect this event when a lot of instance of a task are performed, and you don’t need any feedback of them. If not selected, Event Viewer will skip all tasks events. |
Error | Send error event to server (displayed in the Errors sections of history events) Note: Event if error events are not sent to server, they are taken in account by the workflow engine as normal error.Unless you don’t care about errors feedback (not recommended), It’ a good practice to keep this log selected. |
Evaluation | Send Evaluation event to server (displayed for each task history). As major part of parameters is evaluated, send evaluation events could use a lot of resources, mostly for big iterative process. It’ a good practice to unselect it, unless you need it for debug purpose. |
Iteration | Send iteration event to server. Tasks with Yellow port iterates over an input object, and can send an event for each iteration It’ a good practice to unselect it, unless you need it for debug purpose. |
Message | Message events are generated from dedicated “Task message”, or with the statement. task.message(‘some message’) They are useful to retrieve information from engine to Event history, and can help you to understand workflow execution. |
Input context | Send event with the context received by task when started. Input context are usually a cloned version of the current parent context. Send Input context events is useful to analyze which data was received by a task, but it could use a lot of resources It’s a good practice to unselect it once your workflow is running in production. |
Output context | Send event with the context generated by task before terminated. Send Output context events is useful to analyze which data was generated by a task, but it could use a lot of resourcesIt’s a good practice to unselect it once your workflow is running in production. |
Error context | Send event with the current context at error time. It will be displayer inside error node in Events History It’s a good practice to keep it selected even in production, except if you don’t care about knowing task context at error time. |
Debug | Send Debug events to server You can programmatically send debug event with the following statement: task.debug(‘your_debug_message’, ‘more data…’) Debug events are visible inside each task, and follow the execution order. It’s a good practice to unselect it once your workflow is running in production. |
Transfer progress | File transfer messages. |
Sleeping | Send Sleeping events to server. Sleeping events are generated by a call to task.sleep(number_of_seconds) Using this statement instead of time.sleep() allow the workflow engine to contact the server periodically, as a keep alive routine. |
Each task can override the Home settings and set specific event viewer settings. Double click on a specific task, click the Log tab and select the events needed.
Workflow player
Workflow versioning
Creating a new version
In order to create a new version of your workflow, click on the right part of the Save button and select “Create version”.
Then enter a description of the version.
Press Save and you’re done.
Version usage
Workflow versioning allow you to have a version of a workflow running in production and the future evolution in a newer version.
You can compare versions and see what has been modified.
Workflow Scheduler execution can define which version to run.
The Web Execution API defines a specific URL for each version of a workflow.
Comparing Workflows
To enter the Compare mode, you need to click the button.
This mode let you compare the current version of the workflow with another workflow or another version of the workflow.
Differences will be outlined in Red.
To see the detail difference report, simply click on a difference report.
Importing / Exporting Workflows
Exporting a workflow
Select a workflow in the Workflow list and click Export button.
You may select 2 options for export:
Include dependancies.
This will analyse your workflow and suggest to export all/a selection of the related ressources used.
Include connectors data.
When using a connector you may want to export it but without the credentials used to define it. This option gives you the choice.
You can now click on the Export button, and the system will download the workflow description file (.wft suffix) in your preferred download folder.
If you select several workflow to export, file extension will be .wf{WorflowCount}.
Importing a workflow
In order to import a workflow into your system:
- Goto the Design/Workflow to display the Workflow list.
- Click the Import button.
- Select the .wft file and click Upload.
Import options
If the workflow has been exported with dependancies, you select which one you want to import.
Reconnecting credentials
For security reason, credentials are not exported with your workflow. but you can easily replace missing credentials by some stored in your local system.