Power Apps customized SharePoint forms and standalone Canvas Apps: you may be new to Power Apps and unaware that either of these tools exists. Maybe you’ve used both to an extent but haven’t nailed down when a scenario calls for one and not the other. Or, like me, you could be well-versed in one and not the other.
Let’s find out together when you should leverage the out-of-the-box canvas of a customized SharePoint form or when the limitations of the tool should push you to put together a standalone Canvas App.
They’re a Canvas App… but they’re not? This was my starting point for this topic, so I made one and explored. The main purpose of the customized SharePoint form is to replace the default “New Item” or “Edit Item” form in the side panel on a SharePoint list. If you’d like more in-depth information, check out Mike’s tutorial about customized forms.
To create a customized form, navigate to your SharePoint list, and click the New button at the top. In the new item panel on the right, click the customize button at the top and select “Customize with Power Apps” from the drop down.
Upon creating a customized SharePoint form, we're taken to the Power Apps Studio where we’ve got all the normal features of a Canvas App. We’re provided a great starting point for a form that’s relevant to our SharePoint list, and we can find an additional item in the Tree View: the SharePointIntegration control.
This integration sets customized SharePoint forms apart from normal Canvas Apps. By selecting the integration in the Tree View and navigating to the Advanced tab on the properties panel on the right, we’ll explore what this control can do.
The five actions of the integration describe how the customized form behaves when a user takes a related action in SharePoint. Here is Microsoft’s documentation on this, but I’ll summarize below so you don’t have to open a new tab.
The DataSource property of the SharePointIntegration points to the SharePoint list of the customized form.
One additional feature of Power App customized SharePoint forms is the function RequestHide(). By default, this function is in the OnSuccess property of the embedded form. This function only works on SharePoint forms and hides the customized form on the SharePoint list. Microsoft’s documentation on that.
Answer 25 simple questions to get a tailored report for your office across 6 key focus areas.
Take the QuizTake the QuizAccess to these forms is determined by the permissions on the SharePoint site and list. It’s a matter of inheritance: if users have access to the list, they have access to the form. Compared to a Canvas App, this is a simplified sharing process.
Benefits:
To learn more about customizing permission settings on SharePoint, see Microsoft’s support documentation.
So far, it seems as if customized forms ought to be the best way to go, right? Why spend more time creating and managing a standalone Canvas App, am I right? Let’s take off the rose-tinted, blue-light-blocking glasses for a moment and understand a few limitations.
Firstly, a major limitation: proper ALM. To quickly summarize, for those unfamiliar with the concept, Application Lifecycle Management (ALM) is a system of best practices that allows for separating of in-process development from ready-for-users production versions of applications and processes.
Second, a small list of minor limitations. While these may be limiting, they are not as critical as the inability for proper ALM.
Now that we understand them, how do we know which to use? Let’s explore a few situations and see what works best.
After reviewing this list, two initial considerations when comparing the use cases are:
Power Apps customized SharePoint forms provide a great context-appropriate place to display detailed information about list items without ever navigating away from the list. Check out this great Power BI integration Shane Young uses at the beginning of his video as an example.
Now that we’ve explored the benefits and some limitations of customized SharePoint forms, you ideally have a better idea of which option is most suitable for your situation. One is not inherently better than the other; they just have different limitations and abilities.
Are there situations you’re still unsure about? Leave a comment and we can explore the options together!