A workflow consists of two parts: a set of actions
that encapsulate the business process and a set of forms that interact
with the user for collecting inputs. Thus, workflow development revolves
around these two activities: the creation of the business rules and the
creation of forms for interaction. SharePoint 2010 workflows can be
developed using the following tools.
Visio 2010
Used to create business processes with Business Process Modeling
Notations (BPMN), which can be imported into SharePoint Designer for
deployment. This tool is aimed at the business process engineer or
consultant whose primary focus is designing business processes for the
organization.
SharePoint Designer 2010 Used for modeling new workflows or modifying predefined workflows using rules and action steps. This tool is aimed at the information worker.
Visual Studio 2010 Used for creating reusable workflows
within Workflow Foundation’s Workflow Designer. This tool is aimed at
the developer who possesses the requisite knowledge needed in both the
.NET framework and the SharePoint API.
Table 1 provides a summary of these tools, with the intended audiences of each.
Table 1. Workflow Modeling Tool and Target Audience
WORKFLOW MODELLING TOOL | FEATURE | AUDIENCE |
---|
Visio 2010 | | Business users |
SharePoint Designer 2010 | | Information workers |
Visual Studio 2010 | | Developers |
In addition to these tools,
ASP.Net and InfoPath are also used to design forms that are part of
SharePoint 2010 workflows.There are four stages in the life cycle of a
workflow: association, initiation, tasks, and modification. A separate
form is required at each stage to collect input from the user. After you
have created these forms, you can associate them with the appropriate
workflow stage.
1. Microsoft Visio 2010
Microsoft Visio 2010 is a
popular modeling tool used to create business process blueprints. With
Visio 2010, business users can define their own workflow layouts before
exporting them to SharePoint Designer 2010 for association with a list
or site. This lets business users use a familiar graphical tool to
define the steps in the workflow themselves, instead of having to
communicate their needs to designers or developers. The resulting Visio workflow can be used as the initial building block for the workflow’s implementation.
Visio 2010 includes a new template called Microsoft
SharePoint Workflow, which has a set of activity and conditional shapes
that are dedicated to SharePoint Workflow design, as shown in Figure 1.
The workflows designed in
Visio 2010 cannot be used directly in SharePoint 2010, however. You must
import a Visio workflow into SharePoint Designer 2010 and then deploy
it into SharePoint 2010. Also, the Visio workflow activities do not
support any shape data. For example, you can drag and drop an e-mail
activity into your workflow, but you cannot specify values for To, CC,
Subject, or mail content. This data must be specified within SharePoint
Designer before you deploy the workflow in to SharePoint 2010. See Figure 2 for a sample Visio workflow diagram.
Visio
2010 also provides a design checker for SharePoint workflows. You
should use the design checker to ensure that the workflow can be
deployed in SharePoint 2010. After checking the diagram for any errors,
it can be exported into SharePoint Designer 2010 for further processing.
When you export the Visio
diagram, the export process creates a file with the .vwi extension,
which is nothing more than a compressed archive file that contains the
following.
[Content_types.xml] Contains the file extension and mime type of each type of file included in the VWI file
Workflow.vdx The Visio definition file that has the diagram layouts and file properties
Workflow.xoml Contains the workflow actions that are to be deployed in SharePoint 2010
Workflow.xoml.rules Contains the workflow rules that are to be deployed in SharePoint 2010.
As explained earlier,
Visio workflows have to be deployed into SharePoint 2010 with the help
of SharePoint Designer 2010. This gives the business users the freedom
to define workflows that can later be deployed into SharePoint using
SharePoint Designer. This approach takes the burden away from the
developers and information workers, because the core of the workflow is
already in place in the form the Visio diagrams.
2. SharePoint Designer 2010
Microsoft SharePoint Designer
2010 is an application that is available as a free download; it was
developed for the information workers’ community. Microsoft SharePoint
Designer 2010 enables information workers to add application logic
(implemented as a workflow)
to SharePoint sites. If a developer creates a workflow using Visual
Studio, that workflow must be deployed on a server running SharePoint
2010 like any other feature. This means that the SharePoint
administrator has to make sure the code is stable and not malicious, so
that the SharePoint platform is not destabilized by the code. The
ability to create straightforward workflows that are tied to documents
and list items is very useful to users.
SharePoint Designer
workflows offer an attractive alternative to code-based workflows built
using Visual Studio 2010, as you have control over the list of
activities that users can implement while building these workflows.
Moreover, it is also possible to for you to determine if a Web
application or site collection should allow SharePoint Designer
workflows at all. This level of governance with respect to the ability
of end users to define their own logic makes SharePoint Designer a
stable modeling tool for workflows.
One more important aspect
of SharePoint Designer–based workflows is that these workflows are
declarative workflows and not compiled workflows. These workflows are
based on simple rules and are compiled from the content database every
time the workflow is associated with a list, library, or site. The use
of rules in creating the workflows makes it easier for the information
worker to create workflows. It is also easy for them to explain these
workflows to business users in plain terms.
2.1. Improvements in SharePoint Designer 2010
SharePoint Designer 2010 has many improvements over its predecessor; some of the key improvements are listed here.
SharePoint Designer 2010 can be used for creating reusable workflows, which can be used in different lists within the same site.
SharePoint Designer 2010 can package the workflows into SharePoint solution package (WSP).
SharePoint Designer 2010 can be used for creating workflows with both serial and parallel activities.
SharePoint
Designer can import SharePoint workflows created in Visio 2010 using
Business Process Modeling Notations (BPMN) and deploy these workflows
into SharePoint 2010. This feature makes it easier for the business
users to create workflows, which can be enhanced and deployed to
SharePoint 2010.
SharePoint
Designer can use InfoPath 2010 Forms for creating association,
initiation, modification, and task forms. SharePoint Designer 2007
allowed only ASP.Net forms for these purposes.
2.2. Creating and Deploying Workflows in SharePoint Designer 2010
You will briefly explore
how to create workflows in SharePoint Designer 2010 and see how to
deploy these workflows into SharePoint 2010. You will also see how to
import a Visio-based workflow into SharePoint Designer, where it can be
enhanced with shape data and then deployed into SharePoint 2010.
To begin, explore the process of creating and publishing declarative workflows using SharePoint Designer 2010.
Launch SharePoint Designer 2010 and open a site.
You can create a new workflow or edit an existing workflow using one of the following three options.
From the New group on the Site tab of the Ribbon, select List Workflow or Reusable Workflow.
Select
the File tab and then select Add Item. Choose to add a List Workflow,
Reusable Workflow, Site Workflow, or Import Visio Workflow.
Select
Workflows under Site Objects in the Navigation pane. Then select List
Workflow, Reusable Workflow, or Site Workflow from the New Group on the
Workflows tab. Alternatively, you can click Edit Workflow after
selecting Globally Reusable Workflow or Reusable Workflow.
Based
on the workflow type you select, specify the workflow association
information, which includes Name, Description, and List (for a List
workflow) or Content Type (for a Reusable workflow).
You can add a set of Conditions And Actions that represents your business process.
For
each task added to the workflow, you can define task properties,
including whether a change request is allowed, whether the user can
reassign the task, whether overdue mails have to be sent, and so on. See
Figure 3 for a sample Process Properties dialog box.
After
you complete your workflow design, you can check to find if the
workflow has any errors by selecting the Check For Errors menu item on
the Save Ribbon. If any errors are detected, fix the errors by taking
the necessary corrective action.
You can publish the workflow to SharePoint 2010 site by selecting the Publish menu item on the Save Ribbon.
This process will make
your workflow available on the SharePoint 2010. The workflow will be
associated with a container (list or site) or as a site-wide reusable
workflow.
Note:
SharePoint Designer 2010
cannot be used for creating workflows that can be used across the farm.
SharePoint Designer 2010 reusable workflows can be imported into Visual
Studio 2010 and then published as a farm-wide workflow template.
2.3. Importing Workflows from Visio 2010
As explained earlier, you can model the workflows in Visio
2010 and then import them into SharePoint Designer 2010. Imported
workflows can be further developed by providing actionable data for the
shapes added in Visio 2010. To import a Visio-based workflow in
SharePoint Designer 2010, perform the following steps.
Open the site in SharePoint Designer.
Select Workflows from the Site Objects Panel.
Select the Import From Visio from Manage group on the Workflows tab.
In
the Import Workflow From Visio Drawing dialog box, click Browse and
select the exported Visio SharePoint workflow diagram (VWI file).
Select the type of workflow to import by selecting either List Workflow or Reusable Workflow.
Based on the workflow type you select, perform one of the following actions (see Figure 4).
If
you select List Workflow, choose the list to which this workflow must
be associated from the Specify The SharePoint List This Workflow Will Be
Attached To drop-down list.
If
you select Reusable Workflow, choose content to which this workflow
must be associated from the Run On Items Of This Content Types, Or Any
Child Content Types drop-down list.
Click Finish to import the workflow into SharePoint Designer. See Figure 5 for a sample Visio SharePoint workflow diagram imported into SharePoint Designer.
Now
you can define values for the conditions and actions that are part of
the imported workflow. After defining data for the shapes, you can
verify and publish the workflow.