SlideShare a Scribd company logo
Developing Reusable Workflow Features

        SharePoint Saturday Richmond
                Mike Oryszak
            http://www.mikeoryszak.com

               November 5, 2011
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
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
Developing Reusable Workflow Features

APPROACH AND GOALS
Approach and Goals
Common 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 Goals
Workflow 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 Goals
Recommended 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 Features

CREATING CUSTOM ACTIONS
Creating Custom Actions
Full 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 Actions
Farm 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 Actions
Sandboxed 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 Actions
Sandboxed 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 Features

BUDGET APPROVAL LIMITS
Budget Approval Limits
Overview


 • 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
Bad Approach

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

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




                 Demo
Developing Reusable Workflow Features

OUT OF OFFICE DELEGATION
Out of Office Delegation
Overview


 • 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
Bad 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 Delegation
Alternative 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 Features

ADDITIONAL 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 Examples
Initiating 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 Workflow
Overview


 • 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
Bad 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 Workflow
Sub-Process Approach

                         Advantages:
                         •   Std process on AP site
                         •   Easy access for AP users
                         •   Easy to maintain and
                             monitor
Developing Reusable Workflow Features

WRAP-UP
Wrap-up
Recommended 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
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
Questions?
Contact Info

•   Blog - http://www.mikeoryszak.com
•   Twitter - @Next_Connect
•   Email – nextconnect@live.com
•   LinkedIn - http://www.linkedin.com/in/michaeloryszak
Special Thanks to Our Sponsors
SharePint
Everyone is invited to SharePint
Immediately following SharePoint Saturday Richmond
(or around 6:20 PM)


Meet at aloft Richmond West
3939 Duckling Drive
Glen 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.

More Related Content

PPTX
Spsvb Getting the Most from user profiles
PPTX
SharePoint 2010 Architecture
PPTX
Webcenter Portlal training...
PPTX
SharePoint 2013 Admin in the Hybrid World
PPT
Sharepoint Project
PPTX
Migrate to share point 2016 (presentation)
PPTX
Sharepoint 2010 architecture, ha and dr (tig)
PPSX
Share Point Presentation Introduction To Sharepoint
Spsvb Getting the Most from user profiles
SharePoint 2010 Architecture
Webcenter Portlal training...
SharePoint 2013 Admin in the Hybrid World
Sharepoint Project
Migrate to share point 2016 (presentation)
Sharepoint 2010 architecture, ha and dr (tig)
Share Point Presentation Introduction To Sharepoint

What's hot (20)

PPTX
Wisconsin SharePoint User Group 2018
PPTX
SharePoint Fundamentals (Lesson 1&2)
PPTX
SharePoint 2010 Training Session 1
PPTX
SharePoint Programming Basic
PPTX
Driving End User Adoption in SharePoint 2013 & 2010 - EPC Group
PPTX
SharePoint Server 2013 Farm Architecture and Performance by Ben Curry - SPTec...
PPTX
Share point 2010 overview
PDF
Oracle WebCenter portal
PPTX
Sharepoint 2010 overview - what it is and what it can do
PPT
Sharepoint developement tools(webparts+worflows) EBizSoft
PDF
Sense/Net 6.0 product
PPTX
Introduction to the SharePoint 2013 User Profile Service
PPTX
Sense/Net ECM Product Presentation
PPTX
Real world rm in share point 2013
KEY
SharePoint Document Management
PDF
Practical Tips for Migrating SharePoint Customizations to Office 365
PPTX
Introduction to sharepoint 2010
PDF
First look at SharePoint 2013
PPTX
The Rise of SharePoint as a Business Critical Hub
PDF
Sense/Net 6.0 technical
Wisconsin SharePoint User Group 2018
SharePoint Fundamentals (Lesson 1&2)
SharePoint 2010 Training Session 1
SharePoint Programming Basic
Driving End User Adoption in SharePoint 2013 & 2010 - EPC Group
SharePoint Server 2013 Farm Architecture and Performance by Ben Curry - SPTec...
Share point 2010 overview
Oracle WebCenter portal
Sharepoint 2010 overview - what it is and what it can do
Sharepoint developement tools(webparts+worflows) EBizSoft
Sense/Net 6.0 product
Introduction to the SharePoint 2013 User Profile Service
Sense/Net ECM Product Presentation
Real world rm in share point 2013
SharePoint Document Management
Practical Tips for Migrating SharePoint Customizations to Office 365
Introduction to sharepoint 2010
First look at SharePoint 2013
The Rise of SharePoint as a Business Critical Hub
Sense/Net 6.0 technical
Ad

Viewers also liked (6)

PPTX
Developing FAST Queries - SPSATL
PPTX
Optimize Search Results
PPTX
Getting the Most from SharePoint's User Profiles
PPTX
CASPUG - Developing Reusable Workflow Features
PPTX
Spstc2011 Getting the Most from SharePoint's User Profiles
PPTX
Spsvb Developer Intro to SharePoint Search
Developing FAST Queries - SPSATL
Optimize Search Results
Getting the Most from SharePoint's User Profiles
CASPUG - Developing Reusable Workflow Features
Spstc2011 Getting the Most from SharePoint's User Profiles
Spsvb Developer Intro to SharePoint Search
Ad

Similar to Developing Reusable Workflow Features (SPS Richmond) (20)

PPTX
Developing Reusable Workflow Features (SPSVB)
PPTX
Spstc2011 Developing Reusable Workflow Features
PPTX
Getting Stuff Done! Managing Tasks with SharePoint Designer Workflows by Chri...
PPTX
Automate business processes using SharePoint Designer Workflows
PPTX
Programming the Power Behind SharePoint Designer Workflow by Chris Beckett - ...
PPTX
Process Improvement through SharePoint Workflows. Connect the Click Points. G...
PPTX
SharePoint Workflows - SharePoint Saturday Twin Cities April 2012
PPTX
SharePoint Workflow Best Practices
PPT
SharePoint 2010 Workflows
PPTX
SharePoint Workflow 2011
PDF
Edgewater Consulting Mastering SharePoint Designer Workflows
PPTX
Sps philly 2011 1-designer
PPTX
Workflow, a brief overview
PDF
Connected Applications using WF and WCF
PDF
DF2UFL 2012: Workflows: Making the MOST of Salesforce.com Native Functionality
PPTX
Defining business process and workflows
PPTX
Drew madelung sp designer workflows - sp-biz
PPT
People soft workflow by surya
PPTX
Visual Workflows - SharePoint Day 2012 London
PPTX
GBA Building Comprehensive Out Of The Box Solutions Quad D
Developing Reusable Workflow Features (SPSVB)
Spstc2011 Developing Reusable Workflow Features
Getting Stuff Done! Managing Tasks with SharePoint Designer Workflows by Chri...
Automate business processes using SharePoint Designer Workflows
Programming the Power Behind SharePoint Designer Workflow by Chris Beckett - ...
Process Improvement through SharePoint Workflows. Connect the Click Points. G...
SharePoint Workflows - SharePoint Saturday Twin Cities April 2012
SharePoint Workflow Best Practices
SharePoint 2010 Workflows
SharePoint Workflow 2011
Edgewater Consulting Mastering SharePoint Designer Workflows
Sps philly 2011 1-designer
Workflow, a brief overview
Connected Applications using WF and WCF
DF2UFL 2012: Workflows: Making the MOST of Salesforce.com Native Functionality
Defining business process and workflows
Drew madelung sp designer workflows - sp-biz
People soft workflow by surya
Visual Workflows - SharePoint Day 2012 London
GBA Building Comprehensive Out Of The Box Solutions Quad D

More from Michael Oryszak (20)

PPTX
Xtending nintex workflow cloud w azure functions - xchange conference
PPTX
Making Workflow Automation Personal: The Next Step in Digital Transformation...
PPTX
Making Workflow Automation Personal: Next Step in Digital Transformation (SP...
PPTX
Making Workflow Automation Personal: The Next Step in Digital Transformation...
PPTX
Using Search to Unlock the Value of your Content - SPEngage2016
PPTX
Intro to Delve - SPSATL 2016
PPTX
Spsnyc 2016 JSLink Primer
PPTX
Unlock the Value of your Content with Optimized Search Results - SPS NYC
PPTX
Create Tailored Search Results through Customized Display Templates
PPTX
Developing SP 2013 Display Templates
PPTX
Create Tailored Search Results through Customized Display Templates
PPTX
Dynamic Content using Search - SPS Nashville
PPTX
Displaying Dynamic Content in SharePoint with Search
PPTX
Intro to SharePoint's Social APIs - SharePoint Sat NYC 2013
PPTX
Spsatl2013 Displaying Dynamic Content With SharePoint Search
PPTX
Spsatl2013 Introduction to the SharePoint's Social APIs
PPTX
Unlocking the Power of SharePoint Search
PPTX
Developer FAST Queries (SPS NY)
PPTX
Keys to SharePoint Search - SPS Philly
PPTX
How Many Sites Do I Need? (SPSVB)
Xtending nintex workflow cloud w azure functions - xchange conference
Making Workflow Automation Personal: The Next Step in Digital Transformation...
Making Workflow Automation Personal: Next Step in Digital Transformation (SP...
Making Workflow Automation Personal: The Next Step in Digital Transformation...
Using Search to Unlock the Value of your Content - SPEngage2016
Intro to Delve - SPSATL 2016
Spsnyc 2016 JSLink Primer
Unlock the Value of your Content with Optimized Search Results - SPS NYC
Create Tailored Search Results through Customized Display Templates
Developing SP 2013 Display Templates
Create Tailored Search Results through Customized Display Templates
Dynamic Content using Search - SPS Nashville
Displaying Dynamic Content in SharePoint with Search
Intro to SharePoint's Social APIs - SharePoint Sat NYC 2013
Spsatl2013 Displaying Dynamic Content With SharePoint Search
Spsatl2013 Introduction to the SharePoint's Social APIs
Unlocking the Power of SharePoint Search
Developer FAST Queries (SPS NY)
Keys to SharePoint Search - SPS Philly
How Many Sites Do I Need? (SPSVB)

Recently uploaded (20)

PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PPTX
Spectroscopy.pptx food analysis technology
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Programs and apps: productivity, graphics, security and other tools
PPT
Teaching material agriculture food technology
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Encapsulation theory and applications.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
Cloud computing and distributed systems.
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Electronic commerce courselecture one. Pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
Big Data Technologies - Introduction.pptx
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Spectroscopy.pptx food analysis technology
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Programs and apps: productivity, graphics, security and other tools
Teaching material agriculture food technology
Encapsulation_ Review paper, used for researhc scholars
NewMind AI Weekly Chronicles - August'25 Week I
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Encapsulation theory and applications.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Cloud computing and distributed systems.
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Agricultural_Statistics_at_a_Glance_2022_0.pdf
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Electronic commerce courselecture one. Pdf
Advanced methodologies resolving dimensionality complications for autism neur...
Review of recent advances in non-invasive hemoglobin estimation
Network Security Unit 5.pdf for BCA BBA.
MYSQL Presentation for SQL database connectivity
Big Data Technologies - Introduction.pptx

Developing Reusable Workflow Features (SPS Richmond)

  • 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 Features APPROACH AND GOALS
  • 5. Approach and Goals Common 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 Goals Workflow 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 Goals Recommended 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 Features CREATING CUSTOM ACTIONS
  • 9. Creating Custom Actions Full 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 Actions Farm 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 Actions Sandboxed 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 Actions Sandboxed 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 Features BUDGET APPROVAL LIMITS
  • 14. Budget Approval Limits Overview • 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 Limits Bad Approach Load Budget For Approver Issues: • 3 Sites, separate config lists • Separate Maintenance • Out of Sync
  • 16. Budget Approval Limits Alternative Approach Advantages: • Central Source • Can Sync (BCS) • Distributed Management
  • 18. Developing Reusable Workflow Features OUT OF OFFICE DELEGATION
  • 19. Out of Office Delegation Overview • 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 Delegation Bad 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 Delegation Alternative 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 Features ADDITIONAL 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 Examples Initiating 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 Workflow Overview • 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 Workflow Bad 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 Workflow Sub-Process Approach Advantages: • Std process on AP site • Easy access for AP users • Easy to maintain and monitor
  • 29. Developing Reusable Workflow Features WRAP-UP
  • 30. Wrap-up Recommended 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
  • 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. SharePint Everyone is invited to SharePint Immediately following SharePoint Saturday Richmond (or around 6:20 PM) Meet at aloft Richmond West 3939 Duckling Drive Glen 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.