Mastering SharePoint Designer Workflows
► Introduction to Edgewater ► Types of Workflows ► Workflow Best Practices & Common Issues ► What’s new in SharePoint 2013 ► Workflow Demo Contents 2
► Founded in 1992 ► Focus on upper-middle and global 2000 markets ► Nearly 400 employees ► 800+ clients ► 3,100+ projects completed to date ► Large North American footprint – New UK presence ► Publicly traded (NASDAQ: EDGW) – Public in 1996 (STAF) – Reverse IPO in 2000 (EDGW) ► Co-founders still with the Company Edgewater Corporate Overview 3
SharePoint – Services and Solutions ► Strategy and roadmap ► Health check ► Migration planning ► Migration ► Implementation ► Governance Framework ► Analytics ► Ongoing Support Services ► Collaboration / Communities ► Document Management ► Project Management ► Portals – Intranet – Extranet ► Forms and Workflows ► Search ► Web Content Management ► Business Intelligence 4
5 SharePoint Customers
Types of Workflows
► SharePoint has the following types of workflows – SharePoint Designer • Supports only sequential workflows • Types – List Workflow – Reusable Workflow – Site Workflow – Visual Studio • Custom code-based workflows • Deploy as a WSP file to a farm • Supports sequential and state machine workflows Type of Workflows 7
► Simplest workflow to create ► Workflow is tied directly to a list or document library ► Cannot be re-used for other lists ► Cannot be published globally. ► Cannot be saved as a template (WSP). ► Cannot be associated with a content type. ► Cannot be exported easily Designer – List workflow 8
► Not required to be linked to a specific list or content type – Similar to built in workflows ► Can be published Globally which allows the workflow to be used in all sub-sites in site collection – Must be created at top level site and user must be an site admin at top level ► Can be saved as a Template which will create a WSP file in the SiteAssets library ► WSP File Can be imported into Visual Studio - for more advanced options - one-way trip – cannot go back to designer ► Can be associated with a Content type or a list Designer - Reusable workflow 9
► A workflow that runs at the site level – not linked to a list or content type ► Does not have a current item ► Execute from “All Site Content” page on the site Designer – Site workflow 10
► Some actions are only available in certain workflow types or steps and not supported in foundation. The following link describes all the actions, what they do, and when they are available. ► For example, – “Add List Item Permissions” is only available in an impersonations step – Actions such as Start Approval Process, Declare Record, and Lookup Manager of a User are available only when your SharePoint site is running SharePoint Server 2010. ► http://office.microsoft.com/en-us/sharepoint-designer- help/workflow-actions-in-sharepoint-designer-2010-a-quick- reference-guide-HA010376961.aspx Actions By Type 11
Workflow Best Practices & common Issues
► Workflow is essentially the same as writing code in a controlled environment ► Development Lifecycle – Gather requirements • High level business requirements – the business issues you are trying to address • Low level – functions required – Architecture & Design • Architecture - how the solution will be constructed at a high level • Design - low level description of how components will be built – Prototype • If requirements are fuzzy a prototype can help to iterate on a solution – Develop • Build the solution and unit test to ensure the component works in the development environment – QA Testing – • A QA or business analysts tests solution fully. Make sure to try all use cases and exercise all workflow paths to ensure workflow functions correctly. – Deploy to production – User acceptance testing – have business users test solution and validate functionality – Go Live – put into daily use – Maintenance Mode – perform entire lifecycle again for enhancements and bug fixes Software Development Lifecycle 13 10/11/2013
► Start out simple – scope creep can derail the process ► Automate as much of the process as possible with an understanding that there may be manual steps which are replaced over time ► For example – Problem • The business requirements identity the need to access an HR system to lookup the manager of a user. • This requires a large design and development effort to integrate with the HR system – Solution • Ask the user to enter their manager as part of the process • Expand the solution later to include HR system integration Requirements and Design tips 14
► Testing workflows is difficult – Multiple users involved at different levels of the business – Difficulty moving from test environment to production – Reliant on external global data such as AD settings ► Tips – Configure test users – make sure to assign an email address – Ensure you test all workflow paths – Use “log to history” action to track flow and allow debugging in a production environment – Use workflow variables to hold user names when possible to allow quickly changing from test users to real users – Use workflow variables to share email “snippets” across emails to ease maintenance of workflow Testing 15
► What user does my workflow run as? – Regular steps – runs as user who initiated the workflow – Impersonation step – runs as user who published the workflow ► Issues – Workflow can break if impersonation steps are used and account that published the workflow is deactivated – use a system account to prevent this – Very carefully plan for permissions in your workflow. Make sure you know where exactly you are getting data from and what data you are going to modify and ensure that every potential workflow user has permissions to all these objects. ► - Plan for workflow security and user management - http://technet.microsoft.com/en-us/library/ee428324.aspx ► - Declarative Workflows and User Context - http://blogs.msdn.com/b/sharepointdesigner/archive/2008/09/28/decl arative-workflows-and-user-context.aspx Security 16
► When a workflow starts – automatically or through a manual execution it runs synchronously up to the point where there is a delay - at that point it is suspended ► A suspended workflow is executed in the timer process on a schedule (default is every 5 minutes) ► Issues – To reduce the impact on the user of starting a workflow a delay action can be added early in the process to move the workflow to the timer process – A delay in the timer process can not be below the timer process scheduled delay ( default is 5 minutes) – so a delay of 1 minute can take >=5 minutes Synchronous or Asynchronous? 17
► When mixing “AND” and “OR” logic in a workflow the outcome may not be what is expected ► Designer workflow do not have parenthesis – a or b and c ► By default the statement a or b and c is evaluated as (a or b) and c ► If you want a or (b and c) – Rewrite as B and c or a – Or calculate b and c put into variable x – Then use a or x ► “Read” left to right or top to bottom in designer Logic Issues 18
► To allow debugging a workflow in production the “Log to history list” action should be used at key places in the workflow. ► Messages passed to this action will be visible in the workflow details screen. Debugging 19
Debugging (Log Example) 20
► Workflow history is a “hidden” list that is created on the sites that have workflow ► The list holds the workflow history and is used to populate the “workflow information” screen ► To access the list add “Lists/Workflow%20History/AllItems.aspx” to the site URL. – For example, if the site is http://test.dev.edgewater.com/test then the history URL is http://test.dev.edgewater.com/test/Lists/Workflow%20History/AllItems.aspx ► By default, a timer job removes data from this list after 60 days. ► If you want to keep the History List for an extended time, you can update the settings in Central Administration>Operations>Global Configuration>Timer Job Definitions.( http://technet.microsoft.com/en- us/library/ee662522(v=office.14).aspx) ► Not intended to be used as permanent audit log Workflow History 21
What’s new in SharePoint 2013
► Adds a new workflow engine (based on Azure) – 2010 engine is still available – Requires additional setup steps to install – Must choose version when creating a new workflow New Features 23
New Features ► 2013 Workflow Features – More powerful workflow constructs including • Looping • “Goto” a stage • Start a workflow – including 2010 workflows • Call web service • Dictionary type to hold collection of name/value pairs 24
Limitations ► No more Visual Studio Workflows with code – only declarative – Call web services for custom code ► No more InfoPath forms – just Asp.Net forms ► Reusable workflow cannot be tied to a Content Type ► Relies more on calling SharePoint REST API to integrate with SharePoint ► Discontinued features (highlighted) – Actions: • Add List Item • Inherit List Item Parent Permissions • Remove List Item Permissions • Replace List Item Permissions • Collect Data from a User • Start Approval Process • Start Custom Task Process • Start Feedback Process – Conditions: • If current item field equals value • Check list item permission levels • Check list item permissions – Steps: • Impersonation Step – Data sources: • User Profile lookup – Other features: • Visio integration • Association Column • 'Require Manage List/Web Permission' feature for list/site workflow 25
Discontinued Features – full list ► Discontinued Features – Actions: • Stop Workflow • Capture a Version of the Document Set • Send Document Set to Repository • Set Content Approval Status for the Document Set • Start Document Set Approval Process • Declare Record • Set Content Approval Status • Undeclare Record • Add List Item • Inherit List Item Parent Permissions • Remove List Item Permissions • Replace List Item Permissions • Lookup Manager of a User • Assign a Form to a Group • Assign a To-Do Item • Collect Data from a User • Start Approval Process • Start Custom Task Process • Start Feedback Process • Copy List Item (SharePoint Designer 2013 supports only the document-copying action.) – Conditions: • If current item field equals value • Check list item permission levels • Check list item permissions – Steps: • Impersonation Step – Data sources: • User Profile lookup – Other features: • Visio integration • Association Column • Content Type Association for reusable workflow • 'Require Manage List/Web Permission' feature for list/site workflow • Globally reusable workflow type • Workflow visualization option 26
► Copy and Past support for actions and steps for both 2010 and 2013 workflows – Both within a workflow and between workflows, and across sites ► Support for new 2013 workflows New Features of SharePoint Designer 2013 27
Demo – Vacation Request
► Employee’s manager must approve vacation requests from employees and HR should be notified when a vacation request is approved ► Flow – Employee enters request – Approval task assigned to manager (can use AD manager lookup) – If manager approves • Notification sent to HR • Notification sent to Employee • Vacation added to department calendar – If rejected • Notification sent to Employee who can update and re-submit Business Issue 29 10/11/2013
► Create custom URL to “new vacation request” which includes return URL (http://crmvm/demo/Lists/Vacation%20Request/NewForm.aspx?RootFolder=%2Fdemo %2FLists%2FVacation%20Request&source=http%3A%2F%2Fcrmvm%2Fdemo) ► “Start Approval Process” action handles approval process with tasks, emails, and reminders ► Lookup Manager can be used if AD and profile sync is configured correctly ► Functionality broken into separate steps to improve maintainability and readability of workflow Highlights 30
Questions

Edgewater Consulting Mastering SharePoint Designer Workflows

  • 1.
  • 2.
    ► Introduction toEdgewater ► Types of Workflows ► Workflow Best Practices & Common Issues ► What’s new in SharePoint 2013 ► Workflow Demo Contents 2
  • 3.
    ► Founded in1992 ► Focus on upper-middle and global 2000 markets ► Nearly 400 employees ► 800+ clients ► 3,100+ projects completed to date ► Large North American footprint – New UK presence ► Publicly traded (NASDAQ: EDGW) – Public in 1996 (STAF) – Reverse IPO in 2000 (EDGW) ► Co-founders still with the Company Edgewater Corporate Overview 3
  • 4.
    SharePoint – Servicesand Solutions ► Strategy and roadmap ► Health check ► Migration planning ► Migration ► Implementation ► Governance Framework ► Analytics ► Ongoing Support Services ► Collaboration / Communities ► Document Management ► Project Management ► Portals – Intranet – Extranet ► Forms and Workflows ► Search ► Web Content Management ► Business Intelligence 4
  • 5.
  • 6.
  • 7.
    ► SharePoint hasthe following types of workflows – SharePoint Designer • Supports only sequential workflows • Types – List Workflow – Reusable Workflow – Site Workflow – Visual Studio • Custom code-based workflows • Deploy as a WSP file to a farm • Supports sequential and state machine workflows Type of Workflows 7
  • 8.
    ► Simplest workflowto create ► Workflow is tied directly to a list or document library ► Cannot be re-used for other lists ► Cannot be published globally. ► Cannot be saved as a template (WSP). ► Cannot be associated with a content type. ► Cannot be exported easily Designer – List workflow 8
  • 9.
    ► Not requiredto be linked to a specific list or content type – Similar to built in workflows ► Can be published Globally which allows the workflow to be used in all sub-sites in site collection – Must be created at top level site and user must be an site admin at top level ► Can be saved as a Template which will create a WSP file in the SiteAssets library ► WSP File Can be imported into Visual Studio - for more advanced options - one-way trip – cannot go back to designer ► Can be associated with a Content type or a list Designer - Reusable workflow 9
  • 10.
    ► A workflowthat runs at the site level – not linked to a list or content type ► Does not have a current item ► Execute from “All Site Content” page on the site Designer – Site workflow 10
  • 11.
    ► Some actionsare only available in certain workflow types or steps and not supported in foundation. The following link describes all the actions, what they do, and when they are available. ► For example, – “Add List Item Permissions” is only available in an impersonations step – Actions such as Start Approval Process, Declare Record, and Lookup Manager of a User are available only when your SharePoint site is running SharePoint Server 2010. ► http://office.microsoft.com/en-us/sharepoint-designer- help/workflow-actions-in-sharepoint-designer-2010-a-quick- reference-guide-HA010376961.aspx Actions By Type 11
  • 12.
    Workflow Best Practices& common Issues
  • 13.
    ► Workflow isessentially the same as writing code in a controlled environment ► Development Lifecycle – Gather requirements • High level business requirements – the business issues you are trying to address • Low level – functions required – Architecture & Design • Architecture - how the solution will be constructed at a high level • Design - low level description of how components will be built – Prototype • If requirements are fuzzy a prototype can help to iterate on a solution – Develop • Build the solution and unit test to ensure the component works in the development environment – QA Testing – • A QA or business analysts tests solution fully. Make sure to try all use cases and exercise all workflow paths to ensure workflow functions correctly. – Deploy to production – User acceptance testing – have business users test solution and validate functionality – Go Live – put into daily use – Maintenance Mode – perform entire lifecycle again for enhancements and bug fixes Software Development Lifecycle 13 10/11/2013
  • 14.
    ► Start outsimple – scope creep can derail the process ► Automate as much of the process as possible with an understanding that there may be manual steps which are replaced over time ► For example – Problem • The business requirements identity the need to access an HR system to lookup the manager of a user. • This requires a large design and development effort to integrate with the HR system – Solution • Ask the user to enter their manager as part of the process • Expand the solution later to include HR system integration Requirements and Design tips 14
  • 15.
    ► Testing workflowsis difficult – Multiple users involved at different levels of the business – Difficulty moving from test environment to production – Reliant on external global data such as AD settings ► Tips – Configure test users – make sure to assign an email address – Ensure you test all workflow paths – Use “log to history” action to track flow and allow debugging in a production environment – Use workflow variables to hold user names when possible to allow quickly changing from test users to real users – Use workflow variables to share email “snippets” across emails to ease maintenance of workflow Testing 15
  • 16.
    ► What userdoes my workflow run as? – Regular steps – runs as user who initiated the workflow – Impersonation step – runs as user who published the workflow ► Issues – Workflow can break if impersonation steps are used and account that published the workflow is deactivated – use a system account to prevent this – Very carefully plan for permissions in your workflow. Make sure you know where exactly you are getting data from and what data you are going to modify and ensure that every potential workflow user has permissions to all these objects. ► - Plan for workflow security and user management - http://technet.microsoft.com/en-us/library/ee428324.aspx ► - Declarative Workflows and User Context - http://blogs.msdn.com/b/sharepointdesigner/archive/2008/09/28/decl arative-workflows-and-user-context.aspx Security 16
  • 17.
    ► When aworkflow starts – automatically or through a manual execution it runs synchronously up to the point where there is a delay - at that point it is suspended ► A suspended workflow is executed in the timer process on a schedule (default is every 5 minutes) ► Issues – To reduce the impact on the user of starting a workflow a delay action can be added early in the process to move the workflow to the timer process – A delay in the timer process can not be below the timer process scheduled delay ( default is 5 minutes) – so a delay of 1 minute can take >=5 minutes Synchronous or Asynchronous? 17
  • 18.
    ► When mixing“AND” and “OR” logic in a workflow the outcome may not be what is expected ► Designer workflow do not have parenthesis – a or b and c ► By default the statement a or b and c is evaluated as (a or b) and c ► If you want a or (b and c) – Rewrite as B and c or a – Or calculate b and c put into variable x – Then use a or x ► “Read” left to right or top to bottom in designer Logic Issues 18
  • 19.
    ► To allowdebugging a workflow in production the “Log to history list” action should be used at key places in the workflow. ► Messages passed to this action will be visible in the workflow details screen. Debugging 19
  • 20.
  • 21.
    ► Workflow historyis a “hidden” list that is created on the sites that have workflow ► The list holds the workflow history and is used to populate the “workflow information” screen ► To access the list add “Lists/Workflow%20History/AllItems.aspx” to the site URL. – For example, if the site is http://test.dev.edgewater.com/test then the history URL is http://test.dev.edgewater.com/test/Lists/Workflow%20History/AllItems.aspx ► By default, a timer job removes data from this list after 60 days. ► If you want to keep the History List for an extended time, you can update the settings in Central Administration>Operations>Global Configuration>Timer Job Definitions.( http://technet.microsoft.com/en- us/library/ee662522(v=office.14).aspx) ► Not intended to be used as permanent audit log Workflow History 21
  • 22.
    What’s new inSharePoint 2013
  • 23.
    ► Adds anew workflow engine (based on Azure) – 2010 engine is still available – Requires additional setup steps to install – Must choose version when creating a new workflow New Features 23
  • 24.
    New Features ► 2013Workflow Features – More powerful workflow constructs including • Looping • “Goto” a stage • Start a workflow – including 2010 workflows • Call web service • Dictionary type to hold collection of name/value pairs 24
  • 25.
    Limitations ► No moreVisual Studio Workflows with code – only declarative – Call web services for custom code ► No more InfoPath forms – just Asp.Net forms ► Reusable workflow cannot be tied to a Content Type ► Relies more on calling SharePoint REST API to integrate with SharePoint ► Discontinued features (highlighted) – Actions: • Add List Item • Inherit List Item Parent Permissions • Remove List Item Permissions • Replace List Item Permissions • Collect Data from a User • Start Approval Process • Start Custom Task Process • Start Feedback Process – Conditions: • If current item field equals value • Check list item permission levels • Check list item permissions – Steps: • Impersonation Step – Data sources: • User Profile lookup – Other features: • Visio integration • Association Column • 'Require Manage List/Web Permission' feature for list/site workflow 25
  • 26.
    Discontinued Features –full list ► Discontinued Features – Actions: • Stop Workflow • Capture a Version of the Document Set • Send Document Set to Repository • Set Content Approval Status for the Document Set • Start Document Set Approval Process • Declare Record • Set Content Approval Status • Undeclare Record • Add List Item • Inherit List Item Parent Permissions • Remove List Item Permissions • Replace List Item Permissions • Lookup Manager of a User • Assign a Form to a Group • Assign a To-Do Item • Collect Data from a User • Start Approval Process • Start Custom Task Process • Start Feedback Process • Copy List Item (SharePoint Designer 2013 supports only the document-copying action.) – Conditions: • If current item field equals value • Check list item permission levels • Check list item permissions – Steps: • Impersonation Step – Data sources: • User Profile lookup – Other features: • Visio integration • Association Column • Content Type Association for reusable workflow • 'Require Manage List/Web Permission' feature for list/site workflow • Globally reusable workflow type • Workflow visualization option 26
  • 27.
    ► Copy andPast support for actions and steps for both 2010 and 2013 workflows – Both within a workflow and between workflows, and across sites ► Support for new 2013 workflows New Features of SharePoint Designer 2013 27
  • 28.
  • 29.
    ► Employee’s managermust approve vacation requests from employees and HR should be notified when a vacation request is approved ► Flow – Employee enters request – Approval task assigned to manager (can use AD manager lookup) – If manager approves • Notification sent to HR • Notification sent to Employee • Vacation added to department calendar – If rejected • Notification sent to Employee who can update and re-submit Business Issue 29 10/11/2013
  • 30.
    ► Create customURL to “new vacation request” which includes return URL (http://crmvm/demo/Lists/Vacation%20Request/NewForm.aspx?RootFolder=%2Fdemo %2FLists%2FVacation%20Request&source=http%3A%2F%2Fcrmvm%2Fdemo) ► “Start Approval Process” action handles approval process with tasks, emails, and reminders ► Lookup Manager can be used if AD and profile sync is configured correctly ► Functionality broken into separate steps to improve maintainability and readability of workflow Highlights 30
  • 31.