Building Block: Workflows

Applies to: SharePoint Foundation 2010

Workflows are used in Microsoft SharePoint Foundation 2010 to automate business logic and processes by using the underlying Windows Workflow Foundation engine. When a workflow is started, it proceeds according to a prescribed set of instructions that are furnished by the workflow designer. It executes certain activities when specific conditions are satisfied. This allows a business to fully describe and programmatically represent their business processes without the need to manually intercept and follow up.

While a workflow is running, it is often necessary to gather information from a user. To capture this interaction, a workflow designer can use either InfoPath forms or ASP.NET forms. These forms are connected to the workflow through a special kind of property that the workflow runtime engine can use to continue processing.

Object Model for Workflow

The namespaces for SharePoint Foundation workflow are found under the Microsoft.SharePoint namespace and include the following:

Microsoft.SharePoint.Workflow - Provides the base classes and main entry points for developing custom, coded workflows.

Microsoft.SharePoint.Workflow.Application - Represents the three-stage workflow classes that are built into SharePoint Foundation.

Microsoft.SharePoint.WorkflowActions - Contains the workflow actions or activities that are included with SharePoint Foundation.

Microsoft.SharePoint.WorkflowActions.WithKey - Contains mirror classes that access workflows by using a string identifier.

Tools for Workflow Development

Microsoft SharePoint Designer 2010

SharePoint Designer has been greatly enhanced to allow you to build workflows in SharePoint Foundation without the need to know any code. Workflow designers can now use the built-in workflow designer to create robust workflow applications that are scoped either to a list, document library, or site level. These workflows can also be exported and reused elsewhere.

For more information about using SharePoint Designer see the SharePoint Designer Developer Center.

You can use Visual Studio to build complex and highly customized workflows. Visual Studio includes a workflow designer that allows designers and developers to represent a business process by dragging controls onto the design surface and then coding them to execute specified code at a certain point in the workflow activity.

Workflows are also available in Microsoft SharePoint Server 2010. For more information about developing workflows in SharePoint Server 2010, see the "Workflow Class Library Reference" in the Microsoft SharePoint Server 2010 Software Development Kit.