SlideShare ist ein Scribd-Unternehmen logo
1 von 33
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 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
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

Weitere ähnliche Inhalte

Was ist angesagt?

Sql dba and msbi placement training usa
Sql dba and msbi placement training usaSql dba and msbi placement training usa
Sql dba and msbi placement training usa
sssql
 
Online sql dba training
Online sql dba trainingOnline sql dba training
Online sql dba training
ssmasters
 
Live sql server 2012 dba online training
Live sql server 2012 dba online trainingLive sql server 2012 dba online training
Live sql server 2012 dba online training
sssql
 
Good sql server dba online training
Good sql server dba online trainingGood sql server dba online training
Good sql server dba online training
ssmasters
 
Sap hana experiences at southern california edison — bw hana and standalone hana
Sap hana experiences at southern california edison — bw hana and standalone hanaSap hana experiences at southern california edison — bw hana and standalone hana
Sap hana experiences at southern california edison — bw hana and standalone hana
robgirvan
 

Was ist angesagt? (20)

Evolutionary database design
Evolutionary database designEvolutionary database design
Evolutionary database design
 
jBPM 5.2
jBPM 5.2jBPM 5.2
jBPM 5.2
 
Sql dba and msbi placement training usa
Sql dba and msbi placement training usaSql dba and msbi placement training usa
Sql dba and msbi placement training usa
 
Online sql dba training
Online sql dba trainingOnline sql dba training
Online sql dba training
 
JBoss jBPM, the future is now for all your Business Processes
JBoss jBPM, the future is now for all your Business ProcessesJBoss jBPM, the future is now for all your Business Processes
JBoss jBPM, the future is now for all your Business Processes
 
Live sql server 2012 dba online training
Live sql server 2012 dba online trainingLive sql server 2012 dba online training
Live sql server 2012 dba online training
 
SOA_BPM_12c_launch_event_BPM_track_business_rules_marcelvdglind
SOA_BPM_12c_launch_event_BPM_track_business_rules_marcelvdglindSOA_BPM_12c_launch_event_BPM_track_business_rules_marcelvdglind
SOA_BPM_12c_launch_event_BPM_track_business_rules_marcelvdglind
 
Sql server dba online training
Sql server dba online trainingSql server dba online training
Sql server dba online training
 
jBPM Suite admin workshop
jBPM Suite admin workshopjBPM Suite admin workshop
jBPM Suite admin workshop
 
Good sql server dba online training
Good sql server dba online trainingGood sql server dba online training
Good sql server dba online training
 
Mastering SAP Monitoring - Workload Monitoring
Mastering SAP Monitoring - Workload MonitoringMastering SAP Monitoring - Workload Monitoring
Mastering SAP Monitoring - Workload Monitoring
 
KARPAGAM
KARPAGAMKARPAGAM
KARPAGAM
 
Evaluating Daily Checklist Against 1000 Servers using Policy Based Management
Evaluating Daily Checklist Against 1000 Servers using Policy Based ManagementEvaluating Daily Checklist Against 1000 Servers using Policy Based Management
Evaluating Daily Checklist Against 1000 Servers using Policy Based Management
 
10 Ways to Better Application-Centric Service Management
10 Ways to Better Application-Centric Service Management10 Ways to Better Application-Centric Service Management
10 Ways to Better Application-Centric Service Management
 
Sql server dba certification
Sql server dba certificationSql server dba certification
Sql server dba certification
 
Professional sql server dba online training
Professional sql server dba online trainingProfessional sql server dba online training
Professional sql server dba online training
 
Seamless Upgrade to 8.5 Version. Performance Testing Tuning of Ektron & the E...
Seamless Upgrade to 8.5 Version. Performance Testing Tuning of Ektron & the E...Seamless Upgrade to 8.5 Version. Performance Testing Tuning of Ektron & the E...
Seamless Upgrade to 8.5 Version. Performance Testing Tuning of Ektron & the E...
 
Sap hana experiences at southern california edison — bw hana and standalone hana
Sap hana experiences at southern california edison — bw hana and standalone hanaSap hana experiences at southern california edison — bw hana and standalone hana
Sap hana experiences at southern california edison — bw hana and standalone hana
 
SynapticSales
SynapticSalesSynapticSales
SynapticSales
 
Openerp Project Slides
Openerp Project SlidesOpenerp Project Slides
Openerp Project Slides
 

Andere mochten auch

How can sharing with your neighbors better prepare you for a natural disaster?
How can sharing with your neighbors better prepare you for a natural disaster?How can sharing with your neighbors better prepare you for a natural disaster?
How can sharing with your neighbors better prepare you for a natural disaster?
Micki Krimmel
 
Pancakes 2003
Pancakes 2003Pancakes 2003
Pancakes 2003
se mon
 
Leaf man ge.
Leaf man ge.Leaf man ge.
Leaf man ge.
se mon
 

Andere mochten auch (7)

How can sharing with your neighbors better prepare you for a natural disaster?
How can sharing with your neighbors better prepare you for a natural disaster?How can sharing with your neighbors better prepare you for a natural disaster?
How can sharing with your neighbors better prepare you for a natural disaster?
 
Create Tailored Search Results through Customized Display Templates
Create Tailored Search Results through Customized Display TemplatesCreate Tailored Search Results through Customized Display Templates
Create Tailored Search Results through Customized Display Templates
 
All I Really Need to Know (About Love) I Learned Playing Rollerderby
All I Really Need to Know (About Love) I Learned Playing RollerderbyAll I Really Need to Know (About Love) I Learned Playing Rollerderby
All I Really Need to Know (About Love) I Learned Playing Rollerderby
 
WWCMD - What Would the Community Manager Do?
WWCMD - What Would the Community Manager Do?WWCMD - What Would the Community Manager Do?
WWCMD - What Would the Community Manager Do?
 
Pancakes 2003
Pancakes 2003Pancakes 2003
Pancakes 2003
 
Leaf man ge.
Leaf man ge.Leaf man ge.
Leaf man ge.
 
Hando Runnel
Hando RunnelHando Runnel
Hando Runnel
 

Ähnlich wie Developing Reusable Workflow Features (SPSVB)

Developing Reusable Workflow Features (SPS Richmond)
Developing Reusable Workflow Features (SPS Richmond)Developing Reusable Workflow Features (SPS Richmond)
Developing Reusable Workflow Features (SPS Richmond)
Michael Oryszak
 
Shop talk - Project Server 2013
Shop talk - Project Server 2013Shop talk - Project Server 2013
Shop talk - Project Server 2013
Chris Givens
 

Ähnlich wie Developing Reusable Workflow Features (SPSVB) (20)

Developing Reusable Workflow Features (SPS Richmond)
Developing Reusable Workflow Features (SPS Richmond)Developing Reusable Workflow Features (SPS Richmond)
Developing Reusable Workflow Features (SPS Richmond)
 
CASPUG - Developing Reusable Workflow Features
CASPUG - Developing Reusable Workflow FeaturesCASPUG - Developing Reusable Workflow Features
CASPUG - Developing Reusable Workflow Features
 
Spstc2011 Developing Reusable Workflow Features
Spstc2011   Developing Reusable Workflow FeaturesSpstc2011   Developing Reusable Workflow Features
Spstc2011 Developing Reusable Workflow Features
 
Practical Tips for Migrating SharePoint Customizations to Office 365
Practical Tips for Migrating SharePoint Customizations to Office 365Practical Tips for Migrating SharePoint Customizations to Office 365
Practical Tips for Migrating SharePoint Customizations to Office 365
 
Practical tips for migrating SharePoint Customizations to Office 365
Practical tips for migrating SharePoint Customizations to Office 365Practical tips for migrating SharePoint Customizations to Office 365
Practical tips for migrating SharePoint Customizations to Office 365
 
WebCenter Content 11g Upgrade Webinar - March 2013
WebCenter Content 11g Upgrade Webinar - March 2013WebCenter Content 11g Upgrade Webinar - March 2013
WebCenter Content 11g Upgrade Webinar - March 2013
 
Fishbowl Solutions Enterprise Batchloader and Workflow Solution Set Webinar
Fishbowl Solutions Enterprise Batchloader and Workflow Solution Set Webinar Fishbowl Solutions Enterprise Batchloader and Workflow Solution Set Webinar
Fishbowl Solutions Enterprise Batchloader and Workflow Solution Set Webinar
 
Fishbowl Solutions Webinar: A Path, Package, and Promise for WebCenter Conten...
Fishbowl Solutions Webinar: A Path, Package, and Promise for WebCenter Conten...Fishbowl Solutions Webinar: A Path, Package, and Promise for WebCenter Conten...
Fishbowl Solutions Webinar: A Path, Package, and Promise for WebCenter Conten...
 
Plan, prepare & overall process of upgrade and migrate to SharePoint 2013
Plan, prepare & overall process of upgrade and migrate to SharePoint 2013Plan, prepare & overall process of upgrade and migrate to SharePoint 2013
Plan, prepare & overall process of upgrade and migrate to SharePoint 2013
 
Discovering New Product Introduction using Autodesk PLM 360 – Rodney Coffey, ...
Discovering New Product Introduction using Autodesk PLM 360 – Rodney Coffey, ...Discovering New Product Introduction using Autodesk PLM 360 – Rodney Coffey, ...
Discovering New Product Introduction using Autodesk PLM 360 – Rodney Coffey, ...
 
Discovering New Product Introduction (NPI) using Autodesk Fusion Lifecycle
Discovering New Product Introduction (NPI) using Autodesk Fusion LifecycleDiscovering New Product Introduction (NPI) using Autodesk Fusion Lifecycle
Discovering New Product Introduction (NPI) using Autodesk Fusion Lifecycle
 
Windows Workflow
Windows WorkflowWindows Workflow
Windows Workflow
 
SharePoint 2013 - What's New
SharePoint 2013 - What's NewSharePoint 2013 - What's New
SharePoint 2013 - What's New
 
SPC.Org - Upgrading to SharePoint 2013
SPC.Org - Upgrading to SharePoint 2013SPC.Org - Upgrading to SharePoint 2013
SPC.Org - Upgrading to SharePoint 2013
 
Datapolis Guest Expert Presentation: Limitations of SharePoint Designer by Bj...
Datapolis Guest Expert Presentation: Limitations of SharePoint Designer by Bj...Datapolis Guest Expert Presentation: Limitations of SharePoint Designer by Bj...
Datapolis Guest Expert Presentation: Limitations of SharePoint Designer by Bj...
 
Shop talk - Project Server 2013
Shop talk - Project Server 2013Shop talk - Project Server 2013
Shop talk - Project Server 2013
 
Microsoft Project Online for Project Managers
Microsoft Project Online for Project ManagersMicrosoft Project Online for Project Managers
Microsoft Project Online for Project Managers
 
SPTechCon Austin - The Slippery Slope of SharePoint Migrations
SPTechCon Austin - The Slippery Slope of SharePoint MigrationsSPTechCon Austin - The Slippery Slope of SharePoint Migrations
SPTechCon Austin - The Slippery Slope of SharePoint Migrations
 
WISPUG - Fun with SharePoint Migrations
WISPUG - Fun with SharePoint MigrationsWISPUG - Fun with SharePoint Migrations
WISPUG - Fun with SharePoint Migrations
 
Build, Test and Extend Integrated Workflows 3.7
Build, Test and Extend Integrated Workflows 3.7Build, Test and Extend Integrated Workflows 3.7
Build, Test and Extend Integrated Workflows 3.7
 

Mehr von Michael Oryszak

Unlocking the Power of SharePoint Search
Unlocking the Power of SharePoint SearchUnlocking the Power of SharePoint Search
Unlocking the Power of SharePoint Search
Michael Oryszak
 
Keys to SharePoint Search - SPS Philly
Keys to SharePoint Search - SPS PhillyKeys to SharePoint Search - SPS Philly
Keys to SharePoint Search - SPS Philly
Michael Oryszak
 

Mehr von Michael Oryszak (20)

Xtending nintex workflow cloud w azure functions - xchange conference
Xtending nintex workflow cloud w azure functions - xchange conferenceXtending nintex workflow cloud w azure functions - xchange conference
Xtending nintex workflow cloud w azure functions - xchange conference
 
Making Workflow Automation Personal: The Next Step in Digital Transformation...
Making Workflow Automation Personal:  The Next Step in Digital Transformation...Making Workflow Automation Personal:  The Next Step in Digital Transformation...
Making Workflow Automation Personal: The Next Step in Digital Transformation...
 
Making Workflow Automation Personal: Next Step in Digital Transformation (SP...
Making Workflow Automation Personal:  Next Step in Digital Transformation (SP...Making Workflow Automation Personal:  Next Step in Digital Transformation (SP...
Making Workflow Automation Personal: Next Step in Digital Transformation (SP...
 
Making Workflow Automation Personal: The Next Step in Digital Transformation...
Making Workflow Automation Personal:  The Next Step in Digital Transformation...Making Workflow Automation Personal:  The Next Step in Digital Transformation...
Making Workflow Automation Personal: The Next Step in Digital Transformation...
 
Using Search to Unlock the Value of your Content - SPEngage2016
Using Search to Unlock the Value of your Content - SPEngage2016Using Search to Unlock the Value of your Content - SPEngage2016
Using Search to Unlock the Value of your Content - SPEngage2016
 
Intro to Delve - SPSATL 2016
Intro to Delve - SPSATL 2016Intro to Delve - SPSATL 2016
Intro to Delve - SPSATL 2016
 
Spsnyc 2016 JSLink Primer
Spsnyc 2016   JSLink PrimerSpsnyc 2016   JSLink Primer
Spsnyc 2016 JSLink Primer
 
Unlock the Value of your Content with Optimized Search Results - SPS NYC
Unlock the Value of your Content with Optimized Search Results - SPS NYCUnlock the Value of your Content with Optimized Search Results - SPS NYC
Unlock the Value of your Content with Optimized Search Results - SPS NYC
 
Optimize Search Results
Optimize Search ResultsOptimize Search Results
Optimize Search Results
 
Create Tailored Search Results through Customized Display Templates
Create Tailored Search Results through Customized Display TemplatesCreate Tailored Search Results through Customized Display Templates
Create Tailored Search Results through Customized Display Templates
 
Developing SP 2013 Display Templates
Developing SP 2013 Display TemplatesDeveloping SP 2013 Display Templates
Developing SP 2013 Display Templates
 
Dynamic Content using Search - SPS Nashville
Dynamic Content using Search - SPS NashvilleDynamic Content using Search - SPS Nashville
Dynamic Content using Search - SPS Nashville
 
Displaying Dynamic Content in SharePoint with Search
Displaying Dynamic Content in SharePoint with SearchDisplaying Dynamic Content in SharePoint with Search
Displaying Dynamic Content in SharePoint with Search
 
Intro to SharePoint's Social APIs - SharePoint Sat NYC 2013
Intro to SharePoint's Social APIs - SharePoint Sat NYC 2013Intro to SharePoint's Social APIs - SharePoint Sat NYC 2013
Intro to SharePoint's Social APIs - SharePoint Sat NYC 2013
 
Spsatl2013 Displaying Dynamic Content With SharePoint Search
Spsatl2013   Displaying Dynamic Content With SharePoint SearchSpsatl2013   Displaying Dynamic Content With SharePoint Search
Spsatl2013 Displaying Dynamic Content With SharePoint Search
 
Spsatl2013 Introduction to the SharePoint's Social APIs
Spsatl2013   Introduction to the SharePoint's Social APIsSpsatl2013   Introduction to the SharePoint's Social APIs
Spsatl2013 Introduction to the SharePoint's Social APIs
 
Unlocking the Power of SharePoint Search
Unlocking the Power of SharePoint SearchUnlocking the Power of SharePoint Search
Unlocking the Power of SharePoint Search
 
Developer FAST Queries (SPS NY)
Developer FAST Queries (SPS NY)Developer FAST Queries (SPS NY)
Developer FAST Queries (SPS NY)
 
Developing FAST Queries - SPSATL
Developing FAST Queries - SPSATLDeveloping FAST Queries - SPSATL
Developing FAST Queries - SPSATL
 
Keys to SharePoint Search - SPS Philly
Keys to SharePoint Search - SPS PhillyKeys to SharePoint Search - SPS Philly
Keys to SharePoint Search - SPS Philly
 

Kürzlich hochgeladen

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Kürzlich hochgeladen (20)

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 

Developing Reusable Workflow Features (SPSVB)

  • 1. Developing Reusable Workflow Features SharePoint Saturday Virginia Beach Mike Oryszak http://www.mikeoryszak.com January 7, 2012
  • 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 • Contact Info – Blog - http://www.mikeoryszak.com – Twitter - @Next_Connect – Email – nextconnect@live.com – LinkedIn - http://www.linkedin.com/in/michaeloryszak
  • 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
  • 5. Developing Reusable Workflow Features APPROACH AND GOALS
  • 6. 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
  • 7. 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
  • 8. 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
  • 9. Developing Reusable Workflow Features CREATING CUSTOM ACTIONS
  • 10. 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
  • 11. 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
  • 12. 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
  • 13. 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
  • 14. Developing Reusable Workflow Features BUDGET APPROVAL LIMITS
  • 15. 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
  • 16. Budget Approval Limits Bad Approach Load Budget For Approver Issues: • 3 Sites, separate config lists • Separate Maintenance • Out of Sync
  • 17. Budget Approval Limits Alternative Approach Advantages: • Central Source • Can Sync (BCS) • Distributed Management
  • 19. Developing Reusable Workflow Features OUT OF OFFICE DELEGATION
  • 20. 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
  • 21. 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
  • 22. 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
  • 23. Out of Office Delegation Demo
  • 24. Developing Reusable Workflow Features ADDITIONAL EXAMPLES
  • 25. 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
  • 26. 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
  • 27. 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
  • 28. 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
  • 29. Check Request Workflow Sub-Process Approach Advantages: • Std process on AP site • Easy access for AP users • Easy to maintain and monitor
  • 30. Developing Reusable Workflow Features WRAP-UP
  • 31. 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
  • 33. 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