SlideShare una empresa de Scribd logo
1 de 33
Developing Reusable Workflow Features Charlotte SharePoint User Group Mike Oryszak http://www.mikeoryszak.com September 21, 2011
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
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
Approach and goals Developing Reusable Workflow Features
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
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
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
Creating Custom Actions Developing Reusable Workflow Features
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
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
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
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
Budget Approval Limits Developing Reusable Workflow Features
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
Budget Approval Limits Bad Approach Load Budget For Approver Issues: ,[object Object]
Separate Maintenance
Out of Sync,[object Object]
Can Sync (BCS)
Distributed Management,[object Object]
Out of Office Delegation Developing Reusable Workflow Features
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
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
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
Demo Out of Office Delegation
Additional Examples Developing Reusable Workflow Features
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
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
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
Check Request Workflow Bad Approach Issues: ,[object Object]
AP users have tasks in x sites
Multiple places to update if process changes
Process owners may not understand other uses,[object Object]
Easy access for AP users

Más contenido relacionado

La actualidad más candente

WKDNUG SP2010 Development Presentation
WKDNUG SP2010 Development PresentationWKDNUG SP2010 Development Presentation
WKDNUG SP2010 Development PresentationRob Wilson
 
MS Project Server Beneficial Features
MS Project Server Beneficial FeaturesMS Project Server Beneficial Features
MS Project Server Beneficial FeaturesFaisal Masood
 
Creating SharePoint 2013 Workflows
Creating SharePoint 2013 WorkflowsCreating SharePoint 2013 Workflows
Creating SharePoint 2013 WorkflowsSPC Adriatics
 
SharePoint Migration - To Be Or Not To Be ‘In The Cloud’
SharePoint Migration - To Be Or Not To Be ‘In The Cloud’ SharePoint Migration - To Be Or Not To Be ‘In The Cloud’
SharePoint Migration - To Be Or Not To Be ‘In The Cloud’ Adam Levithan
 
Pega Prpc course details
Pega Prpc course detailsPega Prpc course details
Pega Prpc course detailsAshock Roy
 
What’s new with Workflow in SharePoint 2013 by Andew Connell - SPTechCon
What’s new with Workflow in SharePoint 2013 by Andew Connell - SPTechConWhat’s new with Workflow in SharePoint 2013 by Andew Connell - SPTechCon
What’s new with Workflow in SharePoint 2013 by Andew Connell - SPTechConSPTechCon
 

La actualidad más candente (6)

WKDNUG SP2010 Development Presentation
WKDNUG SP2010 Development PresentationWKDNUG SP2010 Development Presentation
WKDNUG SP2010 Development Presentation
 
MS Project Server Beneficial Features
MS Project Server Beneficial FeaturesMS Project Server Beneficial Features
MS Project Server Beneficial Features
 
Creating SharePoint 2013 Workflows
Creating SharePoint 2013 WorkflowsCreating SharePoint 2013 Workflows
Creating SharePoint 2013 Workflows
 
SharePoint Migration - To Be Or Not To Be ‘In The Cloud’
SharePoint Migration - To Be Or Not To Be ‘In The Cloud’ SharePoint Migration - To Be Or Not To Be ‘In The Cloud’
SharePoint Migration - To Be Or Not To Be ‘In The Cloud’
 
Pega Prpc course details
Pega Prpc course detailsPega Prpc course details
Pega Prpc course details
 
What’s new with Workflow in SharePoint 2013 by Andew Connell - SPTechCon
What’s new with Workflow in SharePoint 2013 by Andew Connell - SPTechConWhat’s new with Workflow in SharePoint 2013 by Andew Connell - SPTechCon
What’s new with Workflow in SharePoint 2013 by Andew Connell - SPTechCon
 

Destacado

Spsvb Developer Intro to SharePoint Search
Spsvb   Developer Intro to SharePoint SearchSpsvb   Developer Intro to SharePoint Search
Spsvb Developer Intro to SharePoint SearchMichael Oryszak
 
Spstc2011 Getting the Most from SharePoint's User Profiles
Spstc2011   Getting the Most from SharePoint's User ProfilesSpstc2011   Getting the Most from SharePoint's User Profiles
Spstc2011 Getting the Most from SharePoint's User ProfilesMichael Oryszak
 
Developing FAST Queries - SPSATL
Developing FAST Queries - SPSATLDeveloping FAST Queries - SPSATL
Developing FAST Queries - SPSATLMichael Oryszak
 
Spsvb Getting the Most from user profiles
Spsvb   Getting the Most from user profilesSpsvb   Getting the Most from user profiles
Spsvb Getting the Most from user profilesMichael Oryszak
 
Getting the Most from SharePoint's User Profiles
Getting the Most from SharePoint's User ProfilesGetting the Most from SharePoint's User Profiles
Getting the Most from SharePoint's User ProfilesMichael Oryszak
 

Destacado (6)

Spsvb Developer Intro to SharePoint Search
Spsvb   Developer Intro to SharePoint SearchSpsvb   Developer Intro to SharePoint Search
Spsvb Developer Intro to SharePoint Search
 
Spstc2011 Getting the Most from SharePoint's User Profiles
Spstc2011   Getting the Most from SharePoint's User ProfilesSpstc2011   Getting the Most from SharePoint's User Profiles
Spstc2011 Getting the Most from SharePoint's User Profiles
 
Developing FAST Queries - SPSATL
Developing FAST Queries - SPSATLDeveloping FAST Queries - SPSATL
Developing FAST Queries - SPSATL
 
Optimize Search Results
Optimize Search ResultsOptimize Search Results
Optimize Search Results
 
Spsvb Getting the Most from user profiles
Spsvb   Getting the Most from user profilesSpsvb   Getting the Most from user profiles
Spsvb Getting the Most from user profiles
 
Getting the Most from SharePoint's User Profiles
Getting the Most from SharePoint's User ProfilesGetting the Most from SharePoint's User Profiles
Getting the Most from SharePoint's User Profiles
 

Similar a CASPUG - Developing Reusable Workflow Features

Developing Reusable Workflow Features (SPSVB)
Developing Reusable Workflow Features (SPSVB)Developing Reusable Workflow Features (SPSVB)
Developing Reusable Workflow Features (SPSVB)Michael Oryszak
 
SharePoint Workflow 2011
SharePoint Workflow 2011SharePoint Workflow 2011
SharePoint Workflow 2011Chris Geier
 
07 a 01templates
07 a 01templates07 a 01templates
07 a 01templatestflung
 
Sharepoint designer workflow by quontra us
Sharepoint designer workflow by quontra usSharepoint designer workflow by quontra us
Sharepoint designer workflow by quontra usQUONTRASOLUTIONS
 
Phase Two: What’s Next for Life Sciences and Enterprise Content Management
Phase Two: What’s Next for Life Sciences and Enterprise Content ManagementPhase Two: What’s Next for Life Sciences and Enterprise Content Management
Phase Two: What’s Next for Life Sciences and Enterprise Content ManagementScott Abel
 
R12 Up Grade
R12 Up GradeR12 Up Grade
R12 Up GradeJody5802
 
R12 Up Grade
R12 Up GradeR12 Up Grade
R12 Up GradeJody5802
 
Whats newinmicrosoftdynamicsgp2013r2
Whats newinmicrosoftdynamicsgp2013r2Whats newinmicrosoftdynamicsgp2013r2
Whats newinmicrosoftdynamicsgp2013r2Brandon Mitchell
 
What’s New for IT Professionals in Microsoft® SharePoint® Server 2013 Day 2
What’s New for IT Professionals in Microsoft® SharePoint® Server 2013 Day 2What’s New for IT Professionals in Microsoft® SharePoint® Server 2013 Day 2
What’s New for IT Professionals in Microsoft® SharePoint® Server 2013 Day 2Sayed Ali
 
Going with the Flow: Rationalizing the workflow options in SharePoint Online
Going with the Flow: Rationalizing the workflow options in SharePoint OnlineGoing with the Flow: Rationalizing the workflow options in SharePoint Online
Going with the Flow: Rationalizing the workflow options in SharePoint OnlineBob German
 
Practical Guidance for SharePoint 2010 Upgrade
Practical Guidance for SharePoint 2010 UpgradePractical Guidance for SharePoint 2010 Upgrade
Practical Guidance for SharePoint 2010 UpgradeJoel Oleson
 
Going to Oracle EBS Release 12? Upgrading Is Faster, Better and Cheaper than ...
Going to Oracle EBS Release 12? Upgrading Is Faster, Better and Cheaper than ...Going to Oracle EBS Release 12? Upgrading Is Faster, Better and Cheaper than ...
Going to Oracle EBS Release 12? Upgrading Is Faster, Better and Cheaper than ...eprentise
 
Solve Todays Problems with 10 New SharePoint 2010 Features
Solve Todays Problems with 10 New SharePoint 2010 FeaturesSolve Todays Problems with 10 New SharePoint 2010 Features
Solve Todays Problems with 10 New SharePoint 2010 FeaturesCory Peters
 
GBA Building Comprehensive Out Of The Box Solutions Quad D
GBA Building Comprehensive Out Of The Box Solutions Quad DGBA Building Comprehensive Out Of The Box Solutions Quad D
GBA Building Comprehensive Out Of The Box Solutions Quad DBaltimore SharePoint (BSPUG)
 
How To Build A Change Control System with SharePoint
How To Build A Change Control System with SharePointHow To Build A Change Control System with SharePoint
How To Build A Change Control System with SharePointDux Raymond Sy
 
Empowering Business with Hybrid Code/No-Code Solutions by Bob German - SPTechCon
Empowering Business with Hybrid Code/No-Code Solutions by Bob German - SPTechConEmpowering Business with Hybrid Code/No-Code Solutions by Bob German - SPTechCon
Empowering Business with Hybrid Code/No-Code Solutions by Bob German - SPTechConSPTechCon
 
Streamlining Business Processes with InfoPath and SharePoint
Streamlining Business Processes with InfoPath and SharePointStreamlining Business Processes with InfoPath and SharePoint
Streamlining Business Processes with InfoPath and SharePointRob Wilson
 
OLE Regional Workshop, Utah, Day One
OLE Regional Workshop, Utah, Day OneOLE Regional Workshop, Utah, Day One
OLE Regional Workshop, Utah, Day OneBeth Warner
 

Similar a CASPUG - Developing Reusable Workflow Features (20)

Developing Reusable Workflow Features (SPSVB)
Developing Reusable Workflow Features (SPSVB)Developing Reusable Workflow Features (SPSVB)
Developing Reusable Workflow Features (SPSVB)
 
SharePoint Workflow 2011
SharePoint Workflow 2011SharePoint Workflow 2011
SharePoint Workflow 2011
 
07 a 01templates
07 a 01templates07 a 01templates
07 a 01templates
 
Sharepoint designer workflow by quontra us
Sharepoint designer workflow by quontra usSharepoint designer workflow by quontra us
Sharepoint designer workflow by quontra us
 
Phase Two: What’s Next for Life Sciences and Enterprise Content Management
Phase Two: What’s Next for Life Sciences and Enterprise Content ManagementPhase Two: What’s Next for Life Sciences and Enterprise Content Management
Phase Two: What’s Next for Life Sciences and Enterprise Content Management
 
R12 Up Grade
R12 Up GradeR12 Up Grade
R12 Up Grade
 
R12 Up Grade
R12 Up GradeR12 Up Grade
R12 Up Grade
 
SharePoint-upgrade_15 Oct 2010
SharePoint-upgrade_15 Oct 2010SharePoint-upgrade_15 Oct 2010
SharePoint-upgrade_15 Oct 2010
 
Whats newinmicrosoftdynamicsgp2013r2
Whats newinmicrosoftdynamicsgp2013r2Whats newinmicrosoftdynamicsgp2013r2
Whats newinmicrosoftdynamicsgp2013r2
 
What’s New for IT Professionals in Microsoft® SharePoint® Server 2013 Day 2
What’s New for IT Professionals in Microsoft® SharePoint® Server 2013 Day 2What’s New for IT Professionals in Microsoft® SharePoint® Server 2013 Day 2
What’s New for IT Professionals in Microsoft® SharePoint® Server 2013 Day 2
 
Going with the Flow: Rationalizing the workflow options in SharePoint Online
Going with the Flow: Rationalizing the workflow options in SharePoint OnlineGoing with the Flow: Rationalizing the workflow options in SharePoint Online
Going with the Flow: Rationalizing the workflow options in SharePoint Online
 
Practical Guidance for SharePoint 2010 Upgrade
Practical Guidance for SharePoint 2010 UpgradePractical Guidance for SharePoint 2010 Upgrade
Practical Guidance for SharePoint 2010 Upgrade
 
Going to Oracle EBS Release 12? Upgrading Is Faster, Better and Cheaper than ...
Going to Oracle EBS Release 12? Upgrading Is Faster, Better and Cheaper than ...Going to Oracle EBS Release 12? Upgrading Is Faster, Better and Cheaper than ...
Going to Oracle EBS Release 12? Upgrading Is Faster, Better and Cheaper than ...
 
Solve Todays Problems with 10 New SharePoint 2010 Features
Solve Todays Problems with 10 New SharePoint 2010 FeaturesSolve Todays Problems with 10 New SharePoint 2010 Features
Solve Todays Problems with 10 New SharePoint 2010 Features
 
GBA Building Comprehensive Out Of The Box Solutions Quad D
GBA Building Comprehensive Out Of The Box Solutions Quad DGBA Building Comprehensive Out Of The Box Solutions Quad D
GBA Building Comprehensive Out Of The Box Solutions Quad D
 
How To Build A Change Control System with SharePoint
How To Build A Change Control System with SharePointHow To Build A Change Control System with SharePoint
How To Build A Change Control System with SharePoint
 
Empowering Business with Hybrid Code/No-Code Solutions by Bob German - SPTechCon
Empowering Business with Hybrid Code/No-Code Solutions by Bob German - SPTechConEmpowering Business with Hybrid Code/No-Code Solutions by Bob German - SPTechCon
Empowering Business with Hybrid Code/No-Code Solutions by Bob German - SPTechCon
 
Streamlining Business Processes with InfoPath and SharePoint
Streamlining Business Processes with InfoPath and SharePointStreamlining Business Processes with InfoPath and SharePoint
Streamlining Business Processes with InfoPath and SharePoint
 
OLE Regional Workshop, Utah, Day One
OLE Regional Workshop, Utah, Day OneOLE Regional Workshop, Utah, Day One
OLE Regional Workshop, Utah, Day One
 
I Field Overview Spe Reservoir Study Group 0108
I Field Overview Spe Reservoir Study Group 0108I Field Overview Spe Reservoir Study Group 0108
I Field Overview Spe Reservoir Study Group 0108
 

Más de Michael Oryszak

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 conferenceMichael Oryszak
 
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...Michael Oryszak
 
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...Michael Oryszak
 
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...Michael Oryszak
 
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 - SPEngage2016Michael Oryszak
 
Intro to Delve - SPSATL 2016
Intro to Delve - SPSATL 2016Intro to Delve - SPSATL 2016
Intro to Delve - SPSATL 2016Michael Oryszak
 
Spsnyc 2016 JSLink Primer
Spsnyc 2016   JSLink PrimerSpsnyc 2016   JSLink Primer
Spsnyc 2016 JSLink PrimerMichael Oryszak
 
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 NYCMichael Oryszak
 
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 TemplatesMichael Oryszak
 
Developing SP 2013 Display Templates
Developing SP 2013 Display TemplatesDeveloping SP 2013 Display Templates
Developing SP 2013 Display TemplatesMichael Oryszak
 
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 TemplatesMichael Oryszak
 
Dynamic Content using Search - SPS Nashville
Dynamic Content using Search - SPS NashvilleDynamic Content using Search - SPS Nashville
Dynamic Content using Search - SPS NashvilleMichael Oryszak
 
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 SearchMichael Oryszak
 
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 2013Michael Oryszak
 
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 SearchMichael Oryszak
 
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 APIsMichael Oryszak
 
Unlocking the Power of SharePoint Search
Unlocking the Power of SharePoint SearchUnlocking the Power of SharePoint Search
Unlocking the Power of SharePoint SearchMichael Oryszak
 
Developer FAST Queries (SPS NY)
Developer FAST Queries (SPS NY)Developer FAST Queries (SPS NY)
Developer FAST Queries (SPS NY)Michael Oryszak
 
Keys to SharePoint Search - SPS Philly
Keys to SharePoint Search - SPS PhillyKeys to SharePoint Search - SPS Philly
Keys to SharePoint Search - SPS PhillyMichael Oryszak
 
How Many Sites Do I Need? (SPSVB)
How Many Sites Do I Need? (SPSVB)How Many Sites Do I Need? (SPSVB)
How Many Sites Do I Need? (SPSVB)Michael Oryszak
 

Más de 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
 
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
 
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
 
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)
 
Keys to SharePoint Search - SPS Philly
Keys to SharePoint Search - SPS PhillyKeys to SharePoint Search - SPS Philly
Keys to SharePoint Search - SPS Philly
 
How Many Sites Do I Need? (SPSVB)
How Many Sites Do I Need? (SPSVB)How Many Sites Do I Need? (SPSVB)
How Many Sites Do I Need? (SPSVB)
 

Último

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 

Último (20)

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
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
  • 4. Approach and goals Developing Reusable Workflow Features
  • 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
  • 8. Creating Custom Actions Developing Reusable Workflow Features
  • 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
  • 13. Budget Approval Limits Developing Reusable Workflow Features
  • 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
  • 15.
  • 17.
  • 19.
  • 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
  • 24. Demo Out of Office Delegation
  • 25. Additional Examples Developing Reusable Workflow Features
  • 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
  • 29.
  • 30. AP users have tasks in x sites
  • 31. Multiple places to update if process changes
  • 32.
  • 33. Easy access for AP users
  • 34.
  • 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
  • 38. Contact Info Blog - http://www.mikeoryszak.com Twitter - @Next_Connect Email – mikeo@intellinet.com LinkedIn - http://www.linkedin.com/in/michaeloryszak