SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

59
#SPFestDC @pgbhoyar Advanced Office365-SharePoint Online Workflows Prashant G Bhoyar (PGB) SharePoint Fest DC 2016 28 April 2016

Transcript of SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

Page 1: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

Advanced Office365-SharePoint Online

Workflows

Prashant G Bhoyar (PGB)

SharePoint Fest DC 2016

28 April 2016

Page 2: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

2

• Senior Consultant at Portal Solutions

• Born and raised in India

• Came to United States of America in 2007 for studies

• University of Maryland College Park Alumni

• Technical Reviewer of the book “Pro : SharePoint 2013 Administration”

• Organizer of SharePoint Saturday Baltimore (SPSBMORE)

• Founder and Organizer of DC-Metro Office 365 User Group Monthly in person & online event

http://www.meetup.com/DC-Metro-Office-365-User-Group/

• Recipient of Antarctic Service Medal

Who AM I ?

Prashant G Bhoyar (PGB)

Page 3: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

Amazing Antarctica Adventure – November/December 2008

Page 4: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

Amazing Antarctica Adventure – November/December 2008

• McMurdo Station, Antarctica (US Government Station)

• 1000-1100 people stays during Antarctic Summer (November to February)

Page 5: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

About Portal Solutions

We deliver Digital

Workplace Products

and Solutions that help

organizations share

what they know and

find what they need by

connecting people,

data, and content.

5

Page 6: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

OneWindow Workplace

• OneWindow Is Built On Office 365 and Microsoft Azure

• Available for Office 365 and SharePoint Hybrid environment

OneWindow

YammerSharePoint

OnlineSkype For Business Office Groups Office Graph/Delve

VideosOneDrive for

Business

OneWindow APIs

Planner

Analytics

Page 7: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

What Do You Get With OneWindow Workplace?7

Amazing Experiences

• News

• Workspaces

• Knowledge Discovery

• People Directory

• Search

• Activity Feeds

• Tools and Apps

• Widgets

Platform

• Integration

• Lync/Skype

• Yammer

• OneDrive

• Office Graph

• Office Groups

• SharePoint

• Videos

• Analytics and

Personalization

Access Anywhere

• Responsive

• Native applications

(Mobile, Windows 10)

Page 8: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

Next Steps

8

Interested in assessing if OneWindow Workplace

is right for you?

Let’s talk. Click here or go to http://www.onewindowapp.com to learn more.

Page 9: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

Upcoming Local Speaking Engagements

• Northern Virginia (NOVA) Code Camp – 30th April 2016

https://nvite.com/novacodecamp/adbb

• SharePoint User Group of DC (SUGDC) –12th May 2016

http://www.meetup.com/SUG-DC/

• Capital Area .NET SharePoint Special Interest Group Meetup -

18th May 2016

http://www.meetup.com/CapArea-NET-SPSIG/events/229709059/

• Federal SP User Group (FEDSPUG) – 19th May 2016

http://www.meetup.com/fedspug-wspdc/

9

Page 10: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

• Intro of Office 365 / SharePoint Online Workflows

• Architectural changes in SP2013 workflows

• Key Differences between SharePoint 2013 and SharePoint 2010 style workflows

• Common Business Scenarios

• Throttling Limits in Office 365

• Visual Studio Workflows

• Best Practices/ Limitations

Agenda

Page 11: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

Page 12: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

Audience Poll

• How many of you are IT pros?

• How many of you are Developers?

• How many of you are Power Users?

• How many of you are End Users?

• How many of you develop/manages/maintains the

workflows?

12

Page 13: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

Page 14: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

14

How to get Personal Office 365

Development Tenant?

Sign up for Office 365 Developer

Program at http://dev.office.com/

Get 1 year of Office 365 subscription

for free

Excellent for personal development

use

1 seat only

Page 15: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

15

How to get Office 365 Demo Tenants

Tenant?

Login at https://www.microsoftofficedemos.com/Loginusing your partner account

Get 3 months of Office 365 subscription for free

Excellent for rapid client demos

More than 20 Seats

Customer Immersion Experience (CIE) is also an option

Formerly called as MEC

1 Month Trial E3, E5

https://products.office.com/en-us/business/compare-office-365-for-business-plans

Page 16: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

Page 17: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

Helps to Automate Business Processes

Helps to meet the Industry Standards

Helps Organizations to function Effectively

Important for success of SharePoint/Office 365

sites Implementations

17

What are Workflows?

Page 18: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

Page 19: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

Types of Workflows

Sequential State Machine

• Activities occur in sequence

• On rejection , begin from start

• Simple Business Processes example, Leave Request

• Activities are not sequential

• Can by pass activities based on business logic

• Complex business processes example, Financial Aid

Page 20: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

Typical SharePoint Workflow Life Cycle

Initiation

• When the workflow is started on list/library item

Running• User Interaction via tasks

• Status page reflects the status of the workflows

Termination • End of the workflow instance

Association

• When the workflow is associated with List/Library

Page 21: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

• Browser

• SharePoint 2013 Designer

• Visio 2013

• Visual Studio 2012/2013/2015

• Third Party Tools

Office 365 /SharePoint

Online Workflow Tools

Page 22: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

22

• The development/testing experience is

slow

Because of platform’s architecture

In general Workflow development is slow

process

Analogy : Public Transportation System

• Difficult to gather all the requirements

before start of the development

Be ready for multiple revisions

Workflow development/maintenance

Page 23: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

Architecture of SharePoint 2013/2016 Workflows

23

Page 24: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

SP2013 workflows are fully declarative

SP2013 workflows are no longer compiled into .NET assemblies instead XAML files defines workflow and their execution No more custom code

Build WebServices for custom business logic

SP2013 workflows are available in Office 365/ SharePoint Online

There are no tools available to convert SP2010 Style workflows to SP2013 style workflows Only option is manual….

24

New SharePoint 2013/2016 Workflows Architecture

Page 25: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

How does the workflow run in SP2013/2016?

Workflow

Instance

Starts

SP2010

Style

Workflow?

Use SP2010

Workflow Engine

Use New

Workflow

Manager

Workflow

Instance Executes

Workflow Instance Ends

Workflow

Instance Executes

YesNo

Page 26: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

What will happen during migration?

Existing Workflow

in SP2010

Migration to

SP2013 On

Premise

Migration to

SP2016 on Premise

Migration to Office

365/ SharePoint

Online

SharePoint Designer

2010 Workflows

Run as SP2010 Style

Workflows

Run as SP2010 Style

Workflows

Run as SP2010 Style

Workflows

OOTB Workflows Run as SP2010 Style

Workflows

Run as SP2010 Style

Workflows

Run as SP2010 Style

Workflows

Full trust Visual

Studio Workflows

Run as SP2010 Style

Workflows

Run as SP2010 Style

Workflows

Can not migrate

Third Party SP2010

Workflows

Check with Vendor Check with Vendor Check with Vendor

Page 27: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

What will happen during migration?

Existing Workflow in SP2013 Migration to SP2016 on

Premise

Migration to Office 365/

SharePoint Online

SharePoint 2013 Designer

Workflows created as SP2013

Style Workflows

Run as SP2013 Style Workflows

(Provided workflow manager is

installed and configured)

Run as SP2013 Style Workflows

SharePoint 2013 Designer

Workflows created as SP2010

Style Workflows

Run as SP2010 Style Workflows Run as SP2010 Style Workflows

SharePoint 2013 Workflows

created as App

Run as SP2013 Style

Workflows/Workflow as App

(Provided workflow manager is

installed and configured)

Run as SP2013 Style

Workflows/Workflow as App

Third Party Workflows Check with Vendor Check with Vendor

Page 28: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

28

How to identify SP2010 style and SP2013

style workflows?

List Settings -> Workflow Settings

Site Workflows -> Site Administration

->Workflow Settings

Page 29: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

Page 30: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

Key Differences between SP2013 & SP2010 Style Workflows

SharePoint 2010 Style Workflows SharePoint 2013 Style Workflows

• Uses SharePoint 2010 Workflow Host

• Impersonation Step

• OOTB Visualization of Workflows

• No loops, stages in Designer WFs

• Custom task forms are InfoPath forms

• Can capture Approval comments OOTB

• Uses Workflow Manager

• App Step

• Need to create custom solution

• Looping, stages are present

• Custom task forms are .aspx pages

• Need to implement custom solution

Page 31: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

Page 32: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

How to capture approval comments?

• Not available OOTB in Task process

• High level steps

Create a new site column of type text to capture the approval comments

Create a new task content type and add the newly created site column

In the task process, use the custom task content type

In the task list, create a workflow either using SharePoint Designer 2013 or Visual Studio to update the approval comments in the workflow host (list item, document or document set).

This workflow will get the information about the workflow host from the “Related Items” field.

Page 33: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

33

• Information about associated Item we select in the Task Process

• Saves in the Information in Jason Format

[{"ItemId":5,"WebId":"3409b5b9-7fea-49b9-a325-63c730a63a96","ListId":"9e6939fa-bf53-4021-91bb-b73bed0efa39"}] ItemID

WebId

ListId

• We can retrieve the “ItemId” from the related items and use it to update/email captured comments

What are related Items?

Page 34: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

Page 35: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

Page 36: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

User Experience

Task Process Custom SharePoint Forms

• User Interaction via Tasks

• Not a good user experience

• Provides the ability to send reminders

• Lot of OOTB webparts/options are available to aggregate the tasks

• User Interaction via Custom Forms

• Can provide good user experience

• All the data is at same place

• Need to implement the custom logic to send reminders

Page 37: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

Page 38: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

Throttling Limits in Office 365

• In Office 365 workflow manager has strict throttling limits for

SharePoint 2013 Style workflows

• The instance has exceeded the outbound http request quota for a

1.00:00:00 time period. The 5000 request limit was reached in <time>.

Analogy credit score

• Workflow instances can get suspended and we need to wait 24

hours to resume the suspended workflow instance by

clicking Resume for the workflow or

by using the SharePoint Workflow Client Object Model

• Suspended workflow instances will be terminated after 10 days.

Page 39: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

Throttling Limits in Office 365

• There is no OOTB email alert if the workflow get suspended

• We can find the suspended workflows on the page

/_layouts/15/WorkflowServiceHealth.aspx

• If we develop workflow as an “App” these throttling limitations

does not apply

Page 40: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

Throttling Limits in Office 365

Page 41: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

Throttling Limits in Office 365 – Design Consideration

• Avoid infinite loops

We may use “Wait for field change in current item”

• Avoid using a workflow to execute complex algorithms

Workflows are intended to manage document-driven, human

processes and not to dispatch significant computational tasks.

• Avoid the use of the “Wait for Event in List Item" activity

Page 42: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

What do we say when we are thinking about adding infinite

loops in the workflow in Office365?

NOT TODAY!!!!!

Image Source : http://gameofthrones.wikia.com/wiki/Syrio_Forel

Page 43: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

Page 44: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

Tips for developing maintainable custom workflows

• Naming Convention for Custom Workflows

Use the naming convention that works best for you and your

organization

For example, List or Library + ListName + Purpose

• Use activity “Add a comment” to write informative comments in

the workflow

End users will not see these comments unlike workflow history list

logs

Page 45: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

Tips for developing maintainable custom workflows

• Do not modify the OOTB global workflows

Create copy and then modify

• Log information in the History List

Log variables, important info that will be helpful during

debugging/troubleshooting

End users can see the logs

• Create custom task content types for tasks with only one

logical outcome

Page 46: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

Tips for developing maintainable custom workflows

• Use new Task List and History list for each workflow

To create the new tasks list and history list, we can use

Workflow Settings page

SharePoint Designer

SharePoint UI

OOTB “Workflow Tasks” List has additional notifications

To turn off -> List Settings – Advanced Settings -> Uncheck “Send e-mail

when ownership is assigned?”

Page 47: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

Tips for developing maintainable custom workflows

• Don’t create the variable if you don’t have to

50 is the limit

• Use SharePoint groups to assign the tasks/send emails instead of

individual users

• Keep workflow initiation activity to minimum

Page 48: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

Tips for developing maintainable custom workflows

• Capture the dates of various approval steps

Good for generating audit logs

• Save the Workflow status in a separate field

Avoid default workflow name

Helps if you divide workflows into multiple workflows

• Create a separate Workflow status field as text

Gives the ability of filtering and sorting

Approvers love this option

Page 49: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

Tips for developing maintainable custom workflows

• Pay extra attention while modifying the Custom Task content

types

Task outcome field must be the last field

• Review the workflow starting logic

Limit how many times the workflow gets started

Make sure they won’t start unnecessarily after the workflow is ended

successfully

• Restrict the access

Page 50: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

Tips for developing maintainable custom workflows?

• If possible Break down the workflows in multiple WFs

Helps a lot in development and maintenance

We can start SharePoint 2010 workflows from SharePoint 2013 only

We can not start SharePoint 2013 workflows from SharePoint 2013

workflows

You can use “Wait for field change in current item” to trigger the

workflows

• For large lists, don’t remove the workflow, but set to no new

instance

Do it in non business hours

Page 51: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

Tips for developing maintainable custom workflows

• Implement the logic to stop/start at a particular stage

Super helpful in case the workflow instance terminates

Super helpful during migration (For on premise customers)

Helpful to update the business logic

• Using If condition and a custom variable, we can pick and choose the additional logging

Similar to #if debug directive in C#

The workflow will be long, but it can save a lot of troubleshooting/development time

End users will not see additional comments in Production

Page 52: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

Page 53: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

53

SharePoint 2013 Workflows Using Visual

Studio 2012

Full access to the Workflow Foundation in .NET Framework 4.5

Supports deployment as full trust solutions, Sandbox Solutions as well as SP Apps

You can use Source Control

Create Custom Activities

Create Custom Forms for workflows

Set Breakpoints on Activities

Page 54: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

Page 55: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

Page 56: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

56

Limitations

We can not start workflows on delete event

50 variable limit

No source control

String functions are limited

For advance implementations you will need to involve devs/architects

You can not start the workflows on Task lists whenever new tasks gets created by SP2013 style workflows Workaround : Create SP2010 style workflow

in Task List

Page 57: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

Page 58: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

SharePint

Image Source :http://iscreamsundae.com/some-of-the-best-game-of-thrones-dialogues/

Page 59: SharePoint Fest DC 2016_Advanced Office365 SharePoint Online Workflows

#SPFestDC @pgbhoyar

Questions? Feedback? Contact me:

Twitter: @PGBhoyar

Blog: http://pgbhoyar.com (limited contents)

Email: [email protected]

Feedback : Please provide feedback

Email or

Session Evaluations or

Anonymous Suggestions: https://www.suggestionox.com/r/pgb

Thank You

Organizers, Sponsors and You for Making this Possible.