Power Apps for Forms: Which Option is Right for You - Customized List Forms or Standalone Canvas Apps?
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.
What are customized SharePoint forms?
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.
- OnNew is the property that describes the actions taken when the new button is pressed on the SharePoint list. By default, the embedded form is set to new.
- OnEdit describes how the form behaves when users are editing an existing item in the SharePoint list. By default, the embedded form is set to edit.
- OnView determines the actions taken when a user selects an item to view details from the SharePoint list. By default, the embedded form is set to view.
- OnSave dictates how the app behaves when a user clicks the save button on the SharePoint list. By default, the embedded form is submitted.
- OnCancel is the property that determines what happens when a user clicks the cancel button on the SharePoint list. By default, the embedded form is reset.
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.
So, how are they not a Canvas App?
Access 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.
- Permission can be granted via SharePoint security groups instead of individual basis. This is much easier to manage as the number of users and permissions requirements increases.
- Sharing is only required once; if a user has appropriate access to the list, they have access to the form. With a standalone Canvas App, users will need correct permission for the SharePoint list and will require the app be shared with them.
To learn more about customizing permission settings on SharePoint, see Microsoft’s support documentation.
Why we prefer Canvas Apps.
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.
- And why is this a challenge? The form that lives on the SharePoint list is the only form that exists. If edits are published, end-users see them immediately without the ability for developers to test.
- This challenge does not exist for standalone Canvas Apps because they can be created in a solution, exported, and deployed to different environments. Edits can be made in the development environment, tested in the test environment, and deployed to the production environment once all issues are straightened out.
- For citizen devs unfamiliar with the concept, check out my other blog about this topic. If you need more information, Microsoft has documentation, as well.
Second, a small list of minor limitations. While these may be limiting, they are not as critical as the inability for proper ALM.
- Customized forms don’t exist beyond the SharePoint list, and this can make the user experience less desirable. Even though a URL can direct users to the form, it is still within the SharePoint site. The left-hand navigation pane and SharePoint header at the top of the screen are unable to be hidden. With a Canvas App, however, navigating to the app by itself is possible; simply adding &hidenavbar=true to the end or the URL will display the app in the browser window without the Power Apps banner at the top.
- Since customized forms are not able to be viewed beyond the constraints of SharePoint, this creates challenges with mobile formatting. The form does not scale appropriately or respond to the size of the screen. Canvas Apps can be configured to respond to the size of the screen and be viewed appropriately on either a mobile or desktop screen.
Which do I choose?
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:
- “Will I be following ALM?” If yes, I’m going to choose a Canvas App.
- “How do I want the UX to feel? Will this exist beyond the SharePoint page?” If I would like users to go to the form or the SharePoint site to add things to the list, I can choose a customized form. If I plan to use more advanced features such as deep linking, I’m going to create a standalone Canvas App.
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!