Skip to main content

Workflow settings

General

Introduction

The workflow enables the user to implement the hierarchical logic of the application in the form of a tree structure. This chapter will describe the necessary and optional Workflow-Elements used in the WorkflowSettings.xml file.

The definition of all workflows can be written in a XML-File, which should be stored at the following path:

..\Workflows\WorkflowSettings

As an example we create a "MyNewProject.xml" in this directory.

💡
The files in the WorkflowSettings and FormSettings directories need to be named equally.

Hierachical structure of the Workflow-Elements:

Relation between the distinct hierarchical layers:

WorkflowRoot

Root element for the Workflow-Settings structure, appears exactly once per document.

Parent element Child element Cardinality
WorkflowRoot WorkflowLinkGroup 0 .. n
WorklfowNode 1 .. n
Version 0 .. 1
WorkflowRoot
The base node of the Workflow.xml is always the node called Workflow-Root; it contains no attributes. You can add subentries of the types WorkflowLink Group, WorkflowNode and one subentry of the type Version. Attributes: Attribute Mandatory Description theme no Name of theme Example: <WorkflowRoot theme=“FlatTheme”> ... </WorkflowRoot>

WorkflowLinkGroup

Container element for embedding Workflow-Links in the panel navigation.

Parent element Child element Cardinality
WorkflowRoot WorkflowLink 1 .. n
WorkflowLinkGroup / WorkflowLink
A Workflow-Link is used for quick navigation inside the HTML-Workflow to have access to frequently used Workflow-Nodes. The Workflow-LinkGroup / Workflow-Link elements are positioned on the left of the main workflow window; they are implemented as a self-extending list element. They will be shown in the GUI as following: The WorkflowLinks

Element for embedding Workflow-Nodes in the panel navigation.

WorkflowLinkGroup / WorkflowLink
A Workflow-Link is used for quick navigation inside the HTML-Workflow to have access to frequently used Workflow-Nodes. The Workflow-LinkGroup / Workflow-Link elements are positioned on the left of the main workflow window; they are implemented as a self-extending list element. They will be shown in the GUI as following: The WorkflowLinks

Version

Element for saving the Workflow specific software version.

Version
The element type Version is optional and used to mark and distinguish the current release (major-, minor-, hotfix-version) of the users’ XML Workflow-File. Attributes: Attribute Mandatory Description Example major no Current major version. major=“2” minor no Current minor version. minor=“3″ hotfix no Current hotfix version. hotfix=“1” annex

WorkflowNode

Navigation element in the workflow

Parent element Child element Cardinality
WorkflowNode WorkflowNode 0 .. n
WorkflowTrigger 0 .. n
WorkflowNode
A WorkflowNode represents one “step” in the Workflow. The node can have none, one, or more Workflow-Nodes as subentries. Workflow-Nodes will be shown in the GUI as follows: General Navigation Concept In general, there are two concepts of navigation between WorkflowNodes: * Navigation via WorkflowNodes: This is the default behavior. It

WorkflowTrigger

Element to execute actions after the form was submitted (comparable to a database trigger).

Parent element Child element Cardinality
WorkflowTrigger Param 0 .. n
WorkflowTrigger
General The WorkflowTrigger allows you to define Pre- and After-Actions. The definition of this trigger occurs at the Workflow-XML and must be indicated as a subitem in the respective WorkflowNode. The trigger is implemented at Param-Level, which is a child element of the WorkflowTrigger. If you like to perform several

Example:

  
<?xml version="1.0" encoding="utf-8"?>
 <WorkflowRoot>
  <Version major="1" minor="0" hotfix="0" annex="1"/>
  <WorkflowLinkGroup name="Organizationgroup" label="Organizations">
    <WorkflowLink nodeid="110"/>
    <WorkflowLink nodeid="120"/>                 
  </WorkflowLinkGroup>
  <WorkflowNode id="0" label="Emergency operation center">
    <WorkflowNode id="200" label="Localization">
      <WorkflowNode id="210" label="Register Location" controller="Form" form="OPERATION"
         emptyform="true" condition="true" follownode="2240">
        <WorkflowTrigger name="Template" type="SqlTrigger" method="after"  condition="SQL[SELECT CASE COUNT(*) WHEN 0 THEN 1 ELSE 0 END FROM PR_OPERATION_UNIT WHERE OPERATION_ID={FORM.OPERATION_ID} AND {FORM.TEMPLATE_GUID} IS NULL]">
          <Param name="Sql" value="INSERT INTO PR_OPERATION_UNIT(OPERATION_ID,NAME,BEGINDATE)
         VALUES (NEW_GUID,'OPERATION VIENNA',SYSDATE)" />
        </WorkflowTrigger>
        ...
      </WorkflowNode>
    </WorkflowNode>
  </WorkflowNode>
  ...
 </WorkflowRoot>