What to consider with Power Pages ?

Everything has its limits features, such as scalability and performance, this is an important part of Architecture and Design; thoughtful consideration is crucial for your success implementation.

Power Portals/Pages integration

For external or internal integration:

  • With external services / API: utilise Azure API Management, Logic Apps, Azure Functions etc. as the middleware.
  • With Dataverse/Dynamics 365: utilise Portal Web API, Power Automate (HTTP Trigger). Note it is not best practice to directly use internal custom actions between Portal and Dataverse, although this approach was commonly used in the past when Portal Web API wasn’t there.

Some information about Portal Web API (released in 2021):

  • Portals Web API is built for creating a rich user experience inside portal pages. It isn't optimized for third-party services or application integration.
  • Portals Web API benefits from server-side caching, so subsequent calls to the Web API are faster than the initial calls. 
  • Portals Web API operations are limited to tables related to data—for example, accounts, contacts, or your custom tables. 
  • Portals Web API operations require a Power Apps portals license. For example, Web API calls made by anonymous users are counted toward page view capacity. Web API calls made by authenticated users (internal or external) are not counted toward page views but require applicable licenses.
  • Your portal version must be 9.3.3.x or later for this feature to work.
  • More information can be found here: https://learn.microsoft.com/en-us/power-apps/maker/portals/web-api-overview

Understand Portals cache

Just like any web portal, Power Portals have a caching mechanism in place – for better performance. By default, each Power Portal has two web servers on the backend for the purpose of HA/LB. The cache refresh time is within 15mins, and that cannot be changed. You may manually clear the cache but it will cause temporary performance degradation of the portal while data gets reloaded from Dataverse.

  • If data update happens on the Portal side: the change will reflect immediately in Dataverse and Portal, as long as the update changes a primary record and isn't based on indirect changes to data using plugins or workflows.
  • If data update happens on the Dataverse side: it will respect the 15 mins caching rule, meaning that data reflection from Dataverse to portals is not guaranteed to be immediate. There are some ‘tricks’ available to bypass the Portal's caching mechanism, i.e. make a tiny update before loading the record, so it will refresh the cache, this approach is not the best practice and should be carefully considered.

See more: https://learn.microsoft.com/en-us/power-apps/maker/portals/admin/clear-server-side-cache#caching-changes-for-portals-with-version-926x-or-later

Power Portals attachment / storage

There are 3 approaches to enable Power Portals users to upload attachments:

1. Notes in Dataverse: This is the native way, it will respect Dataverse settings, i.e. The maximum recommended size is 32 MB (larger than that is not recommended). The storage cost will be counted as part of Dataverse, (which is not the cheapest approach).

2. SharePoint Online: This a classic way, it respects the SharePoint Online limit which must be considered thoughtfully before taking this approach.

3. Azure Blob storage: This is the most scalable way, you will need a storage account for your solution (but this is not a bad thing for a scalable solution), and the maximum file upload size is 125 MB.

Also bear in mind that it doesn't matter which approach you choose, "portal comments" also provide the capability for files to be uploaded as attachments, these files are only stored in Microsoft Dataverse.

See more: https://learn.microsoft.com/en-us/power-apps/maker/portals/configure-notes

Number of portals in an environment

Microsoft has increased no. of portals (50 now) that can be created per environment, with the exception of the Partner Portal and Customer portal for Dynamics 365 Supply Chain Management Portal, those still have the limit of one Portal for each template (but additional languages for each template can be enabled).

See more: https://learn.microsoft.com/en-us/power-apps/maker/portals/create-additional-portals

Do you want to share your experience about product considerations?

Readers will see your name and linkedin profile. Once signin, you will be able to share your experience.