Edit1 What are Workflows?
A workflow defines a business process that is used to perform tasks as a series of steps. Each workflow consists of a collection of
states and
transitions that describe the steps tasks must follow.
A task is a unit of work that follows the business process defined by a workflow. Tasks transition from one state to another in the workflow. At any given time, a task is in one and only one state in the workflow; this state is commonly referred to as the task’s current state. The current state of a task describes the work currently being performed to accomplish the task.
Workflows are the foundation upon which an IssueNet solution is implemented, for a thorough tutorial please see our Workflow Planning and Implementation video
http://www.elsitech.com/Support/How-To-Videos.aspxEdit1.1 Key Terms related to Workflows
- Workflow – A collection of states and transitions (activities) that define a business process.
- Task – A unit of work that follows the business process defined by a workflow.
- State – A step in a workflow that tasks can be in. A state typically represents an activity that must be performed in order to complete the task.
- Starting State – A state in a workflow that is selected as the initial state for any task associated with the workflow.
- Current State – Position of a task in its workflow. Reflects the activities currently being performed by the person or resource assigned to the task.
- Execute Workflow – The process of applying a workflow to an issue, which executes the initialization actions of the workflow.
- Transition – A path from one workflow state to another.
- Execute Transition – The process of moving a task from one workflow state to another through a transition.
- Action – An action performs processing in response to workflow events such as workflow execution and state transitions. Actions can perform virtually any type of processing supported by the system such as sending notifications, creating objects, modifying objects, linking objects, executing workflows, and executing scripts.
- Condition– A condition can be associated with a workflow transition and evaluated in order to determine if the transition can be executed.
Edit2 Workflow Automation
As tasks move through a workflow, actions associated with the states and transitions are performed to provide automated functionality. In other words, workflows are programmable and not only represent a business process but can also help to automate that process. There are many different kinds of actions that can be performed by a workflow such as:
- Sending notifications
- Creating and modifying objects
- Linking objects together
- Executing other workflows
- Running scripts
Actions can be associated with workflow states, workflow transitions, and workflow initialization. Actions associated with workflow states can be further broken down into entry actions and exit actions. Entry actions are executed when a task enters a state and exit actions are executed when a task leaves a state. Actions associated with transitions are executed when the transition is used to move a task from one state to another. Transitioning a task from one state to another executes actions in the following order:
- Exit actions for the state the task is leaving
- Actions for the transition
- Actions for the state the task is entering
Typical actions associated with workflow transitions include sending notifications and changing the status of the related issue. For example, the “Reopen” transition might set the issue status to “Re-working” and send a notification to the project manager about the change in status.
Initialization actions are actions that are associated with the entire workflow and are performed when the workflow is initialized. These actions are not associated with any particular state or transition.
Conditions can be applied to workflow transitions so that certain criteria must be met in order to execute a transition. For example, we could associate a condition with the “Start” transition to test a property of the task such as estimated time. If the condition fails, then the transition cannot be executed. This is very useful for ensuring that certain data is provided or has the correct values before continuing through the workflow.
Edit3 Workflow States and Transitions
A workflow state defines a step in a business process. A workflow transition is a path for moving a task from one state to another. Each workflow state can have any number of transitions that enter and exit that state. Each state has a name that is unique within the workflow to which it belongs. Each transition also has a name that must be unique to the state from which it starts.
The workflow diagram consists of a collection of blocks that are connected by arrows, where workflow states are represented by the blocks and workflow transitions are represented by the arrows.
Each workflow has one starting state, which is the initial state for all new tasks entering the workflow. The starting state for a workflow may be “Not Started”. A task associated with this workflow with the current state of “Not Started” can be started by executing the “Start” transition, which will change the task’s current state to a state such as “Implementing”. Some workflows may have only one transition, while more complex workflows may contain states that have multiple transitions.