Workflow tab
The Workflow tab contains tools to modify and execute the workflow of the job. When a job is created, it automatically contains steps that are set as defaults for the job type. At this point, unless the system is set to autocommit jobs, the user has the ability to modify the workflow. You can modify the workflow by adding or removing steps and changing the properties of the steps and paths connecting them. Once the workflow has been committed, no more modifications can be made to the workflow. Tools along the top of the workflow window provide the functionality to manipulate the job workflow. It would be expected that the modification of the workflow would be done by a manager, not the person who would be carrying out the work on the job. The figure below shows the workflow in edit mode (before it has been committed).
Modification of the workflow is controlled by the ManageWorkflow privilege.
When the workflow has been committed, the workflow is ready for execution. At this point, the job would most likely be reassigned to the first user to work the job. The next time that user logged in to Workflow Manager, the job would be reassigned to him or her.
An alternative to reassigning the entire job to individual users is to assign steps to individuals or groups. This allows the execution of the job to be passed to different users without reassigning the entire job at each stage. For example, it is likely that the QC Data step would always be performed by the quality assurance team, so that step could be assigned to this group ahead of time. When a step is assigned to a group, it must be reassigned to an individual user before it can be worked. If it is assigned to an individual, only that user can execute that step. If the step is unassigned, only the current user of the job can execute the step.
The path that the job takes through the workflow is entirely dependent on the decisions made at each of the steps. In many cases, the choice for progression will be limited to just one step. In some cases, a decision will be made based on the result of the step's execution. In other cases, the decision will be given directly to the user, who will have to choose which step to progress to. For the job's progression to be automatically routed, the following must be true:
- The step must have logic associated with it (class or executable).
- The step must have returned a value.
- The step must be set as self-checking.
- The number of steps following the executed step must be greater than one.
- There must be a path leading from the executed step that matches the return code.
In all other cases, the step will do one of the following:
- Stay on the same step (if non-self-checking or no match for return code).
- Prompt the user for the next step (where no return code is present or multiple paths have matching return values).
- Automatically move to the next step (where only one move is possible and the step is self-checking).
When all of the steps in the workflow have been completed, there will be no current steps. At this point, you cannot carry out any more tasks on the workflow.
In edit mode
The left window contains job steps, which can be categorized into three categories:
- Executable—The step will launch an executable when run.
- Program—The step will execute some code written in a class implementing a Workflow Manager interface.
- Procedural—There is no automated logic associated with this step. It is a manual or placeholder step.
To add a step, drag the item into the workflow.
Along the top of the workflow window are several tools to manipulate the workflow.
Save Workflow —Once the workflow has been configured or to save and complete later, click the Save Workflow button to save all changes.
Draw Path —When a job step is dragged onto the workflow, a connector must also be added to connect the steps in the order they must be executed. Click once on a job step to begin the connector and click on the next step to end the connector.
Text —The Text allows you to enter text in the workflow canvas for annotations, labels, and other text properties.
Valid Workflow —Valid Workflow confirms the workflow is valid.
Delete Object —The Delete Object tool allows you to delete the selected object in the workflow.
Clear Workflow —The Clear Workflow tool clears the contents of the workflow design canvas.
Assign Step —The Assign Step button allows you to assign a step in the workflow to a certain user or group.
Align Left—Align the selected objects to the left.
Align Right—Align the selected objects to the right.
Align Top—Align the selected objects to the top.
Align Bottom—Align the selected objects to the bottom.
Align Center Vertical—Align the selected objects vertically.
Align Center Horizontal—Align the selected objects horizontally.
Distribute Vertical—Distribute the selected objects vertically.
Distribute Horizontal—Distribute the selected objects horizontally.
Set Fill Color —Set Fill Color will allow you to set the color of the selected object.
Set Line Color —The Set Line Color tool will allow you to set the color of the selected line.
Set Text Color —The Set Text Color tool will allow you to set the color of the selected text.
Fit to Window —Fit to Window lets you view the entire workflow in the current window size.
Fixed Zoom In —Fixed Zoom In will zoom in at a predefined scale.
Fixed Zoom Out —Fixed Zoom Out will zoom out at a predefined scale.
Zoom In —The Zoom In tool allows you to zoom in by dragging the mouse over an area in the workflow.
Continuous Zoom —The Continuous Zoom tool allows you to zoom in and out by moving the mouse forward and backward.
Pan —Clicking and dragging on the view allows you to pan the current extent.
Select —Click once to select a job step or connector.
Identify Object —Click on a job step or connector to launch the properties window. This can also be launched by double-clicking on the step/connector regardless of what tool is enabled.
The options shown in the check boxes above are as follows:
- Automatically Executes—When the workflow is run in automatic (or unattended) mode, any step that is marked as autorun is automatically executed when reached.
- Can start parallel execution—When all options leading from a step are equal (have the same return code), the active step will transition into multiple active steps that can be carried out by multiple people, if desired.
- Start process asynchronously—The step is run asynchronously. Control of the Workflow Manager application returns immediately without waiting for the step to complete. Return values are ignored.
If a path is selected when this tool is executed, the following Path Properties dialog box appears:
These are the main properties to set here:
- Path Name—Name used to identify the route that this path describes. It would usually describe the result of the preceding step and annotates the workflow diagram
- Has Conditional Return Codes—If this option is checked, this route will only be taken if the result of the preceding step meets a certain criterion.
- Conditional Return Codes—Defines the criteria that determine whether the execution of the job will follow this path. Multiple return codes can be entered here.
In execution mode
When the workflow has been committed for execution, the job is ready to be worked. Similarly to edit mode, the workflow is shown as a set of steps connected by paths. The current steps are highlighted with the symbology set by the Workflow Manager Administrator. The following tools are available exclusively for execution mode:
Zoom To Workflow —This tool centers the current view on the currently active step.
Assign Step —Assign the current step to a particular user or group.
Percent Complete —This tool allows you to define what percentage this step accounts for in the entire job.
Execute Step —Runs the current step. If more than one step is current, it will run the step selected by the user.
Mark As Started —This tool allows you to flag a step as started or complete. This will allow you to track when a procedural step was started or completed.
Mark As Complete —Marks the step as completed without executing the step. This is the only option if the step is procedural.