Hi,
I have a demo portal for like property management/rental/sales: link to the site
in my CE environment, I have a custom entity named "Property Unit" (like an apartment).
On the portal, I can browse through all the units/apartments as an anonymous user of the portal. But it is also possible to log in as current tenant to quickly get an overview of "My Units" (page on the portal). So for that to work, I have set up the entity permission for the "Property Unit" entity and that is almost working as I wanted.
So, I can browse through all the units as an anonymous AND authenticated user on this page: page to browse available units .
I can log in as an authenticated user and go to "My Units" page and only see the units where this particular user is a tenant.
Both "My Units"-page and "the browse all units"-page has assigned an entity list in the portal management.
Now, when I browse through all available units and click into one specific unit a new page will show a more detailed view of this particular unit. So basically a "Detailed"-page: example .
When I'm not signed in to the portal, so when I'm browsing as an anonymous user, this is working just fine. However, if I'm logged in as an authenticated user (like an existing tenant), this detailed page is not showing the unit data. This tells me that there might be something entity permission going on on this page but my problem is I can't control it like the other pages because there is no Entity List attached to the detailed page.
I fetch my unit data for the detailed page like this:
{% extends 'Layout 1 Column' %}
{% block main %}
<!-- Paste Code from doc here -->
{% assign unit = entities['crc17_propertyunit'][request.params.id] %}
<section>
<div id="myCarousel" class="carousel slide" data-ride="carousel">
<!-- Indicators -->
<ol class="carousel-indicators">
<li data-target="#myCarousel" data-slide-to="0" class="active"></li>
<li data-target="#myCarousel" data-slide-to="1"></li>
<li data-target="#myCarousel" data-slide-to="2"></li>
<li data-target="#myCarousel" data-slide-to="3"></li>
</ol>
<!-- Wrapper for slides -->
<div class="carousel-inner">
<div class="item active">
<img src="https://i.imgur.com/DHixQaX.jpg" title="source: imgur.com;"/>
</div>
<div class="item">
<img src="https://i.imgur.com/c9o7I6g.jpg" title="source: imgur.com;"/>
</div>
<div class="item">
<img src="https://i.imgur.com/WGDKp79.jpg" title="source: imgur.com;"/>
</div>
<div class="item">
<img src="https://i.imgur.com/prIoBZE.jpg" title="source: imgur.com;"/>
</div>
</div>
<!-- Left and right controls -->
<a class="left carousel-control" href="#myCarousel" data-slide="prev">
<span class="glyphicon glyphicon-chevron-left"></span>
<span class="sr-only">Previous</span>
</a>
<a class="right carousel-control" href="#myCarousel" data-slide="next">
<span class="glyphicon glyphicon-chevron-right"></span>
<span class="sr-only">Next</span>
</a>
</div>
</section>
<section>
<h2>{{ unit.crc17_streetname }}</h2>
<div>{{ unit.crc17_zipcode }} {{ unit.crc17_city }}, {{ unit.crc17_country }}</div><br/>
<div class="container">
<div class="row" style="padding-bottom: 15px;">
<div class="col-md-2">Rent /month - {{ unit.crc17_marketrent | round }}</div>
<div class="col-md-2">Move in - {{ unit.crc17_expectedavailable | date: 'MMMM dd, yyyy' }}</div>
<div class="col-md-2">Case no. - {{ unit.crc17_name }}</div>
</div>
<div class="row" style="padding-bottom: 15px;">
{% if unit.crc17_rooms.label == '1' %}
<div class="col-md-2">Room - {{ unit.crc17_rooms.label }}</div>
{% else %}
<div class="col-md-2">Rooms - {{ unit.crc17_rooms.label }}</div>
{% endif %}
<div class="col-md-2">Size - {{ unit.crc17_size }} m2</div>
<div class="col-md-2">Type - {{ unit.crc17_unittype.label }}</div>
</div>
<div class="row">
<div class="col-md-12">
<button onclick="window.location.href='https://yavica-self-service.powerappsportals.com/properties/book-viewing/?id{{ entitylist.detail_id_parameter }}={{ unit.id }}';" style="float: right; padding-top: 5px;">
Book Viewing
</button>
</div>
</div>
</div><hr>
<h4>Description</h4>
<div>{{ unit.crc17_description }}</div>
</section>
{% endblock %}
Can I disable the entity permission in liquid code or something?
Hello Partner,
Recommendation is to always use Entity Permissions and use liquid to filter based on logged in user-context.
Adding the documentation link for the liquid params already available https://docs.microsoft.com/en-us/powerapps/maker/portals/liquid/liquid-objects.
You could validate once to ensure that the Entity referenced in the page is give access to in the Entity Permissions (if not assigned or permission not available, you will see a blank page).
you can also change scope and set it to 'global' to test if you can see and then limit from there.
Cheers,
Pranjali
Hi @Pranjali,
Thanks for your post!
I believe my problem is occurring because I'm not actually using the
{% entitylist id:page.adx_entitylist.id %}
tag for showing data on the "detailed page" and instead just fetching data directly from the CDS by doing so:
{% assign unit = entities['crc17_propertyunit'][request.params.id] %}
So if I go and change the way I fetch my data and start using:
{% entitylist id:page.adx_entitylist.id %}
, how do I then fetch a specific record by ID? From the previous page (browse all units page), I'm sending an ID forward in the request.params to the "Detailed page" to fetch data for this record only.
How do I fetch a specific record by the request.params.id without doing a for loop on the:
{% entitylist id:page.adx_entitylist.id %}
Hi
I actually registered in your portal to test and seemed to work fine the "details" page
you can retrieve data directly from CDS there is no issues there
you always need an Entity Permission if you are retrieving data via Liquid/oData, and I am assuming you have that because it is working for non-authenticated users.. the Entity Permission has a subgrid to Web Roles, can you make sure you have it associated with both Anonymous and Authenticated Users?
------------
If you like this post, give a Thumbs up. Where it solved your request, Mark it as a Solution to enable other users find it.
Power Pages Super User | MVP
Hi @OliverRodrigues,
Sorry for the late reply. Thanks a lot for reaching out.
Regarding your "test" by registering on the portal and accessing the page while logged in. The reason it is showing the data as it should for you is that at the moment you don't get any web role when you register on the portal by default. That is managed manually in CE. I have now added the "Anonymous User" and "Authenticated User" to your user.
If you go check now, it doesn't show any data on the "details" page, but on the "properties for rent/buy" page the data is still shown. I believe the reason for the data is shown on the "properties for rent/buy" page is because I have created an entity list for that page and unchecked this:
This is on purpose because I want everyone to browse my properties whether you are logged in or not.
So for your registered user, you won't see any data on the "details" page now unless I made you tenant of one or more of the units in CE and you happen to click on one of these. Otherwise, all other units (the ones you are not a tenant of) will not show data. Though, if you went to "My Units" page you would see the units you are a tenant of.
There is like a conflict between how units are shown in "My Units" page and the "details" page, or actually, the pages are showing the same thing, but I want the "details" page to show unit data regardless of the type of user visiting the portal - just like the "properties for rent" page.
So I was wondering if I could control the entity permission setting in liquid code when retrieving data directly from CDS on the "details" page because if I could disable the entity permission (just like on the "properties for rent" page) I believe it should show the unit data regardless of the user, right?
I hope it's making sense... 🙂
Hi.. sorry about the delay
I am still a bit confused with your scenario.. I will try to recap what I understood
does that make sense ?
------------
If you like this post, give a Thumbs up. Where it solved your request, Mark it as a Solution to enable other users find it.
Power Pages Super User | MVP
Hi @OliverRodrigues ,
No worries at all. I really appreciate your help!
Seems like you understand the scenario. Tho, I have a few questions:
{% assign unit = entities['crc17_propertyunit'][request.params.id] %}
In fact, this page is behaving just like the My Units page. If you are logged in as a user (e.g. a tenant) you will only see data on this page, if you happen to click on the same unit that you are associated with.
Example:
So let's say as a tenant you are associated with "Unit no. 123". On the rent page, you browse through the units. When you click on any unit other than "Unit no. 123" it will take you the details page a not show any data. But if you click on "Unit no. 123" on the rent page it will take you to the details page and show the data because this unit you are associated with. (Just like the My Units page).
I hope that didn't confuse you even more... 😅
Here is a screenshot of my current entity permissions for "Property Unit" (Unit):
Thank you very much for your time!
Hi
@oml wrote:...
- details page: I am retrieving data with liquid as I posted in my code sample above. I haven't added any entity list to this page my self. As for as I understand, please correct me if I'm wrong, you need an entity list to control if the data from an entity list is controlled by entity permissions, right?
...
No. I think here is where you are mixing things up. You don't need entity list to control permissions to access Portal data. Permissions are required/optional depending on your configuration:
Do you need the 3 entity permissions you have setup? in my opinion you need two entity permissions
and just one final thing that you might be getting a bit mixed up, although this is not critical, the below is not a Fetch, you are retrieving data via Liquid Entity object, not a FetchXML
@oml wrote:
- ..... change my liquid code to use this entity list instead of this fetch:
{% assign unit = entities['crc17_propertyunit'][request.params.id] %}
...
Power Pages Super User | MVP
Hi @OliverRodrigues,
Apologies for the very late reply and thanks for your post.
I had another project that needed my time.
I have now had some time to play around the entity permissions again. But without any luck.
Let me quickly explain what I have been testing and what I have at the moment:
Entity Permissions:
I now just have the two permissions as you suggested:
New test pages:
I have created a new page, "My Page"( link ) with a new entity list for my custom entity "Property Unit". For this entity list, I have enabled "View details" and target another new page, "My Page Details". I have NOT enabled entity permissions for this entity list.
This is how I retrieve data on the details page:
{% assign unitid = request.params.id %}
{% entityview logical_name:'crc17_propertyunit', name:"Unit Quick Details - Portal", page_size: 50 %}
{% assign units = entityview.records | where: "crc17_propertyunitid", unitid %}
{% assign unit = units.first %}
<div>Unit Case no. - {{ unit.crc17_name }}</div><br/>
<div>Address - {{ unit.crc17_streetname }}</div>
{% endentityview %}
When you are not signed in to the portal this is working fine. However, when you sign in to the portal with a user which has some units assigned in CE, the details page is not showing data.
So a quick recap of what I'm trying to accomplish after all these posts:
Point 1 and 2 is accomplished, however, point 3 is not.
I really didn't expect to struggle this much trying to make this work... 😅
😅
Hi @oml,
I have recently created a blog post (https://justinburch.com/portal-security-2) providing instructions to see how Entity Permissions are being applied. While this is mostly useful to see how lists are manipulated, you should be able to identify if Entity Permissions are the cause of the issue (if the record doesn't show up when the show parameter is set to True).
Your issue definitely seems to be Permission related. I would recommend removing the Read permission from your Contact level Entity Permission, and using only the other applicable permissions. The Global permission will handle all scenarios for reading the data. Next, make sure that this Global permission is associated to both Anonymous and Authenticated Web Roles (I know - just double check!) and reset the cache (/_services/about as an admin contact).
I hope this helps,
Justin
Episode Six of Power Platform Connections sees David Warner and Hugo Bernier talk to talk to Business Applications MVP Shane Young, alongside the latest news, product updates, and community blogs. Use the hashtag #PowerPlatformConnects on social media for a chance to have your work featured on the show! Show schedule in this episode: 0:00 Cold Open 00:24 Show Intro 01:02 Shane Young Interview 22:00 Blogs & Articles 22:20 Integrate FullCalendar.io with Power Pages 23:50 Text Data 25:15 Zero to Hero Power Apps Saga 25:44 Parent Hub Association 26:33 Using Custom Values for OneNote Power Automate References 28:04 Dynamics Power Israel 28:44 Create Beautiful Canvas Apps in Dataverse for Teams 30:36 Outro & Bloopers Check out the blogs and articles featured in this week’s episode: https://francomusso.com/integrate-fullcalendar-io-with-power-pages-from-json-basics-to-advanced-output-with-bootstrap-modal @crmbizcoach https://yerawizardcat.com/text/ @YerAWizardCat www.fromzerotoheroes.com/mentorship @thevictordantas https://www.expiscornovus.com/2023/03/16/parent-hub-association/ @Expiscornovus https://lindsaytshelton.com/2023/03/15/the-painful-process-of-custom-values-for-onenote-power-automate-references/ @lshelton_Tech https://never-stop-learning.de/create-beautiful-canvas-apps-in-dataverse-for-teams/ @MMe2K Action requested: Feel free to provide feedback on how we can make our community more inclusive and diverse. This episode premiered live on our YouTube at 12pm PST on Thursday 23rd March 2023. Video series available at Power Platform Community YouTube channel. Upcoming events: Business Applications Launch – April 4th – Free and Virtual! M365 Conference - May 1-5th - Las Vegas Power Apps Developers Summit – May 19-20th - London European Power Platform conference – Jun. 20-22nd - Dublin Microsoft Power Platform Conference – Oct. 3-5th - Las Vegas Join our Communities: Power Apps Community Power Automate Community Power Virtual Agents Community Power Pages Community If you’d like to hear from a specific community member in an upcoming recording and/or have specific questions for the Power Platform Connections team, please let us know. We will do our best to address all your requests or questions.
Super Users – 2023 Season 1 We are excited to kick off the Power Users Super User Program for 2023 - Season 1. The Power Platform Super Users have done an amazing job in keeping the Power Platform communities helpful, accurate and responsive. We would like to send these amazing folks a big THANK YOU for their efforts. Super User Season 1 | Contributions July 1, 2022 – December 31, 2022 Super User Season 2 | Contributions January 1, 2023 – June 30, 2023 Curious what a Super User is? Super Users are especially active community members who are eager to help others with their community questions. There are 2 Super User seasons in a year, and we monitor the community for new potential Super Users at the end of each season. Super Users are recognized in the community with both a rank name and icon next to their username, and a seasonal badge on their profile. Power Apps Power Automate Power Virtual Agents Power Pages Pstork1* Pstork1* Pstork1* OliverRodrigues BCBuizer Expiscornovus* Expiscornovus* ragavanrajan AhmedSalih grantjenkins renatoromao Mira_Ghaly* Mira_Ghaly* Sundeep_Malik* Sundeep_Malik* SudeepGhatakNZ* SudeepGhatakNZ* StretchFredrik* StretchFredrik* 365-Assist* 365-Assist* cha_cha ekarim2020 timl Hardesh15 iAm_ManCat annajhaveri SebS Rhiassuring LaurensM abm TheRobRush Ankesh_49 WiZey lbendlin Nogueira1306 Kaif_Siddique victorcp RobElliott dpoggemann srduval SBax CFernandes Roverandom schwibach Akser CraigStewart PowerRanger MichaelAnnis subsguts David_MA EricRegnier edgonzales zmansuri GeorgiosG ChrisPiasecki ryule AmDev fchopo phipps0218 tom_riha theapurva takolota Akash17 momlo BCLS776 Shuvam-rpa rampprakash ScottShearer Rusk ChristianAbata cchannon Koen5 a33ik AaronKnox Matren Alex_10 Jeff_Thorpe poweractivate Ramole DianaBirkelbach DavidZoon AJ_Z PriyankaGeethik BrianS StalinPonnusamy HamidBee CNT Anonymous_Hippo Anchov KeithAtherton alaabitar Tolu_Victor KRider sperry1625 IPC_ahaas zuurg rubin_boer cwebb365 If an * is at the end of a user's name this means they are a Multi Super User, in more than one community. Please note this is not the final list, as we are pending a few acceptances. Once they are received the list will be updated.
We are excited to share the ‘Power Platform Communities Front Door’ experience with you! Front Door brings together content from all the Power Platform communities into a single place for our community members, customers and low-code, no-code enthusiasts to learn, share and engage with peers, advocates, community program managers and our product team members. There are a host of features and new capabilities now available on Power Platform Communities Front Door to make content more discoverable for all power product community users which includes ForumsUser GroupsEventsCommunity highlightsCommunity by numbersLinks to all communities Users can see top discussions from across all the Power Platform communities and easily navigate to the latest or trending posts for further interaction. Additionally, they can filter to individual products as well. Users can filter and browse the user group events from all power platform products with feature parity to existing community user group experience and added filtering capabilities. Users can now explore user groups on the Power Platform Front Door landing page with capability to view all products in Power Platform. Explore Power Platform Communities Front Door today. Visit Power Platform Community Front door to easily navigate to the different product communities, view a roll up of user groups, events and forums.
We are so excited to see you for the Microsoft Power Platform Conference in Las Vegas October 3-5 2023! But first, let's take a look back at some fun moments and the best community in tech from MPPC 2022 in Orlando, Florida. Featuring guest speakers such as Charles Lamanna, Heather Cook, Julie Strauss, Nirav Shah, Ryan Cunningham, Sangya Singh, Stephen Siciliano, Hugo Bernier and many more. Register today: https://www.powerplatformconf.com/
Create business websites with rich capabilities—no coding required. Whether you’re a no-code, low-code, or code-first developer, Power Pages empowers you to build low-code, scalable, and secure business-centric websites. With pre-built templates and tools to govern and administer your live sites, this comprehensive website building and hosting platform is truly a one-stop shop. At Microsoft Build in May 2022, Power Pages joined the Microsoft Power Platform family as a new standalone product available in preview. Power Pages’ customer momentum has been evident, as it now serves over 100 million monthly active website users across industries worldwide from state and local government to manufacturing, financial services, high-tech, healthcare providers, higher education, and non-profit. Now, at Microsoft Ignite, we are announcing Power Pages’ general availability. With Power Pages, you’ll discover how to: Create with ease using the Design Studio. The Design Studio enables makers to easily create modern, data-centric business websites for desktop or mobile without writing a single line of code. With new updates designed to support low-code and no-code solutions, makers can now effortlessly build multi-step forms that include document uploads with the Pages and Data Workspaces. Other updates include the ability to add custom CSS in the Styling Workspace. Choose from 16 NEW Business Solutions templates. Within the Templates Hub, makers can pick from a range of responsive, customizable templates to jumpstart their website building journey—including 16 new business solution templates with patterns for processing building permits, managing after-school activity registrations, and managing client appointments. You can also extend Microsoft Dynamics 365 applications to your customers, partners, suppliers, and vendors with templates for customer self-service, community self-service, and partner relationship management. Get up to speed with the new Tutorial section in Learn Hub. Makers can explore helpful training materials on Power Pages capabilities—from different perspectives and dimensions—directly in the Power Pages platform with Learn Hub. A newly added Tutorials section offers even more support to pro and citizen developers alike, including embedded How-To videos and documentation. Extend your pages with advanced pro-developer tools. Go beyond low-code with advanced pro-developer capabilities that allow makers to fine-tune and extend their web pages as needed. New updates to pro-dev tooling include the integration of Power Pages Design Studio with Visual Studio (VS) Code Web. VS Code Web is a free, zero-install Microsoft Visual Studio Code experience entirely in your browser. This integration enables fusion team members to quickly and safely browse and edit source code for web page content (HTML and Liquid), web page-styles (CSS), and web page-scripts (JavaScript) and sync it back to the Design Studio. This allows for a seamless round-trip experience between Power Pages’ no-code Design Studio to the code-first VS Code Web. Gain enhanced security and governance. Building upon Power Pages’ secure and reliable platform, new security and governance updates include turnkey integration with Microsoft Azure Web Application Firewall, Content Delivery Network (CDN) support with Azure Front Door, and support for custom domains. A new go-live checklist simplifies site verification prior to going live, which provides total control over when the site becomes public. Licensing available as prepaid or pay-as-you-go. Power Pages subscription licensing is now based on monthly authenticated and anonymous users per website, making it easier than ever before to choose the right licensing options for your business needs. And with both prepaid and pay-as-you-go subscription options, you’ll have the flexibility to consider website seasonality, budgeting, and forecasting. Learn more about Power Pages licensing. Seamless transitions for current Power Apps portals customers. Now that Power Pages is generally available, Power Apps portals makers can also leverage Power Pages’ low-code capabilities with access to the Design Studio, Learn Hub, and Templates Hub. Power Pages is already in action around the world. With key customer scenarios spanning from sales to government services, Power Pages websites are serving millions of users around the world today: Degrees of Change creates an intuitive application process for students. The organization uses Microsoft Power Platform solutions in a variety of ways and most recently for their Seed Internships program. The intuitive application process enables students to apply to multiple internship opportunities at once. King County delivers critical services more efficiently. To better serve constituents, the King County Department of Information Technology developed over 200 solutions on Microsoft Power Platform, including Power Pages sites used to support health services, submit property and tax information, and manage event registration. City of Kobe provides financial assistance information to citizens during COVID-19. Shortly after the Japanese government launched a financial assistance program for citizens as part of its COVID-19 response, the City of Kobe became overwhelmed by high call volumes. The City of Kobe then developed and launched a site that reduced calls by 90 percent and greatly improved the program’s efficacy. Rockwell Automation brings visibility and new capabilities to sellers. Fortune 500 company Rockwell Automation provides industrial automation and digital transformation solutions to global customers. The company uses Power Pages to build portals with Dynamics 365 Sales to help automate manual selling processes. Learn more about Power Pages. Check out all of Power Pages capabilities and sign up for Power Pages to get started. Join the new community for Power Pages today and share what you discover with other users like you: https://aka.ms/PowerPagesCommunity. There’s so much to learn and share in our Power Pages Community, and it’s people like you who make the difference. Ask a question in the forums. https://aka.ms/PowerPagesCommunityForums Write a blogpost and share what you’ve learned. https://aka.ms/PowerPagesCommunityBlog Bookmark for upcoming News & Announcements. https://aka.ms/PowerPagesCommunityNews Share a Power Pages sample. https://aka.ms/PowerPagesCommunitySamples Watch or share a Power Pages webinar or training video: https://aka.ms/PowerPagesCommunityVideos Check out our Community Connections Videos and how to videos for using the online community. https://aka.ms/PowerPagesCommunityConnectVideos Want to be featured in an upcoming Community Connections video on how you are using Power Pages? Fill in this form.
Welcome to the Power Pages Community! You're now a part of a vibrant group of peers and industry experts who are here to network, share knowledge, and even have a little fun. Now that you're a member, you can enjoy the following resources: The Power Pages Community Forums The forums are also a great place to connect with other Power Pages community members. Check the News & Announcements section for community highlights, find out about the latest community news, and learn about the Community Team. Share your feedback, earn custom profile badges, enter challenges to win prizes, and more. Community Blog Our community members have learned some excellent tips and have keen insights on the future of business analysis. Head on over to the Community Blog to read the latest posts from around the world. Let us know if you'd like to become an author and contribute your own writing — everyone is welcome. And that’s not all, we have Galleries of additional information such as the Community Connections & How To Videos & Webinars & Video Gallery and more to motivate, educate and inspire you. Again, welcome to the Power Pages community family, we are so happy you have joined us! Whether you are brand new to the world of data or you are a seasoned veteran - our goal is to shape the community to be your ‘go to’ for support, networking, education, inspiration and encouragement as we enjoy this adventure together! Let us know in the Community Feedback forum if you have any questions or comments about your community experience, but for now – head on over to the forums Get Help with Power Pages and dive right in! To learn more about the community and your account be sure to visit our Community Support Area. We look forward to seeing you in the Power Pages Community! The Power Pages Community Team
User | Count |
---|---|
2 | |
2 | |
1 | |
1 | |
1 |