WorkflowSettings

Workflow Manager Developer Guide

HGD_Variant
15.00
HGD_Product
GeoMedia Smart Client
HGD_Portfolio_Suite
Platform

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:

  • Intergraph\GeoMedia SmartClient\Program\Workflows\WorkflowSettings\

Example:

MyNewProject.xml

light_bulb_icon The filename does not distinguish between the FormSettings-XML and the (optionally) employed resource file(s).

Hierachical structure of the Workflow-Elements:

0301_Xsd_workflowsettings.png

Relation between the distinct hierarchical layers:

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

Parentelement

Cardinality

Childelement

Cardinality

WorkflowRoot

1

WorkflowLinkGroup

0 .. n

WorkflowNode

1 .. n

Version

0 .. 1

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

Parentelement

Cardinality

Childelement

Cardinality

WorkflowLinkGroup

1

WorkflowLink

1 .. n

  • WorkflowLink: Element for embedding Workflow-Nodes in the panel navigation.
  • Version: Element for saving the Workflow specific software version.
  • WorkflowNode: navigation-element in the HTML-Workflow.

Parentelement

Cardinality

Childelement

Cardinality

WorkflowNode

1

WorkflowNode

0 .. n

WorkflowTrigger

0 .. n

  • WorkflowTrigger: Element for trigger-interaction with the database.

Parentelement

Cardinality

Childelement

Cardinality

WorkflowTrigger

1

Param

0 .. n

Example:

General structure of a Workflow-XML

 <?xml version="1.0" encoding="utf-8"?>
 <WorkflowRoot>
  <Version major="1" minor="0" hotfix="0" annex="" />
  <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>