Future Proofing your Workflow Investment How to Develop Maintainable Custom Workflows in Office365...

31
#Collab365 @pgbhoyar Future Proofing Your Workflow Investment - How to develop maintainable custom workflows in Office 365SharePoint Online? Prashant G Bhoyar (PGB) Collab365 20 October 2016

Transcript of Future Proofing your Workflow Investment How to Develop Maintainable Custom Workflows in Office365...

Page 1: Future Proofing your Workflow Investment How to Develop Maintainable Custom Workflows in Office365 Sharepoint Online

#Collab365 @pgbhoyar

Future Proofing Your Workflow Investment

- How to develop maintainable custom

workflows in Office 365SharePoint Online?

Prashant G Bhoyar (PGB)

Collab365

20 October 2016

Page 2: Future Proofing your Workflow Investment How to Develop Maintainable Custom Workflows in Office365 Sharepoint Online

#Collab365 @pgbhoyar

2

• 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

• Senior Consultant at Portal Solutions

Who AM I ?

Prashant G Bhoyar (PGB)

Page 3: Future Proofing your Workflow Investment How to Develop Maintainable Custom Workflows in Office365 Sharepoint Online

#Collab365 @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.

3

Page 4: Future Proofing your Workflow Investment How to Develop Maintainable Custom Workflows in Office365 Sharepoint Online

#Collab365 @pgbhoyar

OneWindow Capabilities –

Modern Intranet Out-of-the Box

Social and Mobile

experience

Collaborative workspaces

(public or private,

communities or projects)

People directory and

gateway to other

applications (my apps)

Stories and corporate

communication

publishing

Page 5: Future Proofing your Workflow Investment How to Develop Maintainable Custom Workflows in Office365 Sharepoint Online

#Collab365 @pgbhoyar

OneWindow Workplace

• Built on and for 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 6: Future Proofing your Workflow Investment How to Develop Maintainable Custom Workflows in Office365 Sharepoint Online

#Collab365 @pgbhoyar

Next Steps

6

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 7: Future Proofing your Workflow Investment How to Develop Maintainable Custom Workflows in Office365 Sharepoint Online

#Collab365 @pgbhoyar

• Future

• Tips for writing maintainable

workflows

• Throttling Limits in Office 365

• Limitations of SharePoint

Workflows

• Q&A

Agenda

Page 8: Future Proofing your Workflow Investment How to Develop Maintainable Custom Workflows in Office365 Sharepoint Online

#Collab365 @pgbhoyar

Typical SharePoint Workflow Life Cycle

Initiation

• When the workflow instance 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 9: Future Proofing your Workflow Investment How to Develop Maintainable Custom Workflows in Office365 Sharepoint Online

#Collab365 @pgbhoyar

• Browser

• SharePoint 2013 Designer

• Visio 2013

• Visual Studio 2012/2013/2015

• Third Party Tools

• Flow/Logic Apps

Office 365 /SharePoint

Online 2013 Workflow

Tools

Page 10: Future Proofing your Workflow Investment How to Develop Maintainable Custom Workflows in Office365 Sharepoint Online

#Collab365 @pgbhoyar

Page 11: Future Proofing your Workflow Investment How to Develop Maintainable Custom Workflows in Office365 Sharepoint Online

#Collab365 @pgbhoyar

Recent Announcements

• There will NOT be SharePoint Designer 2016 http://sharepoint-community.net/forum/topics/what-s-happening-to-sharepoint-designer-in-

sharepoint-2016-is-it

• Microsoft Flow https://powerapps.microsoft.com/en-us/blog/introducing-microsoft-flow-and-announcing-the-

public-preview-of-powerapps/

11

Page 12: Future Proofing your Workflow Investment How to Develop Maintainable Custom Workflows in Office365 Sharepoint Online

#Collab365 @pgbhoyar

What does this mean?

• SharePoint Workflows most probably will have same fate as InfoPath forms services

Microsoft will continue to support

No future enhancements

• Time to explore other options

Microsoft Flow Under Preview https://flow.microsoft.com

Visual Studio Workflows Can deploy them only as “App”

Other Third Party Products

12

Page 13: Future Proofing your Workflow Investment How to Develop Maintainable Custom Workflows in Office365 Sharepoint Online

#Collab365 @pgbhoyar

Page 14: Future Proofing your Workflow Investment How to Develop Maintainable Custom Workflows in Office365 Sharepoint Online

#Collab365 @pgbhoyar

14

• 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

Lessons Learned

Page 15: Future Proofing your Workflow Investment How to Develop Maintainable Custom Workflows in Office365 Sharepoint Online

#Collab365 @pgbhoyar

Page 16: Future Proofing your Workflow Investment How to Develop Maintainable Custom Workflows in Office365 Sharepoint Online

#Collab365 @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 17: Future Proofing your Workflow Investment How to Develop Maintainable Custom Workflows in Office365 Sharepoint Online

#Collab365 @pgbhoyar

Tips for developing maintainable custom workflows

• Have flow chart of the workflow handy Use Microsoft Visio

Pen and Paper works too

• Implement the logic to stop/start at a particular stage Super helpful in case the workflow instance gets terminated

Super helpful during migration

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 18: Future Proofing your Workflow Investment How to Develop Maintainable Custom Workflows in Office365 Sharepoint Online

#Collab365 @pgbhoyar

Tips for developing maintainable custom workflows

• Save the Workflow status in a separate field

Avoid default workflow name

Helps to divide workflow into multiple workflows

• Create a separate Workflow status field as text

Gives the ability of filtering and sorting Approvers love this option

• Capture the dates of various approval steps

Helps to generate audit logs/reports

Page 19: Future Proofing your Workflow Investment How to Develop Maintainable Custom Workflows in Office365 Sharepoint Online

#Collab365 @pgbhoyar

Tips for developing maintainable custom workflows

• 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

• 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

Page 20: Future Proofing your Workflow Investment How to Develop Maintainable Custom Workflows in Office365 Sharepoint Online

#Collab365 @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 21: Future Proofing your Workflow Investment How to Develop Maintainable Custom Workflows in Office365 Sharepoint Online

#Collab365 @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 22: Future Proofing your Workflow Investment How to Develop Maintainable Custom Workflows in Office365 Sharepoint Online

#Collab365 @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

Page 23: Future Proofing your Workflow Investment How to Develop Maintainable Custom Workflows in Office365 Sharepoint Online

#Collab365 @pgbhoyar

Tips for developing maintainable custom workflows

• Create custom task content types for tasks with only one logical

outcome

• Pay extra attention while modifying the Custom Task content

types

Task outcome field must be the last field

• Restrict the access

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

instance

Do it in non business hours

Page 24: Future Proofing your Workflow Investment How to Develop Maintainable Custom Workflows in Office365 Sharepoint Online

#Collab365 @pgbhoyar

Page 25: Future Proofing your Workflow Investment How to Develop Maintainable Custom Workflows in Office365 Sharepoint Online

#Collab365 @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.

Source : https://support.microsoft.com/en-us/kb/3076399

Page 26: Future Proofing your Workflow Investment How to Develop Maintainable Custom Workflows in Office365 Sharepoint Online

#Collab365 @pgbhoyar

Throttling Limits in Office 365

• The resource limitations are for per workflow in a site collection in the span of 24 hours

• 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 27: Future Proofing your Workflow Investment How to Develop Maintainable Custom Workflows in Office365 Sharepoint Online

#Collab365 @pgbhoyar

Throttling Limits in Office 365

Page 28: Future Proofing your Workflow Investment How to Develop Maintainable Custom Workflows in Office365 Sharepoint Online

#Collab365 @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

Source : https://support.microsoft.com/en-us/kb/3076399

Page 29: Future Proofing your Workflow Investment How to Develop Maintainable Custom Workflows in Office365 Sharepoint Online

#Collab365 @pgbhoyar

Page 30: Future Proofing your Workflow Investment How to Develop Maintainable Custom Workflows in Office365 Sharepoint Online

#Collab365 @pgbhoyar

30

Limitations

We can not start workflows on delete event

50 variable limit

No source control for SPD workflows

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 31: Future Proofing your Workflow Investment How to Develop Maintainable Custom Workflows in Office365 Sharepoint Online

#Collab365 @pgbhoyar

Questions? Feedback? Contact me:

Twitter: @PGBhoyar

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

Email: [email protected]

Feedback : Please provide feedback

Conference Link

Email or

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

Thank You

Organizers, Sponsors and You for Making this Possible.