SharePoint 2013 radically changed the workflow model from SharePoint 2010 with new strengths and new challenges. In this deck we cover some workflow basics and some of the changes.
5. Out of the Box
•Web User Interface
•Configuration
•Minimal Changes
Declarative
workflows
•SharePoint Designer
•Customize
•Extensive Changes / New
Configurations
Coded workflows
•Visual Studio 2010/12
•Create
•Unlimited Changes
•Create Activities /
Actions for use in other
workflows
IncreasingEffort,
Flexibility,andDifficulty
Use the least expensive option possible
6. Activities – Basic
building block of
workflow
Action – Activity
with sentence-
based wrapper for
SPD
Visual Studio can
create custom
activities/actions
7. Stability (~1% of
workflows will fail)
Manageability (No
APIs for reporting)
Scalability (In web
process/timer job)
Responsiveness
(Min 1 minute
resolution)
www.sharepointcin
12. Workflow BackendSharePoint
Task
s
Instances
_API 1
2
3
web/siteuserinfolist/items?$filter=id eq {0}
Site
User
s
web/lists(guid'{0}')/reservelistitemid
web/lists(guid'{0}')/items
• REST/OData message format
• Retry on failure
• Repeatable (idempotent) Create, Read, Update and
Delete
• Merge update with conflict resolution (HTTP ETag)
Classic SharePoint
2010 model for
workflow
consistency is to
batch updates on
idle/persist
Service Bus
13.
◦ Run as: initiator user
◦ Run as: publisher user (Impersonation Step)
◦ Specific for classic workflow
◦ Workflows have identity (app principal)
◦ Default access scope: read/write to site
(Web.Write)
◦ Run as: app & user
◦ Run as: app only (App Step)
15. DynamicValue and Dictionary (SPD)
DynamicValue was introduced with Workflow Manager
Microsoft.Activities.DynamicValue
DynamicValue allows you to create, store, and consume
complex data structures
Implements ICollection, IDictionary, IEnumerable
Perfect match for JSON
Dictionary is wrapper type in SharePoint Designer for
DynamicValue
Defined in workflow15.actions4