empowering business with hybrid code/no-code solutions by bob german - sptechcon

22
Empowering Business with Hybrid Code/No-Code Solutions Bob German SharePoint Practice Director BlueMetal Architects

Upload: sptechcon

Post on 12-Jun-2015

608 views

Category:

Documents


0 download

DESCRIPTION

Technical Class:

TRANSCRIPT

Page 1: Empowering Business with Hybrid Code/No-Code Solutions by Bob German - SPTechCon

Empowering BusinesswithHybrid Code/No-Code SolutionsBob GermanSharePoint Practice DirectorBlueMetal Architects

Page 2: Empowering Business with Hybrid Code/No-Code Solutions by Bob German - SPTechCon

SharePoint People

Business Users

Business Technical

Power Users / Analysts

Business Technical

Developers

Business Technical

Page 3: Empowering Business with Hybrid Code/No-Code Solutions by Bob German - SPTechCon

Empowering the Power Users

How can we develop SharePoint solutions which empower business users to:

Maintain and update the solution Change the solution to accommodate new business needs Innovate

Des

ign

for E

mpo

wer

men

t

Page 4: Empowering Business with Hybrid Code/No-Code Solutions by Bob German - SPTechCon

Degrees of Freedom

Robo

ts P

ast a

nd P

rese

nt

Page 5: Empowering Business with Hybrid Code/No-Code Solutions by Bob German - SPTechCon

Agenda

Forms WorkflowWeb Parts

How can we add degrees of freedomto these solutions?

Page 6: Empowering Business with Hybrid Code/No-Code Solutions by Bob German - SPTechCon

Web Part

Web Parts empower business users to build their own pages and mash-ups but…

Sometimes there isn’t a web part to do something For more degrees of freedom:

Find ways to make the web part general Allow for flexible editing Build a connectable web part that can be configured in a flexible way

Approach 2007 2010 2013 Beyond

Configurable Web Part

Yes Yes Yes Almost Certainly

Connected Web Part

Yes Yes Yes Probably

Page 7: Empowering Business with Hybrid Code/No-Code Solutions by Bob German - SPTechCon

Scenario 1 – Weather Web Part

Client wanted a web part that shows users the weatherforecast for their location based on user profile

Client liked Accuweather widget but it isn’t integratedwith SharePoint

SOLUTION: Content Editor with Profile Web Part Rather than a weather-specific web part – injects user profile fields into any HTML Download the Accuweather widget and inject the user’s zip code into it Reusable for any scenario involving HTML and user profile fields

Page 8: Empowering Business with Hybrid Code/No-Code Solutions by Bob German - SPTechCon

Scenario 2 – User Directory Web Part

Client wanted a user directory web part to put on adepartmental web page

SOLUTION: Search View Web Part Rather than a user directory web part, build a general purpose search viewer

web part Can be configurable for many uses including cross-site document views,

interactive searching,or person directories

Page 9: Empowering Business with Hybrid Code/No-Code Solutions by Bob German - SPTechCon

Scenario 3 – Mash-up

Client wanted a collaborative “dashboard” showingall aspects of a property undermanagement

SOLUTION: Connectable Web Parts Rather than a custom page, built a suite of connectable web parts Business users can reconfigure, rearrange, and reuse them for other situations

Page 10: Empowering Business with Hybrid Code/No-Code Solutions by Bob German - SPTechCon

Web PartsConfigurable and Connected Web Parts

demo

Page 11: Empowering Business with Hybrid Code/No-Code Solutions by Bob German - SPTechCon

InfoPath Form

InfoPath forms empower business users to create and manage the forms but…

Sometimes you hit a brick wall when InfoPath can’t do something

For more degrees of freedom: Create a sandboxed InfoPath solution – users can still edit and update the form Create a web service that InfoPath can call

Approach 2007 2010 2013 Beyond

Sandboxed InfoPath Solution

No Yes Yes Maybe

Admin Approved InfoPath Solution

Yes Yes Yes Maybe

Custom Web Service

Yes Yes Yes Probably

Page 12: Empowering Business with Hybrid Code/No-Code Solutions by Bob German - SPTechCon

Scenario 1 – Look up Group Members

Complex approval process Approvers are selected from

Active Directory groups in the form InfoPath does not have a way

to enumerate an AD group

SOLUTION: Custom Web Service Set up as a secondary data source in InfoPath Configure using InfoPath Rules Form can still be edited by power users; web service is reusable in other forms

Page 13: Empowering Business with Hybrid Code/No-Code Solutions by Bob German - SPTechCon

Scenario 2 – Repeating Field

Repeating field in InfoPath – need to use it in a workflow OOB options are – first, last, comma-separated We needed maximum function

SOLUTION: Sandboxed Form Code Could have used a custom workflow action to extract, but wanted to adapt the

form as well Users can still edit other form detail; no need for admin to install in Central

Admin

Page 14: Empowering Business with Hybrid Code/No-Code Solutions by Bob German - SPTechCon

Scenario 3 – Wildcard Lookup

Form for use in a marketing request Needed to allow users to select documents based on a

wildcard, such as M*.pptx No support from IT – deploying a web service not possible

SOLUTION: Sandboxed Form Code Uses SharePoint object model to query the document library Business users can edit and install the solution

Page 15: Empowering Business with Hybrid Code/No-Code Solutions by Bob German - SPTechCon

FormsSandboxed InfoPath Form

demo

Page 16: Empowering Business with Hybrid Code/No-Code Solutions by Bob German - SPTechCon

Workflows

Business users can edit workflows as needs change over time, but…

Sometimes you hit a brick wall when the built-in or SharePoint Designer workflows don’t do something

For more degrees of freedom: Create a custom action for SharePoint Designer Create an event receiver that acts on an “Approval”

Approach 2007 2010 2013 BeyondCustom Workflow Action (Sandboxed)

No Yes Yes Maybe

Custom Workflow Action (Farm)

Yes Yes Yes Maybe

Approval Event Handler

Yes Yes Yes Probably

Page 17: Empowering Business with Hybrid Code/No-Code Solutions by Bob German - SPTechCon

Scenario 1 – Custom Form Processing

Workflow needs to strip attachments out of a form

SOLUTION: Custom Workflow Action – Sandboxed Solution Reusable anywhere All other logic can be handled in SharePoint Designer

Page 18: Empowering Business with Hybrid Code/No-Code Solutions by Bob German - SPTechCon

Scenario 2 – Update LOB System

Workflow needs to update a line of business system following an approval

Authorized users should be able to reconfigure the approval process

Unauthorized users should not be able to bypass the approval

SOLUTION: Event Handler as a Farm Solution Use OOB Approval form – site collection admins can reconfigure easily Event handler checks to ensure it’s running on the correct form and library

Page 19: Empowering Business with Hybrid Code/No-Code Solutions by Bob German - SPTechCon

Scenario 3 – Site Provisioning

Users fill in a form and to get a SharePoint site Uses specific site templates based on user input Custom approval logic for deciding if the site should be

created

SOLUTION: Custom Workflow Action – Sandboxed Solution Whole workflow, approval, template selection set up in SharePoint Designer Flexible action creates the site

Page 20: Empowering Business with Hybrid Code/No-Code Solutions by Bob German - SPTechCon

WorkflowsSandboxed Workflow Steps

demo

Page 21: Empowering Business with Hybrid Code/No-Code Solutions by Bob German - SPTechCon

Summary

Always consider degrees of freedom beforestarting a development project- What parts of the business process are likely to change?- What skills to users have?- What permissions do users have?

Choose your technologies wisely- To future-proof your solution, pretend you’re running in Office

365- Sandboxed solutions will probably go away- Farm solutions might or might not be restricted in the future

Business Power Users are the SharePoint Heroes!

Page 22: Empowering Business with Hybrid Code/No-Code Solutions by Bob German - SPTechCon

Thank You!