Hey,
Ive developed a bunch of apps in powerapps already and Im actually very frustrated that portals is so extremely limited/different compared to standard PowerApps where this would be done in just a few seconds.
So I want to have a site where a User can enter some kind of token that I provide to obtain information from a dataverse entity. In normal PowerApps I would just use a LookUp(Entity; Token = TextInputWhatever) and display the result in a readOnly Form. I dont want the user to have to login with any kind of account or remember new passwords and such. He should just enter his token and obtain the Information.
Is this even possible? If so - how?
Thank you guys in advance
Hi @Splush ,
this is absolutely possible. Normal forms work like this: the id of the data is passed in as a get-parameter, usually "id=<aguid>". So, by just sending the user to the page and adding the "token" = id of the entry could help.
BUT: you have to give global read right to the neccessary table(s) as the user will not be signed in.
We did this in some projects like this:
We created an entitytable which holds the tokens. This is strictly spoken not really neccessary, but carries some advantages. When you really want to the user to enter the token you could make a single page with only one inputfield. Afer having input you could navigate to a page (could be the same one) and add the token as a parameter. In the liquid you read the token parameter from the request.params.query collection and try to find the tableentry with that token. Having found it, this "tokentable" should have a lookup to your real data and you should navigate to the entityform passing the lookupid as the paramater.
AGAIN: you have to grant gloabl read to the anonymous users for reading your data which could expose a security risk.
When you only want a few fields to be shown its from a securityperspective better top copy the data to the "token" table and have a "best before" date on the table, so that the liquid could deny access to the data when the date is later than that date 🙂
Hope this helps a little bit finding a solution.
Have fun,
Christian
Thanks a bunch Christian for your help.
I will have a look into this.
But actually, how would I create a single input field?
I can only add a form to my site and there I have to reference a table 😕
Hi @Splush ,
there are some options to do this.
You could either put html code in your page in the adx_copy (Copy) field. This will be rendered to the page and you could also add javascript to it.
I prefer another way: I create a new webtemplate with my desired things and link this via a pagetemplate (a new one usually) to a page (also a new one 🙂 )
Then you can edit the webtemplate which will be treated as an html page. In the page-template i do NOT uncheck the "use header and footer" box, so you get a full page rendering with header (usually menu) and footer (usually useful global links).
Documentation is here: https://docs.microsoft.com/en-us/powerapps/maker/portals/liquid/liquid-overview
may be this one https://docs.microsoft.com/en-us/powerapps/maker/portals/liquid/create-custom-template points more in your direction. Yo do not need to use inheritance in the first place. You could just generate a stand alone template.
Hope this helps, have a nice christmas time,
Christian
This training provides practical hands-on experience in creating Power Apps solutions in a full-day of instructor-led App creation workshop.
Come together to explore latest innovations in code and application development—and gain insights from experts from around the world.
User | Count |
---|---|
7 | |
6 | |
5 | |
2 | |
1 |