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.
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.
||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:
Install the SharePoint environment
- Optionally, you can subscribe to an Office 365 development environment
Install the Workflow Manager environment
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:
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.