Developing Reusable Workflow Features (SPSVB)
Upcoming SlideShare
Loading in...5
×
 

Developing Reusable Workflow Features (SPSVB)

on

  • 1,662 views

Developing Reusable Workflow Features

Developing Reusable Workflow Features

Statistics

Views

Total Views
1,662
Views on SlideShare
1,332
Embed Views
330

Actions

Likes
1
Downloads
20
Comments
0

2 Embeds 330

http://mikeoryszak.com 329
http://portal.spblueprints.local 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Developing Reusable Workflow Features (SPSVB) Developing Reusable Workflow Features (SPSVB) Presentation Transcript

  • Developing Reusable Workflow Features SharePoint Saturday Virginia Beach Mike Oryszak http://www.mikeoryszak.com January 7, 2012
  • 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 • Contact Info – Blog - http://www.mikeoryszak.com – Twitter - @Next_Connect – Email – nextconnect@live.com – LinkedIn - http://www.linkedin.com/in/michaeloryszak
  • 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
  • Support our Sponsors
  • Developing Reusable Workflow FeaturesAPPROACH AND GOALS
  • 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
  • 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
  • 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
  • Developing Reusable Workflow FeaturesCREATING CUSTOM ACTIONS
  • 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
  • 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
  • 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
  • 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
  • Developing Reusable Workflow FeaturesBUDGET APPROVAL LIMITS
  • 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
  • Budget Approval LimitsBad Approach Load Budget For Approver Issues: • 3 Sites, separate config lists • Separate Maintenance • Out of Sync
  • Budget Approval LimitsAlternative Approach Advantages: • Central Source • Can Sync (BCS) • Distributed Management
  • Budget Approval Limits Demo
  • Developing Reusable Workflow FeaturesOUT OF OFFICE DELEGATION
  • 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
  • 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
  • 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
  • Out of Office Delegation Demo
  • Developing Reusable Workflow FeaturesADDITIONAL EXAMPLES
  • 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
  • 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
  • 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
  • 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
  • Check Request WorkflowSub-Process Approach Advantages: • Std process on AP site • Easy access for AP users • Easy to maintain and monitor
  • Developing Reusable Workflow FeaturesWRAP-UP
  • 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
  • Questions?
  • 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