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


Published on

Technical Class:

  • Be the first to comment

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

  1. 1. Empowering BusinesswithHybrid Code/No-CodeSolutionsBob GermanSharePoint Practice DirectorBlueMetal Architects
  2. 2. Business Users Power Users / Analysts Developers Business Technical Business Technical Business TechnicalSharePoint People
  3. 3. How can we develop SharePoint solutions whichDesign for Empowerment empower business users to: Maintain and update the solution Change the solution to accommodate new business needs Innovate Empowering the Power Users
  4. 4. Robots Past and PresentDegrees of Freedom
  5. 5. How can we add degrees of freedom to these solutions?Agenda
  6. 6.  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 Yes Yes Yes Almost Web Part Certainly Connected Web Yes Yes Yes Probably PartWeb Part
  7. 7.  Client wanted a web part that shows users the weather forecast for their location based on user profile Client liked Accuweather widget but it isn’t integrated with 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 fieldsScenario 1 – Weather Web Part
  8. 8.  Client wanted a user directory web part to put on a departmental 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 directoriesScenario 2 – User Directory Web Part
  9. 9.  Client wanted a collaborative “dashboard” showing all aspects of a property under management 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 situationsScenario 3 – Mash-up
  10. 10. Web PartsConfigurable andConnected Web Parts
  11. 11.  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 No Yes Yes Maybe InfoPath Solution Admin Approved Yes Yes Yes Maybe InfoPath Solution Custom Web Yes Yes Yes Probably ServiceInfoPath Form
  12. 12.  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 formsScenario 1 – Look up Group Members
  13. 13.  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 AdminScenario 2 – Repeating Field
  14. 14.  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 solutionScenario 3 – Wildcard Lookup
  15. 15. FormsSandboxed InfoPath Form
  16. 16.  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 Beyond Custom Workflow No Yes Yes Maybe Action (Sandboxed) Custom Workflow Yes Yes Yes Maybe Action (Farm) Approval Event Yes Yes Yes Probably HandlerWorkflows
  17. 17.  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 DesignerScenario 1 – Custom Form Processing
  18. 18.  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 libraryScenario 2 – Update LOB System
  19. 19.  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 siteScenario 3 – Site Provisioning
  20. 20. WorkflowsSandboxed Workflow Steps
  21. 21.  Always consider degrees of freedom before starting 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!Summary
  22. 22. Thank You!