About WindowsWorkflows

Build 1501 on 14/Nov/2017  This topic last edited on: 21/Mar/2016, at 18:34

workflow_diagraWindowsWorkflows are sequences of activities that recognize, validate, move, extract and convert data. They can include conditional steps, wait for an event, and handle errors.

In GN4, WindowsWorkflows are employed in all of the functions related to:

Importing and uploading data

Exporting data

Creating and editing objects

Publishing/unpublishing objects

A WindowsWorkflow can also be considered as a configurable list of activities.

Each activity can perform one or more tasks, such as sending emails, deleting objects, parsing files, etc... and can receive and return parameters.

Activities that require or provide data can use properties to expose them, and enable the WindowsWorkflow author to bind them to the containing WindowsWorkflow by declaring 'dependencies'.

An activity can be 'composite' and contain a set of nested activities.

WindowsWorkflows are defined in configuration files then loaded into the database, (using the Tera application cmd4) and called from either a menu entry in the browser interface or from an external application. It is quite easy to call GN4 WindowsWorkflows from an external program, including from a website.

Types of WindowsWorkflows

There are two main types of WindowsWorkflows: Sequential (<SequentialWorkflow) and Navigational (or interactive - <NavigatorWorkflow).The type of the WindowsWorkflow is specified as the root element in the XML file that defines the WindowsWorkflow.

A sequential WindowsWorkflow is a series of steps or operations (or 'activities') that act upon an object in the database, or on data being imported. A navigational WindowsWorkflow is a series of steps that involve user interaction, that is, execute something, wait for user input, execute the next action, etc. Note that a navigational WindowsWorkflow can contain sequential ‘sub-WindowsWorkflows’. That is, query the user and wait for input, then execute several sequential steps.

Key concepts

WindowsWorkflows are based on Microsoft Windows Workflow Foundation. The WindowsWorkflow execution is up to the WWF Runtime engine (Windows Workflow Foundation) that is part of the .NET Framework. GN4 hosts the WindowsWorkflow execution; the GN4 WindowsWorkflow-related classes are compiled into the Common.dll library. Besides a set of general-purpose 'activities' that cover several control flow constructs (IfElseActivity, etc...) provided by .NET, there are activities created by TeraDP to perform GN4 specific tasks (SendEmail, ImportXml, etc...).

WindowsWorkflows are sequences of actions executed on files or objects in the database.

Sequential WindowsWorkflows execute without user intervention.

Navigational WindowsWorkflows contains steps that wait for user input.

XMP format is used to pass data between WindowsWorkflows and external plug-ins.

See also

Creating WindowsWorkflows