SharePoint Workflow - What You Need to Know
(Article originally posted on http://furuknap.blogspot.com/2009/11/sharepoint-workflow-what-you-need-to.html)
The most powerful feature of SharePoint, at least the one most likely to cause a high return on investment (ROI), is the tight integration and high utilization of workflow.
In this short article, I will tell you what you need to know about SharePoint workflow in order to understand how to harness the power and potential economic benefit of business process management in SharePoint.
So, What Is a Workflow Anyway?
OK, you may have heard me use that exact phrase before, and youd be right, as I explained this in a previous post on SharePoint Designer workflow. Rather than repeat what I wrote then, however, Id like to offer a more descriptive... description.
A workflow is a formalized business process mapped to various executable activities on a computer. Think of a workflow as a highly adaptable and configurable program that performs a series of tasks. The program is adaptable in that it can be changed depending on business needs.
The various part of the explanation is where you get the power of workflow. Compared to a traditional program, in which you often get a set of features and need to rewrite the program to extend that set of features, workflows allow you to pick and choose from activities.
In short, you get a pick and choose program that you can change as your needs change. Workflow is the Lego of programming, in a manner of speaking.
Wait, Programs? That Sounds Complicated and Unstable?
Yes, which is why I say in a manner of speaking.
You see, at least in the Windows Workflow Foundation that SharePoint uses, the framework handles most of the nitty-gritty details for you, and enables you, more or less, to just say what you want to happen when during a process. The stability and flexibility is also handled by the framework so you dont need to worry as much about your workflows as you would normal programs.
For example, if your server goes down, the framework will make sure that your workflow continues to run after the server comes back up. If you need to change your workflow, the framework and SharePoint will ensure that running workflows complete and that new instances of the workflow only use the new version of the workflow.
What Are Some Common SharePoint Workflow Examples?
Probably the most common example used is an approval workflow, in which some form of data requires approval from someone. The default SharePoint approval workflow is one such example, in which the author of the data requests approval for an item or document. This may be a request for expenses reimbursed, a vacation request, or any other request for which on user requires the approval of another user to complete some task.
Another common example is document management. Regardless of size, almost all organization have some form of document management, even if its as simple as telling a secretary to file a report in a certain file cabinet. Workflow can help automate document management, and the SharePoint document workflows offer some out-of-the-box functionality to cater to basic needs.
However, these are just two examples of scenarios in which workflow may help. The nature of workflow is that it can be customized to almost any business process, if nothing else than to track the progress of those processes or audit what happens during a process.
How Can I Create SharePoint Custom Workflows?
You have several options for creating and customizing workflow.
Out-of-the-box SharePoint Workflows
Granted, out-of-the-box doesnt sound very customizable, but the truth is, many of these workflows are flexible enough to solve at least basic needs. For example, for the SharePoint approval workflow, you can customize who gets to approve an item or document, as well as deadlines for the approval tasks, and allow or disallow the approvers to reassign the workflow approval task.
If this still doesnt meet your needs, you may want to take one step up.
SharePoint Designer Workflows
SharePoint Designer (SPD) offers a basic workflow authoring experience. With SharePoint Designer 2007, end users can create workflows without needing to learn complicated tools or adopt programming as a career.
Despite the perceived simplicity of SharePoint Designer workflows, however, you can accomplish fairly complex tasks using the built-in activities in SharePoint Designer. In addition, you can get or create additional activities to further customize your workflow and in essence create your own Lego pieces.
SharePoint Designer is often scoffed at by developers as being a FrontPage bastard child. However, for designing one-off workflows with a very gentle learning curve, SharePoint Designer workflow is the way to go.
In addition, several of the limitations of SharePoint Designer 2007 are improved in SharePoint Designer 2010, as I have written previously in the first and second look at SharePoint Designer 2010 as well as the SharePoint Designer 2010 workflow features article.
You can learn all about SharePoint Designer workflows in issue 4 of Understanding SharePoint Journal.
Visual Studio SharePoint Workflows
The limitations of SharePoint Designer workflows become apparent when your needs become a bit more complex. That is when you may want to turn to Visual Studio.
Visual Studio offers the maximum amount of flexibility and power at the cost of a longer and more complex learning curve. If you want complete control and maximum power, however, that is the price to pay.
However, while Visual Studio is traditionally considered a programmers tool, it is a myth that creating Visual Studio workflows require programming skills. You can get a lot more done if you do use some programming, but in essence, the same building-block paradigm is used in Visual Studio workflows as well.
You can get an introduction to Visual Studio workflows for SharePoint in issue 7 of Understanding SharePoint Journal.
Third-party Workflow Tools
If neither of these options are to your liking, you may want to turn to third-party workflow tools. Some well known tools are K2 BlackPoint and Nintex Workflow 2007.
Third-party tools offer both competing and complementary features to the already mentioned workflow tools. For example, Nintex Workflow 2007 offers a combination of the ease of SharePoint Designer workflows with some of the power of Visual Studio.
While a complete description of all the available tools is a bit beyond the scope of this article, you should know that these third-party alternatives exist.
You can also get the free Using Nintex Workflow 2007 issue of, you guessed it, Understanding SharePoint Journal, if you want to explore that product more.
Yeah, dont forget to brush your teeth and floss. Seriously, everything I have said here is just my personal opinion, but brushing your teeth and using dental floss is recommended based on hard, scientific proof. Proper dental care leads to healthier teeth, prevents bad breath, and can improve the whiteness of your teeth without damaging chemicals.
Oh, and visit Understanding SharePoint Journal at http://www.understandingsharepoint.com/journal to get any of the issues mentioned here, or to learn more about SharePoint.
BjÃ¸rn Furuknap is a Senior Developer and Architect, passionate writer, and a SharePointholic. Author of "Building the SharePoint User Experience" and editor/author for "Understanding SharePoint Journal".