I’m just starting out learning about Power Apps Portals, and I’ve remained stumped on much of its details! Partly this is because it’s a deep and wide topic, and I’ve been trying to use it as a quick-to-build website tool. It is not one of these. So this first Portals post is my understanding of the relationship between Entities, Forms, and Entity Forms.
The CDS and Entities
A brief run-down of definitions to get us started:
CDS / Common Data Service: A data store for business information (users, orders, compaints etc.). Underpins Power Apps Portals.
Entities: the CDS equivalent of database tables. Users, orders and complaints can be entities. Each entity, like a table, has fields such as Name, Date, Owner, Description etc. Entities can also have relationships with other entities. For example, the ‘Owner’ field might in fact contain a cross-reference to a ‘User’ entity.
Power Apps Portal: a website where you can show CDS data and entities to the outside worls, and allow permitted users to view and even edit them.
Entities and forms
But what really confused me is the relationship between entities, their forms, and the ‘entity forms’ you put on a Portal, so users can fill them in.
Turns out that a form under an entity is not an ‘entity form’. 😫
Here’s how I eventually broke it down:
Entity Forms in the CDS
Entities can be found under Data in the Power Apps Portal (http://make.powerapps.com). Here you can edit their fields, their relationships, and their forms. So ‘forms’ are created under an entity just like fields and relationships.
Each form can show things like text entry boxes and checkboxes, each one corresponding to a field in that entity. So one form can show ‘basic’ fields, another could be location-related fields etc.
In turn, any form can be divided across tabs, in any way you like, for whatever reason.
Entity Forms in a Power Apps Portal
But when you want to insert a ‘form’ into a Portal, you get this (see image, left):
- Name (i.e. which form do you want?): fine, I’ve built one under an entity
- Entity: but… I thought this form was already under a specific entity?
- Form layout: what is this?!
You might also find that the ‘Name’ dropdown is empty. What’s going on?
Creating an Entity Form (aka the middle bit)
Turns out you’ve not created an Entity Form yet. You’ve created a form in an entity but… no, I’m not even going to try working out any more ‘why’s…
An Entity Form is a combination of the form you’ve already created, wrapped up with extra options and settings. So it might be more helpful to see it like this:
See your form in there, below Entity? A different beast altogether to an ‘Entity Form’.
And it’s the Entity Form that you insert in your portal, not your Form-under-the-entity. Yikes.
The other thing it took me a while to understand is that you can construct an Entity Form in the Portal (like in the screenshot above), or you can construct it in the Portal Management App (which was confusing to me in its own way – a separate blog post beckons…). Both methods are linked, so changing one also changes the other. The Portal Management App just has more options for you to set.
Entity form options
As a crucial example of how to use the options, you can create two identical Entity Forms. One could have the Mode option of ‘insert’ – creating a new record – while another has a Mode of ‘edit’ – changing existing records. In fact, it seems you have to do this, but it’s early days for me at the moment.
Then you can use the two versions like this:
- Put an ‘edit’ Entity Form on one page, and the ‘insert’ Entity Form on another;
- Give some users access to the ‘edit’ page, without giving it to others.
Entity Forms vs Forms-in-an-Entity
This whole website is really for me to write down all those odd things about the Power Platform that I don’t find easy. But hopefully this particular blog post can help you untangle the behemoth of the CDS and Power Apps Portals.
If anything’s not clear (or if I’ve got this wrong!), please do leave a comment below!