One of the recent innovations from Microsoft is the ability to integrate a PowerApp with a SharePoint list. What this means is you no longer have to create the PowerApp separately from SharePoint and then create connections to the environment, but instead you can actually create the PowerApp from within the list itself. What this doesn’t mean is that a PowerApp can replace the list forms for a SharePoint list. However, in a recent post from the PowerApps team we will be getting this functionality very soon.
In this post, I am going to show you how to create a PowerApp from a custom list and show you around the PowerApp development tools a bit. This post is actually the first in a series that I intend to use to show you the different things you can currently do with PowerApps. I intend to integrate Microsoft Flow as well later as well. Since this is the first post it makes sense to start with a brief explanation of the design and how to create the App.
Solution Overview
This solution is going to be a training request form. The intent is for users to access the list and request training based on several categories including the type of training and the category of training. For instance, perhaps I want to take the online course about SharePoint development best practices. I would utilize this list to request the training. The list would then initiate a process that would allow my manager to approve the request.
Solution Design
The initial iteration of this solution is going to be pretty basic. I am going to use the following columns as metadata within my list (all setup as site columns and grouped into a Content Type of course).
Column Display Name | Column Internal Name | Column Type | ||
---|---|---|---|---|
Employee Manager | EmployeeManager | Person or Group | ||
Training Category | TrainingCategory | Choice | ||
Training Cost | TrainingCost | Currency | ||
Training End Date | TrainingEndDate | Date and Time | ||
Training Instructor | TrainingInstructor | Single line of text | ||
Training Provider Company | TrainingProviderCompany | Single line of text | ||
Training Reason | TrainingReason | Multiple lines of text | ||
Training Request Status | TrainingRequestStatus | Choice | ||
Training Requested | TrainingRequested | Lookup | ||
Training Requested For | TrainingRequestedFor | Person or Group | ||
Training Start Date | TrainingStartDate | Date and Time | ||
Training Type | TrainingType | Choice |
Please note: this is just the design for today’s post. This metadata may change a bit as this blog series progresses and more options and features are utilized.
I setup the all items view to look like this:
And the OOTB new item form looks like this:
Creating a PowerApp from a SharePoint List
To create a PowerApp from your list, simply click on “PowerApps” on your list ribbon and then click “Create an app”
Enter the name you wish to give the app and click create:
A new tab will open and PowerApps will let you know it is building the app for you:
Once complete you will have three screens pre-made for you. The BrowseScreen is basically a list view with a summary of the items in the list, a DetailScreen which is the same as a list’s view form, and finally an EditScreen that will allow you to modify and enter data that will be posted to the list.
There are a ton of configuration options to go along with each of the fields, but I am not going to go through them today. We’ll leave those for another post. Already we are going to see a few the limitations of the app in that the browse screen only displays a limited subset of available data times on the list. The columns based on Choice, Lookup, and Person\Group are not available to be displayed. This makes the user experience pretty poor as I would like some of those items, especially the requested for and training requested fields to be displayed on the screen.
I will discuss in the next post how to get around this limitation and gather the data that I would like to be displayed on my form.
Thanks for reading!!
Comments