Jump to: navigation, search

Workflow Designer


Revision as of 10:28, 11 July 2013 by JKN (Talk | contribs)

The Workflow Designer is a component in UBIK® which appears on many occasions, namely every time when there is a Workflow to be displayed or edited. It features a full re-hosted version of the designer for the Microsoft Workflow Foundation, extended with manipulation capabilities for UBIK® objects.

Workflow Designer used in the Workflow Editor control

Basics

Toolbox

The Toolbox features a wide range of Activities that cane be used within your Workflows. There are generic activities as well as activities specific for the manipulation of UBIK® objects.

Standard activities

Activity Category Purpose
AddToCollection<T> - -
Assign - -
Assign<T> - -
AddToCollection<T> - -
CancellationScope - -
ClearCollection<T> - -
CompensableActivity - -
Compensate - -
Confirm - -
Delay - -
DoWhile - -
ExistsInCollection<T> - -
FlowChart - -
FlowSwitch<T> - -
FlowDecision - -
InvokeMethod - -

UBIK® activities

Activity Category Purpose (Short)
DebugMessage UBIK Control Flow Writes a debug Text
InvokeInterface UBIK Control Flow Invokes a UBIK® Interface component
InvokeWorkflow UBIK Control Flow Invokes a UBIK® Workflow object
AssignToNamedRelation UBIK Object Primitives Assigns a Child object via the named RelationName to a Parent object
AssignToSystemRelation UBIK Object Primitives Assigns a Child object via the given Relation to a Parent object
CreateInstance UBIK Object Primitives Creates a new instance of a given MetaClass
DeleteObject UBIK Object Primitives Deletes a UBIKObject (Deep delete by default, ShallowDelete optional)
GetObjectsByPropertyValue UBIK Object Primitives Queries instances of MetaClass where PropertyName has a certain value
GetObjectsByQuery UBIK Object Primitives Delivers the result of Query
RemoveFromNamedRelation UBIK Object Primitives Removes a Child object via the named RelationName from a Parent object
RemoveFromSystemRelation UBIK Object Primitives Removes a Child object via the given Relation from a Parent object
SaveObject UBIK Object Primitives Saves the UBIKObject (Deep save by default, ShallowSave optional)
SetPropertyValue UBIK Object Primitives Sets the Value to the property named PropertyName of the UBIKObject
AssignIconToBaseClass UBIK UI Primitives Assigns a selectable icon image to the UBIKObject
SelectSourceFile UBIK UI Primitives Brings up an open file dialog
SelectTargetFile UBIK UI Primitives Brings up a save file dialog
ShowUnsavedObjectsHierarchy UBIK UI Primitives Brings up the Unsaved Objects dialog
UserDecisionYesNo UBIK UI Primitives Brings up a Yes/No dialog with configurable Title and Text
UserInputText UBIK UI Primitives Brings up an input box with configurable Title and Text

Design canvas

Property window

Working with the designer

Toolbar

Item Purpose
Open file Opens a dialog to load a previously saved UBIK® workflow file (.uwf) into the design canvas
Save to file Saves the current design canvas into a file (.uwf)
Toggle breakpoint Sets/Removes a breakpoint at the currently selected activity (async execution only)
Resume Resumes execution if a breakpoint was hit (async execution only)
Delay between activities Execution delay in Milliseconds between activities (async execution only)

Context menu

This control doesn't feature any context menu yet.

Designing workflows

Designing a workflow is fairly easy and typically involves placing, configuring and connecting various Activities. All available activities are listed in the Toolbox on the left side. Use Drag&Drop to place an Activity on the canvas in the middle. Select an activity on the canvas and use the context menu or the Del key to remove it again.

IC Hint square.pngUnless the activity is of type FlowChart or Sequence, you will not be able to add more than one Activity to the canvas

Typically we want to start with a Sequence or a Flowchart, which are both able to host child (nested) Activities

  • The Sequence executes its nested Activities sequentially, one after the other
  • The FlowChart executes its nested Activities in the order you link them with connecting lines

Other functionality

See also