See what all the noise is about with workflow for SharePoint 2013. In this session we'll look at the architectural changes that are at the heart of the new SharePoint 2013 workflow platform as well as the enhancements to the design experiences. We'll talk about what this means to both SharePoint developers and end users alike.
5. SHAREPOINT WORKFLOW THROUGH
THE YEARS
SharePoint 2010 Workflow
• New actions and conditions for SharePoint Designer
• Site based workflows
• High Privilege Workflows
• Added 4 new SharePoint Event Receivers (list-based)
• SPTimer Location
• Visio Integration
• Process mapping
• Workflow visualization
K2.COM
7. SHAREPOINT WORKFLOW THROUGH
THE YEARS
Visualization of workflow status via Visio Services in SharePoint 2010
K2.COM
8. SHAREPOINT WORKFLOW TODAY
• Workflow moved to Workflow Manager (WM)
• Does not run in SharePoint anymore
• WM is built on WF 4
• WF 4 is part of Microsoft .Net 4.5
K2.COM
9. SHAREPOINT 2013 WORKFLOW
AT A GLANCE
• 2 Distinct workflow platforms: 2010 and 2013
• Complete redesigned workflow infrastructure
• Workflow Manager 1.0 (WM)
• Windows Azure Workflow Service (WAWS)
• More robust task management.
• Design Tool Enhancements
• Call Web Services
• Fully Declarative
• Visual Designer (with SP Designer)
K2.COM
11. SHAREPOINT DEPLOYMENT
LOCATIONS
On-Premise Deployment:
• WM can be installed on the WFE or separate server
• Must be connected to the SharePoint 2013 farm
SharePoint Online / Office 365 (Off-Premise) Deployment:
• No Deployment necessary, already installed
• No configuration necessary
K2.COM
13. WORKFLOW MANAGER
WHAT IS WORKFLOW MANAGER?
New host which introduces new capabilities for authoring, hosting
and managing workflows. Also hosts the execution processes for
workflow instances.
Key Points:
• High Density & Multi-tenancy
• Elastic Scale
• Activity / Workflow Artifact Management
• Tracking and Monitoring
• Instance Management
• Fully Declarative Authoring (Trusted Surface)
• REST and Service Bus Messaging
WHAT IS TRUSTED SURFACE IN WM?
A set of trusted types and activities to author workflows. This is
accomplished through a “white-list” that ensures only allowed
types are used.
K2.COM
14. KEY ARCHITECTURE CHANGES IN 2013
• Powered by Windows Workflow Foundation 4 (WF)
• SharePoint 2013 workflow is now executed in Windows Azure
Workflow Services (WAWS)
• Communicates with SharePoint using Azure service bus using
common protocols (I.E HTTP)
• Based on .NET framework 4.5
• Enhanced connectivity to enable cloud-based execution of
workflows.
• SharePoint Events are routed to WM and returned via REST
API
K2.COM
15. INTEROP BRIDGE
• Allows for creation of 2010 workflows in SharePoint 2013
• Is put in place for backwards compatibility between SharePoint
2013 and SharePoint 2010 workflow engines
• WAWS will delegate workflows or portions of workflows to the
2010 Interop engine.
K2.COM
16. OUT OF THE BOX WORKFLOWS
• No native 2013 workflows come out of the box. However all 2010 and some
2007 workflows can be activated.
• Disposition Approval Workflow
• Publishing Approval workflow
• Three state workflow
• SharePoint 2010 Workflows (Must be activated)
• SharePoint 2007 Workflows (Must be activated)
K2.COM
17. IMPROVEMENTS IN SHAREPOINT
DESIGNER 2013
• Introducing Stages.
• Finally mitigates the lack of support for Loops
• Provides for a state machine like experience
• Declarative workflows can now have loop like functionality.
• Loop x # of times.
• Loop while condition is true
• Workflows can now call REST/SOAP Services
• Improved Email editor
• Now supports rich formatting
• Designer supports Cut, Copy, Paste, Undo, Redo, Select-all
• Improved Visual Designer. Visio is now embedded. Can
switch between visual and text-style.
• Can build 2010 or 2013 workflows
K2.COM
19. IMPORTANT TASK ACTION
Assign a task - This Action is to assign a Task to a single User that
outputs a Variable an a TaskId. You can use the people picker to select
the person or group to whom you are assigning the task.
Start a Task Process – This action allows you to assign multiple tasks to
multiple users and then use the results in a task process.
K2.COM
21. LOOPS
Visio 2013 and SharePoint Designer 2013 support two types of loops:
• Loop n Times
• Loop with Condition
Loops must also conform to the following rules:
• Loops must be within a stage, and stages cannot be within a loop.
• Steps may be within a loop.
• Loops may have only one entry and one exit point.
K2.COM
22. CALL HTTP WEB SERVICE
• Accesses SharePoint 2013 via CSOM
• Expects JSON format
• HTTP Methods:
• Get
• Delete
• Merge
• Put
• Post
K2.COM
23. New Actions in SPD
Action Description
Assign a Task Assigns a single workflow task to a user or group.
Start a Task Process Initiates execution of a task process.
Go to This Stage Specifies the next stage in a workflow to which flow control
should be handed.
Call HTTP Web Service Functions as a method call to a (REST) endpoint
Start List Workflow Starts a list scoped workflow (2010)
Start a site workflow Starts a site scoped workflow (2010)
Build Dynamic value Creates a new variable of type DynamicValue.
Get Property from Dynamic Retrieves a property value from a specified variable of type
Value DynamicValue.
K2.COM
24. New Actions in SPD
Action Description
Count Items in DynamicValue Returns the number of rows in a variable of type
DynamicValue.
Trim String Removes all leading and trailing white-space characters
from the current string.
Find Substring in String Returns 1-based index of the first occurrence of one or
more characters, or the first occurrence of a string, within a
string.
Replace Substring in String Returns a new string in which all occurrences of a specified
character or string are replaced with another specified
character or string.
Translate Document Functions as a wrapper around the HTTP activity that calls
the synchronous translation API. You must configure a
Machine Translation Service Application for the SharePoint
site on which you run the workflow.
K2.COM
25. New Actions in SPD
Action Description
Set Workflow Status Updates workflow status as specified in
message string.
Create a Project from Current Creates a Project Server project based on the
Item [Microsoft Project] current item.
Set the current project stage Sets the two status fields within the current
status to this value [MS Project] stage of the project.
Set the status field in the idea Updates the status field of the original
list item to this value [MS SharePoint list item.
Project]
Wait for Project Event [MS Pauses the current instance of the workflow to
Project] await a specified Project event
Set this field in the project to Sets the value for the enterprise custom field for
this value [MSProject] a specified project.
K2.COM
26. What's Gone for 2013 workflows?
Actions Conditions Features and Functions
Stop Workflow If Current Item Field Association Columns
Equals Value
All Document Set Actions Check List item Content type association
permissions levels
All Records Management Actions Check List Item Globally reusable workflow
Permissions type
Add List item Workflow visualization option
All Permissions Actions Require Manage List/Web
Permission' feature for list/site
workflow
Lookup Manger of user function InfoPath is not supported for
SharePoint Designer 2013
workflows.
Collect Data From User
Start Approval Process
Start Custom Task Process
Start Feedback Process
Copy List Item
K2.COM
27. VISIO 2013
• Must Be Visio Professional 2013
• Carries through traditional method of building workflows
• Contains a dedicated SharePoint workflow stencil set
• Matches SPD with Stages and Gates
• Can Still go back and forth between Visio and SPD
• Can now see properties set by SPD
• Cannot add to them from Visio only
• Custom Actions now can appear in the stencil pane
• Still unable to add workflow properties to shapes.
K2.COM
28. VISUAL STUDIO 2012
& SHAREPOINT 2013
• Can still Import from SPD Reusable workflows
o Both 2010 and 2013
• New Project types, examples include:
o Custom Activity
o Workflow (SharePoint 2013 / Workflow Manager style)
• All Declarative
• New project item templates
• Custom Activities
• Allows for richer debugging capabilities
K2.COM
31. COMPARING DESIGNERS
SharePoint Visual Studio
Designer 2012
Create Declarative Workflow Yes Yes
Reusability Create Reusable Create
Workflows Templates
Build into SP App No Yes
Use Custom Code No Yes
Custom Actions Consumer of Yes, using
Actions custom project
Visio Integration Yes No
Debugging No Yes
K2.COM
32. Questions?
Steve Boldt – Technical Specialist
Email: steven@k2.com
K2.COM
Hinweis der Redaktion
• Introduced Persistence• Workflow Types Supportedo Sequentialo State MachineDeep Dive:Begin the discussion of where SharePoint used to be back in the day with SharePoint 2007 (or also known as MOSS back then). In MOSS, we saw the introduction of the Business Data Catalog (BDC) to enable integration with LOB, Document & Web Content Management, Excel Services, and InfoPath Form Services. In SharePoint 2007, a workflow could be user initiated, or automated based off an event (i.e. created or changed). The workflow run-time engine provided sequencing, state management, tracking, and even transaction support. SharePoint hosted the WF engine, and exposed it through the SharePoint Services Object Model as shown in the diagram. To alleviate scenarios of long running workflows that require some user interaction (think document approval), persistence was introduced to persist the workflow instance data in memory. In addition, WF supported sequential workflow that represented a progression of steps that were executed in order. On the flip side, WF also supported state machine workflows that were presented with a set of states, transitions and actions
New ProductWorkflow DesignerSimpler DeploymentsAssociation of conditions & actionsDeep Dive:SharePoint 2007 was the first time we saw SharePoint designer. It was the successor to FrontPage and enabled users to help with building workflow-enabled applications with SharePoint. Benefits that were seen using the new designer were that workflows could now be created quicker. In addition, deployments were less complex and could be executed quicker. One key point is the fact that non-development individuals could now create workflows with this tool. Less problems arose from deploying workflows because a trusted list of conditions and actions were provided to the user in the designer. Some SharePoint 2007 Designer drawbacks and limitations:Actions are site bound to the site they are run from.Limited support for advanced complexity and scope in building out workflow.No re-use capability, is authored against a specific list of document library cannot then be used again on another list.No ability to modify in flight.Must use SharePoint ASPX pages.* Limited customizability of these ASPX forms.Cannot be accessed directly from Office applications, must be accessed with a web browser other than through email notifications etc. * One thing to put emphasis on is the fact that it must use ASPX forms. We’ll come back to this when we’re talking about SharePoint 2013 later on in the presentation.
In MOSS, workflows ran under the identity of the logged on user. In SP 2010, high privilege workflows allow for an account to run a workflow to give additional permissionsWith the SPTimer location, can set the preferred server where the SPTimer service runs
Workflow not in SPWorkflow is in WMWM is on WF4WF 4 if part of .Net 4.5SP 2010 is automatically installedDeep Dive:With the introduction of SharePoint 2013, the 2013 workflow platforms now has moved off of the SharePoint server and is now part of Workflow Manager. When SharePoint 2013 is installed, it still comes with the 2010 workflow platform automatically configured and working. In order to utilize the new 2013 workflow, workflow manager has to be installed on and configured with the farm. The main difference here is that the 2013 workflows are run by Windows Workflow Foundation 4 (WF). In addition, WF which utilizes .Net 4.5, provides new capabilities surrounding the designers, activates, and the overall development model. One thing to note is that workflows built on this framework are not backwards compatible.
With workflow being fully declarative - All your custom logic should be put outside of SharePoint, inside WCF Service. Then you will call the service from workflow to implement your custom logic in code Declarative – can only be defined in XML. No C# code.
In addition to the SharePoint 2013 Workflow platform, the SharePoint 2010 Workflow platform that came with SharePoint Server 2010 is still available in SharePoint Server 2013. The SharePoint 2010 Workflow platform installs with SharePoint Server 2013 just as it did with SharePoint Server 2010.
SharePoint events for which a workflow is listening, like itemCreated, itemUpdated, and so on, are routed to Workflow Manager Client 1.0 using the Windows Azure service bus. For the return trip, the platform uses the SharePoint Representational State Transfer (REST) API to call back into SharePoint.
Workflow Manager 1.0 builds on the continuum of hosting options that the .NET framework provides today with WorkflowApplication and WorkflowServiceHost, to provide a new, managed host for executing and managing workflows. The multi-tenant hosting capabilities provide for safe, high efficiency and high performance execution of workflow instances, as well as the ability to organize and manage tenants of the serWith this offering, organizations can focus more of their energies on the design of the workflow logic itself - and integration with their applications - instead of spending time on building infrastructure. vice.
Associations for SharePoint workflows are represented by their workflow service within Windows Azure. Workflow instances carry a pointer back to their respective workflow service, which means it allows for correct association.SharePoint events for which a workflow is listening, like itemCreated, itemUpdated, are routed to WM
SharePoint workflow interop enables SharePoint 2010 workflows (which are built on Windows Workflow Foundation 3) to be called from SharePoint 2013 workflows, which are based on WWF4. This allows you to execute 2010 workflows from within 2013 workflows.This is important because you may have SharePoint 2010 that you may use to reuse in conjunction with your SharePoint 2013 workflows. Additionally, you may wish to use activities or features from SharePoint 2010, which are not yet implemented in SharePoint 2013
Main PointsIf SharePoint Designer detects Visio Professional it will allow you to switch to Visual mode and allow for modeling AND configuring of workflow and workflow parameters/properties. However while SPD enables this if you use Visio by itself you still are limited and cannot add properties or configurations to each step.http://blogs.msdn.com/b/sharepointdesigner/archive/2012/10/22/introducing-the-new-visual-designer.aspx
Every workflow starts with an empty container called a Stage. Each Stage contains all the actions that make up a logical section of a workflow. A workflow will have 1 to many stages. All actions must be within a stage but decision shapes can be used to determine the flow between stages. With Stages you have what's called a gate, once all the steps and conditions are done and evaluated it hits the gate or the exit for that stage. At this gate you specify where to go next. (ie. What stage.) This can be anywhere in your WF, up the stack or down.CaveatsOne Stage at a time. Can have parallel tasks in a stage but stages cannot run in parallelMany people need to run different paths of a workflow in parallel. It is important to note that only actions within a stage can be run in this fashion. You cannot have Parallel stages.
It is important to highlight the differences in task processes between 2010 and 2013. The next few screens attempt to showcase what this. Where in 2010 the task processes where very configurable and you could specify advanced parameters. In 2013 these task processes are limited in terms of what you can configure.
Highlight some of the big things that are gone for 2013 based workflows such asAssociations to content typesWorkflow visualization.EtcWhere SharePoint Designer 2010 is concerned, InfoPath forms were integrated in workflows as initiation and association forms.When you install SharePoint Designer 2013, you only have the option to create SharePoint 2010 Workflows, which are the same types of workflows you were able to create in SharePoint Designer 2010 for SharePoint 2010. InfoPath forms are still integrated in such workflows.the best news is that InfoPath forms are no longer recommended... you should instead use ASP.NET pages & have your pages communicate with the workflow engine via the client side object model (CSOM) improvementsRead more at http://www.andrewconnell.com/blog/Creating-Custom-Forms-for-SP2013-Workflows#HVUU8MAxTLZf3RHQ.99 http://www.bizsupportonline.net/blog/2013/infopath-2013-upgrade-or-not.htmhttp://office.microsoft.com/en-us/help/sharepoint-server-2013-known-issues-HA102919021.aspx
Highlight a few key points about building workflow in Visio. Such as…In Visio you are still unable to add workflow properties to each shape, they must be added in SPD.
Custom activities allows for reusable grouping of activities with action file, and can be consumed in Visual Studio or SharePoint Designer authored workflows
Good list of SharePoint related project types in VS 2012. Including importing of workflows both 2010 and 2013
This is your toolbox in VS 2012 when building out a SharePoint 2013 workflow.Workflows cannot be packaged as an app, but workflows can be part of an app. You must package and deploy your WF separately