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.
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 |
SendEmail | UBIK Control Flow | Sends an Email To recipients via an SMTP Host |
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) |
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.
Unless 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