Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

COB - PowerApps - the good, the bad and the ugly - early 2018

7,665 views

Published on

A presentation covering some tips, learnings and thoughts on PowerApps. Chris O'Brien, Head of Development at Content and Code.

Published in: Technology
  • Be the first to comment

COB - PowerApps - the good, the bad and the ugly - early 2018

  1. 1. PowerApps – the good, bad and ugly Chris O’Brien
  2. 2. The concept QUICKLY AND EASILY CREATE APPS WHICH PARTICULARLY SUITABLE FOR
  3. 3. Use Excel-like formulas – not code To do Formula “Next” button to change screen Navigate(MyScreen, ScreenTransition.Fade) Add item to SharePoint list Patch(MySharePointList, Defaults(MySharePointList), { FirstName:TextInput1.Text, LastName:TextInput2.Text } ) Add record to local collection (cache) ClearCollect( SelectedProducts, { ID: ProductID, Name: ”XT1000” } )
  4. 4. Not required
  5. 5. The mobile experience PowerApps app must be installed from App Store Apps appear within PowerApps app
  6. 6. Two main approaches Customise a SharePoint list Create standalone PowerApp
  7. 7. Customising SP forms vs. standalone Customised SP forms: Other considerations:
  8. 8. Demo PowerApps on a list
  9. 9. Standalone PowerApps Start from data Start from template Start from blank
  10. 10. Start from your data
  11. 11. Start from template
  12. 12. Sample app – leave requests
  13. 13. The scenario POC for airline pilots (leave requests) Flying a plane is the perfect time! Offline support Ability to connect to on-premises data
  14. 14. Demo Leave Requests PowerApp
  15. 15. Implementing the PowerApp Key findings Some surprises
  16. 16. Functions for SharePoint data Patch • Add list item Collect • Fetch list item Update • Update list item Delete • Remove Multi-page forms Person/Group fields Taxonomy fields
  17. 17. Implementing offline support Pattern
  18. 18. On-premises data gateway Considerations
  19. 19. Working with data Connection is hit when: Data-related functions: Connection (e.g. a database) Data source (e.g. a table)
  20. 20. Using a Gallery control for navigation Complex at first The pattern
  21. 21. Tips – key PowerApps functions To do Use Set a global variable available across all screens Set() Set a context variable in a single screen UpdateContext() Change screen Navigate(), Back() Save a local record (e.g. for offline) Collect(), ClearCollect(), SaveData() Open a web address/app Launch() Get data on current user User() 150+ functions in total. See: https://docs.microsoft.com/en- us/powerapps/formula-reference
  22. 22. Tips Get used to: Lots of fiddly work to generate PATCH command  Adding a “debug screen” with labels showing variables etc General weirdness with variables Variables and If statements NOT: OnLoad - If (X) { Label1.Visible = true } else { Label1.Visible = false } INSTEAD: Label1.Visible = if (X, false, true) Conditional display Add a “rule” to control, use panel to configure what properties which should be set (e.g. Visible = false)
  23. 23. Tips – SharePoint fields To do Use Update a choice/lookup from a dropdown Paternity_LengthOfPaternityLeave: { '@odata.type':"#Microsoft.Azure.Connectors. SharePoint.SPListExpandedReference", Value: ddlPaternityLeaveDuration.Selected.Value, Id: 1 } Update a person field currentUser: { '@odata.type':"#Microsoft.Azure.Connectors. SharePoint.SPListExpandedUser", Claims:"i:0#.f|membership|" & Lower(User().Email), Email:User().Email, JobTitle:".", Picture:"." }
  24. 24. PowerApps - the good
  25. 25. PowerApps - the bad
  26. 26. PowerApps - the ugly
  27. 27. Takeaways PowerApps can be VERY transformative for an org with lots of forms/processes Very easy to get apps onto mobile devices But, some pain for the implementer! Often beyond the average power user 1 2 3 “Simple” requirements can sometimes be difficult to implement 4
  28. 28. Thank you  Any questions? www.sharepointnutsandbolts.com @ChrisO_Brien

×