Your SlideShare is downloading. ×
Developing Reusable Workflow Features (SPS Richmond)
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Developing Reusable Workflow Features (SPS Richmond)

715
views

Published on

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
715
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Developing Reusable Workflow Features SharePoint Saturday Richmond Mike Oryszak http://www.mikeoryszak.com November 5, 2011
  • 2. About Me • 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
  • 3. Session Overview • 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
  • 4. Developing Reusable Workflow FeaturesAPPROACH AND GOALS
  • 5. Approach and GoalsCommon Workflow Limitations • Common Workflow Limitations – Workflows developed one at a time – Config and Admin content is localized – Silos – Maintaining data difficult, and process admin focused
  • 6. Approach and GoalsWorkflow Reuse Goals • 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
  • 7. Approach and GoalsRecommended Approaches • 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
  • 8. Developing Reusable Workflow FeaturesCREATING CUSTOM ACTIONS
  • 9. Creating Custom ActionsFull Trust Actions • 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
  • 10. Creating Custom ActionsFarm Solution Implementation • 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
  • 11. Creating Custom ActionsSandboxed Actions • 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
  • 12. Creating Custom ActionsSandboxed Solution Imlementation • 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
  • 13. Developing Reusable Workflow FeaturesBUDGET APPROVAL LIMITS
  • 14. Budget Approval LimitsOverview • 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
  • 15. Budget Approval LimitsBad Approach Load Budget For Approver Issues: • 3 Sites, separate config lists • Separate Maintenance • Out of Sync
  • 16. Budget Approval LimitsAlternative Approach Advantages: • Central Source • Can Sync (BCS) • Distributed Management
  • 17. Budget Approval Limits Demo
  • 18. Developing Reusable Workflow FeaturesOUT OF OFFICE DELEGATION
  • 19. Out of Office DelegationOverview • SharePoint has no built-in Out of Office Delegation • Great example of User Maintained config data • Great example of leveraging User Profiles
  • 20. Out of Office DelegationBad Approach • 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
  • 21. Out of Office DelegationAlternative Approach • 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
  • 22. Out of Office Delegation Demo
  • 23. Developing Reusable Workflow FeaturesADDITIONAL EXAMPLES
  • 24. Additional Examples • 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
  • 25. Additional ExamplesInitiating Another Workflow • Create Reusable Sub-Processes • Use Standard Events – New Item – Edit Item • Can use Full Trust Actions to add/edit items between site collections
  • 26. Check Request WorkflowOverview • 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
  • 27. 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
  • 28. Check Request WorkflowSub-Process Approach Advantages: • Std process on AP site • Easy access for AP users • Easy to maintain and monitor
  • 29. Developing Reusable Workflow FeaturesWRAP-UP
  • 30. Wrap-upRecommended Approach • 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
  • 31. Additional Resources • 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
  • 32. Questions?
  • 33. Contact Info• Blog - http://www.mikeoryszak.com• Twitter - @Next_Connect• Email – nextconnect@live.com• LinkedIn - http://www.linkedin.com/in/michaeloryszak
  • 34. Special Thanks to Our Sponsors
  • 35. SharePintEveryone is invited to SharePintImmediately following SharePoint Saturday Richmond(or around 6:20 PM)Meet at aloft Richmond West3939 Duckling DriveGlen Allen, VA 23060(down the street from Dave & Buster’s)Then we will hop to the next locationand the next within walking distance!SharePint: a gathering of SharePoint enthusiasts for fun,food, and drink.