Workflow Activities

Presentation

This article gives an overview over all Workflow activities that can be used to build a Workflow. The activities are structured in certain categories, where similiar activities are grouped in one category.

Some categories are from the .NET Framework Library, indicated by (.NET) on therit right, and more information on syntax or examples is available on this page. The others are custom activities created by our developpers.

All necessary properties, like sequence, View File, list or exception, must be specified in the pad on the right of the Workflow Pad.

Here is a brief explanation of all the available activities.

Workflow Activities Categories

Collection (Help on Collections)

  • AddToCollection: Adds an item to a specified collection.
  • ClearCollection: Clears all items from a specified collection.
  • ExistsInCollection: Returns true if a specified item exists in a specified collection.
  • RemoveFromCollection: Removes a specified item from a specified collection and returns true
    if the item was successfully removed.

ControlFlow 

  • DoWhile: Executes the contained activities once and continues to do so while a specified condition is true.
  • ForEach (T) : Executes an activity action once for each value specified in the Values collection. T is the  type of the values specified in the Values collection.
  • If: Executes activities contained in the Then property if a specified condition is true , and activities contained in the Else property if the condition is false.
  • Parallel: Executes contained activities in parallel. Activities inside the parallel block are evaluated in parallel and not in a sequential process, as the general workflow order is.
  • Parallel For Eact (T): Enumerates the elements of a collection and executes an embedded statement for each element of the collection in parallel.
  • Pick: Provides event-based control flow modeling. This activity behaves similarly to Switch in that it executes only one of several activities in response to events. The action chosen to be executed is defined by an event, chosen from a set of events. (Help on Pick Activity)
  • Sequence: Executes contained activities in sequence. The Sequence is the main frame for the workflow.
  • Switch’1: Selects one choice from a number of activities to execute, based on the value of a given expression.
  • While: Executes contained activities while a specified condition is true.

Element Selection 

  • ComplementaryElementList: Returns all elements which are not in a specified list.
  • GetNeighborhood: Returns all first level neighbours of a specified list.
  • SearchForElements:  Returns a list of relevant elements based on a specified filter. 

ErrorHandling 

  • Rethrow:  Rethrows the last exception thrown from within a TryCatch activity.
  • Throw: Throws a specified exception.
  • TryCatch: Implements exception handling. More precisely, this activity tries to execute activities of the Try block. In the Catch block an exception is specified. If the Try block throws it, the Catch blocks catches it and then runs (displays an eror message for example). When all Catch blocks have been ran through, it runs the Finally block.

Flowchart 

  • Flowchart:  Executes the collection of contained activities using the familiar Flowchart paradigm. Flowcharts also contain flow control elements such as FlowDecision and FlowSwitch that direct execution between contained activities based on the values of variables.
  • FlowDecision: A specialized FlowNode that provides the ability to model a conditional node with two outcomes. FlowDecision uses a condition and defines actions to take if the condition is true or false.
  • FlowSwitch<T>: A specialized FlowNode that allows modeling a switch construct, with one expression of a type defined in the activity’s type specifier and a single outcome for each match.

Primitives

  • Assign: Sets Argument values from within a workflow.
  • Assign`1: Sets Argument values from within a workflow, specifying the type of the assigned value.
  • Delay: Creates a timer for a specified duration, using a TimerExtension.
  • Invoke Method: Calls a public method of a specified object or type.
  • Write Line: Writes a specified string to a specified TextWriter object.

Project 

  • AddFileToProject: Adds a specified file to the main project.
  • BuildProject: Builds the main project.
  • CopyFile: Copies a file from a source file to a target file, both have to be specified. An overwrite option is available.
  • GetFullPath: Returns full path.
  • GetFullPathApplication: Returns full path from where Soley Studio is installed.
  • GetOption’1: Passes on options in Studio. 
  • GetStartupProject: Gets the start-up project, to which you can later apply other activities.

Runtime 

  • No Persist Scope: Represents the NoPersistScope activity.
  • Persist: Requests that a workflow instance persists.
  • TerminateWorkflow: Terminates the running workflow instance, raises the Completed event in the host, and reports error information. Once the workflow is terminated, it cannot be resumed.

StateMachine 

  • FinalState: Represents a terminating state in a state machine. FinalState is an activity designer that when used creates a State preconfigured as a terminating state. For more information, see FinalState Activity Designer.
  • State: Represents a state in a state machine.
  • StateMachine: Executes contained activities using the familiar state machine paradigm.

Transaction 

  • CancellationScope: Associates cancellation logic, in the form of an activity, with a main path of execution, also expressed as an activity.
  • CompensableActivity: Supports compensation of its child activities.
  • Compensate: Explicitly invokes the compensation handler of a CompensableActivity.
  • Confirm: Explicitly invokes the confirmation handler of a CompensableActivity.
  • TransactedReceiveScope: Scopes the lifetime of a transaction that is initiated by a received message. The transaction may be flowed into the workflow on the initiating message, or created by the dispatcher when the message is received.
    Note: The TransactedReceiveScope is located in the Messaging section of the Toolbox.
  • TransactionScope: Demarcates a transaction boundary.

Transformation 

To run tranformations on a graph requires a context. If a new context is open, a new process is started. It contains a graph, if none is , it will use an empty graph.

  • GetGraph: Gets the graph out of the context, e.g. after a transformation.
  • GetGraphFromView: Gets the graph out of the context and shows it in the specified view.
  • LoadGraph: Gets a graph into the context from a specified file.
  • LoadAndSetGraph: Gets a graph into the context from a specified file and sets it.
  • RunTransformation: Runs specified sequences and rules on the current graph. If no graph has been declared in this Transformation Context yet (via Set Graph or LoadAndSet Graph), runs on an Empty Graph.
  • SaveGraph:  Saves the current graph in the specified file.
  • SetGraph: Sets the current graph into the context, e.g. to transform it.
  • SetGraphToView: Sets the current graph to view.
  • TransformationContext: Frame inside which a graph transformation can be applied, i.e. specified sequence is applied on graph.

User Interaction Activities

  • AskForString: Displays a message to the user, asking for a string.
  • CreateViewFromSolutionPackage: Creates and opens a new view, using the current app in Soley Desk.
  • CreateViewFromStartupProject: Creates a new view based on a specified view template, on Soley Studio.
  • GetCurrentDataView: Returns the current Data View (only for graphs, tables, ect).
  • GetCurrentView: Returns the current view.
  • GetSelectionFromView: Gets a selection from the current Data View, using the specified elements list.
  • HideElementsInView: Hides the elements of the specified list in the current view.
  • SetSelectionToView: Selects all elements of the specified list to view.
  • ShowElementsInView: Shows only the elements of the specified list in the current view.
  • ShowMessageBox: Displays the specified message.

View Handling 

  • ApplyLayout: applies a layout (e.g. hierarchical, organic) on the new graph at the end of a graph transformation.
  • OpenFile: opens the specified file.
  • ShowDataView: shows the view from the specified Data File.
  • ShowView: shows current graph in the specified View File.

Others

  • Flow Step: A FlowNode element that executes a specified Action and has a Next pointer.
  • Handle Scope (T): Provides default scoping behavior for Handle objects, T type of the Handle.
  • Invoke Action (T1, .., Tn): Invokes an activity’s ActivityAction<T1, .., Tn> handler. Ti being the type of the ith argument.
  • Invoke Delegate: Invokes the specified ActivityDelegate.
  • Invoke Method: Calls a public method of a specified object or type.
  • Receive: Use the Receive activity to receive a message. (Help on Messaging activities
  • ReceiveReply: Use the ReceiveReply activity to receive a reply message. This activity is used by workflow service clients when implementing a request/reply MEP. (Help on Messaging activities
  • Send: Use the Send activity to send a message. (Help on Messaging activities
  • SendReply: Use the SendReply activity to send a response to a received message. This activity is used by workflow services when implementing a request/reply MEP. (Help on Messaging activities)<!– no keywords –>
  • Add’3: Adds up two values and returns the sum of the values
  • AddValidationError: Defines a message that should be printed if a certain warning appears, which can be defined
  • And’3: Returns a defined value if two defined values are true
  • AndAlso: Returns a defined boolean if two defined values are true

Was this article helpful?

Related Articles