Prepare to set up and configure a SharePoint workflow development environment

Learn how to set up a workflow development environment to develop SharePoint workflows as free-standing apps for SharePoint by using Visual Studio 2012.

Overview of workflow development in SharePoint

Although workflows have been a part of SharePoint since early versions, workflows for SharePoint are a much enhanced and improved platform.

  • First, SharePoint workflows are now built on Windows Workflow Foundation 4.5, which is part of the .NET Framework 4.5.

  • Second, the workflow execution engine, Workflow Manager, has been decoupled from SharePoint and runs independently. This provides both flexibility and scalability. (Note that for backward compatibility, the legacy 2010 workflow engine remains a part of SharePoint.)

  • Instead of developing workflows by writing C# code, you now build workflows in Visual Studio using a workflow designer that uses declarative expressions.

  • SharePoint workflows integrate with the new app model, which means you can now implement workflows in SharePoint Add-ins.

  • You can also develop SharePoint workflows using SharePoint Designer 2013. For more information, see Workflow development in SharePoint Designer and Visio.

Get started

First off, get acquainted with the new app model and the concepts underlying SharePoint Add-ins by dipping into the following:

SharePoint for developers
Portal to the SharePoint developer site, where the emphasis is on apps for SharePoint.
SharePoint Add-ins
Learn what apps for SharePoint are, why you should build them, and the concepts that are fundamental to building them in SharePoint.
New name for apps for SharePoint
Portal to a developer site devoted to building apps for Office and apps for SharePoint.
SharePoint development overview
SharePoint is a development platform for apps for SharePoint and farm solutions. Get acquainted with the capabilities and features of SharePoint to start your development.
SharePoint workflow fundamentals
Provides a high-level overview of the workflow infrastructure in SharePoint, including a view of the platform architecture and the workflow interop bridge.

Your next step is to ensure that you have an up-to-date workflow development environment installed. You don't need to develop on the SharePoint server machine, but of course you do need a SharePoint Server installation to develop against.

Here are the components you need. It is important that you install these items in the order presented here:

  1. Install the SharePoint environment

  1. Install the Workflow Manager environment

  2. Install the Visual Studio 2012 development environment

If you have the "Preview" version

If you have pre-release (that is, "Preview") versions of SharePoint Server, Workflow Manager 1.0, or Office Developer Tools for Visual Studio 2013 (versions prior to March 2013), you must update your installation. Following is a list of appropriate updates:

You must also update workflow projects created with the "Preview" version

The release version of the Visual Studio workflow components and their related updates introduce important changes that enhance performance, scalability, and reliability. Unfortunately, these upgrades require you to update workflow projects that you created using the Preview tools.

To make this process easier, we provide a conversion tool that you can get through CodePlex. The tool is called the SharePoint Workflow Converter for Visual Studio 2012.

Here is a summary of changes that require you to update your workflow projects:

  • Activity references to Item Guid are replaced by Item Id. This change has important consequences:

    • The LookupSPListItemGuid and GetCurrentItemGuid activities are removed from the tooling; their replacement activities are LookupSPListItemId and GetCurrentItemId.

    • For other activities that use Item Guid, you will find Item Id added and Item Guid hidden. Your existing projects that use Item Guid will continue to work (except on very large lists with more than 5000 items, which is one of the reasons for the change).

  • There is a new packaging format for workflows in apps.

  • The workflow activities assembly reference in XAML has been changed to point to a new design-time proxy assembly instead of the actual SP activities assembly.

Additional resources