empowering business with hybrid code/no-code solutions by bob german - sptechcon
DESCRIPTION
Technical Class:TRANSCRIPT
Empowering BusinesswithHybrid Code/No-Code SolutionsBob GermanSharePoint Practice DirectorBlueMetal Architects
SharePoint People
Business Users
Business Technical
Power Users / Analysts
Business Technical
Developers
Business Technical
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
Degrees of Freedom
Robo
ts P
ast a
nd P
rese
nt
Agenda
Forms WorkflowWeb Parts
How can we add degrees of freedomto these solutions?
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
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
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
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
Web PartsConfigurable and Connected Web Parts
demo
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
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
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
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
FormsSandboxed InfoPath Form
demo
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
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
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
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
WorkflowsSandboxed Workflow Steps
demo
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!
Thank You!