+ All Categories
Home > Technology > Developing Reusable Workflow Features (SPS Richmond)

Developing Reusable Workflow Features (SPS Richmond)

Date post: 14-Dec-2014
Category:
Upload: mike-oryszak
View: 706 times
Download: 2 times
Share this document with a friend
Description:
 
Popular Tags:
35
Developing Reusable Workflow Features SharePoint Saturday Richmond Mike Oryszak http://www.mikeoryszak.com November 5, 2011
Transcript
Page 1: Developing Reusable Workflow Features (SPS Richmond)

Developing Reusable Workflow Features

SharePoint Saturday RichmondMike Oryszak

http://www.mikeoryszak.com

November 5, 2011

Page 2: Developing Reusable Workflow Features (SPS Richmond)

• Practice Manager with Intellinet• Microsoft SharePoint Server MVP• Dev and Architect with MS stack since 1996• Working with SharePoint since 2002• Raleigh-Durham, NC Area since 1998

About Me

Page 3: Developing Reusable Workflow Features (SPS Richmond)

• Approach and Goals• Overview on Creating Custom Actions• Example 1 – Budget Approval Limits• Example 2 – Out of Office Delegation• Additional Examples• Wrap-up and Questions

Session Overview

Page 4: Developing Reusable Workflow Features (SPS Richmond)

APPROACH AND GOALSDeveloping Reusable Workflow Features

Page 5: Developing Reusable Workflow Features (SPS Richmond)

• Common Workflow Limitations– Workflows developed one at a time– Config and Admin content is localized – Silos– Maintaining data difficult, and process admin focused

Approach and GoalsCommon Workflow Limitations

Page 6: Developing Reusable Workflow Features (SPS Richmond)

• Reuse Goals– Centralize common configuration data– Leverage central farm services– Make it easier for users to maintain their data– Reduce time to create new workflows– Improve efficiency of managing workflows

Approach and GoalsWorkflow Reuse Goals

Page 7: Developing Reusable Workflow Features (SPS Richmond)

• Approaches– Take a “Portfolio Approach” to process design– Change data lookup sources from local to central

• Budget Approval Limit example• Out of Office Delegation example

– Group common functions or calls into Actions or Services• Out of Office Delegation example• Check Request example

– Leverage central services like User Profiles, BCS• Budget Approval example• Out of Office Delegation example

– Link workflows together; start workflow from another• Check Request example

Approach and GoalsRecommended Approaches

Page 8: Developing Reusable Workflow Features (SPS Richmond)

CREATING CUSTOM ACTIONSDeveloping Reusable Workflow Features

Page 9: Developing Reusable Workflow Features (SPS Richmond)

• Approaches– Leverage central services like User Profiles, BCS

• Budget Approval example• Out of Office Delegation example

– Link workflows together; start workflow from another• Check Request example

Creating Custom ActionsFull Trust Actions

Page 10: Developing Reusable Workflow Features (SPS Richmond)

• Important Namespaces– System.Workflow.ComponentModel– Microsoft.SharePoint.Workflow– Microsoft.SharePoint.WorkflowActions

• Key Dev Tasks– Change Class Def to “public partial class <Name> :

Activity” – Define Properties– Override ActivityExecutionStatus Execute– Override ActivityExecutionStatus HandleFault– Create WorkflowActions definition in Elements.xml– Register Type in web.config

Creating Custom ActionsFarm Solution Implementation

Page 11: Developing Reusable Workflow Features (SPS Richmond)

• Developed in Visual Studio• Limited to Site Collection boundaries• Does not require server admin to deploy; O365• Provides a way to create simple reusable features

Creating Custom ActionsSandboxed Actions

Page 12: Developing Reusable Workflow Features (SPS Richmond)

• Important Namespaces– Microsoft.SharePoint.Workflow– Microsoft.SharePoint.UserCode

• Key Dev Tasks– Action must return a Hashtable– Action must accept a SPUserCodeWorkflowContext as

the first argument– Create WorkflowActions definition in Elements.xml

Creating Custom ActionsSandboxed Solution Imlementation

Page 13: Developing Reusable Workflow Features (SPS Richmond)

BUDGET APPROVAL LIMITSDeveloping Reusable Workflow Features

Page 14: Developing Reusable Workflow Features (SPS Richmond)

• A common example of data needed to support an approval workflow

• Centralize the data so that it is available for multiple processes

• Leverage services like User Profile and BCS

Budget Approval LimitsOverview

Page 15: Developing Reusable Workflow Features (SPS Richmond)

Budget Approval LimitsBad Approach

Load Budget For Approver Issues:• 3 Sites, separate config lists• Separate Maintenance• Out of Sync

Page 16: Developing Reusable Workflow Features (SPS Richmond)

Budget Approval LimitsAlternative Approach

Advantages:• Central Source• Can Sync (BCS)• Distributed Management

Page 17: Developing Reusable Workflow Features (SPS Richmond)

Demo

Budget Approval Limits

Page 18: Developing Reusable Workflow Features (SPS Richmond)

OUT OF OFFICE DELEGATIONDeveloping Reusable Workflow Features

Page 19: Developing Reusable Workflow Features (SPS Richmond)

• SharePoint has no built-in Out of Office Delegation

• Great example of User Maintained config data

• Great example of leveraging User Profiles

Out of Office DelegationOverview

Page 20: Developing Reusable Workflow Features (SPS Richmond)

• Building it into each process, with localized data stored in a list on the workflow site– Process Admin Maintains it– Data stored in multiple places– Workflow steps maintained in multiple places

Out of Office DelegationBad Approach

Page 21: Developing Reusable Workflow Features (SPS Richmond)

• Out of Office Delegation Feature– User Profile Custom Attributes

• Out of Office Start Date• Out of Office End Date• Out of Office Delegation

– Custom Workflow Action• Simplifies check from SPD workflows

Out of Office DelegationAlternative Approach

Page 22: Developing Reusable Workflow Features (SPS Richmond)

Demo

Out of Office Delegation

Page 23: Developing Reusable Workflow Features (SPS Richmond)

ADDITIONAL EXAMPLESDeveloping Reusable Workflow Features

Page 24: Developing Reusable Workflow Features (SPS Richmond)

• Standard Feature Requests– Escalations– Task Reminders– Out of Office Delegation– Role Based Assignments (CFO, Ops Mgr, etc)

• Frequent Re-usable Processes– Check Request– Compliance Activity Logging

Additional Examples

Page 25: Developing Reusable Workflow Features (SPS Richmond)

• Create Reusable Sub-Processes

• Use Standard Events– New Item– Edit Item

• Can use Full Trust Actions to add/edit items between site collections

Additional ExamplesInitiating Another Workflow

Page 26: Developing Reusable Workflow Features (SPS Richmond)

• Check Request is an example of a process that may be initiated from multiple processes

• Could be built into each process, or separated into a separate “sub-process” for reuse

Check Request WorkflowOverview

Page 27: Developing Reusable Workflow Features (SPS Richmond)

Check Request WorkflowBad Approach

Issues:• Same process steps• AP users have tasks in x

sites• Multiple places to update if

process changes• Process owners may not

understand other uses

Page 28: Developing Reusable Workflow Features (SPS Richmond)

Check Request WorkflowSub-Process Approach

Advantages:• Std process on AP site• Easy access for AP users• Easy to maintain and

monitor

Page 29: Developing Reusable Workflow Features (SPS Richmond)

WRAP-UPDeveloping Reusable Workflow Features

Page 30: Developing Reusable Workflow Features (SPS Richmond)

• Recommended Approaches– Take a “Portfolio Approach” to process design– Change data lookup sources from local to central– Group common functions or calls into Actions or Services– Leverage central services like User Profiles, BCS– Link workflows together; start workflow from another

Wrap-upRecommended Approach

Page 31: Developing Reusable Workflow Features (SPS Richmond)

• MSDN – Create a Sandbox Workflow Action– http://msdn.microsoft.com/en-us/library/ff798499.aspx

• MSDN – Reference Implementation Workflow Activities– http://msdn.microsoft.com/en-us/library/ff798330.aspx

• User Profiles – Creating Custom Properties– http://www.mikeoryszak.com/sharepoint/user-profiles-%

e2%80%93-creating-custom-properties

• User Profiles – Driving Business Process– http://www.mikeoryszak.com/sharepoint/user-profiles-%

e2%80%93-driving-business-process

• Workflow Posts– http://www.mikeoryszak.com/tag/workflow

Additional Resources

Page 32: Developing Reusable Workflow Features (SPS Richmond)

Questions?

Page 33: Developing Reusable Workflow Features (SPS Richmond)

Contact Info

• Blog - http://www.mikeoryszak.com• Twitter - @Next_Connect• Email – [email protected]• LinkedIn - http://www.linkedin.com/in/michaeloryszak

Page 34: Developing Reusable Workflow Features (SPS Richmond)

Special Thanks to Our Sponsors

Page 35: Developing Reusable Workflow Features (SPS Richmond)

SharePintEveryone is invited to SharePint Immediately following SharePoint Saturday Richmond (or around 6:20 PM)

Meet at aloft Richmond West 3939 Duckling DriveGlen Allen, VA 23060(down the street from Dave & Buster’s)

Then we will hop to the next location and the next within walking distance!

SharePint: a gathering of SharePoint enthusiasts for fun, food, and drink.


Recommended