Types of workflows in SharePoint Designer
This article is the third in the series trying to demystify all that
SharePoint Designer 2010 has to offer. Check out the other two articles
here:
User Interfaces of SharePoint Designer 2010
Site Level Customizations and Settings using SharePoint Designer 2010
Also, related to this article, you can obtain the SharePoint Designer 2010 Workflow videos we have available here:
SharePoint Designer 2010 Workflow Videos
Types of Workflows
The Workflow Designer in SharePoint Designer 2010 is used to create
workflows on the currently opened SharePoint site. There are 3 types of
workflows that can be created using SharePoint Designer:
List, Reusable, Site.
Each type of workflow has its reason for existence and will be
(should be) used by used by Site Admins, Power Users and Designers of
the site. Workflows in SharePoint sites are used to create robust
processes using components of the site. They can interact with users,
lists and libraries. The other ways to create workflows on top of
SharePoint are
Browser based and using
Visual Studio. Out-of-box
browser based workflows are good for many scenarios, but they are
simpler in nature and cannot be modified further using the browser.
While Visual Studio workflows are extremely powerful and scalable, but
require coding skills to implement.
Following is a quick breakdown of how the 3 SharePoint Designer workflows are used and why you would use them:
List Workflow – Using this mechanism, you attach the
workflow directly to a list or library on the site. Use this workflow
when you are making a workflow that’s very specific to a list or library
and does not need to be later used on a different list or library.
Reusable Workflow – This type of workflow is created with
reusability in mind. Create a reusable workflow when you intend to
attach it to a content type and use that content type in a list or
library.
Site Workflow – Site based workflow does not require to be
attached to a list or library. It works on the site itself. Use this
workflow if you do not want to restrict the automated process to a list
or library on the site. For example, you can use the site workflow to
take a survey of the site members or to execute a process on a Document
Set (new functionality in SharePoint 2010).
You don’t necessarily have to start creating a workflow from scratch. The out-of-box workflow templates (
Approval,
Collect Feedback and
Collect Signatures)
that can be used in the browser can also be extended using the workflow
designer. Meaning, if you like the way these workflows work, but just
want to tweak it to your liking, you can do that! These workflows are
categorized as
Globally Reusable Workflows and are visible and available at every site in the site collection.
A word of caution:
Be careful while working with these!
If you modify any of these from directly the root site of your site
collection, then you are modifying the actual workflow template that’s
in use at your site collection. Whatever changes you make will take
effect everywhere in your site collection where this workflow is being
used. If you click on any of these workflows from a subsite, it will
instead inform you that a copy of the workflow will be made that you can
further modify (I would recommend doing this and Not changing the
out-of-box workflow template).
Workflow Designer Interface
Let’s look at the workflow designer interface that’s used to
configure the workflows. You get to the design interface by either
creating a new workflow or by clicking on an existing workflow and then
clicking on the
Edit Workflow link on the summary page of the workflow.
The workflow designer interface is where you define the complete
logic of the workflow. To put it simply, SharePoint Designer workflows
consist of steps which are executed sequentially in the order they are
placed in the workflow designer. Clicking on the
Step button in the ribbon inserts a new step in the workflow designer interface. Within the step, you can place
Conditions and
Actions. Clicking on the Condition button will show you all of the conditions that are available.
A conditional logic statement is used to look out for a specific
possibility. If the condition is true, then whatever is encapsulated
within the conditional block will be executed. Otherwise, the workflow
process will move on to the next conditional logic statement (if one
exists). Programmers have been using the conditional logic construct
(If… Else If… Else) for decades now. Now information workers also have
the power to write their own business logic without coding!
Actions are the actual statements which execute a certain activity
(ex: Creating a List Item, Checking in an Item, Sending Email etc). The
image below shows a snapshot of a partial list of the actions available
in the designer environment.
Parallel Block
Each of the actions and conditions can be moved around rather easily
within the step or even from one step to another. Just click on the
action/condition you would like to move and click the
Move Up or
Move Down
button in the ribbon. The default nature of the actions you place in
the workflow steps is sequential. The first action takes place then the
next and so on. This is made evident by the word
then that
appears preceding every action within the step after the first action.
There will be many instances where you need the actions to take place in
parallel. For example, if an action calls for collecting data from a
user, the process will not move on to the next action until that action
is accomplished and the user who the data is being fetched from provides
the data. If you want actions to fire in parallel, you can use the
Parallel Block functionality.
You first start by placing the parallel block within the step right up
close to the actions you want to run in parallel and then by clicking on
the
Parallel Block button in the ribbon.
The below animation highlights the following:
- Moving actions up and down
- Parallel block
Remember that there is no Undo button in the workflow designer so
that if you make a mistake, you just need to undo it manually the old
fashioned way
.
That’s it for now. I’ll be back with more information on workflows in
my next article. There are still many things to be discussed such as
workflow settings, impersonation steps, parallel blocks, association
columns, nested steps and a whole lot more. Stay tuned…