My name is Eilene Hao, and I’m a Program Manager on the Office Document Lifecycle workflow team, specializing in custom workflow development. I’m really excited to meet you all, and I hope that you’ll find this blog entry helpful and that you’ll continue to journey with me in exploring the wonderful world of workflow!
In this entry, I’d just like to give you a general overview of SharePoint workflow (both Windows SharePoint Services and Office SharePoint Server), more specifically, our guiding principles for workflow in this release and some workflows that come out-of-the-box with SharePoint Server 2007. So without further ado, here we go!
Your first question might be, “What is workflow?” Well, I would define a workflow as a business process, a chain of steps that need to be performed in order to accomplish a goal. Every business is filled with numerous processes whether it’s getting a contract approved, hiring a new candidate, or processing an order from a catalog.
The problem is that it’s oftentimes burdensome for workers to remember the exact process, keep track of everything, and manually move it along, especially if it's not something they do very often. They’ll have questions like, “So I’ve done my part; who do I contact now? What’s the next step?” Also, for the person overseeing the process, after it gets to the nth person in the chain, it’s really hard to see what the status is or what’s going on. A system that supports workflow is one that helps drive these processes (to help users focus on their tasks and not the details of the process) as well as tracks progress and events (to provide visibility into what’s happening).
For the 2007 release of SharePoint, we wanted to provide an infrastructure that would drive process around what SharePoint does best: share and collaborate on documents. So, we focused on document-centric workflows, processes that a particular document needs to go through during its lifecycle, such as being reviewed and edited or being approved for publication. Thus, you would attach and run a process directly on a SharePoint document or list item. We also focused on human-based workflow, meaning that SharePoint workflows are task driven and focus on human interaction, rather than just automating programmatic steps.
I’ll save the details of interaction for a later post, but here’s a quick illustration of these concepts. Let’s say that I’ve written an article that needs to be approved before I publish it. I can start an Approval workflow on the document and select the people whom I need to approve it. The workflow will then assign approval tasks to those people. The approvers are notified of their tasks via email and can complete their tasks by clicking approve or reject on a special form provided by the workflow. When everyone has approved, I get a notification telling me that my document has been approved, and I can then publish it.
To help people get started with scenarios like these, we’ve taken some common processes we’ve seen in our research and built those workflows into SharePoint Server 2007 out-of-the-box for people to use without IT involvement. These out-of-the-box workflows include:
We know that a lot of processes are very specific to an individual company’s needs, so in order to provide an extensible infrastructure that can be used to create sophisticated workflows, we decided to use Windows Workflow Foundation (WF) as our workflow engine and process framework. WF provides a powerful platform with a unified programming model and works with familiar development tools such as Visual Studio. SharePoint workflows can also be created with SharePoint Designer, a web design and customization tool that lets you create workflows without writing any code.
Well, that’s SharePoint workflow in a nutshell. Do you want a more in-depth look? Then head over to the new ECM Team Blog and subscribe to it. I’ll be posting over there about the new ECM Starter Kit and provide a much more detailed look at some of our out-of-the-box workflow solutions very soon.