Site icon @WonderLaura

Power Apps as a Front End

There are two different ways that you can create PowerApps canvas apps.  There are customized SharePoint list forms, and there are standalone PowerApps.  I always prefer standalone, and I wrote a post that is a full comparison between the two types, PowerApps Standalone App Versus Customized List Form.  Whenever I’m talking about the fact that I prefer standalone over customized list forms, someone always asks… “What about when end users go to the list?”.  When we create a standalone app as the front end interface to the list, we want to prevent people from directly accessing the SharePoint list.  There are several different techniques that you can use, to accomplish this, to ensure that any time someone is adding or editing items in the list, it is only from the PowerApp.  This isn’t a step-by-step list of actions to take, this is a list of suggestions and how to accomplish different ways of locking down the list.  The reason this is so tricky, is that in order for people to be able to add and edit items in the list, they need to have at least “Contribute” permission to it, but then they can see the list when they view all site contents of the site it’s in, and they can find it via search.  Maybe Microsoft will provide some other way to accomplish this soon, but as of now, these are some options.

If you use this method, you’re going to want to prevent people from creating more views, too.  To prevent people from creating views, you’ll have to create a custom permission level.

Create a permission level by copying an existing permission level.  Copy the contribute permission level, and call your new level something else, like “contribute not create views”.  The important thing to uncheck, is Manage personal views.  You can even uncheck “create alerts” if you want to prevent them from creating SharePoint alerts for themselves.

Note that I’m only telling you to create this permission level for use on this one list.  This is not something that needs to be applied at the whole site level.  Go to  your list settings, and click Permissions for this list. At the top, click Stop inheriting permissions.  Check the box next to the group of people who you want to be able to add and edit items in this list, and change their permission level to the one you just created.

{
“schema”: “https: //developer.microsoft.com/json-schemas/sp/view-formatting.schema.json”,
“hideSelection”: true,
“hideColumnHeader”: true,
“rowFormatter”: {
“elmType”: “div”,
“attributes”: {
“class”: “sp-row-card”
},
“children”: [
{
“elmType”: “a”,
“txtContent”: “[$Title]”,
“attributes”: {
“target”: “_blank”,
“href”: “=’appweblink?ID=’+[$ID]”
}
}
]
}

}

Here’s what it looks like:

There is also a PowerShell method that Pieter Veenstra mentions in this post, that you can use when you’re creating the list.

Where did I figure out how to customize the view like that?  I’m not a dev!  Here’s a long list of code samples, of different ways of displaying views:

https://github.com/SharePoint/sp-dev-list-formatting/tree/master/view-samples


Exit mobile version