This document discusses developing reusable workflow features in SharePoint. It recommends taking a portfolio approach to process design and leveraging central data sources and services. Examples provided include creating a reusable budget approval workflow that references centralized limit data, and an out of office delegation feature using user profile attributes. Additional examples cover standard requests, sub-processes, and linking workflows. The document concludes with resources for creating sandbox workflow actions and driving workflows with user profiles.
TeamStation AI System Report LATAM IT Salaries 2024
CASPUG - Developing Reusable Workflow Features
1. Developing Reusable Workflow Features Charlotte SharePoint User Group Mike Oryszak http://www.mikeoryszak.com September 21, 2011
2. 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
3. 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
5. 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 Goals Common Workflow Limitations
6. 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 Goals Workflow Reuse Goals
7. 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 Goals Recommended Approaches
9. 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 Actions Full Trust Actions
10. 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 ActivityExecutionStatusHandleFault Create WorkflowActionsdefinition in Elements.xml Register Type in web.config Creating Custom Actions Farm Solution Implementation
11. 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 Actions Sandboxed Actions
12. 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 Actions Sandboxed Solution Imlementation
14. 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 Limits Overview
20. Out of Office Delegation Developing Reusable Workflow Features
21. 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 Delegation Overview
22. 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 Delegation Bad Approach
23. 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 Delegation Alternative Approach
26. 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
27. Create Reusable Sub-Processes Use Standard Events New Item Edit Item Can use Full Trust Actions to add/edit items between site collections Additional Examples Initiating Another Workflow
28. 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 Workflow Overview
35. 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-up Recommended Approach
36. 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