In this article we can explore the Workflow feature of SharePoint 2010. It adds much power and flexibility to SharePoint and is a must have skill for advanced SharePoint users or administrators.
What is Workflow?
Workflow started as a component of .Net framework 3.0 named Windows Workflow Foundation. Workflow represents a sequence of activities as in a Flow Chart and a runtime that executes these activities.
The Workflow activities get executed inside a:
· Windows Application
· SharePoint Server
· ASP.NET Application
Workflow is integrated in SharePoint 2010. We can create Workflows using SharePoint Designer, Viso and Visual Studio.
Why we need Workflow?
Workflow provides a convenient way to automate manual business processes.
The activities in the Workflow can be represented in a graphical manner and adds great flexibility to a developer and non-developer. Using Workflow we can easily achieve the branching, cases and executions in an easier manner.
Inside SharePoint, the Workflow feature enables an easier way of associating activities Approvals, Rejections, Copying, Moving, Email Notifications with Document Libraries and Lists.
Scenario to reveal the advantage of Workflow:
| Create a Task List of Id, Name, and Status. |
When Status is Completed,
Move the item to Completed Task List
| Time Required |
| Using ASP.NET|| 8 Hours |
| Using SharePoint and Workflow|| 5 Minutes |
From the above scenario We can understand the cost and time savage using Workflows. It allows dragging and dropping the common programming scenarios. We can also do advanced activities by programming extension of Workflows.
Common Workflow Scenario
We can apply Workflow for the following scenarios.
Scenario 1: A task list allows creation of task for users. Whenever a new task is created in the list, we need to notify the user associated with it. We can use Workflow to accomplish this easily.
Scenario 2: A company consists of developers with various skill sets. There is a set of Training Items. Each developer can apply for the training. The application will be notified to the Training Manager. He can check the skill set and approve or reject the applicant. If selected, the applicant can attend the training. On completion of training there is a verification exam to be undergone by the attendee. If he passes then Certificate is issued else the notification through email is done. We can use Workflow to accomplish this easily.
Scenario 3: People upload their expense reports into a Document Library. The library captures the expense as a separate field. Every week manager has to change status to Approved for the expenses with less than $ 500. The list contains hundreds of entries. The status updation can be done using Workflow in just 1 minute.
Scenario 4: Client can create a bug and it should be notified to Developer through email. Developer on completion of the bug fix changes the status and the Client gets notified. This whole process can be done through Workflow in an easier manner.
The above scenarios shows that a good amount of programming effort is needed to provide a solution. Using Workflow with SharePoint we can reduce the effort considerably.
When the activities are getting complicated in the business world, Workflow provides a graphical and modular approach in addressing them simply.
Reusable and Non-Reusable Workflows
In the case of SharePoint 2007 the workflow created for one list cannot be used for another list. But in SharePoint 2010 the same workflow can be applied for multiple lists and thus making it Reusable. We can create reusable workflows using SharePoint Designer 2010.
There is a similar term called Globally Reusable Workflow which requires conversion of existing Reusable Workflow. Once it is converted the Workflow can be used with the whole site collection.
We can export the workflow as a template to be used with another site collection. We can also import the WSP (Windows SharePoint Solution) file inside Visual Studio using the Import Reusable Workflow wizard.
Manual and Automatic Invocation of Workflow
We need to mention that there are 2 ways of starting a Workflow:
In the case of manual start, the user / administrator has to click some buttons for the workflow to start.
In the case of automatic start the workflow executes automatically. This can be configured along with a list/library like:
· Start on Creation of Item
· Start on Updation of Item
Typical Workflow Usage in SharePoint
· Developer creates the Workflow
· Administrator deploys the Workflow
· Site Users use the Workflow
Designer, Visio and Visual Studio
The SharePoint Designer provides an easier way for Administrators and Developers to create Workflows. Along with Microsoft Visio, Designer provides much more flexibility and features in Workflow creation.
Using Visual Studio developers can write more complex programming tasks with Workflow. Using the SharePoint extensions for Visual Studio, the inbuilt templates provides easier Workflow creation and deployment.
In this article we have explored the Workflow feature of SharePoint 2010. In the next article we can experiment with creating workflows.