Introduction
As businesses seek to provide seamless digital experiences, Power Pages (formerly known as Power Apps Portals) offers a powerful, low-code platform for building secure, data-centric websites. These portals enable organizations to create external-facing websites for customers, partners, or communities, while connecting securely to Microsoft Dataverse.
At the heart of building and customizing these portals lies the Portal Management app, a powerful back-end tool that offers granular control over every aspect of a Power Pages site. This guide will provide an in-depth look into Portal Management, its features, usage, and best practices to maximize your Power Pages projects.
What is Portal Management?
Portal Management is a model-driven app within the Power Platform ecosystem that provides administrators and developers with full control over the configuration and structure of a Power Pages website.
While the Power Pages design studio offers a visual and simplified interface to create pages, style content, and add forms, Portal Management offers deeper, more technical configuration for:
- Security settings
- Page and web role structure
- Web templates and JavaScript
- Entity permissions
- Advanced authentication
- Custom logic and branding
Essentially, Portal Management is the administrative control panel for everything that makes a portal function beyond its front-end interface.
Power Pages vs Portal Management
Feature | Power Pages Studio | Portal Management App |
---|---|---|
Page creation | Yes | Yes |
Styling (Themes, Layouts) | Yes | Limited |
Web roles & permissions | No | Yes |
Metadata configuration | No | Yes |
Web templates (Liquid) | No | Yes |
Custom scripts & HTML | Limited | Full control |
Advanced authentication | No | Yes |
Form & list customization | Basic | Advanced |
The key takeaway: Power Pages Studio is for creators, Portal Management is for developers and administrators.
Setting Up Portal Management
Prerequisites
- Access to a Power Platform environment with Dataverse.
- Admin or Maker permissions.
- A Power Pages site already provisioned.
Steps to Install
- Open Power Apps (https://make.powerapps.com/)
- Navigate to Solutions.
- Locate the solution related to your portal (e.g., “Portal Management”).
- Open the solution and launch the Portal Management app.
Alternatively, you can search for “Portal Management” under Apps.
Key Components in Portal Management
1. Website
This represents the portal site itself. All related configurations (pages, templates, permissions) reference this.
You can host multiple websites within one Dataverse environment, but most organizations use one per environment.
2. Web Pages
These are individual content pages on your site. Each page can:
- Use a Web Template for layout
- Contain Content Snippets
- Be nested to form hierarchies
- Be protected by Web Roles
3. Web Templates
Templates are reusable HTML files (with embedded Liquid code) that define how pages render. Think of these as page layouts or master templates.
Use cases include:
- Custom headers and footers
- Repeating structures like grids or cards
- Dynamic content rendering
4. Web Roles
These define access levels to pages, forms, or data. Users (authenticated or anonymous) are assigned roles that dictate what they can see or do.
Common roles:
- Authenticated Users
- Administrators
- Custom Roles (e.g., “Partner”, “Customer”, “Vendor”)
5. Entity Permissions
These define what CRUD operations a user can perform on Dataverse tables via the portal.
For example:
- View only records created by the user
- Allow editing of related entities
- Block delete access for certain roles
6. Web Forms & Lists
These components allow users to interact with Dataverse data:
- Web Forms = Display or collect record data using step-by-step navigation.
- Entity Lists = Show tabular data from Dataverse with optional filters, actions, and security.
7. Site Settings
These are key-value pairs that control various behaviors like:
- Page caching
- Script loading
- Identity provider configuration
- Display settings
Examples:
Authentication/OpenIdConnect/AzureADLoginEnabled
= trueWebapi/EnableBatchRequest
= true
8. Content Snippets
Static HTML or text values that can be reused across multiple pages, ideal for footers, headers, or site-wide banners.
9. Authentication & Identity Providers
Portal Management supports:
- Azure AD B2C
- Azure AD (Organizational accounts)
- Local logins (username/password)
- LinkedIn, Microsoft, Facebook, Google (via OAuth2)
You can configure authentication settings and user mappings in the Authentication Settings and External Identities sections.
Customization with Portal Management
A. Using Liquid Templates
Liquid is a templating language that allows dynamic content rendering in web templates. Examples:
{% assign currentUser = user %}
{% if currentUser %}
<p>Welcome, {{ currentUser.fullname }}!</p>
{% else %}
<p>Please <a href="/login">sign in</a>.</p>
{% endif %}
You can also loop through records:
{% fetchxml myCases %}
<fetch top="5">
<entity name="incident">
<attribute name="title" />
<filter>
<condition attribute="customerid" operator="eq" value="{{ user.id }}" />
</filter>
</entity>
</fetch>
{% endfetchxml %}
B. Injecting JavaScript or Custom CSS
You can add web resources or inline scripts to web templates or pages. Example:
<script>
alert('Welcome to the portal!');
</script>
For reusable code, upload JavaScript as a Web File, then reference it in your layout.
C. Custom Domain & SSL
You can configure a custom domain and secure it using HTTPS. This setup is handled via Power Pages Admin Center, but some DNS validation and bindings are managed via site settings.
Managing Security in Portal Management
Security is a multi-layered process involving:
- Web Roles: Assigned to users to control access.
- Entity Permissions: Define data-level access.
- Page Access Control Rules: Restrict visibility of pages or content.
- Table Permissions: Ensure only allowed data is exposed to anonymous or authenticated users.
Always test portal permissions using test accounts to avoid data exposure.
Deployment and ALM
Development Best Practices
- Use Solutions for packaging portal customizations.
- Export portal configurations using Portal Deployment Profile or Configuration Migration Tool.
- Store Liquid templates, CSS, and JS in source control.
- Test in sandbox environments before promoting to production.
CI/CD Automation
Power Platform supports ALM pipelines using Azure DevOps or GitHub actions. You can automate:
- Portal content deployment
- Solution import/export
- Site map changes
- Environment variable configuration
Common Use Cases for Portal Management
- Customer Self-Service Portals: Submit and view support cases.
- Partner Portals: Collaborate securely with external vendors.
- Community Portals: Engage with public users via forums or blogs.
- Employee Portals: Internal HR or IT support portals (limited use if internal-only).
- Event Portals: Manage registrations, schedules, and speaker submissions.
Troubleshooting Tips
- Page not loading: Check the web template and page parent settings.
- Login issues: Review identity provider configuration and redirect URIs.
- Permission denied: Verify entity permissions and web role assignment.
- Styling not applying: Clear cache or ensure correct template/page references.
Use browser dev tools and portal trace logs for deeper debugging.
Best Practices
- Keep naming conventions consistent across pages, templates, and roles.
- Minimize complex Liquid logic for better performance.
- Don’t expose sensitive Dataverse tables via anonymous roles.
- Use site settings to centralize portal behavior tweaks.
- Document your portal structure for maintainability.