Developing Reusable Workflow Features (SPS Richmond)

977 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
977
On SlideShare
0
From Embeds
0
Number of Embeds
203
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Developing Reusable Workflow Features (SPS Richmond)

  1. 1. Developing Reusable Workflow Features SharePoint Saturday Richmond Mike Oryszak http://www.mikeoryszak.com November 5, 2011
  2. 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. 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. 4. Developing Reusable Workflow FeaturesAPPROACH AND GOALS
  5. 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. 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. 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. 8. Developing Reusable Workflow FeaturesCREATING CUSTOM ACTIONS
  9. 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. 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. 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. 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. 13. Developing Reusable Workflow FeaturesBUDGET APPROVAL LIMITS
  14. 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. 15. Budget Approval LimitsBad Approach Load Budget For Approver Issues: • 3 Sites, separate config lists • Separate Maintenance • Out of Sync
  16. 16. Budget Approval LimitsAlternative Approach Advantages: • Central Source • Can Sync (BCS) • Distributed Management
  17. 17. Budget Approval Limits Demo
  18. 18. Developing Reusable Workflow FeaturesOUT OF OFFICE DELEGATION
  19. 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. 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. 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. 22. Out of Office Delegation Demo
  23. 23. Developing Reusable Workflow FeaturesADDITIONAL EXAMPLES
  24. 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. 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. 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. 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. 28. Check Request WorkflowSub-Process Approach Advantages: • Std process on AP site • Easy access for AP users • Easy to maintain and monitor
  29. 29. Developing Reusable Workflow FeaturesWRAP-UP
  30. 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. 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. 32. Questions?
  33. 33. Contact Info• Blog - http://www.mikeoryszak.com• Twitter - @Next_Connect• Email – nextconnect@live.com• LinkedIn - http://www.linkedin.com/in/michaeloryszak
  34. 34. Special Thanks to Our Sponsors
  35. 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.

×