Power Pages
Power Pages
VIDEO TRAINING
Getting started videos Power Pages training
c g
c Use Visual Studio Code and Power Platform CLI g Secure your data with table permissions
i Plan your Power Pages project g Create, update, and view Dataverse information
Power Pages provides you with rich, customizable templates, a fluid visual experience
through a reimagined design studio, and a new, integrated learning hub to quickly build
sites that suit your unique business needs.
Power Pages is the newest member of the Microsoft Power Platform family. With Power
Pages, you can build sites by using the same shared business data stored in Microsoft
Dataverse that you use for building apps, workflows, intelligent virtual agents, reports,
and analytics with other Microsoft Power Platform components in your organization.
Try for free
You can try Power Pages for free to explore the features and capabilities to build your
own business websites.
Power Apps portals and Dynamics 365 portals
Power Apps portals and Dynamics 365 portals are now referred to as Power Pages. There
is no migration or upgrade process. You can use the new Power Pages design studio to
edit sites created in Power Apps. Existing tools such as the Portals Management app and
Power Platform CLI will continue to work with Power Pages.
We are currently migrating and merging the Power Apps portals documentation with
Power Pages documentation. You may continue to see some Power Pages features
referred to as Power Apps portals during this transition.
Read next
Power Pages capabilities
Power Pages capabilities
Article • 12/02/2022 • 3 minutes to read
You can quickly create and design professional and secure sites for your business with
Power Pages. This article provides an overview of key Power Pages capabilities.
Design studio
Makers can build powerful and engaging sites without writing a single line of code.
The new and enhanced design studio provides the following workspaces:
Responsive rendering
Power Pages is based on Bootstrap, which natively provides support for building
websites that are responsive, mobile-friendly, and available in various form factors.
Advanced development capabilities for pro
developers
Makers can work with pro developers in fusion teams to extend the functionality using
Visual Studio Code and the Microsoft Power Platform CLI to create powerful business
application websites.
Read more:
Power Pages is hosted as Azure App Service, which has International Organization
for Standardization (ISO), System and Organization Controls (SOC), and Payment
Card Industry Data Security Standards (PCI DSS) compliance. More information:
Microsoft Trust Center
Power Pages supports modern TLS crypto standards (TLS 1.2) and has built-in
Azure DDoS protection. It also supports dynamic IP restriction to limit traffic from
bad actors and provides secure, configuration-driven mechanisms for admins to
address top web security vulnerabilities such as injection attacks, cross-site request
forgery, and server-side request forgery.
You can also configure Power Pages to use edge caching and web application
firewall (WAF) capabilities. More information: Set up Azure Front Door with portals.
Power Pages provides some helpful tools for administrators to manage the
administration and lifecycle of their sites and environments. More information: Power
Pages governance
Dataverse enables users to securely store and manage data that's used by
business applications and your Power Pages sites. Use model-driven app constructs
like forms, views, charts, and dashboards to easily surface Dataverse data.
Power Apps enables anyone to create no-code/low-code custom mobile and web
apps to share and collect data and streamline business processes. Using Power
Apps to create an app that uses SharePoint to store content is a popular way to
quickly build basic intranet sites. Power Pages is ideal for websites focused on
external audiences that require more secure access to your business information.
Power BI allows anyone to access visually immersive and interactive insights from
business data. With Power Pages, integrate with Power BI to access components
like reports, dashboards, and tiles. Use the embed capability to surface data that
sits outside of Dataverse.
Power Virtual Agents enables teams to easily create and publish AI-driven chatbot
experiences. With Power Pages, add chatbots to your external-facing websites for a
myriad of business purposes.
Sign up for a free Power Pages trial
Article • 02/14/2023 • 2 minutes to read
Power Pages offers a free 30-day trial. After a quick sign-up, you'll have access to many
of the key features of Power Pages. You can use the trial to create trial sites and test
them by using sample data, and even try out your own customer data. Learn more
about Power Pages.
2. Follow the onscreen guidance to enter the work or school email address, backed
by Azure Active Directory. And then, enter your country/region and phone number.
A new Microsoft Power Platform trial environment will be created for you.
3. (Optional) Choose an option that best matches your experience creating websites
for a personalized learning experience.
4. Review the available templates. For more details about each template, you can also
hover over the template, and choose Preview template. And then, follow different
views across devices to preview the template experience.
Tip
Prefer a template that best aligns to what you want to use your site for. If
none of the business need templates match what you're looking for, choose
one of the Starter layout templates with cross-industry solutions, or choose
Blank page to customize the website from scratch.
5. After you finalize the template of your choice, select Choose this template.
6. You can provide a name for your site and site web address as needed. We make a
unique name suggestion, but you can edit the name and URL to suit your needs.
8. The process will take a few moments to set up your site. After the site is created,
you'll see your new site in the design studio, where you're provided with a short
tour of the design studio features.
9. As soon as you make changes to your site, you can select Preview to preview your
site by using a web browser or by scanning a QR code on a mobile device.
You can either edit or preview the site right from here.
What to try
Your trial environment includes many of the same features as the paid version. The links
below guide you through some of the key features.
Additional info
To speed up the process when you create a site with a new trial environment, the site
metadata for all the templates will be preloaded and appear as website records in the
Portal Management app.
Getting started with Power Pages
The following video provides an overview of how to get started using Power Pages.
https://www.microsoft.com/en-us/videoplayer/embed/RE559Pe?postJsllMsg=true
Additional resources
Explore training resources for Power Apps portals
Watch videos on the product playlist
Power Pages Tutorials
Trial FAQ
Power Pages trial FAQ
Article • 10/12/2022 • 4 minutes to read
The Power Pages trial offers a simple and easy experience for sign-up, sign-in, and
usage. This page contains answers to frequently asked questions.
To sign up for the trial, go to the Power Pages overview page , and select Start free.
To purchase the license using an existing account, work with the administrator of the
account to apply for licenses.
After you've applied for the license to your tenant, you can publish your environment to
production. You can remove the sample data installed in your trial environment.
However, you have to manually reset the configuration and remove any test data that
you've added. We recommend that you create a fresh environment to use for your
production environment and add the configurations you'd like to move forward with.
The trial environment is available to you for 30 days. After that, you can request an
extension for another 30 days.
A Power Pages site is always created as a trial. A trial site, which expires after 30
days, is useful for trying out its capabilities at no cost. After it expires, the site is
suspended and shut down. Seven days after it's suspended, the trial site is deleted.
The trial site can be converted into a production site from the Power Pages admin
center if you have the required licenses. More information: Convert a site from trial
to production
If your trial site is created in a trial environment, your trial site will only be available
until your trial environment is available. If your environment expires before the trial
site expires, you'll lose access to your trial site.
What email address can I use?
You can use a work or school email associated with your Microsoft account . To use a
personal email to start a new trial, you'll need to set up a new work or school account.
You can set up a new work or school account by signing up for a new Microsoft 365 E3
or Dynamics 365 Sales or Customer Service Trial with your personal email.
Asia Pacific
Australia
Brazil
Canada
Europe
France
Germany
India
Japan
Switzerland
United Kingdom
United States
United States Government
This article lists the upcoming preview features that will be enabled by default in your
Power Pages trial. Review the information in this page to understand what's coming up.
The following preview feature will be automatically enabled in your trial app when they
become available:
) Important
Power Pages provides a list of templates to choose from to quickly build your site.
Customize and design your site using the new Power Pages design studio. Choose a
default template to build your site or use scenario-based templates to accelerate
creating your site.
Tip
We've created a series of tutorials and videos for you to learn to use Power Pages,
where you start with a simple site and progressively add components and features
as your business requires. For more information, go to Power Pages tutorials.
1. Go to Power Pages .
The first time you visit the site, you'll be presented with a Try it for free button and
be able to sign up for a free, 30-day trial.
7 Note
4. Review the available templates. For more details about each template, you can also
hover over the template, and choose Preview template. And then, follow different
views across devices to preview the template experience.
Tip
Prefer a template that best aligns to what you want to use your site for. If
none of the business need templates match what you're looking for, choose
one of the Starter layout templates with cross-industry solutions, or choose
Blank page to customize the website from scratch. More information: Power
Pages templates
5. After you finalize the template of your choice, select Choose this template.
6. Validate the default site name and web address that have been created, and then
select Done.
7 Note
It might take a few moments for your new site to be provisioned. You'll be
able to modify the name and web address later.
7. After the site is created, you can begin to edit or preview your site.
Additional info
To speed up the process when you create a site with a new trial environment, the site
metadata for all the templates will be preloaded and appear as website records in the
Portal Management app.
Discover Power Pages for website creation
The following video is an overview of using Power Pages to create websites.
https://www.microsoft.com/en-us/videoplayer/embed/RE557dn?postJsllMsg=true
Next steps
Use design studio
Use design studio
Article • 12/17/2022 • 2 minutes to read
The Power Pages design studio is an intuitive interface that enables low-code makers to
build and configure rich business web apps.
7 Note
To use the design studio, you will need to be assigned the system administrator
role in the same Microsoft Dataverse environment as your site.
1. Go to Power Pages .
The first time you visit the site, you'll be presented with a Get started button and
be able to sign up for a free, 30-day trial.
2. Select your site, and select Edit to launch the design studio.
3. If you don't have a site created, select Create a site to create your website.
Pages workspace enables you to design and build webpages with in-context
editing and add content with no-code and low-code widgets such as text, image,
video, Power BI reports, lists, forms, and others. Learn more about the Pages
workspace.
Styling workspace lets you apply global site styles. You can apply corporate
branding updates, and review the changes in the preview on the right side of the
app window. Styling offers 13 preset themes. For each theme, you can customize
the color palette, background color, font styles, button styles, and section margins.
Learn more about the Styling workspace.
Data workspace lets you easily model, visualize, and manage business data for the
site with tables, forms, and lists. You can create and edit Dataverse tables for the
site and create new or edit existing model-driven forms and views. Changes made
in the Data workspace are stored in the Common data store. Learn more about the
Data workspace.
Next steps
Create and manage pages
Customize pages
Style your page
Power Pages templates
Article • 02/14/2023 • 2 minutes to read
When you create a new Power Pages site, you can choose a starter layout template to
build your site, or you can choose scenario-based templates to accelerate creating your
site.
The starter layout templates provide building blocks for you to create custom sites. Each
template has different layout, images, and colors that can be used as-is or customized
to meet your needs.
Makers
Makers are able to use the design studio to modify the templates for their specific
needs.
The following are the pages, forms, and customizable tables provided in each starter
layout template. These components can be modified to align with your specific project
needs.
Pages
All starter layout templates contain the following pages.
Page Description
Table information
Professional developers
This template includes custom code and has been styled to follow best-in-class UX
patterns. For custom code editing, use the Microsoft Power Platform CLI to download
the site metadata, and use Visual Studio Code to view and modify the source code.
See also
Tutorial: Add a page to your Power Pages site
Create and design pages
After School template
Article • 12/17/2022 • 2 minutes to read
The After School Program template is designed to show you the capabilities of a
registration site. We've chosen the example of registering for after school classes. This
template might be useful for any industry or organization wishing to create a
registration portal.
Users
The template is designed for two key users:
The parent who wants to register their children for after-school classes.
The school representative who's looking to maintain a list of courses, edit existing
courses, and add new courses to the catalog.
Parents
As a parent who is looking to register for classes, you can:
Receive emails with information about the class, which you can use to modify your
registration.
School representatives
As a representative of the school, you can:
Makers
Makers are able to use the design studio to modify the template for specific needs.
The following are the pages, basic forms, and customizable tables provided in the
template. These can be modified to align with your specific project needs.
Pages
Customer pages
The following pages are used by parents.
Page Description
Home Search for an event, and view courses and course details based on specified
criteria.
Admin pages
The following pages are used by School Representatives:
Page Description
Courses Home A list view of the courses based on the filters specified.
Table information
Professional developers
This template includes custom code and has been styled to follow best-in-class UX
patterns. For custom code editing, use the Microsoft Power Platform CLI to download
the site metadata, and use Visual Studio Code to view and modify the source code.
Book a Meeting template
Article • 12/17/2022 • 3 minutes to read
Users
The template is designed for two key users:
The banking customer who wants to book an appointment with the bank
representative.
The bank representative who's looking at the list of appointments and managing
their calendars and appointments.
Bank customers
As a customer of a bank, you can do the following seamlessly:
Cancel and reschedule your appointments via links provided in the email booking
confirmation.
Bank representatives
As a bank representative, you can do the following seamlessly:
Makers
Makers are able to use the design studio to modify the template for specific needs.
The following are the pages, basic forms, and customizable tables provided in the
template. These components can be modified to align with your specific project needs.
Pages
Customer pages
The following pages are used by bank customers.
Page Description
Admin pages
The following pages are used by bank representatives.
Page Description
Page Not Found Displayed when the user's search criteria isn't matched.
Table information
Professional developers
This template includes custom code and has been styled to follow best-in-class UX
patterns. For custom code editing, use the Microsoft Power Platform CLI to download
the site metadata, and use Visual Studio Code to view and modify the source code.
See also
Tutorial: Add a page to your Power Pages site
Create and design pages
Building permit application template
Article • 12/17/2022 • 3 minutes to read
The Building Permit Application template is designed to show you the capabilities of an
application submission site. We've chosen the example of a building permit application
site. This template might be useful for any industry or organization wishing to create an
application submission portal.
Users
The template is designed for three key users:
A resident customer user who wants to view the permit types and requirements.
A resident customer who has created a profile and wants to apply for a permit.
Web role assigned to this user: "[Building Permit] C2 – User (Default)"
A government permit administrator who is responsible for managing the status of
the building permits. Web role assigned to this user: "[Building Permit] C1 - Admin
Unauthenticated Resident"
Resident customer
Resident customers' capabilities vary based on whether or not they've created a user
profile. Residents without a user profile are unauthenticated users and residents who
have created user profiles are authenticated users.
Unauthenticated
As an unauthenticated resident, you can:
Authenticated
As an authenticated resident, you can:
Makers
Makers are able to use the design studio to modify the template for specific needs.
The following are the pages, basic forms, and customizable tables provided in the
template. These components can be modified to align with your specific project needs.
Pages
Customer pages
The following pages are used by resident customers.
Page Description
Home Resident homepage. Contains links to common permits, the associated permit
application, and the option for the residents to sign-in.
Admin pages
The following pages are used by the government permit administrators.
Page Description
Page Not Displayed when the user's search criteria isn't matched.
Found
Table information
Application bp_DefaultApplication Contains the application steps for the default permit
Professional developers
This template includes custom code and has been styled to follow best-in-class UX
patterns. For custom code editing, use the Microsoft Power Platform CLI to download
the site metadata, and use Visual Studio Code to view and modify the source code.
See also
Tutorial: Add a page to your Power Pages site
Create and design pages
Dynamics 365 templates
Article • 02/23/2023 • 2 minutes to read
Dynamics 365 templates are available for your Power Pages sites in environments
containing Dynamics 365 applications, including:
7 Note
Editing capabilities in Power Pages design studio are not available for
Dynamics 365 templates, see known issues for alternatives.
Customer self-service
The customer self-service site gives customers access to self-service knowledge and
support resources. Customers can also view the progress of their cases and provide
feedback.
More information:
7 Note
Field Service and Project Operations packages must be installed in your Dynamics
365 environment to enable respective options. For more information, see Integrate
Project Service Automation and Integrate Field Service.
) Important
There's a limit of only one site for this type of template that can be created per
Dynamics 365 environment.
More information:
Employee self-service
An employee self-service site creates an efficient and well-informed workforce by
streamlining common tasks and empowering employees with a definitive source of
knowledge.
Community
The community site template uses peer-to-peer interactions between customers and
experts. Use this template to organically grow the catalog of available knowledge via
knowledge base articles, forums, and blogs, and the feedback provided through
comments and ratings.
More information:
) Important
There's a limit of only one site for this type of template that can be created per
Dynamics 365 environment.
More information:
Modern community
The modern community site template invites customers to provide suggestions, creating
crowd sourced portfolios of outside-in ideas. Customers can collaborate on a social
scale, rallying behind suggestions from others to shape the future of the products they
use.
More information:
This template provides your customers with automated service reminders and
notifications that include estimated technician arrival times, so that customers can better
plan for their time around service visits.
) Important
There's a limit of only one site for this type of template that can be created per
Dynamics 365 environment.
More information:
Order returns
7 Note
More information:
The blank page template allows you to create a custom website. This template includes
a home page with a header, footer, and a single section. Use this template to build a site
to your exact specifications.
Makers
Makers are able to use the design studio to modify the templates for their specific
needs.
See also
Tutorial: Add a page to your Power Pages site
Create and design pages
Manage sites
Article • 10/12/2022 • 2 minutes to read
Your Power Pages home serves as the central hub for managing all your sites. Here you
can view a list of all sites in your selected environment and take action for each website.
For each website in your environment, the site card provides you details about the site
such as:
Preview, which gives you a glimpse of how your users will view the website.
Share, which creates a link you can send others to preview the site.
Manage, which links you to the Power Apps portals admin center for the site.
Delete, which deletes the site and removes it from the site list.
How to use the learning hub
Article • 10/12/2022 • 2 minutes to read
With the learning hub, you can explore documents, videos, and other resources that will
help make it easier for you to create the website you want.
To access the learning hub, go to the Power Pages home page and select Learn on the
left pane.
Power Pages community
Article • 06/15/2022 • 2 minutes to read
Join the Power Pages Community , where you can interact with other users, the
Microsoft Community team, and discover what’s new and next. With blogs, videos, app
samples, technical forums, the latest news and announcements, and more, it’s your way
to ask questions, get answers, and stay connected.
See also
Power Pages ideas
Plan your Power Pages project
Article • 12/17/2022 • 5 minutes to read
This article serves as guidance for enterprise teams working on projects and may go
beyond the scope of a maker creating a site for a specific business need. Creating a plan
with clear outcomes and expectations is always good practice regardless of the size of
your project.
7 Note
Power Pages is built on a foundation of Power Apps portals. Many of the tools and
methods used to configure Power Pages utilize the functionality of Power Apps
portals. For more information, see Introduction: Planning a Power Apps project.
As you begin to plan your first Power Pages project, consider the following questions:
Answering these questions will help guide discussions as you embark on your project.
Audience
Our default template has basic web pages configured to help you get started. These
template pages aren't secured and contain sample text and images for inspiration only.
As you develop content and data experiences, you may wish to require authentication to
access certain pages. Customize your Power Pages site to meet your organization's
unique needs.
Anonymous users
Pages that don't require a sign-in are referred to as anonymous or unauthenticated.
Authenticated users
Authenticated pages allow you to specify the exact data your customer sees or modifies.
To make a site Authenticated-only, set page permissions on the home page properties.
This setting will require users to register and sign in before seeing content on any page
of the site. For more information, see Page permissions.
Any authenticated user on your site is tied to a contact record in Dataverse. Remember,
your site authentication doesn't dictate your authorization. Your authentication is simply
a digital identifier, which grants access to specific pages.
Access
Many sites today include a sign- in or register experience where users either create a
new sign-in profile or use an existing sign-in to access site pages. These sign-in
credentials could be tied to their social accounts or their corporate credentials. These
credentials are examples of Identity Providers(IdP). Power Pages works with many
industry standard Identity Providers.
Power Pages utilizes the Power Apps portals capabilities for authentication. View the full
list here: Overview of authentication in Power Apps portals in the Power Apps portals
documentation.
Internal users
Users within your organization should use Azure Active Directory (Azure AD). Using
Azure AD provides a seamless sign-in experience via use of an active session. Using
Azure AD also aids in site security. When a user leaves the organization, their Azure AD
account is disabled and they can no longer access the protected pages on your site. For
your convenience, all Power Pages sites come with Azure AD pre-configured.
Tip
Rename the login button from Azure AD to something more friendly like "Contoso
Employees" or "Contoso Work Account". Create a Site Setting named
"Authentication/OpenIdConnect/AzureAD/Caption" and specify the value you wish
to display. Use the Portal Management app to create and modify Site Settings.
External users
External users should be using an external identity provider. Having a single external
identity provider can help onboard users consistently across multiple sites or apps. Your
users can access these using a single set of credentials for their convenience. Power
Pages offers several options.
Azure Active Directory B2C (Azure AD B2C) is one option you might consider for an
identity provider. Integrate your custom or corporate identity systems. You can enable
the use of existing social accounts like Microsoft Account, LinkedIn, Google, including an
option you set to allow a sign-in profile based on an email address.
You can also customize the look and feel to match your needs, see more in: Customize
the Azure AD B2C user interface in the Power Apps portals documentation.
7 Note
We recommend that you disable local sign-in providers. For more information, see
Get started with configuring your authentication in the Power Apps portals
documentation.
Security
Power Pages allows you to create secure sites.
You can protect any page and data on your site. For more information, see Power Pages
Security.
You can set table permissions to configure web roles for authenticated and
unauthenticated audiences. For more information, see Assign table permissions.
7 Note
Consider other scope types before using global scope for table permissions.
You can allow open registration or use identity providers to validate email addresses. For
more information, see Provide access to external audiences.
Data modeling
The data workspace allows you create tables, views and forms which are used to create
pages with list and form components that allow users to interact directly with data
stored in Microsoft Dataverse. You will need to configure the appropriate table
permissions for users to be able to interact with the data.
Anonymous users data design
You don't need to do anything specific in the data design to grant read access. If you
assign global table permissions for the anonymous web role, all the data will display in a
list or form when they access the page.
Requirements for the SSL Certificate that will be required in order to set up your custom
domain. For more information, see Custom Domains in the Power Apps portals
documentation.
The Power Pages design studio allows you to quickly create and edit powerful websites.
Pages workspace enables you to design and build webpages with in-context
editing and add content with no-code and low-code widgets such as text, image,
video, Power BI reports, lists, forms, and others. Learn more about the Pages
workspace.
Styling workspace lets you apply global site styles. You can apply corporate
branding updates, and review the changes in the preview on the right side of the
app window. Styling offers 13 preset themes. For each theme, you can customize
the color palette, background color, font styles, button styles, and section margins.
Learn more about the Styling workspace.
Data workspace lets you easily model, visualize, and manage business data for the
site with tables, forms, and lists. You can create and edit Dataverse tables for the
site and create new or edit existing model-driven forms and views. Changes made
in the Data workspace are stored in the Common data store. Learn more about the
Data workspace.
When creating a site, makers often use a database to store records related to business
information. Microsoft Power Platform's cloud-based data service, Dataverse, stores
information like a traditional database, but with added benefits such as security features,
analytics, and automation.
Data workspace
Makers are able to create and modify Dataverse tables directly in the design studio by
using the data workspace.
Dataverse gives makers the ability to use Power Apps to create model-driven apps and
to work with data using a view of data records in a grid or list. Makers can then use a
form to add, update, and view each record.
Power Pages sites are unique, but they have components that use these model-driven
app views and forms as a foundation to build interactive, data-driven webpages.
In data workspace, a maker can use pre-existing or new Dataverse model-driven app
views to build list components and pre-existing or new Dataverse model-driven app
forms to create basic or multistep form components on pages.
See also
Create and modify tables
Create and modify views
Create and modify forms
Create and design pages
Article • 12/17/2022 • 2 minutes to read
Create a page
The Pages workspace enables you to design and build webpages with in-context editing
and add content with no-code and low-code widgets such as text, image, video, Power
BI reports, lists, forms, and others.
1. Open the design studio to edit the content and components of your Power Pages
site.
4. By default, the new page will appear in the Main navigation section and there will
be a link on the default navigation of the site. If you unselect the add page to
main navigation option, the page will appear the Other pages section. The page
will be accessible from a URL but will not have a link on the default navigation.
Preview a page
You can preview your site by selecting Preview from the command bar. Select Desktop
to preview your page in a browser, or scan the QR code to view the page on a mobile
device.
Next steps
Customize pages
See also
Tutorial: Add and design a page
Customize webpages with design studio
page editor
Article • 02/03/2023 • 2 minutes to read
After adding the webpages you need and managing their hierarchy in the site map, you
can add various components. The WYSIWYG design studio page editor is part of the
Pages workspace. Use the editor to add and edit the components you need within the
canvas.
1. Open the design studio to edit the content and components of the portal.
3. Select the page where you'd like to add the component or section.
4. To add a section, hover over any editable section area, and then select the plus
sign (+). You can then choose between six section layout options.
5. To add a component, hover over the section where you'd like to place the
component, and then select +. You can then choose between the available
components.
6. To delete a component, choose the component on the canvas and then select
Delete.
For a more immersive editing experience, you can use the full-screen editing mode by
selecting the double arrow icon in the upper-right corner of the editor. You can also
switch to Visual Studio Code, zoom in (+), zoom out (-), or Reset the page design
canvas view back to 100%.
All sections and components allow for in-context editing. You can edit any section or
component directly from the canvas.
7 Note
You cannot delete the header or footer in the Pages workspace. See Web
templates for information on creating custom page layouts.
For sites created using Power Pages prior to September 23, 2022 there is a
known issue related to themes. More information: Adjusting the background
color for your Power Pages site
See also
Add text
Add button
Add image
Add video
Add spacer
Add Power BI
Add list
Add form
Add IFrame
Add multistep form
Edit code with Visual Studio Code for the Web
Structure site map
Edit site header
Article • 02/03/2023 • 2 minutes to read
Makers can establish their Power Pages site's brand by modifying their site's header
using the Edit site header feature. Using this feature, makers can:
From the Pages workspace, hover over the header component and select the Edit Site
Header button.
Editing options will appear within a pop-up window inside the Pages workspace.
Styling
To style your header, select the Styling menu option from the side navigation links
inside the Edit site header pop-up window.
Layout
To preview your site's responsive layout, select the Layout menu option from the side
navigation links inside the Edit site header pop-up window.
Use the + and - controls to modify the display size.
When customizing the header, if someone has modified the Liquid code, these changes
must be synchronized. Changes won't reflect in studio until the attribute values in the
underlying content snippets are updated to reflect these changes.
7 Note
If the values for any of these snippets aren't modified, makers will see the following
message in the studio:
Your updates may not show on the site because of customizations to the code
made by someone in your org.
For information on how to update the Liquid code and resolve this issue, see
Modifying the header in Portal Management App.
See also
Add text
Add button
Add image
Add video
Add spacer
Add Power BI
Add list
Add form
Add IFrame
Add multistep form
Edit code with Visual Studio Code for the Web
Structure site map
Sections
Article • 12/17/2022 • 2 minutes to read
Use sections to define a structure for your page and arrange portal components. Add
portal components inside the sections you create to meet your requirements.
Adding a section
1. Open the design studio to edit the content and components of your page.
3. Hover over any editable canvas area, and then select the plus sign (+).
You can then select between the following six section layout options.
Editing a section
After you've added a section, selecting the section will open the properties bar and
allow you to configure the section's properties.
Property Description
Background Change the color of the background according to the color palette for the selected
styling template.
Layout Change the layout of the section after you add it to the page. You can select a new
layout pattern from a predefined set of columns and widths.
Others Choose an option to duplicate the section, move it up or down within the page, or
delete the section entirely.
Add text
Article • 02/21/2023 • 2 minutes to read
3. Select the section you want to add the text component to.
4. Hover over any editable canvas area, then select the Text icon from the component
panel.
Property Description
Style Choose the following text styles for the text box:
Title
Heading 1
Heading 2
Heading 3
Subheading 1
Subheading 2
Paragraph
Small text
Hyperlink Link selected text to a URL or a page within the same site.
Color Select the text color based on the defined color palette.
Others Choose an option to duplicate the section, move it up or down within the page, or
delete the text component entirely.
Field Description
Link Style Overrides the global link styles (set in the Styling workspace) for a specific
link. By default, the link style matches the styles of the surrounding Text
Component.
To remove an existing link, select the link and choose Remove Link.
Add a button
Article • 12/17/2022 • 2 minutes to read
To add a button:
1. Open the design studio to edit the content and components of the portal.
3. Select the section you want to add the button component to.
4. Hover over any editable canvas area, then select the Button icon from the
component panel.
5. Specify the button label. This label will show up on the button component itself.
6. Select whether the button will redirect a user to a specified URL or to a page within
a Power Pages site.
Duplicate the button, move it up or down within the section, or delete the
button.
Add an image
Article • 12/17/2022 • 2 minutes to read
To add an image:
1. Open the design studio to edit the content and components of your page.
3. Select the section you want to add the image component to.
4. Hover over any editable canvas area, then select the Image icon from the
component panel.
5. You can now upload an image, use an external URL, or use template images (if
available).
Option Description
Upload Select this option if you want to select an existing image or upload a new one. If
image you want to select a previously uploaded image, choose it from the Select image
list. To upload a new image, select Upload image. All the uploaded images are
included in the image library, which you can select again through the Select
image list.
External Select this option if you want to upload an image from an external URL. Enter the
URL URL in the External URL field. Only secured links are accepted—that is, https:// is
mandatory. If you have images stored in your content delivery network, you can
provide the link in this field.
6. To format your image, select it and a menu with editing options will appear:
7. You can also adjust the size of the image by selecting it and adjusting the height
and width.
Add a video
Article • 12/17/2022 • 2 minutes to read
Adding a video
1. Open the design studio to edit the content and components of your page.
3. Select the section you want to add the video component to.
4. Hover over any editable canvas area, then select the Video icon from the
component panel.
5. You can select the video origin and enter the URL.
7 Note
Option Description
Show player Enables a user to see the video player control buttons, including start,
controls stop, and forward controls.
Autoplay Allows the video to automatically play when the page is rendered.
You can select the video component and drag to resize height and width.
You can choose other options to duplicate the video control, move it up or down
within the section, or delete the video.
Add a spacer
Article • 12/17/2022 • 2 minutes to read
Use a spacer to add space between sections on your page to allow for different layout
and design options.
1. Open the design studio to edit the content and components of your page.
3. Select the section you want to add the spacer component to.
4. Hover over any editable canvas area. From the component panel, select ... to
display other component options, then select the Spacer icon.
Option Description
Background Changes the color of the background according to the color palette for the
selected styling template.
Spacer Modifies the spacer height. By default, spacer width is set to the column
height width of the section.
Ellipsis Provides options to duplicate the spacer, move it up or down within the
section, or delete it entirely.
Add a Power BI component
Article • 12/17/2022 • 2 minutes to read
You can add a Power BI component on a page to display Power BI dashboards and
reports on your portal.
Power BI must be enabled before you begin adding Power BI components. For more
information, see: Set up Power BI integration.
3. Select the section you want to add the Power BI component to.
4. Hover over any editable canvas area, then select the Power BI icon from the
component panel.
6. You can select More options (...) you to duplicate the component, move it up or
down within the section, or delete it.
Add a list
Article • 02/03/2023 • 3 minutes to read
A list is a data-driven configuration used to render a list of records without the need for
a developer to surface the grid in the portal. Lists use Dataverse views to display records
on the portal.
A list displays data in a grid view on Power Pages sites. Lists on pages are created from
Dataverse table views. Dataverse table views can be created by using the Data
workspace or from model-driven apps created in Power Apps. You can use them on
pages or with forms to build a complete web application.
Tip
We've created a series of tutorials and videos for you to learn to use Power Pages
and how create a view and add a list to a page. For more information, go to
Tutorial: Add a list to a page.
To add a list:
1. Open the design studio to edit the content and components of the page.
3. Select the section you want to add the list component to.
4. Hover over any editable canvas area, then select the List icon from the component
panel.
5. You can choose either to create a new list or use an existing list.
If you choose to create a new list, you'll need to enter the following criteria.
List Description
Choose a table The name of the table the views are loaded from.
Select Dataverse The view of the target table that will be rendered. To modify the
views columns within the view, you'll need to access the Data workspace.
Data Description
Create a Allows the user to create a new record. You'll need to select the target
new record webpage, form, or URL that contains the new record.
View Allows the user to view details. You'll need to select the webpage, form, or
details URL that contains the details.
Settings Description
Number of Determines how many records will be displayed per page. If the table contains
records more records, navigation controls will appear for the user to view the next or
per page previous set of records.
You'll need to enable table permissions to ensure that users will be able to
view the data on the lists.
6. You can select the ellipsis (...) to duplicate the list, move it up or down within the
section, or delete it.
Filter types
All types of metadata filters supported in Portal Management app are configurable
within Power Pages studio and each one has a simplified name, which matches its
visualization. Makers can also edit/delete the filters when working with list component
inside the design studio.
Filter Description
Visualization
Text Filters the list by using a text box to search for matching text in a selected
attribute of the given table.
Checkbox, Makers can choose between checkboxes, dropdowns, and radio buttons as
Dropdown, visualizations for their filter type. More options to configure the filter will appear
and Radio once makers pick the column. These options vary based on the column's data
Button type.
Custom Filters the list by using a FetchXML filter condition. When a maker selects custom,
a text box appears. Makers will enter their XML statement in this field.
2. Select the type of filter you'd like to use from the drop-down selector under the
Type label.
3. Choose the column you'd like to filter from the drop-down selector under the
Column label.
7 Note
The studio will display the different options for makers to filter their data
based on the filter type and column they choose.
See also
Create and modify views
Tutorial: Add a list to a page
Add a form
Article • 01/18/2023 • 3 minutes to read
A form is a data-driven configuration that collects data in Power Pages sites. Forms on
pages are created from Dataverse table forms. Dataverse table forms can be created by
using the Data workspace or from model-driven apps created in Power Apps. You can
use them on pages or with lists to build a complete web application.
Tip
We've created a series of tutorials and videos for you to learn to use Power Pages
and how create and add a form to a page. For more information, go to Tutorial:
Add a form to a page.
To add a form:
1. Open the design studio to edit the content and components of the site.
4. Select the section you want to add the form component to.
5. Hover over any editable canvas area, then select the Form icon from the
component panel.
6. You can choose either to create a new form or use an existing form (if a maker has
created one previously).
If you choose to create a new form, you'll need to enter the following criteria.
Option Description
Select a form Select one of the Dataverse forms available for the selected table.
Data You can choose to have the data that's entered by a user create a new
record, update existing records, or make the data read-only.
On submit You can choose optionally to show a success message. You must enter
the options to redirect to a webpage and redirect to a URL.
Attachments Allows you to enable and configure attachments for the form.
7 Note
You'll need to enable table permissions to ensure that users will be able to
interact with the data on the forms.
7. You can select the ellipsis (...) to duplicate the form, move it up or down within the
section, or delete it.
Edit a text field on the form
You can edit text fields, including email, form title, and title section.
2. In the Add a form modal, choose Attachments from the left panel.
Once configured, the file upload placeholder will show in the canvas.
Enabling table permissions
When you add a new form, you'll be prompted to set permissions to allow site users to
interact with the form. The settings for table permissions will be pre-populated (create
and append to), but you'll still need to assign web roles and save the settings. The
process will automatically create the child table permissions for the note (annotations)
table, which contain the attachments.
You can also adjust the permissions and assign web roles based on your requirements in
the Set up workspace.
3. Select OK.
See also
Create and modify forms
Tutorial: Add a form to a page
Add a multistep form
Article • 12/17/2022 • 3 minutes to read
While you can use a form to collect data in Power Pages sites, a multistep form allows
you to create a form with multiple steps. Use multistep form when you want to collect
user input through multiple forms that use different components.
7 Note
5. Select on + New multistep form. Alternatively, you can also choose an existing
multistep form (if a maker has created one previously).
6. If necessary, edit the form name, and configure the form options with the
following criteria.
Option Description
Show progress Enable or disable progress indicator when submitting a multistep form.
indicator More information: Progress indicator
Option Description
Add multiple When enabled, allows the form to be submitted multiple times by same
entries per person.
person
On submit You can choose optionally to show a success message. You must enter
the options to redirect to a webpage and redirect to a URL.
More options From here, you can launch the form in Portal Management app for more
settings.
8. Enter a name for the step, and then select a table and the form.
Option Description
Select a Select one of the Dataverse forms available for the selected table.
form
Attachments Configure attachments for the step. More information: Enable attachments
More Allows you to change step mode, enable or disable back button, and launch
options the Portal Management app from here for more settings. More information:
Configure more options
Tip
If you want to create a new table or a new form, use Data workspace.
9. Select Ok.
10. Add more steps by selecting + Add step from the toolbar.
7 Note
Conditions and redirect steps are not supported in maker studio. Go to the
Portal Management app to create or view conditions and redirect steps.
Preview steps
You can preview all steps inside the design studio by selecting the step from the step
dropdown in the toolbar.
Enable attachments
You can enable notes attachment for any step. To enable notes attachment, go to Step
settings > Attachments > select Enable attachments.
Option Description
Allow multiple files Allor more than one file to the multistep form
Max file size File size in KB allowed for the upload. Maximum limit is determined by the
allowed (in KB) value set in the Dataverse.
File types allowed Select one or more file types from the available options that you want to
allow for upload
You can change the mode for a step when adding it, or from the Step settings > More
options in the toolbar once the step is created.
7 Note
By default, the first step is added in create mode and additional steps are
added in edit mode.
Different steps within a single multistep form can have different step modes.
Progress indicator
A progress indicator shows you the step that you're currently on within a multistep
form. You can change the progress indicator type and position.
See also
Tutorial: Add a multistep form to your page
Add an IFrame
Article • 12/17/2022 • 2 minutes to read
Add an iFrame component to your page to embed a page from any other website.
To add an IFrame:
1. Open the design studio to edit the content and components of the portal.
3. Select the section you want to add the IFrame component to.
4. Hover over any editable canvas area. From the component panel, select ... to
display other component options, then select the IFrame icon.
6. To format your IFrame, select it and a menu will appear where you can:
Duplicate the IFrame, move it up/down within the section, or delete the
IFrame.
Edit code with Visual Studio Code for
the Web (preview)
Article • 10/07/2022 • 4 minutes to read
From the design studio, you can edit site code using Visual Studio Code for the Web.
This feature allows you to edit a single page's content, custom CSS, and custom
JavaScript.
Visual Studio Code for the Web provides a free, zero-install Microsoft Visual Studio
Code experience running entirely in your browser, allowing you to browse site code and
make lightweight code changes quickly and safely. More information: Visual Studio
Code for the Web experience.
) Important
7 Note
First time Visual Studio Code for the Web load may take some time as it will
be installing required extensions for this feature.
File Create, Delete and Rename operations are not supported.
This feature utilizes Power Platform Tools web extension. Web extensions are
restricted by the browser sandbox and therefore have limitations compared to
normal extensions.
Power Platform CLI is not supported.
Power Platform Tools web extension features are limited to Power Pages
code editing experience.
This feature is not available in Government Community Cloud (GCC),
Government Community Cloud (GCC High), and Department of Defense
(DoD). Users in these regions will use the code editor in design workspace
to make their changes. More information: Using the code editor
5. Wait for Power Platform Tools web extension to initialize, and web page code to
load in left-pane.
2. Make changes to the respective files and press Ctrl+S to save the changes.
3. Go to design studio and select Sync to pull all the updates in your current design
studio session.
4. Select Preview to see changes on the Power Pages site.
7 Note
Using Visual Studio Code for the Web to edit websites is not supported in
Government Community Cloud (GCC), Government Community Cloud (GCC
High), and Department of Defense (DoD). Users in these regions can use the
code editor in design studio to make their changes.
Regions that support the Visual Studio Code editor will not see the design
studio code editor.
To view the source code of the page on the canvas, select the code editor icon </> in
the command bar.
The source code is displayed in the code editor pane at the bottom of the screen. Any
changes you made previously will be updated in the source code. To make changes,
update the source code and then select Save. The changes will be reflected on the
canvas.
The code editor supports three docking options: docked on the bottom, docked on the
right side, or full-screen edit mode.
The code editor canvas supports HTML editing. To edit JavaScript or custom CSS, select
Edit CSS & JS, which will take you to the Portal Management app. From there, select the
Advanced tab to make any edits you want in the JavaScript and CSS sections.
See also
Use Visual Studio Code and Microsoft Power Platform CLI
Create site structure
Article • 12/17/2022 • 2 minutes to read
When you've created a few pages, the page hierarchy is displayed in a nested structure
on the Main navigation menu.
Action Description
Add a new Adds a child page to the selected page. The child page inherits the page
subpage template of its parent page.
Promote Decreases the indent and moves the child page to the level of the previous
this page in the hierarchy.
subpage
Make this Increases the indent and makes the page a child page of the previous page in
a subpage the hierarchy.
Edit code Allows you to edit the page in Visual Studio Code for the Web.
Duplicate This will create a copy of the webpage. Note that form, multistep form, and list
components will not be duplicated but will be referenced from the duplicated
page.
Power Pages contains a robust set of themes and tools to use to style your site. Choose
from several preset themes that you can apply to your portal. Use these themes as a
starting point and apply further customization with the styling menu.
The Styling workspace lets you apply global site styles. You can apply corporate
branding updates, and review the changes in the preview on the right side of the app
window. Styling offers 13 preset themes. For each theme, you can customize the color
palette, background color, font styles, button styles, and section margins.
Note the list of themes in the Styling workspace. Further customization can
be done with the styling menu.
3. Select one of the preset themes to see how the style is reflected on the canvas
workspace to the right.
You can adjust the styling menu to make adjustments to each theme. Text
options include font, weight, size, and color.
4. Choose between Save Changes or Discard Changes after you've made your edits.
A modified theme will be noted next to the theme name unless or until a theme is
reset to preserve changes.
Resetting a theme
To reset a theme to its original state, select the ellipsis (...) and then select the Reset to
default option.
You can also use the viewport selector to choose from web, tablet, and mobile views of
the workspace.
Theme mapping
Each color on the palette maps to a specific element on the page. The preset theme
consists of nine colors and three slots for user-selected colors. If you customize
elements, the mapping won't be correct unless the theme is reset.
To add a new color or to change an existing color, select the plus sign (+) in the color
palette and choose your color using the color picker, hexadecimal value, or RGB values.
After a new color is added to the color palette, it can be used to color components in
the context menu.
7 Note
For sites created using Power Pages prior to September 23, 2022 there is a known
issue related to themes. More information: Adjusting the background color for
your Power Pages site
See also
Use design studio
Create and design pages
Customize pages
Manage CSS files
Article • 10/12/2022 • 4 minutes to read
Cascading Style Sheets (CSS) allows you to control the formatting and styling of your
site.
By default, new Power Pages sites will have bootstrap.min.css, theme.css and
portalbasictheme.css files installed as part of the site templates.
You can modify the style using the Styling workspace or you can upload your own
custom CSS files.
When you upload a new custom CSS file, it will be available as a web file in the Portal
Management app.
7 Note
Power Pages sites use Bootstrap 3.3.x. Site developers should not replace Bootstrap
3 with other CSS libraries as some of the scenarios in Power Pages are dependent
on Bootstrap 3.3.x. For more information, see Understanding Bootstrap framework
and Customize Bootstrap sections in this article.
4. Select the Manage CSS option under more options in Styling Workspace.
Upload CSS files
In the Manage CSS panel you'll see a list of the default CSS files:
bootstrapmin.css
theme.css
portalbasictheme.css
To upload your custom CSS file, select Upload and choose your custom CSS file.
7 Note
More options
Select the ... (ellipse) to right of the custom CSS file, where you can move the file higher
or lower in precedence and disable the custom CSS file.
7 Note
CSS files listed at bottom take higher precedence, meaning that if two files contain
an update the same property, the update contained in the file lower in the list will
be applied.
Architecture
Any custom CSS file is at lower priority than the default portalbasictheme.css and higher
than theme.css. This prioritization is to encourage customizing styles using style panel
for out of box styling options.
7 Note
We recommend custom CSS should be used to format only styles which aren't
provided out of box in style pane.
2 Warning
Do not deactivate, delete or change the display order of any of the default CSS files
(bootstrap.min.css, theme.css, or portalbasictheme.css). You will see an error in the
design studio.
Open the Portal management app and to restore the default state and display
order of the default CSS files to resolve the issue.
2. Locate the custom CSS file record. You may need to filter on the Name and
Website values to locate the correct record.
4. In the design studio, select Sync configuration to clear the styling changes from
the custom CSS.
The templates included with Power Pages are implemented by using standard Bootstrap
components with minimal additional custom styles. So when you implement the
templates, you can take advantage of Bootstrap customization options. You can quickly
customize the theme (fonts, colors, and so on) in a way that's applied consistently across
the site.
Customize Bootstrap
Bootstrap supports customization through a set of variables. You can set any or all of
these variables to custom values and then download a custom version of Bootstrap that
is compiled based on these values.
The power of Bootstrap variables is that they don't dictate the style of a single element.
All styles in the framework are based on and derived from these values. For example,
consider the variable @font-size-base . This specifies the size that Bootstrap assigns to
normal body text. However, Bootstrap also uses this variable to indicate the font size for
headings and other elements. The size for an H1 element might be defined as 300
percent of the size of @font-size-base . By setting this one variable, you control the
entire typographic scale of your portal in a consistent way. Similarly, the @link-color
variable controls the color of hyperlinks. For the color you assign to this value, Bootstrap
will define the hover color for links as 15 percent darker than your custom value.
The standard way to create a custom version of Bootstrap is through the official
Bootstrap site . However, due to the popularity of Bootstrap, many third-party sites
have also been created for this purpose. These sites might provide an easier-to-use
interface for Bootstrap customization or predesigned versions of Bootstrap for you to
download. The official Bootstrap customizer site has more information about
Bootstrap customization.
css/
|-- bootstrap.min.css
img/
|-- glyphicons-halflings-white.png
|-- glyphicons-halflings.png
js/
|-- bootstrap.min.js
See also
Microsoft Training: Advanced CSS in Power Apps portals
Microsoft Training: Advanced client-side development
Overview of the Data workspace
Article • 01/12/2023 • 2 minutes to read
With the Data workspace, you can easily visualize and manage business data for the site
with tables, forms, and lists. All the data and changes are stored in Microsoft Dataverse.
You can create and edit tables for the site, and create new (or edit existing) model-
driven forms and views.
Makers can create basic forms, advanced forms, and lists by using forms and views
created in the Data workspace.
Solutions
Data workspace left pane settings feature allows you to select any unmanaged solution
where changes made in Data workspace get added. Newly created table, column, forms,
and views will get added to the selected solution. Newly created tables and columns will
get the prefix of the selected solution's publisher. By default, all changes are saved in
the Common Data Services Default Solution. To change this setting, choose the
dropdown and select any unmanaged solution in the environment.
For more information, go to Solution concepts.
Tables
On the Data workspace left pane, Tables in this site contextually displays all tables being
used in the site. Other tables displays Dataverse tables in the environment and the
tables used in basic forms created in the site. You can also create a new table or open an
existing one in the table designer to add new columns and rows on the Table data tab.
For more information, go to Create and modify tables using Data Workspace.
Views
Views are a subset of table data. Create a view to select specific table columns and rows
that you want to display in a site. The Views tab displays views being used in the site
lists and all other views in the environment associated with the respective table. It only
shows view types that are supported in portals. Selecting an existing view (or creating a
new one) opens the Power Apps view designer, where you can define the view. Views
are a foundation of the list component that can be added to pages.
For more information, go to Create and modify views by using the Data workspace.
Forms
The Forms tab displays the forms being used in the basic forms used in the site and all
other forms in the environment associated with the respective table. It only shows the
main form type that's supported in portals. Selecting an existing form (or creating a new
one) opens the Power Apps form designer, where you can add form fields, components,
and much more. The form designer only provides features and properties that are
supported in portals. To access all form features, go to the Power Apps form designer
from the command bar.
Forms created here can be used to add a form to a page, or to create multistep forms.
For more information, go to Create and modify forms by using the Data workspace.
Next steps
Create and modify tables by using the Data workspace
How to create and modify Dataverse
tables by using the Data workspace
Article • 12/17/2022 • 2 minutes to read
You use the data workspace to create and modify Microsoft Dataverse tables directly in
the Power Pages design studio.
Table designer
On the left pane of the Data workspace, the Tables in this site section lists tables that
are used in basic forms created in the site. The Other tables section lists all Dataverse
tables in the environment.
7 Note
3. Select Create.
The table will be created in Dataverse. You can now begin to configure your table.
Configure a table
1. From the Tables in this site or Other tables section, select the table you want to
edit.
2. In the table designer, modify any existing data rows. In addition, the following
options are available.
Action Description
New row Create a blank row and enter in a new data row.
New Create a new data column for the table. You'll need to specify the name, data type,
column and format along with other column configuration options. For a complete list of
Dataverse column types, go to Types of columns.
Show/hide Select which columns you want to be visible or invisible in the table designer.
columns
Edit table Change the name and other advanced properties of the table.
properties
Next steps
Create and modify Dataverse views by using the Data workspace
Create and modify forms by using the Data workspace
See also
Tables in Dataverse
Create and modify Dataverse views by
using the Data workspace
Article • 12/17/2022 • 3 minutes to read
Views are a subset of table data. Create a view to select specific table columns and rows
that you want to display in a site. The Views tab displays views used in the lists that are
embedded in the site and all other views in the environment that are associated with the
respective table. It only shows view types that are supported in portals. Selecting an
existing view (or creating a new one) opens the Power Apps view designer, where you
can define the view. Views are a foundation of portals lists.
You use the data workspace to create and modify Dataverse table views directly in the
Power Pages design studio.
7 Note
You'll need to ensure that the changes you make to views are published before you
used them to create list components on pages.
Tip
We've created a series of tutorials and videos for you to learn to use Power Pages
and how create a view and add a list to a page. For more information, go to
Tutorial: Add a list to a page.
View designer
On the left pane of the Data workspace, the Tables in this site section lists the tables
that are used in basic forms created in the site. The Other tables section lists all
Dataverse tables in the environment.
Create or modify a view
1. From the Tables in this site or Other tables section, select the table that you want
to either create or modify a view for.
b. To modify an existing view, select the view from Views in this site or Views
available for this table.
4. The view will appear in the view designer, where you can configure it by using the
following features.
Action Description
Add Display the list of table columns where you can search for, select, or create a new
column table column and add it to the view.
Validate Run a checker to see whether there would be any performance impacts with the
current view configuration.
Action Description
Save As Save the view configuration with a different name, which creates a copy of the
current view.
Publish Publish the view so that it can be used when creating a list on a page.
view
5. You'll also be able to select the column header and modify the following.
Action Description
Sort Depending on the data type, you can configure the sorting alphabetically (sort
options A to Z, sort Z to A), numerically (ascending or descending), or by date (older to
newer, newer to older).
Move Move the column to the left or right in the view layout.
Left/Move
Right
Remove Remove the column from the view (this doesn't delete the table column).
View properties
You can modify some of the view properties—such as the name and description—on the
right panel.
Sort by
You can add a series of columns to be used to sort the view.
Filter views
You can also create filters for your view to display specific data. Select the Edit filters link
to open the expression builder and specify columns and column groupings to filter your
view data.
Download FetchXML
The Download FetchXML link will download your view definition as an FetchXML file
that can be used by pro-developers when creating web templates for custom page
layouts.
Next steps
Create and modify forms using the Data workspace
See also
Add a list to a page
How to create and modify Dataverse
forms by using the Data workspace
Article • 12/17/2022 • 3 minutes to read
The Forms tab displays the forms used in the basic forms that are embedded in the site,
and all other forms in the environment that are associated with the respective table. It
only shows the main form type that is supported in portals.
You use the data workspace to create and modify Dataverse table forms directly in the
Power Pages design studio.
7 Note
You'll need to ensure that the changes you make to forms are published before you
create basic and advanced form components on pages.
Tip
We've created a series of tutorials and videos for you to learn to use Power Pages
and how create and add a form to a page. For more information, go to Tutorial:
Add a form to a page.
Form designer
On the left pane of the Data workspace, in the Tables in this site section, you'll see a list
of tables that are used in basic forms created in the site. The Other tables section is a
list of all Dataverse tables in the environment.
b. To modify an existing form, select the form from Forms in this site or Forms
available for this table.
4. The form will appear in the form designer, which is the same designer used for
model-driven apps in Power Apps.
The form can now be configured by adding fields and arranging fields, tabs, and
sections.
Changes to the form are instantly reflected in the preview. An always-available property
pane makes the common task of updating properties quick and easy. Updates to
properties are also instantly reflected in the form preview. The columns pane with
searching and filtering capabilities helps makers quickly find and add columns to the
form.
Command bar
Item Description
Add field Open the tables column pane to search and select a column to place on the form.
You can also create a new table column.
Add Open the components pane to search and select form components such as tab and
component section layouts, input components, and related data views.
Undo/Redo Undo or redo the last action taken—or last edit made—on the form.
Publish Publish the form and make it available to add as a form to a page.
form
Other features
Item Description
Property Displays properties of the selected element. You can make changes here.
pane
Preview Changes the size of the form preview, helping you to see how the form will appear
size on various screen sizes.
switcher
Show Displays hidden columns in the form preview area. By default, this option is turned
hidden off, and hidden columns don't appear on the form preview and are visible only
from the tree view pane. When enabled, columns that are hidden are indicated in
the form preview area.
Zoom slider Zooms in or out of the form preview, helping you take a closer look.
Component Bind a custom code component to the field on the form. The code component can
be enabled on a form using the Pages workspace.
See also
Add a form to a page
Overview of the Power Pages Set up
workspace
Article • 12/17/2022 • 2 minutes to read
You use the Set up workspace to configure key aspects of your Power Pages site.
General
The general section allows you to configure site-specific details, and the checklist that
helps prepare for the site to go live.
Site details
The Site details section shows the following site details:
Name - editable field for the name of the site that helps you identify the site
among all other sites that you work on.
Owner - name of the owner of the site.
Created on - when the site was created.
Modified on - when the site was last modified.
Type - shows whether the site is in trial or production. When in trial, you can also
select Convert to convert the site into production.
Language - the language of the site.
URL - the URL to access the site.
Application ID - a unique ID that helps differentiate the current app from all other
apps. To copy the Application ID, select the copy icon.
Early Upgrade - enable or disable early upgrade for this site to access newly
launched features earlier.
Admin actions - takes you to the admin center for site admin actions such as
adding a custom domain, enable/disable CDN, or set up IP restrictions.
Go-live checklist
Go-live checklist includes interactive tasks that guide you to review and complete the
recommended actions. This interactive experience includes running the site checker, and
configuring several other settings for the site that help you prepare the site before the
general roll out. For more information, go to Go-live checklist
Authentication
Use Identity providers section to configure various authentication providers to allow
access to protected pages and data. For more information, go to Configure Power Pages
authentication.
Security
Security section allows you to configure permissions for tables used by your site, and
change the site's visibility settings to make the site public or keep private.
Table permissions
You can configure table permissions on Dataverse tables used in your Power Pages site.
For more information, go to Configure table permissions.
Site visibility
Site visibility section enables you to manage who has access to your website. All new
sites created in Power Pages are private by default. Only makers or people in the
organization granted permission by makers will have website access, making your site
secure. For more information, go to Site visibility
Mobile
You'll be able to configure progressive web apps (PWAs) using Power Pages. For more
information, go to Progressive Web Applications
Administration
The Administration section is where you can access the Power Pages admin center.
Overview of sites as progressive web
apps
Article • 10/23/2022 • 2 minutes to read
You can enable your site as a progressive web app (PWA), with native app–like look and
feel, by using the Set up workspace in the Power Pages design studio.
PWAs are built for cross-platform interoperability through browser support that
provides users a native app–like experience. PWAs bring a seamless experience for users
across different web browsers. These apps can be installed from the browser or through
app stores. This capability enables external and internal customers to use a portal as an
app. They can also pin the app directly to the home screen on their mobile device.
PWAs can be used for both online and offline scenarios. As a maker, you can choose to
enable specific pages in your site to be available offline (the content on these pages will
be read-only).
The following graphics illustrate the users' experience of adding a portal to their home
screen by using the browser that installs the portal as a PWA.
Makers can also install the site PWA from their device's app store, if you created an app
package and published the app to the app store for their device.
7 Note
Publishing your PWA to the iOS app store is currently not supported.
Next step
Build progressive web apps
Build a progressive web app
Article • 09/21/2022 • 4 minutes to read
Use Power Pages design studio to configure your progressive web app (PWA). You can
enable or disable PWA capability, customize PWA settings, and prepare to create an app
package to publish to respective device stores if you choose.
1. Go to Power Pages .
3. In the design studio, select Set up workspace and then select Progressive web
application.
7 Note
On iOS devices, icons for the PWA will be shown as thumbnails and the customized
splash screen won't be displayed.
Setting Description
Title The name of the portal PWA that will appear on the mobile device and in
the app store.
Description The description of the PWA that will appear on the mobile device and in
the app store.
Starting page The start page for the site when it's opened through the PWA.
of the app
Splash screen The background color for the splash screen when the PWA is loaded.
background
App icon The icon for the app that will appear on the mobile device and in the app
store.
Note: Supports .jpg, .jpeg, .png formats with a maximum upload size of 5
mb. Size of icon must be 512 × 512 pixels.
7 Note
Depending on your browser, it might take few moments for you to see your
changes to reflect. After customizing the PWA, select Preview to clear the
cache of your site.
3. Select the pages that you want to enable users to access when they use the PWA
offline.
7 Note
When configuring offline access for PWA pages, be sure to consider the storage
limitations for user devices. When the storage requirement for offline PWA access
exceeds the available storage on the device, the entire portal will be unavailable for
offline access. We recommend that you test the user experience of offline access
and only cache the pages that will be most helpful and important to your users.
Remember that offline pages can only show information; pages that are connected
to Microsoft Dataverse that contain forms to fill out or run queries won't work while
offline.
7 Note
You can't change the Title or Partial URL ("/default-offline-page") fields for the
offline page. A default offline page will be shown to users if the offline page is
missing.
Depending on your browser, it might take few moments for you to see your
changes to reflect. After customizing the offline PWA experience, select
Preview to clear the cache of your site.
1. Browse to your site by using a web browser on your mobile device in online mode.
2. Select Add to Home screen or a similar option. For example, on an Android device,
the option might be + Add to > App screen.
7 Note
This action downloads portal pages that have been enabled for offline
browsing. This might take a while, depending on network bandwidth and the
size of the pages that were selected for offline browsing.
4. Open your portal from the home screen. You'll see a notification at the top
reminding you that you're browsing in offline mode. If you select any pages that
haven't been enabled for offline browsing, the offline message appears.
Distribute your app
You can distribute your app either by using a browser or through an app store.
To create an app package, go to the Set up workspace in the design studio. Under App
package, select Create app package.
You'll be taken to the PWA Builder website where you can create an app package for
various app stores. The package you create by using PWA Builder contains:
An app package for the PWA to be used in its respective app store.
Update the title and the SHA-256 certificate fingerprint to update the digital asset links
file (assetlinks.json) that proves ownership of your PWA.
See also
Overview of portals as progressive web apps
Overview of Progressive Web Apps (PWAs)
Power Pages design studio and Power
Apps portals Studio
Article • 02/22/2023 • 3 minutes to read
There are two experiences for editing Power Pages and Power Apps portals sites.
From the Power Pages home page, you can open sites in design studio created using
Power Pages and sites created using Power Apps.
You can open sites created using Power Apps using portals Studio or the new design
studio. Sites created using Power Pages by default open in Power Pages design studio.
When you select a site in the Power Apps maker portal created using Power Apps, you
will be given the option to open the site using the portal Studio or to open in Power
Pages design studio.
7 Note
Please see How to: Embed a chatbot on a webpage on how to embed a chatbot
on a Power Pages site.
Videos
Buttons
Spacers
Text
Images
Basic forms
Multistep forms
Tip
When customizing sites created through Power Pages, we recommend that you use
Power Pages design studio instead of Power Apps portals Studio.
Tip
To utilize the richer styling options of design studio, we recommend you select and
apply one of the preset themes to your site.
There are also three CSS files added to all sites by default;
bootstrapmin.css
theme.css
portalbasictheme.css
The display order of the custom CSS file should be higher than the theme.css and
bootstrapmin.css files and lower than the portalbasictheme.css and the default display
order shouldn't be modified.
If the display order has been modified, or the default CSS files have been disabled, you'll
encounter the following behaviors;
Tip
To utilize the richer styling options of design studio, we recommend that all three
of the default CSS files are enabled (portalbasictheme.css, theme.css, and
bootstrapmin.css) and in the correct display order. You can then select and apply
one of the preset themes to your site.
2 Warning
In order to restore the display order of the default CSS files, follow these steps:
1. Open the Portal management app and in the Content section, locate Web Files.
2. Locate the following web files and update the display order appropriately. You can
use any values as long as the display order values are portalbasictheme.css >
custom.css > theme.css > bootstrapmin.css.
bootstrap.min.css 8
theme.css 9
portalbasictheme.css 15
3. Select Save to update the web file record.
For information on how to upload a custom CSS file, see upload CSS files.
Use the admin center
Article • 01/11/2023 • 2 minutes to read
Power Pages uses the Power Platform admin center to provide administrators with
various site configuration capabilities.
7 Note
You will need to be assigned certain roles to perform administrative tasks. For more
information, see Roles required for portal administration.
1. To access the admin center, from the design studio, select the Set up workspace.
3. The Power Platform admin center will open and allow you to configure your site.
The following capabilities are accessible from the admin center. More information on
these features may be linked to the Power Apps documentation.
Site Actions
Select Site Actions to perform the following actions on your site.
Manage Dynamics 365 Instance See Update the Dynamics 365 instance for your portal
Switch to Classic
Action More Information
Switch Switch to the classic admin center portals admin center. The Power Apps portals admin
to center is now deprecated and no longer available as of June 2023.
classic
Site Details
Action More Information
See All Opens a side panel displaying all the attributes of the current site.
Action More Information
Org URL The organization URL of the Microsoft Dataverse instance the site is associated with.
Security
Action More Information
Services
Action More Information
See also
Power Pages admin APIs
Use Power Pages admin APIs
Article • 02/23/2023 • 2 minutes to read
The Power Pages admin APIs are available through the Microsoft Power Platform API.
7 Note
The following limitations apply when configuring the steps to get the
authentication token while using the admin APIs for Power Pages:
HTTP
To learn more about the request format and request components, go to Call a REST API
method.
Delete Trigger the deletion of a Power Pages site from the given website ID.
Website
Get Get a list of all the Power Pages websites in your environment.
Websites
Restart Restart the Power Pages website for the given site ID.
Website
Site capacity consumption reports
Article • 10/12/2022 • 2 minutes to read
For detailed information on your Power Page's site capacity consumption, go to Portals
capacity consumption reports in the Power Apps documentation.
Update the Power Apps portals solution
Article • 10/12/2022 • 2 minutes to read
When you add a Power Pages site to your environment, many solutions are installed.
Periodically, new solutions updates are made available.
Updating solutions for Power Pages follows the same process as updating solutions for
Power Apps portals.
For detailed information on how to update the Power Apps portals solutions, go to
Update the Power Apps portals solution in the Power Apps documentation.
View site error logs
Article • 10/12/2022 • 2 minutes to read
For detailed information on viewing error logs for your Power Pages site, go to View
portal error logs in the Power Apps documentation.
Compliance and privacy
Article • 10/12/2022 • 2 minutes to read
Power Pages meets the highest levels of trust, transparency, standards conformance,
and regulatory compliance such as the General Data Protection Regulation (GDPR), in
addition to modern TLS crypto standards (TLS 1.2). It conforms with global accessibility
standards.
Cookies
A cookie is a small file sent from the website to a visitor's device by the browser. A
single web session might use multiple cookies. Power Pages also uses cookies to store
information for various purposes.
For more information, go to Cookies in Power Pages in the Power Apps documentation.
Accessibility
Microsoft is committed to make products and services accessible to everyone. For more
information about accessibility in general, go to Accessibility .
Power Pages provides some helpful tools for administrators to manage their sites and
environments.
Administrators can use the Power Apps portals admin center to:
The Power Platform Center of Excellence toolkit provides tools and guidance to help you
manage your Power Pages sites.
Component Description
Sync flows of the CoE Syncs your tenant resources to the Dataverse tables.
Starter Kit
Admin Sync Template The Power Pages specific cloud flow that handles the Power Pages
v3 (Portals) inventory telemetry
Power Pages table Provides information about created by/on and modified by/on, in
addition to resource-specific information.
Inventory Details
COE Inventory Record Created On
COE Inventory Record Modified On
Data Security
Table Permissions Enabled Across Portal
Table Permissions Enabled All Lists
Table Permissions Enabled All Basic Forms
Table Permissions Enabled All Advanced Form Steps
7 Note
The permission app is intended to be used only by admins. Power Platform Service
Admin or Global Admin permission is required. Share this app with your CoE
admins.
View Power Pages sites data by selecting Power Pages Sites in the left pane. This view
shows all sites in the organization's tenant, allowing admins to govern data security and
authentication across environments.
Admins are able view more details about a Power Pages Site by selecting an inventory
record row from the list. This action displays the Power Pages details form. Admins can
investigate and govern Power Pages sites to ensure they're up to their organization's
security and DLP standards.
Further resources
Power Pages admin center Allows you to perform advanced administrative actions
on portals. The admin center is available when a portal is provisioned successfully.
Explore the Power Apps admin documentation. As an admin looking after the CoE,
you should be familiar with the administration and governance of Microsoft Power
Platform. We recommend the following white paper as a resource: Power Apps
admin whitepaper
Find training resources, including guided learning and step-by-step guides, at
Power Platform labs .
Portal Management app overview
Article • 10/12/2022 • 2 minutes to read
For managing your Power Pages sites, you'll use the Portal Management app.
7 Note
To use the Portal Management app, you will need to be assigned the system
administrator role in the same Microsoft Dataverse environment as your site.
For detailed information, go to Portal Management app overview in the Power Apps
documentation.
Search
Article • 02/15/2023 • 18 minutes to read
In Power Pages, you can search for records across multiple tables by using Power Pages' global search functionality. You can also search
within records of lists using list search functionality.
List search functionality in the Power Pages uses FetchXML in the backend to search the columns defined in the list and then display the
results.
) Important
Starting with website version 9.4.4.xx, search uses Dataverse search to deliver results from multiple tables and fields for new sites.
Lucene .NET search is deprecated; however, existing websites use Lucene .NET search will not be affected. We recommend that users
migrate to Dataverse search. Enable Dataverse search for existing websites by using site setting Search/EnableDataverseSearch to true.
All the existing customers who are using Lucene .Net search need to migrate to Dataverse search by October 2023.
Pre-requisite
Power Pages search needs Dataverse search feature to be enabled at Dataverse environment
4. Select Save.
Once the index is provisioned, it may take anywhere between an hour or more to complete a full sync for average size organizations, to a
couple of days for large size organizations.
Global search
Benefits of global search include its ability to:
Find matches to any word in the search term in any field in the table. Matches can include inflectional words like stream, streaming, or
streamed.
Return results from all searchable tables in a single list sorted by relevance, based on factors such as:
Number of words matched.
Proximity to each other in the text.
Highlight matches in the search results.
Provide facet options that can be used to further filter search results.
Global search allows you to search for records across multiple tables. It also allows you to search across multiple columns and
configure what columns of a table would be searchable.
Provides intelligent search by applying AI technology to interpret natural language such as misspellings, common abbreviations, and
synonyms to deliver quality results.
7 Note
Intelligent search doesn't work when Lucene syntax is used. Clear the value in Search/Query site settings to make intelligent query
work.
In global search, the better the match, the higher it appears in the results. A match has a higher relevancy if more words from the search
term are found in close proximity to each other. The smaller the amount of text where the search words are found, the higher the relevancy.
For example, if you find the search words in a company name and address, it might be a better match than the same words found in a large
article, far apart from each other. Because the results are returned in a single list, you can see a mix of records displayed one after another,
with matched works highlighted.
The following sections detail how global search works in Power Pages and describe the various configuration options available.
By default, the following tables can be searched within a Power Pages website provided the appropriate solution packages have been
installed and search has been added to a site. The columns that are indexed will consist of the columns found in the Search view, which can
be customized. Each table in the list has its default set of attributes indexed as listed here:
Knowledge Article
Notes and attachment of a knowledge article are searchable as well. More information: Search within file attachment content
Articles are searchable only if they're published and their Internal Only field is set to false.
Blog
Blog Post
Blog Post Comment
Forum
Forum Post
Forum Thread
Idea
Idea Comment
Idea Forum
Web File
Attachment content of web files is searchable as well. More information: Search within file attachment content
Web Page
Incident
7 Note
You can configure additional tables for search. For more information, read Walk-through: Configuring additional
tables for global search
The first column in the "Portal Search" view will show as the title of search result. Modify the column order in the “Portal Search” view to get
a desired search result title.
If the view isn't available for any table, it's not indexed, and the results aren't displayed in global search.
7 Note
If you change the value of the Search/IndexQueryName site setting, you need to trigger a manual re-index of the build using steps
defined in the Rebuild the search indexsection.
Values in th
When using
Header/Search/Label Search This content snippet determines the watermark text shown in the search box in the site header.
Header/Search/ToolTip Search This content snippet determines the tooltip text shown when you hover over the search icon in
the site header.
Search/Default/FilterText All This content snippet determines the default text shown in the filter drop-down list next to the
search box.
Search/Facet/All All This content snippet determines the default text shown for "all records facet" in the "Record
Type" facet of the search result page.
Search/Facet/ClearConstraints Clear All This content snippet determines the label of the button that resets all the facets applied in the
search results page.
Search/Facet/Downloads Downloads This content snippet determines the label displayed in the search results of annotation
attachments and web file records in the "Record Type" facet.
Search/Facet/Less Show less This content snippet determines the label of the button that collapses facet results.
Search/Facet/ModifiedDate Modified This content snippet determines the label of the header shown for the Modified date facet.
date
Search/Facet/More Show more This content snippet determines the label of the button that expands facet results.
Name Default Description
value
Search/Facet/Product Products This content snippet determines the label of the Products facet.
Search/Facet/Rating Rating This content snippet determines the label of the Rating facet.
Search/Facet/RecordType Record Type This content snippet determines the label of the Record Type facet.
Search/Facet/SortOrder/AverageUserRating Average This content snippet determines the label shown for the "Sort by Average User Ratings" option
User in the sorting drop-down list on the Search Results page.
Ratings
Search/Facet/SortOrder/Relevance Relevance This content snippet determines the label shown for the "Sort by Relevance" option in the
sorting drop-down list on the Search Results page.
Search/Facet/SortOrder/Views View Count This content snippet determines the label shown for the "Sort by View Count" option in the
sorting drop-down list on the Search Results page.
Table-specific handling
Case: By default, the only cases that are searchable are in the Resolved state with the Publish to Web field set to True. This behavior
can be modified by updating the Search view of the Case table and removing the filters available in the Search view. However, when
this check is removed, it's important to ensure that the Customer Service – Case web template is modified appropriately, as this web
template restricts all users from viewing cases that are active and aren't published to the web. If the web template isn't modified,
cases will be visible in search results. However, when you select them, the case detail web page is displayed with the Permission
denied error.
Knowledge Base: Knowledge articles are searchable only if they are in the Published state with the Internal field set to No. This
behavior can't be modified. Knowledge articles also have special functionality available in search results as follows:
Facets: Two special facets are available only for knowledge articles and are displayed if knowledge article records are available in
search results.
Ratings facet: This facet allows you to filter search results based on the average rating of knowledge articles.
Product facet: This facet allows you to filter search results based on the product associated to the knowledge articles.
Attachment search: This functionality allows you to search within the attachments or notes associated to a knowledge article.
Search within note description, title, attachment file name, and attachment content of notes or attachments that are exposed on
the site. More information: Search within file attachment content
Term: Every query entered by a user for search is parsed into terms and operators. Following are the types of terms:
Single term: Single term is a single word. For example, a query {hello world} would be parsed into two single terms, "hello" and
"world". Each single term is searched separately. Therefore, in the query {hello world}, all the records having the term "hello" or
"world" would be displayed in search results.
Phrases: A phrase is a group of terms surrounded by double quotes (""). For example, a query {"hello world"} would be parsed as a
phrase "hello world". Each phrase is searched completely. For example, in the query {"hello world"}, all the records having the
complete phrase "hello world" would be displayed in search results. Any record that only has "hello" or "world" wouldn't be
displayed.
Each search query can consist of one or many of these terms of any type that are combined using Boolean operators to create
complex queries.
Term modifiers
Wildcard search: There are two types of wildcards available to be used within single terms of search queries (not within phrase
queries): Single character wildcard search and multiple character wildcard search.
Single character wildcard search: To perform a single character wildcard search, use the question mark (?) symbol. The single
character wildcard search looks for terms that match that with the single character replaced. For example, to search for "text" or
"test" you can use the search query as "te?t".
Multiple character wildcard search: To perform a multiple character wildcard search, use the asterisk (*) symbol. Multiple
character wildcard searches look for zero or more characters. For example, to search for test, tests or tester, you can use the
search query as "test*". You can also use multiple character wildcard search in the middle of the query. For example, "te*t".
7 Note
You cannot use a * or ? symbol as the first character of a search.
Wildcard search cannot be used in a phrase query. For example, if you use query as "hell* world", it will not display results
with the "hello world" text.
Proximity search: Proximity search allows you to search words that are within a specific distance from each other. For example, if
you want results for the words "Picture" and "blurry" appearing within 10 words of each other, you can use proximity search.
To do proximity searches, use the tilde (~) symbol at the end of the query. For example, if you want results for the words "Picture"
and "blurry" appearing within 10 words of each other, then the query would be "Picture blurry"~10.
Boosting a term: Global search provides the relevance level of matching documents based on the terms found. To boost a term,
use the caret (^) symbol with a boost factor (a number) at the end of the term you're searching. The higher the boost factor, the
more relevant the term will be.
Boosting allows you to control the relevance of a document by boosting its term. For example, if you're searching for Smart TV and
you want the term Smart to be more relevant, boost it using the ^ symbol along with the boost factor next to the term. You would
type: Smart^4 TV. This will make documents with the term Smart appear more relevant.
You can also boost phrase terms as in the example: Smart TV^4 New TV. In this case, the "Smart TV" phrase would be boosted in
comparison to "New TV".
By default, the boost factor is 1. Although the boost factor must be positive, it can be less than 1 (for example, 0.2).
Boolean operators: Boolean operators allow terms to be combined through logic operators. Global search supports OR, AND, NOT,
"+", and "-" as Boolean operators.
7 Note
OR: The OR operator is the default conjunction operator. If there isn't a Boolean operator between two terms, the OR operator is
used. The OR operator links two terms and finds a matching record if either of the terms exists in a record. This is equivalent to a
union using sets. The symbol || can be used in place of the word OR. For example, the search query "Smart TV" (excluding
quotation marks) will search for all records with the word Smart or TV in them. This query can also be written as "Smart OR TV",
"Smart || TV".
AND: The AND operator matches records where both terms exist anywhere in the text of a single document. This is equivalent to
an intersection using sets. The symbol && can be used in place of the word AND. For example, the search query "Smart AND TV"
(excluding quotation marks) will search for all records with the words Smart and TV in them. This query can also be written as
"Smart && TV".
NOT: The NOT operator excludes records that contain the term after NOT. This is equivalent to a difference using sets. The symbol !
can be used in place of the word NOT. For example, the search query "Smart NOT TV" (excluding quotation marks) will search for
all records that have the word Smart but don't have the word TV in them. This query can also be written as "Smart ! TV".
Plus (+) symbol: The plus (+) symbol, also known as the required operator, requires that the term after the "+" symbol exists
somewhere in a record. For example, the search query "Smart + TV" will search for all records where the word TV must be present,
and the word Smart may be present as well.
Minus (–) symbol: The minus (-) symbol, also known as the prohibit operator, excludes documents that contain the term after the
"-" symbol. For example, the search query "Smart - TV" will search for all records where the word Smart is present, and the word TV
must not be present.
Grouping: Global search supports using parentheses to group clauses to form sub queries. This feature can be useful if you want to
control the Boolean logic for a query. For example, if you want to search for all records where either one of the terms "HD" or "Smart"
is present but the word TV is always present, the query can be written as "(HD or Smart) AND TV" (excluding quotation marks).
Liquid search tag
You can invoke global search from liquid templates by using the searchindex tag. More information: Use Liquid
) Important
When you use the searchindex tag, facets are not returned as part of results, nor can they be applied as a filter.
All search-enabled tables must have the Change Notification metadata flag enabled, otherwise the website won't be notified of the
changes and the search index won't be updated.
Any change can take up to 30 minutes to be reflected in a search. However, 95 percent of the changes will be updated within 15
minutes. If attachments are involved, it can take longer depending on the size of the attachment.
it's advisable to rebuild the full index manually after performing a bulk data migration or bulk updates to records within a short span
of time. For details, see Rebuild the search index.
You make a metadata change to search properties like changing certain query-specific site settings or changing the search view of a
table, and so on.
Bulk data migration or updates are performed.
A website record, associated to your Power Pages site, is changed in a Microsoft Dataverse environment.
You can also rebuild a full search index from a Power Pages site.
) Important
A full index rebuild is a very expensive operation and should not be done during peak hours of usage, as this can bring your site
down.
Time taken to rebuild index is proportional to the size of the data eligible for indexing as per your search query configuration,
and can range from a few minutes to an hour.
In the following example, we'll remove the Case table from global search.
1. Go to Power Apps .
2. Select Solutions.
6. In the view editor, rename the view according to your requirement. Ensure the new name doesn't have the Portal Search term.
7. Save and publish the changes and close the view editor.
8. Rebuild the full index as described in the Rebuild the search index
7 Note
In this example, we are making changes in an unmanaged layer by directly editing the view. You can also do this via a managed
solution.
search/filters: Removes case table from filters on the Search page and the search box in the header of the site. By default, the value is:
Content:adx_webpage,adx_webfile;Blogs:adx_blog,adx_blogpost;Forums:adx_communityforum,adx_communityforumthread,adx_communityforumpo
st;Ideas:adx_ideaforum,adx_idea;Help Desk:incident;Knowledge:knowledgearticle
You must delete Help Desk:incident; from the value of this site setting so that the Incident table is removed from filters that come next to
the search box in the UI.
Content:adx_webpage,adx_webfile;Blogs:adx_blog,adx_blogpost;Forums:adx_communityforum,adx_communityforumthread,adx_communityforumpo
st;Ideas:adx_ideaforum,adx_idea;Knowledge:knowledgearticle
Once this site setting is changed, the Case table will be removed from filters on the search page and in the header.
Next steps
Configuring additional tables for global search
See also
Use faceted search
Search within file attachment content
Walk-through: Configuring additional
tables for global search
Article • 02/15/2023 • 5 minutes to read
Overview
You can enable additional tables for search functionality. Configuring search for
additional tables requires additional actions, which are described in this article. These
explicit configuration steps ensure that no records will accidentally be made available
using global search.
1. Enable additional tables search for the first time by adding a new setting
Search/EnableAdditionalEntities and set it to true. This is a one-time step that
enables search for all additional out-of-the-box and custom tables.
2. Create Portal Search view for each additional table with the required filters and
columns that need to be searchable.
3. Configure table permissions for each additional table with a Web Role to have at
least read privilege. Skip this step if you already have the read permissions
configured for each table.
4. Create a record details page for each table to show the details of the selected
record from the search results page. Skip this step if you already have created
separate results record details page for each table.
2 Warning
If you don't create a record details page, or if you don't bind the record details
page with site marker for search, you won't be able to select the additional table
records from search results page to view the record details.
) Important
You can also configure other related site settings similar to the search configuration for
default tables. For example, you can use the Search/Filters setting to configure
additional tables and add a drop-down filter option to the global search. More
information: Related site settings
For example, if your table logical name is nwind_products, the site marker will be
nwind_products_SearchResultPage . The value of the site marker is the record details page
that you want to open when that search result is selected. By default, a record ID is
passed in the id querystring parameter to the record details page. For more information
about adding forms on a page, go to Add a form.
) Important
Ensure that your record details page has a basic form, or has logic written to show
the search result details. For example, Step 4 - Add record details page in the
following walkthrough.
The following walkthrough explains each step in detail with a sample database and
solution to configure search for additional tables.
7 Note
This walkthrough explains how to enable search for the Order Products table
in the sample database Northwind, available with Microsoft Dataverse. For
more information about sample databases, see Install Northwind Traders
database and apps.
You can follow the walkthrough with a table of your choice by replacing the
nwind_products table name with your table's logical name.
7 Note
The Portal Management app might be named Dynamics 365 Portals if you're
in an environment where Dynamics 365 applications are installed.
3. Select to open the Portal Management app, and then go to Site Settings in the
left navigation pane.
7 Note
The following steps require the Northwind Traders solution to be installed. If you
want to use another table, use the appropriate solution or use the Default solution.
1. Go to Power Apps , and select Solutions from the left navigation pane.
If the Portal Search view doesn't already exist, select Add view, enter the name as
Portal Search, and then select Create.
7. If you edited the view, be sure to select Save, and then Publish before you
continue.
3. Select New.
4. Enter the name as Northwind Products Read All, and then select the appropriate
Access Type and the Read privilege.
For this example, the Global access type is provided to the nwind_products table.
7. Scroll down to the Web Roles section, and then select Add Existing Web Role.
2. Select More Commands (…), and then select Edit to open the site in design studio.
3. Select New Page from the menu in the upper-left corner, and then select the Blank
layout for the page.
This page will be shown when users select a record from the search results
page to view the details of the selected record.
5. Select Components in the left navigation pane, and then add a Form component
to this webpage.
6. Select the Use existing option on the right side of your workspace, choose the
View Products form for the nwind_products table, and then set Mode to
ReadOnly.
3. Select New, and then create a new site marker by using the following details:
Name: nwind_products_SearchResultPage
Page: Order Products
2. Append the URL in the address bar with /_services/about, and then select Enter.
2. Go to the search toolbar or the search page, and search for a known record.
For example, use the search keyword Northwind Clam Chowder to get the results
associated with the nwind_products table.
Next steps
Remove a table from global search
See also
Related site settings
Progressive search
Faceted Search
Article • 02/15/2023 • 2 minutes to read
Users can search site content using filters based on selected characteristics. These filters
allow customers to find the content they want more quickly than traditional search.
1. Open the Portal Management app and go to Portals > Website > Site Settings.
2. Select the Search/FacetedView site setting.
3. Change the Value to True to enable or False to disable faceted search.
1. Open the Portal Management app and go to Portals > Web Templates.
2. Select the view to disable (that is, Knowledge Management – Top Rated Articles)
3. Select Deactivate at the top of the page.
The different tables are preceded by the word Forums: because the first value is the
name with they're grouped as. This word will be translated based on the language that
is being used on the site.
Use faceted search to improve knowledge
search results
Faceted search enables Power Pages sites to have search filters on the leftmost side.
These filters allow you to choose between items like forums, blogs, and knowledge
articles. More filters are added for specific search types. For example, knowledge articles
can be filtered by Record Type, Modified Date, Rating, and Products to help customers
find the content they need. The rightmost side also has a drop-down box that sorts
results based on the customer’s choice of Relevance or View Count (specific to
knowledge articles). Below is a screen capture with an example of some of the available
filters.
See also
Progressive search
Search within file attachment content
Article • 02/15/2023 • 4 minutes to read
You can use the notes attachment to include downloadable files in knowledge base
articles. You can also use web files to create an FAQ page with downloadable content.
You can configure your Power Pages site to allow users to search within the attachment
content of knowledge base articles. This helps users to find the information that they're
looking for.
In knowledge base articles, any notes attachment with the defined prefix is indexed. In
web files, the latest notes attachment is indexed.
To index the attachments, you must create the following site settings and set their value
to True:
7 Note
Only the files that are attached to knowledge articles can be searched. The files that
are attached to web files are not searchable.
When you search for a term, the search results also include attachments. If the search
term matches a notes attachment, the link to the corresponding knowledge base article
is also provided. To see downloadable attachments, select Downloads under Record
Type in the left pane. To modify the Downloads label, edit the Search/Facet/Downloads
content snippet. By default, the value is set to Downloads.
7 Note
This allows search to look through knowledge article attachments and make information
easily accessible to knowledge consumers. With this attachment capability, you won’t
need to use the notes attachments for the site. Knowledge article attachments will
automatically be synced to the notes attachment. More information: Update knowledge
article attachments for portal
Content Snippets
To modify the label displayed in the search results for annotation and web file
downloads, create a content snippet Search/Facet/Downloads, and then set its value as
required. The default value is Downloads.
Web Files
The content of file attachments associated with web files can now be indexed. You can
update existing web files for CSS files and image files (for example, bootstrap.min.css,
theme.css, and homehero.jpg) to be excluded from search.
Web Templates
The Faceted Search - Results Template web template is revised to display files associated
with knowledge base articles as primary search result items with a related article link.
You must update the Faceted Search - Results Template web template to the following
source:
{% assign openTag = '{{' %}
{% assign closingTag = '}}' %}
{%raw%}
<script id="search-view-results" type="text/x-handlebars-template">
{{#if items}}
<div class="page-header">
<h2>{%endraw%}{{openTag}} stringFormat "{{
resx.Search_Results_Format_String }}" firstResultNumber lastResultNumber
itemCount {{closingTag}}{%raw%}
<em class="querytext">{{{query}}}</em>
{{#if isResetVisible}}
<a class="btn btn-default btn-sm facet-clear-all" role="button"
title="{%endraw%}{{ snippets['Search/Facet/ClearConstraints'] | default:
res['Search_Filter_Clear_All'] }}{%raw%}" tabIndex="0">{%endraw%}{{
snippets['Search/Facet/ClearConstraints'] | default:
res['Search_Filter_Clear_All'] }}{%raw%}</a>
{{/if}}
</h2>
</div>
<ul>
{{#each items}}
<li>
<h3><a title="{{title}}" href="{{url}}">{{#if parent}}<span
class="glyphicon glyphicon-file pull-left text-muted" aria-hidden="true">
</span>{{/if}}{{title}}</a></h3>
<p class="fragment">{{{fragment}}}</p>
{{#if parent}}
<p class="small related-article">{%endraw%}{{ resx.Related_Article }}
{%raw%}: <a title="{{parent.title}}" href="{{parent.absoluteUrl}}">
{{parent.title}}</a></p>
{{/if}}
<ul class="note-group small list-unstyled">
{{#if relatedNotes}}
{{#each relatedNotes}}
<li class="note-item">
{{#if isImage}}
<a target="_blank" title="{{title}}" href="{{absoluteUrl}}"><span
class="glyphicon glyphicon-file" aria-hidden="true"></span> {{title}}
</a>
{{else}}
<a title="{{title}}" href="{{absoluteUrl}}"><span class="glyphicon
glyphicon-file" aria-hidden="true"></span> {{title}}</a>
{{/if}}
<p class="fragment text-muted">{{{fragment}}}</p>
</li>
{{/each}}
{{/if}}
</ul>
</li>
{{/each}}
</ul>
{{else}}
<h2>{%endraw%}{{ resx.Search_No_Results_Found }}{%raw%}<em
class="querytext">{{{query}}}</em>
{{#if isResetVisible}}
<a class="btn btn-default btn-sm facet-clear-all" role="button"
title="{%endraw%}{{ snippets['Search/Facet/ClearConstraints'] | default:
res['Search_Filter_Clear_All'] }}{%raw%}" tabIndex="0">{%endraw%}{{
snippets['Search/Facet/ClearConstraints'] | default:
res['Search_Filter_Clear_All'] }}{%raw%}</a>
{{/if}}
</h2>
{{/if}}
</script>
{%endraw%}
Site Settings
To configure the facets to group annotations associated with knowledge base articles
and web files in a single facet, edit the Search/RecordTypeFacetsEntities site setting
name and append ;Downloads:annotation,adx_webfile to its value.
To allow attachments associated with knowledge articles to appear in the website and
search results, edit the KnowledgeManagement/DisplayNotes site setting and set its
value to True. The site setting KnowledgeManagement/NotesFilter contains a prefix
value that must be prefixed to the note text field on notes; only notes with the specified
prefix value will appear on the webpage. By default, the value is *WEB*, but you can
change it through the site setting.
To enable the indexing of file attachments associated with notes, create the
Search/IndexNotesAttachments site setting and set its value to True.
Progressive search
Article • 02/15/2023 • 2 minutes to read
Getting accurate search results when a site has several additional tables enabled for
search can become difficult. A complex permissions structure for individual tables and
records adds to this difficulty. Searching for content on such sites may end up with a
records count that doesn't match the number shown on the search results page.
Overview
By default, the Power Pages search processes only one page for permissions and
keyword matches. When results span across multiple pages, some results may be
discarded because of permissions, or keywords, and the pagination becomes distorted.
Progressive search eliminates the possibility of having a mismatch between the results
count and the number of records returned in the search results.
A site configured with progressive search processes five pages for a permissions and
keyword match, with 50 records for a single search attempt. The search count now
shows 50+ on the first page instead of the mismatch count between facet and results.
When the user searches for products, only 10 results show up, even though the search
facet shows the total number of products as 68, including the configured filters.
This behavior is more prevalent when search results span across multiple pages. But with
progressive search, you can get more accurate results by changing the behavior of the
search for enabled facets and filters.
After a user enables progressive search on this site, the search results for the same user,
permissions, and keyword show the total number of results as 10 instead.
If a user enables progressive search for a keyword that returns more than 50 results, the
count shows as 50+ instead, with 10 results listed on the first page.
Selecting another page, such as page 2, shows the count updated to the total number of
search results. (In this example, a total of 52.)
Considerations
Enabling progressive search changes the behavior of the search for all enabled
facets and filters.
Progressive search processes a maximum of 50 records at a time, with more than
50 results shown as 50+ on the first result page.
For a better search experience, use specific keywords that narrow the search results
to a smaller number.
Selecting a particular facet in filters only shows results for the selected facet, such
as tables.
Since the records are progressively evaluated, the "jump to last page" button is
only available if the remaining number of pages in the search result are five or less.
See also
Faceted Search
Configuring additional tables for global search
Advanced configuration
Article • 10/12/2022 • 2 minutes to read
Power Pages is built on the foundation of Power Apps portals. Many of the tools and
methods used to configure sites in Power Pages use the functionality of Power Apps
portals.
The following are advanced features of Power Pages that are configured by using Power
Apps portals.
Configure search
In Power Pages, you can search site content and Dataverse records by using the global
search functionality.
Power BI
To view dashboards and reports from Power BI on pages in a site, you must first enable
Power BI visualization from the Power Apps portals admin center.
Web files
A web file represents a downloadable file in a Power Pages site, used to store images,
documents, and any other file type.
SharePoint integration
You can upload and display documents to and from SharePoint Online directly on a
basic form or advanced form in a site.
Multiple languages
A site can display content in multiple languages to reach customers around the world.
The content of your Power Pages site can be translated into multiple languages while
maintaining a single content hierarchy.
One of the most common ways of using web based applications is to embed web
application functionality inside another website. Usually the other website already exists,
but you want to enhance its abilities and add new functions that work with your data
surfaced through the Power Pages application.
In this scenario, it's easier to embed your Power Pages site functionality rather than
build it from scratch. This article explains the steps to embed a Power Pages application
in a different website by using an iframe.
1. Set up the HTTP response header. You can choose either the Content-Security-
Policy (CSP) frame-ancestors directive (recommended) or X-Frame-Options .
7 Note
For example, to enable a Power Pages site that can be embedded by using an
iframe in the website www.contoso.com , the setting will look like the following:
7 Note
The 'self' string is important; without it, the Power Pages site won't be
able to embed its own pages, which is commonly required in scenarios
such as modal pop-up menus for basic forms.
It's important to limit the ability to embed a Power Pages site in an iframe
to specific sites, rather than use the wildcard character (*).
2. Set the SameSite default to None for Power Pages site cookies.
The SameSite attribute for cookies is useful for securing the site against cross-
site request forgery (CSRF) attacks. However, this also means that the site can't be
embedded in an iframe in scenarios like when the site requires user authentication
or contains dynamic components like forms or lists.
Therefore, to embed the Power Pages site in an iframe, you must change the
SameSite cookie attribute for your Power Pages site to None by default. More
information: SameSite mode changes
7 Note
Marking SameSite cookies as None doesn't make your Power Pages site
vulnerable to CSRF attacks, because the Power Pages uses anti-CSRF tokens to
prevent these attacks.
We recommend that the Power Pages domain name be a sibling or a child of the
domain name of the site where you're embedding the site in an iframe. For example, if
your root website is www.contoso.com , the Power Pages site domain name should be
portal.contoso.com . This is important to ensure that the cookies used by the Power
Pages site won't be classified as third-party cookies and be blocked by the browser
(blog) . Otherwise, functionality such as Captcha and basic/multistep form redirection
might not work properly. To set up a custom domain name on your Power Pages site, go
to Add a custom domain name.
For example, the following code displays a search bar in the header if the page is
anything other than the search page.
) Important
Because the header is an element common to all pages, page.id will get cached by
default for the first page that's opened by a user. Hence, this code uses the
substitution tag to ensure that these elements won't be cached and will always be
evaluated based on the current page.
{% substitution %}
{% assign current_page = page.id %}
{% assign sr_page = sitemarkers[Search].id %}
{% if current_page == sr_page %}
{% assign section_class = section-landing-search %}
<section class=page_section section-landing-{{ current_page }} {{
section_class | h }} color-inverse\>
<div class=container\>
<div class=row \>
<div class=col-md-12 text-center\>
{% if current_page == sr_page %}
<h1 class=section-landing-heading\>{% editable snippets
'Search/Title' default:resx["Discover_Contoso"] %}\</h1\>
{% include 'Search' %}
{% endif %}
</div\>
</div\>
</div\>
</section\>
{% endif %}
{% endsubstitution %}
As an alternative to adding conditional code in header and footers, you can also
consider the following methods. However, we don't recommend either approach; they
both have limitations, and neither supports full functionality.
For read-only scenarios that don't include any lists or forms, disable header and
footer from your template.
Use a special rewrite template ( ~/Areas/Portal/Pages/Form.aspx ).
See also
Configure site settings for portals
Substitution template tag
Enable header and footer output caching on a portal
SameSite mode
Set up HTTP headers in portals
Set up Azure Front Door with Power
Pages sites
Article • 01/27/2023 • 16 minutes to read
As a website maker, you can use Azure Front Door with Power Pages to use its edge
caching and web application firewall (WAF) capabilities. In this article, you'll learn how to
set up Azure Front Door with Power Pages.
7 Note
Although this article is focused on Azure Front Door, similar steps can be
used for any other content delivery network or WAF provider. The
terminology used by various components might be different.
While custom domain HTTPS settings using Azure portal allows you to
choose a default minimum TLS version between 1.0 and 1.2, use TLS version
1.2 for strong ciphers.
Follow these steps to set up Azure Front Door with Power Pages:
1. Set up the Azure Front Door endpoint and custom domain name that website
users will use.
2. Configure your Power Pages site as the origin.
3. Set up routing rules to cache static requests.
4. Set up WAF rules to analyze incoming requests.
5. Set up the site to accept traffic only from Azure Front Door.
Prerequisites
An Azure subscription with the access to create new services.
A custom domain name and access to the DNS provider for custom domain name
setup.
An SSL certificate that will be used for the custom domain name. The certificate
must meet the minimum requirements for Power Pages.
7 Note
If you've already created the Azure Front Door resource, go to step 3 of the
following procedure.
1. Sign in to the Azure portal , and create a new Azure Front Door (Standard or
Premium) resource. More information: Quickstart: Create an Azure Front Door
Standard/Premium profile - Azure portal
Tip
Option Description
Project Settings related to the resource organization, similar to any other Azure
details resource.
Subscription Select the subscription where the Azure Front Door resource will be created.
Resource Select the resource group for Azure Front Door. You can also create a new
group resource group.
Option Description
Tier Select a tier for the Azure Front Door resource. For this article, we've
selected the Premium tier, which allows access to the Microsoft-managed
rule set and bot prevention rule set for WAF.
Endpoint Enter a name for your Azure Front Door requests. This name is the actual
name URL that will serve the traffic for users. Later, we'll set up a custom domain
name that points to this URL.
Caching Enable caching. Caching uses the edge caching capabilities for static
content.
Caching is discussed further in "Set up routing rules to cache static
requests," later in this article.
Query string Select Use Query String. This option will ensure that if a page has dynamic
caching content that satisfies the query string, it takes the query string into account.
behavior
4. Select Review + Create, and wait for setup to finish. This typically takes 5 to 10
minutes.<
5. Validate the setup by browsing to the endpoint URL (for example,
contoso.example.azurefd.net ) and verifying that it shows the content from your
Power Pages site.
Tip
If you see a "404 Not Found" response, setup might not have finished. Wait a
while and try again.
Web browsers reject cookies set by Power Pages when you use an Azure Front Door
endpoint URL that's different from the URL of your site. Hence, you must set up a
custom domain name both for your site and the Azure Front Door endpoint.
1. Set up a custom domain name on your site. More information: Add a custom
domain name.
2. Enable your site custom domain name on the Azure Front Door resource by doing
the following:
a. Update your DNS provider by removing the CNAME record created earlier
during the custom domain setup for Power Pages. Only CNAME should be
updated; don't remove the origin host name. DNS will point CNAME to the
Azure Front Door endpoint. The only purpose for adding CNAME was to ensure
that the custom host name will be present on Power Pages. This presence
ensures that Power Pages can serve traffic to this custom domain name through
Azure Front Door, and all site cookies will also have the domain set up correctly.
b. Set up the custom domain name on the Azure Front Door endpoint by
following these steps: Create a custom domain on Azure Front Door
Standard/Premium SKU using the Azure portal.
a. The custom domain name points to the Azure Front Door endpoint. Use
nslookup to verify that a CNAME entry to the Azure Front Door endpoint is
returned correctly. If the CNAME entry still points to Power Pages, you need to
correct that.
b. Browsing to the custom domain name shows your Power Pages website page.
After following these steps, you have a basic Azure Front Door endpoint setup
completed for the website. In the next steps, you'll update various settings and rules to
make this configuration more efficient and better at handling different use cases.
Tip
Power Pages provides high availability at its service layer, hence a single origin
server is sufficient when setting up origins for sites.
The single origin for Power Pages sites should point to the host name of your site (which
you set up earlier). If you didn't follow the quick-create setup steps, you can add a new
origin that points to your site host name.
Use the following settings to configure the origin for Power Pages sites.
Origin Enter your custom domain name, or leave empty. The former ensures that Azure Front
host Door sends the origin header as a custom domain name; the later causes it to pass
header through whatever the user provided while making the request.
HTTP 80
port
HTTPS 443
port
Priority 1
Weight 1000
Private Disabled
link
After you've configured the origin and returned to the origin group, update the settings
for health probes and load-balancing options as described in the following table.
Health Health probes are a mechanism to ensure that the origin service is up and running,
probes and to make the traffic routing decisions depending on the probe results. In this case,
we don't require health probes, so we turned it off.
Load Because we have a single origin set up and health probes are turned off, this setting
balancing won't play any role in this setup.
Validate that the origin group configuration looks like the following image.
Set up routing rules to cache static requests
Routes determine how we use the edge caching capabilities of Azure Front Door to
improve the scalability of a site. Setting up routes is also an important step to ensure
that we're not caching dynamic content served by the site, which can lead to unintended
data access.
Option Configuration
Domains section
Domains The domain name you used while setting up the custom domain name
earlier.
Patterns to match Set to /* (default value); all site requests will be sent to the same origin in
our setup.
Accepted protocols Set to HTTPS only to ensure that all the traffic served is secure.
Caching section
Caching Select the Enable caching checkbox if you want to use edge caching.
Query string caching Select Use Query String to ensure that dynamic content based on the
behavior query string can be served.
To set up the rule set correctly, it's important that you understand the type of content
your site is serving. This understanding helps you configure the rule set by using
effective rules. For the scenario in this article, the site uses dynamic content on all pages
and it also serves static files; therefore, the site is trying to achieve the following:
All static files are cached and served from the edge servers.
None of the page content is cached.
Now, lets configure the rule set based on the business requirement, with the following
configuration to meet the requirements for the scenario mentioned earlier.
Requirement: All static files are cached and served from the edge
servers
The site in this scenario can contain static files with file name extensions of .css, .png,
.jpg, .js, .svg, .woff, or .ico. Hence, we need a rule to evaluate the file name extension of
the request and check for specific file types.
7 Note
There are other ways to write this rule, such as by using the request URL or file
name. For more information about the Azure Front Door rules matching conditions,
go to Azure Front Door Rules Engine match conditions.
In the following action configuration, you override the cache header set by Power Pages
so that these files will be cached a little longer on the browser. By default, Power Pages
sets the caching expiration to one day. But we'll override that in this scenario and set it
to seven days by setting up a Cache expiration action and setting Cache behavior to
Override as shown in the following image.
At the end, the complete rule looks like the following image.
The first step is setting up the condition. The condition does an inverse check of what
we did in the first rule, and checks that the request doesn't include a file name extension
that points to one of the file types we want to cache.
In the action condition, similar to previous rule, we'll write an action for Cache
expiration. However, this time, we'll set the behavior to Bypass cache. This will ensure
that any request that fulfills this rule isn't cached.
The complete rule looks like the following image.
1. Select the rule set, and then select Associate a route in the command bar.
2. Select the endpoint name and available route. There might be multiple routes
available, so select the one you configured earlier.
3. If you have multiple rule sets and you want to define the order they should be
evaluated in, select Change rule set orders and configure the order. Our example
scenario has only one rule set.
4. Select Done to finish.
To ensure that all traffic is served through HTTPS and all HTTP calls are redirected to
HTTPS
Enter the domain name in a browser and ensure that the URL changes to HTTPS
automatically while the content is rendered.
To check caching rules, we'll need to analyze network traces in a web browser's
developer toolbar to validate that the caching headers for different types of content are
set correctly.
7 Note
1. Open a new browser tab, open the developer toolbar, and browse to the Power
Pages site URL (ensure that you open the developer toolbar before you browse to
the URL).
3. Select a request for any CSS file from the list of requests.
In the Response headers section of the request details, ensure that a header
named x-cache is present. This header ensures that the request is served through
edge servers and can be cached. If the value of x-cache is set to
CONFIG_NOCACHE—or any other value containing the term NOCACHE—the
setup isn't correct.
4. Similar to the previous step, select a Page request and check its headers. If x-cache
is set to CONFIG_NOCACHE, your setup is working correctly.
a. Enable request body inspection: Select this checkbox if you want the request
body to be inspected in addition to cookies, headers, and URLs.
b. Redirect URL: Enter a non-site URL. This URL is where the user would be
redirected if a WAF rule were set to redirect. Ensure that this URL is accessible
publicly and anonymously.
c. Block Request Status Code: This HTTP status code is returned to the user if the
request is blocked by WAF.
d. Block response body: You can add a custom message here that will be shown
to the user if the request is blocked by WAF.
4. To configure the rule set against which every request will be evaluated, do the
following:
b. On the command bar, select Assign, and then select from the list of default rule
sets. Managed rule sets are managed by Microsoft and updated regularly. For
more information about rule sets, go to Web Application Firewall DRS rule
groups and rules.
After the managed rule set is assigned, your setup is complete. As an extra step, you can
also look at setting up exclusion lists for existing rules and enabling custom rules.
) Important
By default, WAF is set up in Detection Policy mode, which detects issues against
the defined rule set and logs them. However, this mode doesn't block the requests.
To block requests, WAF must be switched to Prevention mode.
We recommend that you perform thorough testing in Prevention mode to verify that all
the scenarios are working and to ensure that you don't have to tweak the rule set or add
exclusion policies. You should only enable Prevention mode after you've verified that the
entire setup is working as expected.
To find the IP address range on which Azure Front Door operates, go to How do I lock
down the access to my back end to only Azure Front Door?.
7 Note
4. Change the origin response time to 240 seconds, and then select Update.
See also
What is Azure Front Door?
Quickstart: Create an Azure Front Door profile - Azure portal
Create a custom domain on Azure Front Door Standard/Premium SKU using the Azure
portal
How do I lock down the access to my back end to only Azure Front Door?
Azure Front Door Rules Engine match conditions
Custom page layouts in Power Pages
Article • 10/27/2022 • 3 minutes to read
When you create a new web page using the design studio, you need to select a page
layout. The Pages workspace provides a set of pre-configured page layouts.
You can also create your own custom page layouts using HTML, Liquid, JavaScript and
CSS.
Tip
We've created a series of tutorials and videos for you to learn to use Power Pages
and how create a custom page layout. For more information, go to Tutorial: Add a
custom page layout.
1. Go to Power Pages .
2. In the design studio, choose ... and then select Portal Management. You'll need to
use the Portal Management app to create a web template record and enter in your
custom code.
3. In the Portal Management app, scroll to the Content section and select Web
Templates.
Field Value
Website Select the web site to which the theme will be applied. Put your cursor in the
field and hit enter on your keyboard to display a list of available options.
Source The source code content of your web template, the code is typically a
combination of Liquid, HTML, CSS, and JavaScript. You'll create the code based
on your requirements.
MIME (Scroll down to view this field) The field optionally provides a MIME type for the
Type content of the template. A type of text/html is assumed if none is provided. This
value will only be used in cases where the template is associated with a page
template and controls the rendering of all content for that template.
6. Select Save.
1. In the Portal Management app, scroll to the Website section and select Page
Templates.
Field Value
Website Select the web site to which the theme will be applied. Put your cursor in the
field and hit enter on your keyboard to display a list of available options.
Web Select the web template where your custom code is located. Put your cursor
Template in the field and hit enter on your keyboard to display a list of available
options.
Use If the setting is checked, your web template will control rendering of all page
Website content between the global website header and footer. If this option is
Header unchecked, your web template will be responsible for rendering the entire
and Footer response in the case that you're rendering HTML, this means everything from
the doctype to the root <html> tags, and everything in between.
Is Default Unchecked.
While the most common use cases for web templates will be to render HTML, rendering
the entire response (by deselecting Use Website Header and Footer) gives you the
option of rendering any text-based format you choose. This is where the MIME Type
attribute of the web template becomes relevant. If a page template that doesn't use the
website header and footer is rendered, the HTTP response Content-Type header will be
set to the MIME Type of the associated Web Template (text/html will be used if no MIME
Type is provided.), providing a wide variety of options for rendering non-HTML content
by using Liquid. A common use case would be to render an RSS feed, by setting a MIME
Type of application/rss+xml.
See also
Tutorial: Add a custom page layout
Liquid overview
Use Visual Studio Code and Microsoft
Power Platform CLI
Article • 10/12/2022 • 2 minutes to read
For detailed information on how to use Visual Studio Code and the Microsoft Power
Platform CLI, go to Use Microsoft Power Platform CLI with portals in the Power Apps
documentation.
Web templates
Article • 10/12/2022 • 2 minutes to read
In order to create custom page layouts for Power Pages, you'll need to create a web
template and a corresponding page template.
For detailed information on how to use page templates on your site, go to Work with
templates in the Power Apps documentation.
For detailed information on how to use web templates on your site, go to Store source
content by using web templates in the Power Apps documentation.
Power Pages Web API overview
Article • 10/12/2022 • 2 minutes to read
Power Pages functionality can be extended with pro-code methods. The Power Apps
portals Web API provides site developers with methods to interact with Microsoft
Dataverse information and functionality.
For detailed information on the portals Web API, go to Portals Web API overview in the
Power Apps documentation.
Using code components
Article • 10/12/2022 • 2 minutes to read
Power Pages functionality can be extended with pro-code methods. Code components
can be added to pages to provide advanced user interfaces and features.
For detailed information on how to use code components, go to Use code components
in portals in the Power Apps documentation.
See also
Tutorial: Add a form to page
Use Liquid
Article • 10/12/2022 • 2 minutes to read
Power Pages functionality can be extended with pro-code methods. The Liquid markup
language provides many methods to extend the functionality of your site.
For detailed information on how to use Liquid on your site, go to Liquid overview in the
Power Apps documentation.
Overview of Power Pages ALM
Article • 10/21/2022 • 2 minutes to read
Makers and pro developers can use the Microsoft Power Platform CLI to download
Power Pages site metadata, and use Azure Pipelines or GitHub actions to commit the
metadata to source control and deploy from development to other environments.
Power Pages supports Microsoft Power Platform CLI to enable CI/CD (Continuous
Integration/Continuous Deployment) of website configuration. You can now check in the
website configuration to source control and move website configuration to any
environment using Microsoft Power Platform CLI.
For detailed information on using the Microsoft Power Platform CLI for Power Pages
website configuration, go to Tutorial: Use Microsoft Power Platform CLI with portals in
the Power Apps documentation.
The Microsoft Power Platform CLI also supports deployment profiles to allow unique
attributes to be applied to specific target environments.
GitHub actions
Users can use GitHub actions to upload website metadata to a target Dataverse
environment.
For detailed information on using GitHub actions for application lifecycle management
(ALM), go to GitHub Actions - portal tasks in the Power Platform ALM documentation.
See also
Overview of application lifecycle management with Microsoft Power Platform
Power Pages security
Article • 12/17/2022 • 2 minutes to read
Power Pages has a robust security model to ensure that business information is properly
protected. The following key components are used to provide and protect access in
Power Pages:
Site visibility
Authenticated users
Web roles
Table permissions
Page permissions
Site visibility
By default, all sites created in Power Pages are only available to users internal to your
organization through the site visibility setting. This way, you can benefit from an
additional layer of security using Azure Active Directory authentication to prevent
accidental leaks of partially developed website data and design. When your website is
ready to go live, change the site visibility to public making it accessible to everyone over
the internet anonymously or secured with identity providers.
Authenticated users
Users can be provided access to your site through authentication. Power Pages users are
represented by Microsoft Dataverse contact records. Power Pages can be integrated
with many authentication providers such as Azure Active Directory B2C, Microsoft, and
LinkedIn.
Authenticated users can then be assigned to web roles that will provide specific access
to information on the site.
Web roles
Web roles can be created to allow users to perform any special actions or access any
protected content and data on the site. Web roles link to users, table permissions, and
page permissions. Because contacts can be assigned multiple web roles, they can be
provided cumulative access to site resources.
All authenticated users (contacts) are automatically assigned to the Authenticated Users
web role.
A site can be visited by anonymous users (unauthenticated) and given access to assets
through the Anonymous Users web role.
Table permissions
Accessing Dataverse information through lists, forms, Liquid, and the Web API are by
default protected by table permissions. You can configure table permissions to allow
different levels of access and privileges to Dataverse records. Table permissions are
associated to web roles to provide appropriate access to users.
Page permissions
Individual pages containing content or other components can also be protected by
configuring page permissions that are associated with web roles to allow access.
Power This white paper provides a comprehensive view of the capabilities of October
Pages the Power Pages platform. It describes the architectural elements that 2022
Architecture enable Power Pages to scale, offer high reliability and availability, and
white paper protect business data to offer enterprise grade compliance and security.
Power This white paper describes how Power Pages offers enterprise grade October
Pages security and the tools and capabilities it offers for administrators and 2022
Security makers to harden security for their external applications.
white paper
See also
Power Platform security
Azure security
Site visibility in Power Pages
Article • 02/22/2023 • 5 minutes to read
The Power Pages site visibility feature allows you to manage who has access to your
website. You can restrict access to specific people in your organization by making the
site private. If you choose to make the site public, anyone with the link will have access.
) Important
All new sites created in Power Pages are private by default. When the website
is ready to go live, you can change the site visibility to public.
Site visibility feature is only available for websites with version 9.4.9.x or later.
All websites created during the preview period are public by default. To
change the site to private, go to Set up workspace in design studio and
change the site visibility. More information: Set up workspace
Be cautious when editing a public site because the changes are visible to
external users immediately.
Public sites are accessible over internet to everyone anonymously or authenticated with
configured identity. The website is now a production site, fully operational for the
customer to use. You'll see a notification when you're editing a public site using design
studio, Portal Management app, Visual Studio code editor and Microsoft Power Platform
CLI.
1. Go to Power Pages
2. Edit the site that you want to change site visibility for.
3. Select Set up from the list of workspaces on the left-side of the screen.
4. Select Site visibility tab under Security section.
5. Select Public to make the site public, or Private to make the site private.
If you have created your site using Power Apps, follow these steps:
1. Go to Power Apps
2. Select Apps.
3. Select your site from the list of apps that you want to change site visibility for.
4. Select the ellipse (...).
5. Select Edit.
6. Select Open in Power Pages.
7. Select Set up from the list of workspaces on the left-side of the screen.
8. Select Site visibility tab under Security section.
9. Select Public to make the site public, or Private to make the site private.
7 Note
Changing site visibility restarts your website causing a few minutes of delay to
reflect the latest state change.
1. Go to Power Pages
2. Edit the site that you want to change site visibility for.
3. Select Set up from the list of workspaces on the left-side of the screen.
5. Choose the users that you want to grant the website access to.
6. Select Share.
7 Note
Global administrator
Power Platform administrator
Dynamics 365 administrator
Members of System administrator security role can also change the site visibility when
the tenant-level setting enableSystemAdminsToChangeSiteVisibility is set to true .
) Important
After October 1, 2023 system administrators will not be able to change site
visibility when the tenant-level setting is null. To prevent this, set the value for
the tenant level setting to either TRUE or FALSE.
To get the current value for the tenant setting, use the Get-TenantSettings command.
For example:
PowerShell
$myTenantSettings = Get-TenantSettings
$ myTenantSettings.powerPlatform.powerPages
7 Note
Tenant settings whose value is null do not show up in the list. The default
value for the tenant-level setting enableSystemAdminsToChangeSiteVisibility
is null, so it will not show for the first time. Once the value is set to true or
false, you will be able to see the setting in the list.
To set a value for the tenant-level setting ( true or false ), use Set-TenantSettings
command.
For example:
PowerShell
$requestBody = @{
powerPlatform = @{
powerPages = @{
enableSystemAdminsToChangeSiteVisibility = $false
}
}
}
Set-TenantSettings -RequestBody $requestBody
Now, you can delegate site visibility controls to a select set of users by adding them to a
security group in Azure AD, and giving site visibility permissions to that security group.
Known issues
A Power Pages website in private mode won't work when you disable Azure Active
Directory authentication. Azure Active Directory authentication is enabled by default
when the website is provisioned. Change the site visibility state to public before
disabling Azure Active Directory authentication.
See also
Configure authentication
Configure authentication
Article • 12/17/2022 • 2 minutes to read
As you build your site, you may wish to control access both to pages and data to
specific users. Power Pages uses Microsoft Dataverse contact records to associate to
authenticated Power Pages site users.
Power Pages uses Power Apps portals authentication capabilities. For detailed
information on how to configure Power Pages site authentication, go to Overview of
authentication in Power Apps portals in the Power Apps portals documentation.
See also
Get started with configuring your portal authentication
Provide access to external audiences
Article • 12/17/2022 • 2 minutes to read
Before you grant authenticated users access to table permissions or restricted pages,
they must first be assigned to a web role.
Configure and assign web roles using the Portal Management app.
2. Select the ellipsis (...) from the tool belt, and then select Portal Management.
4. Select New.
Name Description
Authenticated Boolean. If set to true, this web role is the default for authenticated users (see
Users Role below). Websites should only have one web role with the Authenticated Users
Role attribute set to true.
Anonymous Boolean. If set to true, this web role is the default for unauthenticated users (see
Users Role below). Websites should only have one Web Role with the Anonymous Users Role
attribute set to true. The Anonymous Users Role will only respect table
permissions.
Unauthenticated users
The Anonymous Users Role is intended to be used with table permissions. It will not
respect any other rules or permissions. Enabling the Anonymous Users Role makes it the
default web role for all users. There can only be one Anonymous Users web role for
unauthenticated users.
2. Locate and open the web role record that you want to assign site users to.
5. From the side panel, search and select the contacts (site users) that you want to
assign to the web role.
6. Select Add.
The users now have access to the resources specified by the web role.
2. Locate and open the contact record that you want to assign the web role to.
6. From the side panel, search and select the web roles you want to assign to the
contact (site user).
The site users now have access to the resources specified by the web role.
See also
Configure table permissions
Assign table permissions
Tutorial: Display data securely on your site
Page permissions in Power Pages
Article • 12/17/2022 • 5 minutes to read
Makers control user access to site webpages using page permissions. Settings can be
adjusted to make content available anonymously for public access, or to restrict access
to users who have specific roles. Depending on your business requirements, you can
manage the inheritance of page permissions from a parent page to a child page. A page
can have child web files, such as downloadable documents, CSS files, or JS files. The
inheritance of page permissions from the page to these child web files is also variable
based on the settings a maker chooses.
Power Pages design studio makes configuration of webpage access permissions simpler
than the Portal Management app. For this reason, we recommended this method for
managing page permissions in Power Pages.
) Important
Use design studio to customize your site and manage page permissions quickly and
efficiently.
1. From the list of sites in Power Pages, select Edit to open design studio.
2. Select the ellipses next to the page you want to manage permissions for and
choose Page Settings.
3. Select the Permissions tab.
7 Note
The options under Permissions vary depending on the page you've selected. For
example, the options for a parent page will be different from the options for the
child page that inherited permissions from the parent page. Review the options for
page permissions and options for child page permissions.
When this option is selected, the page is public on the web and available to anyone.
When this option is not selected, a lock icon appears next to it in the list of pages to
signify that the page has restrictions.
7 Note
Selecting Anonymous Users role using the Portal Management app will result in an
alert. More information: Anonymous users role alert
U Caution
This setting can't be selected for the home page of a site. Web files such as
Bootstrap.min.css and Theme.css used by themes are under the home page. If you
restrict these files to only authenticated users, styles won't be applied to any pages,
including the sign-in pages that are available anonymously. More information:
Permissions apply to child files troubleshooting
7 Note
When this option is not selected, the child page (including the pages that this child page
is a parent of) aren't available to the users from the selected roles for the parent page.
When this option is not selected, anyone can access the child web files of the selected
page.
If a page is made a subpage, the page inherits permissions from its new parent.
If a page is promoted, the original permissions of the page are retained.
7 Note
Roles with Anonymous Users Role set to Yes can't be assigned directly to users.
"There are multiple, conflicting access control rules applied to this page. Deactivate the
extra rules so there is only one with restricted read-write access."
To fix this error, deactivate the permissions not required for the page so that only one
permission is active for one webpage.
"One or more roles applied to this page are not used for the parent page. This page and
its subpages won't be available to those roles. Either add those roles to the parent page
or delete them from this page."
To allow access to Dataverse records in Power Pages sites, you'll need to configure table
permissions and associate the table permissions to web roles.
In the Table permissions panel that appears, you can manage existing permissions or
create a new table permission.
Adding table permissions from the Set up workspace
1. In the design studio on the side menu, select Set up.
2. On the left pane in the Security section, select Table permissions to add and
modify table permissions.
2. In the Portal Management app on the left pane in the Security section, select Table
Permissions .
Available access types
The design studio shows four different Access types. Depending on the access type you
choose, the selected table permission and privileges apply to the users from the
selected roles for the following records.
Global access - Applies the selected table permission and privileges to the users
from the selected roles for all records.
Contact access - Applies the selected table permission and privileges to the users
from the selected role associated to the signed-in user.
Account access - Applies the selected table permission and privileges to the users
from the selected role associated to the signed-in user's account.
Self access - Applies the selected table permission and privileges to the users from
the selected role for only their own Contact record.
7 Note
The Parent access type is only available in the Portal Management app. Instead of
creating a table permission with the access type of Parent when using the design
studio, directly add child permission to existing table permissions.
3. Select a table.
5. If you select the Contact or Account access type, select the relationship between
the Contact/Account and the table you selected for the permission.
7 Note
If you don't have any relationships available for the selected table, you
can select New relationship to create a new relationship.
Once you create a table relationship in Power Apps, you need to make
sure the configuration is published and also select the Sync button in
the design studio.
In some cases, you may also need to reload the design studio to see the
new table relationship in the table permissions panel.
7. Select Add roles to add the roles that this table permission will apply to.
Tip
If you haven't created a web role yet, select Manage roles from the roles
flyout menu to open the Portal Management app and create roles.
8. Select Save.
2. On the left pane in the Security section, select Table permissions to view table
permissions.
3. To group or filter table permissions, select a view (Default, Group by roles, Group
by table, or Group by state), or enter a table permission name in the filter text box.
7 Note
4. To sort the table permissions, select a column at the top in the list of table
permissions.
Edit table permissions
1. In the design studio from the side menu, select Set up.
2. On the left pane in the Security section, select Table permissions to view table
permissions.
3. Select the table permission that you want to edit; alternatively, you can select
More commands (...), and then select Edit.
4. Change table permission details, such as the name, table, access type, privileges,
and applicable roles. More information: Create table permissions.
5. Select Save.
When a table permission is deleted, all associated child permissions are also deleted.
1. In the design studio from the side menu, select Set up.
2. On the left pane in the Security section, select Table permissions to view table
permissions.
1. In the design studio from the side menu, select Set up.
2. On the left pane in the Security section, select Table permissions to view table
permissions.
3. Select the table permission that you want to add the child permission to. In the
table permissions property panel, select the Child permissions tab, and then select
New. Alternatively, you can also select More commands (...), and then select Add
child permission.
c. Relationship between the table for primary table permission, and the selected
table for the child permission
e. Roles (These roles are inherited from the parent table permission. To add or
remove roles, edit the parent table permission instead.)
5. Select Save.
To view, edit, deactivate/activate, or delete child permissions using the design studio,
follow the steps explained in the earlier section to configure table permissions.
Additional considerations
The configuration of table permissions is subject to the following extra considerations
and rules.
One or more roles applied to this permission aren't available to its parent table
permission. Modify roles in either permissions.
For example, a child table permission displays the following message when the parent
table permission doesn't have the Marketing web role associated, even though the child
permission is still associated.
To fix this problem, add the Marketing web role to the parent table permission, or
remove the Marketing web role from the child table permission.
The following message is displayed when you try to save a table permission without any
web role associated.
Next Steps
Web Application Firewall DRS rule groups and rules for Power Pages (preview)
See also
Web Application Firewall (WAF) for Power Pages (preview) Configure Web Application
Firewall for Power Pages (preview) Assign table permissions
Tutorial: Display data securely on your site
Assign table permissions
Article • 01/24/2023 • 2 minutes to read
Table permissions are assigned to web roles to allow members of the web role access to
data stored in Dataverse tables.
3. Select the table permission you want to assign for a web role.
4. In the Roles section, select + Add roles and choose the roles you wish to assign to
the table permission. You can select multiple roles.
) Important
When Anonymous users are granted access to a table, any user who visits the
site can access data.
More information: Notifications for Anonymous users web role
5. Select Save.
6. If the web role doesn't appear, select Manage roles to open the Portal
Management app to create web roles.
7 Note
Once you have created the web role, select Sync in the design studio and
refresh your browser to view your new roles in the table permissions side
panel.
Tip
If your site visibility is set to Public, an icon will appear next to the name field in
design studio and the following message will display: The data displayed in your site
can be seen by anyone. If that's not what you want, change or eliminate the
"Anonymous" role in your table permissions.
To restrict access to your site's data, follow the steps to assign table permissions and
remove the checkmark next to the Anonymous users web role.
See also
Configure table permissions
Create web roles
Tutorial: Display data securely on your site
Web Application Firewall (WAF) for
Power Pages (preview)
Article • 12/17/2022 • 2 minutes to read
Web Application Firewall (WAF) provides centralized protection for Power Pages sites,
defending against common exploits and vulnerabilities by preventing malicious attacks
before they enter the network. By utilizing WAF, Power Pages sites receive global
protection at a scale without sacrificing performance.
) Important
Cross-site scripting
Session fixation
Protocol attackers
Protocol enforcement
Next steps
Configure Web Application Firewall for Power Pages (preview)
See also
Web Application Firewall DRS rule groups and rules for Power Pages (preview)
Configure Web Application Firewall for
Power Pages (preview)
Article • 12/17/2022 • 2 minutes to read
Web Application Firewall (WAF) is available for production sites created using Power
Pages. In this article, you'll learn about how to enable or disable Web Application
Firewall for Power Pages sites.
Prerequisites
You'll need the following before configuring WAF for your Power Pages website.
2. Go to Environments.
6. Under Performance & protection card, turn on Enable Web Application Firewall
Disable Web Application Firewall for Power
Pages sites
1. Open the Power Platform admin center .
2. Go to Environments.
5. Choose the portal from the available list, and then select Manage.
6. On the Performance & Protection card, turn off Enable Web Application Firewall
Next steps
Web Application Firewall DRS rule groups and rules for Power Pages (preview)
See also
Web Application Firewall (WAF) for Power Pages (preview)
Web Application Firewall DRS rule
groups and rules for Power Pages
(preview)
Article • 12/17/2022 • 2 minutes to read
The Web Application Firewall managed rule sets for Power Pages are a subset of Azure-
managed DRS 2.0 rule sets.
The following rule groups and rules are available using Web Application Firewall for
Power Pages.
7 Note
PROTOCOL- 920100, 920100, 920121, 920160, This rule group protects against
ENFORCEMENT 920170, 920171, 920190, 920200, protocol and encoding issues.
920210, 920220, 920240, 920260 More information: Rule group:
PROTOCOL-ENFORCEMENT
PROTOCOL- 921110, 921120, 921130, 921140, This rule group offers protection
ATTACK 921150, 921151, 921160 against header injection, request
smuggling, and response splitting.
More information: Rule group:
PROTOCOL-ATTACK
LFI - Local File 930110 This rule group protects against file
Inclusion and path attacks.
More information: Rule group: LFI -
Local File Inclusion
Rule set Rule IDs available in Power Pages Description
RFI - Remote 931100, 931110, 931120 This rule group protects against
File Inclusion remote file inclusion (RFI) attacks.
More information: Rule group: RFI -
Remote File Inclusion
XSS - Cross-site 941101, 941110, 941140, 941170, This rule group protects against cross-
Scripting 941180, 941190, 941200, 941210, site scripting attacks.
941220, 941230 More information: Rule group: XSS -
Cross-site Scripting
MS- 99005002, 99005003, 99005004 This rule group protects against Web
ThreatIntel- shell attacks.
WebShells More information: Rule group: MS-
ThreatIntel-WebShells
See also
Web Application Firewall DRS rule groups and rules
Web Application Firewall (WAF) for Power Pages (preview)
Configure Web Application Firewall for Power Pages (preview)
Go-live checklist
Article • 10/12/2022 • 3 minutes to read
This checklist is guidance to help you plan your Power Pages projects.
The Set up workspace inside the design studio includes a built-in go-live checklist that
includes various interactive tasks that help you prepare your site to go live. These tasks
include guided experiences to view and complete recommended actions.
Use the Go-live checklist guide to ensure you don't miss anything before your site is up
and running. You can also go through additional recommendations in this article to help
you extend your go-live preparations and improve the overall site experience when the
site goes live.
7 Note
The go-live checklist and the additional go-live guidance in this article are
recommended actions. The checklist and actions explained in this article aren't
mandatory for the site to be up and running.
The checklist includes various actions that you can follow up through a step-by-step
exercise with a built-in experience that shows the step completion as you progress.
Here's the steps included in the go-live checklist:
1 Run the site checker 0 Errors in the portal checker last run results
2 Pick and allocate Licenses are allocated, and acknowledgment in the form of
licenses marked as completed
Here's an example of how the checklist looks like as the steps progress:
While completing the go-live checklist helps you better prepare and avoid any misses
for considerations before the site is up and running, also consider the additional go-live
guidance.
Tip
Finish setting up your custom domain to utilize the redirect URL for the
authentication provider.
If you're using the Azure AD sign-in button, you can rename it to reflect
meaningful label. Using the Portal Management app, create the site setting
Authentication/OpenIdConnect/AzureAD/Caption for your specific website
and set the name you want.
Areas to consider:
Number of visitors to your site on a daily basis.
Traffic volumes at different times.
High traffic pages linked to Microsoft Dataverse.
Volume of data stored in Dataverse.
Open the Portal Management app and navigate to the Enable Traffic Analysis section.
Enter the snippet from your analytics provider.
Change your browser suffix from "Home page - Starter Portal" to a meaningful name.
You can find the content snippet "BrowserSuffix" in the Content Snippets area of the
Portal Management app
Set your specific copyright text, and add any privacy or other links in the "Footer" web
template. Find it in the Web templates area of the Portal Management app.
Protect any unfinished page by using Page permissions.
A free trial is available for Power Pages, which can be used to try out the new features
and functionality. More information: Power Pages trial
As you work on projects and need to establish permanent sites that don't expire, you
can apply Power Pages subscriptions and convert websites from trial to production. For
detailed information, go to Convert a portal in the Power Apps portals documentation.
For detailed information on licensing, go to Power Pages licensing in the Power Platform
admin documentation.
See also
Power Pages pricing
Get started with Power Pages tutorials
Article • 07/13/2022 • 2 minutes to read
The tutorials in this section help you learn how to build a Microsoft Power Pages site
that's linked to business information stored in Dataverse.
Prerequisites
You'll need to have either a Power Pages subscription or a free trial. Get a Power
Pages trial here.
Create a Power Pages site.
Tutorials
Many of the tutorials build on knowledge and skills developed in preceding tutorials.
Review the pre-requisites before starting a tutorial. We recommend that you complete
them in the order given.
Add a page
Style your site
Add a list to a page
Display data securely on pages
Add a form to a page
Add a multi-step form to a page
Configure site authentication
Set up page permissions
Add custom styling to your site
Create, update, and view Dataverse information
Tutorial: Add a page to your Power
Pages site
Article • 05/24/2022 • 3 minutes to read
In this tutorial, you'll learn how to add a page to your Power Pages site. You can use this
page to display static content to your audience such as text or images or use it to allow
your site visitors to interact with information from Dataverse using lists and forms.
Prerequisites
A Power Pages subscription or trial. Get a Power Pages trial here.
A Power Pages site created. Create a Power Pages site.
This video provides an overview of the steps to create a page using a blank layout.
https://www.microsoft.com/en-us/videoplayer/embed/RE4Y5Gl?postJsllMsg=true
1. Go to Power Pages .
2. Select Edit on the site you want to add a page. If you don't have a site, create a site
before continuing.
3. Select Pages and then select the Add a page icon (+) to the right of the Main
navigation heading.
4. Provide a name for your page and select the Start from blank page layout.
5. After a few moments, you should see blank page with a selection of components
to add to the section.
4. Below the spacer, select the + icon and select the Text icon to add another text
box.
5. Add some text to the text box. Experiment with the style and colors.
6. Select the + icon below the text and add another spacer.
9. Select the entire section and select Background from the properties menu and
change the background color of the section.
10. Experiment by adding addition sections, components, and colors to your page.
Preview your page
You can preview what your page will look like on the site at any time.
2. Choose Desktop for the page to appear in your browser, or you can view the page
on your mobile device by scanning the QR code.
This video will provide an overview of the steps to move a page in the site map.
https://www.microsoft.com/en-us/videoplayer/embed/RE4Y5Gm?postJsllMsg=true
1. Under the Main navigation, select the ellipse (...) icon and choose Move to other
pages.
2. The page should now appear in the Other pages section. If you now preview the
page, notice that there isn't menu item for the page.
3. Under Other pages, select your page again and choose to Move to "Main
navigation".
4. Select the page and select the ellipse (...), move the page up and down in the
hierarchy using the Move up and Move down options.
5. Move the page underneath the Pages link. Select the Make this a subpage option
to make it a subpage of the Pages page.
6. Preview the page and note how your page is a sublink under pages and also how
the URL reflects that this page is now a subpage.
See also
Create and design pages
Next steps
Advance to the next article to learn how to apply styles to your site.
Power Pages sites can be customized to incorporate your corporate branding styles. The
Styling workspace allows you to set up your brand colors, fonts, and design defaults for
your entire site or specific pages.
Prerequisites
A Power Pages subscription or trial. Get a Power Pages trial here.
A Power Pages site created. Create a Power Pages site.
Complete the Add and design a page tutorial.
A png file of your corporate logo (64 x 64 pixels).
A list of the hex codes for your corporate color palette.
A list of your corporate font standards.
1. Go to Power Pages .
2. Inside the design studio, mouse over the existing logo and select Image when the
flyover appears.
3. Choose an existing image from the media library, or upload a new image.
4. Select the image you'd like to use (in this instance, use the corporate logo you
uploaded).
1. Inside the design studio, go to the styling workspace and select the colors you'd
like to use for the background and fonts.
2. Select Save changes.
If at any time you wish to start over, select the ellipses and select Reset to
default.
Next steps
Advance to the next article to learn how to a list displaying business data to a page.
Add a list to a page
Tutorial: Add a list to your page
Article • 11/07/2022 • 2 minutes to read
In this tutorial, you'll learn how to display a list business information to your users from
Microsoft Dataverse on a page in your site.
First, you'll need to create a table (or choose an existing table) in Dataverse to store your
business information. You'll also need to configure a view from the table that will define
the columns and structure for your list. You'll add the list component to a page. For
security reasons, your users won't yet be able to view the information until we define
table permissions in the following tutorial.
" Create a table
" Create a view
" Add a list to the page
Prerequisites
A Power Pages subscription or trial. Get a Power Pages trial here.
A Power Pages site created. Create a Power Pages site.
Complete the Add and design a page tutorial.
Create a table
This video provides an overview of the steps to create a table.
https://www.microsoft.com/en-us/videoplayer/embed/RE4XYeq?postJsllMsg=true
1. Go to Power Pages .
6. Select the space under the name field and enter your data.
7 Note
You can use the tab key to move to the next column and enter additional data. You
can also use the tab key to navigate to the next row and add additional records.
For more information, see How to create and modify Dataverse tables using data
workspace.
Create a view
This video provides an overview of the steps to create a view.
https://www.microsoft.com/en-us/videoplayer/embed/RE4XYer?postJsllMsg=true
Use the steps below to create a custom view for the table you created.
For more information, see Create and modify Dataverse views using data workspace.
Use the steps below to add a list to a web page so you can view information stored in
Dataverse.
1. Inside the design studio, choose the option to Create a new page.
Select Add.
Select List.
4. Fill in the details.
Choose the table and view you'd like from the dropdown menus.
5. Select Preview.
7 Note
When you first view the page, you will see a message displayed that you do
not have permissions to view the data. Security is very important when
building sites.
For more information, see Add a list.
Next steps
In order for the site users to see data, we need to create table permissions to allow users
to view data securely.
In the previous tutorial, you added a list to a page; however, users wouldn't be able to
view any data. Power Pages has security enabled by default to protect your business
data. This tutorial will walk through the steps to create table permissions and associate
them to web roles to allow visitors to your site to be only able to interact with the
information that you allow.
Prerequisites
A Power Pages subscription or trial. Get a Power Pages trial here.
A Power Pages site created. Create a Power Pages site.
Complete the Add and design a page tutorial.
Complete the Add a list to a page tutorial.
Use the steps below to learn how to configure table permissions to view data.
1. Go to Power Pages .
2. In the pages workspace on the page where you have a list component, select the
component and choose the Permissions button.
9. Now that table permissions are set, view the page by selecting Preview.
10. You should now see a list of Dataverse records on the page.
7 Note
You can give the table permission any name, but ideally it should be descriptive.
If your table in Dataverse has a relationship with a Contact or Account table, you can
filter the records based on that relationship.
In the example below, we've created a table that has a lookup to the contact table.
This video provides an overview of the steps to set access types and privileges.
https://www.microsoft.com/en-us/videoplayer/embed/RE4XTcJ?postJsllMsg=true
1. Create a page with a list showing records that have a relationship to the contact
table.
7 Note
Go to Tutorial: Add list to a page for details on how to a list to page. Create a
table with a lookup to the contact table.
8. Select Save.
9. Preview the site and sign-in. For purposes of this tutorial, you can sign in using
Azure AD.
10. View the page on the site. When any user signs in, they should see all the data in
the table.
11. In our example, we would only want to show records that related to the currently
signed-in user. Return to the design studio, select the list on the page and select
permissions.
12. Modify the existing table permission and change the Access Type to Contact
Access.
13. You'll need to specify the relationship between your table and the contact table.
7 Note
If you don't see a relationship, you will need to define a lookup to the contact
table using the Data workspace. Create or update some records that are
related to the contact record you are using to sign-in to the site.
14. Preview the site and sign-in. You now should only see records that are related to
the contact that has signed in to the site.
More information
There are several different access types and privileges in Power Pages.
For more information, see:
We can also create our own custom web roles to further limit access to data and pages
to certain site visitors.
1. In the design studio, select the ellipses ... from the side menu and select Portal
Management to open the Portal Management app.
2. In the Portals Management app, under the Security section, select and view Web
Roles.
3. Select New to create a new web role and give it a descriptive name. Leave the
Authenticated Users and the Anonymous Users roles set to No.
4. Save the web role record.
5. Select Related and choose Contacts. Select Add existing contacts choose a few
contacts.
7 Note
6. Within the design studio on a list or a form, choose the permissions button and
select a table permission, then assign the custom web role.
7 Note
You'll need to restart the design studio or clear the browser cache (ctrl + F5)
to see the new web role.
7. Preview the site and note that only users logged in will be able to view the data on
a form or list.
Next steps
Showing data in a list view to the correct audience is an important feature of Power
Pages. The next tutorial will cover adding a form to a page to allow users to create and
edit business data.
Power Pages allows you to add form components to a page to allow your users to be
able to create, edit, or view Microsoft Dataverse records.
This tutorial shows you how to create and add a form to your page, capture rich
information through code components, and configure form actions when the
information in the form is submitted.
" Create a form
" Add code components
" Add a form to a page
" Configure code options
Prerequisites
A Power Pages subscription or trial. Get a Power Pages trial here.
A Power Pages site created. Create a Power Pages site.
Complete the Add and design a page tutorial.
Complete the Display data securely on pages tutorial.
Create a form
This video provides an overview of the steps to create a form.
https://www.microsoft.com/en-us/videoplayer/embed/RE4Y6Ez?postJsllMsg=true
1. Go to Power Pages .
2. In the data workspace, select the Feedback table and choose the Forms tab.
3. Select + New form to open the form editor.
Give the form a name. You can also add a description if you'd like one.
Select Create.
5. Modify the form using the Add field menu option, or by dragging and dropping
existing fields to reorder them.
7. Select Back.
The form will appear in the list of forms for that table.
See also
Add Form
How to create and modify Dataverse forms using data workspace
1. In the Data workspace, select the Feedback table and choose the Forms tab.
4. In the right-hand section, choose Components and select the Rich Text Editor
control.
5. Select Done.
1. In the design studio, open a page with a form component and select the form you
previously created.
7. From the design studio, select Preview and navigate to your page.
8. The form should show the rich text editor controls on the field.
Next steps
Next, learn how to create a multi-step (advanced) form to your page.
Multistep forms are a powerful way to collect inputs from users over multiple steps. The
collected information is stored or updated in Microsoft Dataverse. Here are features
available in multistep form as compared to regular forms:
" Create Dataverse tables, views, and forms to use in your multistep form
" Add a multistep form to a web page
" Configure table permissions for multistep forms
" Add a condition and redirect step to a multistep form
Prerequisites
A Power Pages subscription or trial. Get a Power Pages trial here.
A Power Pages site created. Create a Power Pages site.
Complete the Add and design a page tutorial.
Complete the Display data securely on pages tutorial.
Complete the Add a form to a page tutorial.
7 Note
When creating a multistep form, it is important to plan the steps first. This will
make the configuration process easier. Establish the individual steps and any
conditional branches to the multistep process.
Step Description
1 Select the scholarship to apply for and enter the applicants name.
3 Gather some additional details. Later in the tutorial, we will make this step conditional
based on information from step 2.
For each step of the process that requires a user to create or update columns on a
Dataverse record, you will need to have a corresponding Dataverse form.
In our example, we will create a Dataverse table called Applications for our process. For
more information on how to create Dataverse tables, see How to create and modify
Dataverse tables by using the Data workspace
1. Go to Power Pages .
2. Select a site where you want to add a multistep form and select Edit.
3. In the design studio, select the Data workspace.
Tip
The following table is just an example, feel free to create tables to match
your own business processes.
Consent Yes/No
Cost of Currency
Tuition
Fulltime Yes/No
Major Text
5. Once you have created the tables, you will need to create forms for each step of
your process.
Tip
See How to create and modify Dataverse forms by using the Data
workspace on how to create Dataverse forms.
A good practice is to name your forms to correspond to each step of
your multistep process.
To display columns in the form but not allow users to update, configure
the columns to be read-only when creating the forms.
Create the following four forms and arrange the columns on the form. As each
form is created, select Publish form.
6. You should now have a series of forms to use in your multistep process.
Add a multistep form component to a page
Now that we have our table and forms, we can create a multistep form on a webpage.
1. Go to the Pages workspace and add a new page or edit an existing page. For more
information on creating webpages, see Create and design pages.
If other multistep forms exist on your site, you will be given the option to add
them to your page. In our example, we will create a new multistep form for our
tutorial, Select + New multistep form from the dialog.
3. You will see the Add a multistep form window. Enter in Application (or other
name) for the Form name. Select OK.
4. There will be no steps in the form. Select + Add the first step to add the first step.
5. In the Add step window, enter the following values in the configuration:
6. Choose the More options side tab and note that the Data from this form: option
is automatically set to Create a new record. In our example for the first step we will
be creating a new record in the Dataverse table. Note that in subsequent steps we
will be modifying the record created in the first step and this option will be
different.
7. Select OK.
8. We will begin to add additional steps. From the menu, select + Add step.
9. In the Add step window, enter the following values for the second step:
10. Choose the More options side tab and note that the Data from this form: option
is automatically set to Update an existing record. In our example for the second
step will continue to add details to the Dataverse record created in the first step.
7 Note
Depending on your unique processes, you may be creating or updating
different Dataverse records at different steps in the process.
11. Select OK
12. Continue to add the remaining two steps as update steps, Application Step 3 and
Application Step 4 following the instructions above.
3. In the Edit field window, change the Field label to another value. Select Make this
field required and select Show a description. Enter some instructions in the
Description field.
4. Select OK.
For new forms, a banner will appear prompting you to add permissions.
If you have already configured permissions for the table used in your multistep form,
you can select the ellipse (...) and choose Permissions.
2. The table permission is provided a name, the table selected and the Access type
set to Global access by default. The Write and Create permissions will be selected
so site visitors can use the form.
3. Select + Add roles and select Authenticated Users as the default role.
4. Select Save.
2. When the home page appears, select Sign in and sign in with a site user. See
Provide access to external audiences for more information.
3. Select the page where you placed your multistep form component.
5. If you encounter any issues, review the configuration in design studio and review
each step.
6. Once you have successfully submitted the form, return to the design studio.
7. Select Data, then select the Application table (or whatever you had named your
table) and confirm that you can see that records were created using the multistep
form process.
In our example below, we'll check to see if an applicant is pursuing a Masters degree. If
a user is pursuing an advanced degree, they'll be directed to extra steps. Other
applicants will skip that step. Feel free to add a condition based on your own business
processes.
We will evaluate whether the Degree Type field has a value of Bachelor or Master,
represented by the logical name of the field craxx_degreetype and the choice values
(Master = '124860001').
1. In the design studio, on the multistep form, select the dropdown listing all the
steps of the multistep form, choose the Portal Management App link.
2. You should be in the Portal Management app in the metadata record for your
multistep form. Select the Form Steps tab.
6. Select the Condition tab and enter the condition using the logical column name
and a value. In our example, we would something similar to craxx_degreetype ==
124860001 (You need to specify your logical name and value from your own
environment.)
7. We need set up the process to go to a step if the condition is not met. Select
Application Step 4 in the Next Step If Condition Fails field.
8. Now we need to set up the process to go a specific step if the condition is met.
Select the General tab.
12. In the Next Step field, change the value from Application Step 3 to Check degree
type.
13. Select the Form Definition tab and in the Source Type field select Result From
Previous Step and in the Entity Source Step field select Application Step 1.
5. You should now see your redirect step in the list of steps. We need to make sure
our user will reach the redirect step after completing the last step in the process.
Select Application Step 4 and select Edit.
7. Select the Form Definition tab and in the Source Type field select Result From
Previous Step and in the Entity Source Step field select Application Step 2.
Tip
10. You should have a complete multistep form with steps, conditions, and a redirect.
12. When the home page appears, select Sign in and sign in with a site user.
13. Select the page where you placed your multistep form component.
14. Try various combinations of the process to see how the multistep form works.
See Also
Add a multistep form
Tutorial: Configure authorized access to
your site
Article • 06/15/2022 • 2 minutes to read
" Provide user access to your Power Pages sites using Azure AD B2C as an identity
provider.
Prerequisites
A Power Pages subscription or trial. Get a Power Pages trial here.
A Power Pages site created. Create a Power Pages site.
An Azure subscription and administrative rights to configure Azure AD B2C
1. Go to Power Pages .
3. Select Configure.
Ensure Azure Active Directory B2C is selected and then choose Next.
7. Select Close.
9. Choose Disable.
Now your users can sign in, register, or redeem an invitation to your site using Azure AD
B2C.
You can preview this functionality by visiting a portal and selecting Sign In, then select
Azure AD B2C. The default Azure AD B2C sign-in screen will appear.
Next steps
Learn how to protect your pages using page permissions in the next tutorial
When you create your site, you may want to protect one or more pages so that only
specific users or roles can view them. In this tutorial, we'll hide or show a page based on
an authenticated user's web role.
Prerequisites
Have an active Power Pages subscription or start a trial.
Create a Power Pages site.
Complete the Add and design a page tutorial.
Complete the Display data securely on pages tutorial.
3. In the page navigation, select the ellipses ... to the right of a page, and then select
Page settings.
Observe results
1. In the design studio, select Preview to view your site.
2. With no user signed in, observe that the web page that you protected doesn't
appear in the main menu or navigation.
3. Sign in to your site. You can use Azure AD for the purposes of this tutorial.
The link to the protected page should be visible in the main menu and you should
be able to view the page.
Page permissions allow you to specify which users or which roles have access to a
specific webpage. Use table permissions to configure access to Microsoft Dataverse
data.
Tutorial: Add custom CSS to your site
Article • 12/12/2022 • 2 minutes to read
The Styling workspace allows you to edit some of the theme features of your site, such
as fonts and colors; however, you may apply your own custom CSS themes.
You can create your own theme by defining a custom CSS file and uploading it to your
site.
Prerequisites
A Power Pages subscription or trial. Get a Power Pages trial here.
A Power Pages site created. Create a Power Pages site.
A custom theme file created using your favorite CSS editor.
7 Note
Any custom theme you create must be compatible with Bootstrap v3.
css
.button1 {
box-shadow: 0 9px 18px 0 #333333, 0 8px 24px 0 #333333;
}
2. Go to Power Pages .
3. Select the site to which you want to add the custom theme and choose Edit.
5. Select a theme and select the ... (ellipses), and then select Manage CSS.
6. In the Custom CSS section, select Upload and choose your custom CSS file. You
can only upload one CSS file at a time, but multiple files can be uploaded. If
multiple CSS files update the same attribute, the attributes in the CSS file at the
bottom of the list will apply. You can adjust the order of your custom CSS files.
7. You should immediately see the results of the updates on the pages canvas.
8. You can disable or move the order of your custom CSS files. The file listed last will
take precedence over the others.
9. You can edit a CSS file directly by selecting the ellipses (...) and then selecting Edit
code. This step will open the Visual Code for the Web editor. Select CTRL-S to save
your changes.
10. Select Sync in the design studio to update the CSS and view the changes.
7 Note
To completely remove the custom theme delete the web file record in the Portal
Management app.
Tutorial: Create, update, and read
Dataverse information on pages
Article • 07/12/2022 • 10 minutes to read
The ability to dynamically interact with Microsoft Dataverse is one of the key features of
Power Pages. Users visiting a site can perform actions such as view a list of programs,
register their children, schedule a meeting or apply for a building permit. The
information tracked in Dataverse can be accessed by other Power Platform services such
as Power Apps, Power Automate, or Power BI.
In this tutorial, you'll build a web application in Power Pages that will allow users the
ability to create, read, and update Dataverse records. You can use the site as a
foundation to build your own Dataverse powered websites.
Prerequisites
A Power Pages subscription or trial. Get a Power Pages trial here.
A Power Pages site created. Create a Power Pages site.
Use the steps below to create a table and columns using the Data workspace.
1. Go to Power Pages .
2. Select the Data icon on the left navigation to go into the Data workspace.
3. Select the new table (+) button, to the right of the Tables in this site heading.
7. Repeat the previous step until you've created all the columns required for your
table.
In this section, you'll use the Data workspace to create a Dataverse view.
1. Select the table from the list of tables in Data workspace to which you want to
create a new view.
5. Select Create.
6. The view designer will appear. You can add columns to the view and adjust the
width.
7. You can select to sort by specific table columns in the Sort by... section on the right
side flyout panel.
8. You can also choose to configure specific row filtering options by selecting Edit
filters... on the Filter by section on the right side flyout panel.
9. When you're finished configuring the view, select Save and then Publish view.
In this section, you'll use the Data workspace to create a Dataverse form.
1. Select the table from the list of tables in Data workspace to which you want to
create a new form.
5. Select Create.
6. The Dataverse form designer will appear. With this tool you can design and
configure various aspects for your form:
Select + Add field will display the list of table columns and allow you to drag
and drop them onto the form canvas.
The form canvas allows you to arrange the fields.
The properties fly-out panel on the right allows you to configure various
options of the selected form, tabs, sections and fields, such as the number of
columns per section, width and height of fields, label names, and other
aspects.
7 Note
7. When you're finished configuring the form, select Save and then Publish form.
In this section, you'll use the Set up workspace to create a table permission and assign
web roles.
4. A fly-out section will appear. Enter a Name for the table permission.
6. Select an appropriate Access Type depending on how you want to specify the
relationship of the records to the signed-in user. For purposes of this tutorial, we'll
provide access to all site visitors, so we'll select Global. Consider other options as
you build your sites.
7. Select the Permission to options based on how you want users to interact with the
data. For purposes of this tutorial, we'll choose Read, Write, Create, and Delete.
Consider limiting these options as you build your own sites.
8. Select + Add roles and choose the web roles that you want to assign to this table
permission. For purposes of this tutorial, we'll choose the Anonymous Users and
Authenticated Users roles. Consider creating custom web roles and assigning
specific users as you build your own sites.
4. In Standard layouts, select the Start from blank layout and select Add.
5. When the new page appears, you'll be presented with a list of components to add
to your new page. Select the List component.
In this section, you'll use the Pages workspace to create a page with a form component
configured to insert new records.
2. Select the ... icon to the right of the web page you created earlier to contain the list
component, a fly-out menu will appear, select Add a new subpage.
3. Give the page an appropriate name (for example, Create record) and choose the
Start from blank page layout.
4. When the new page appears, you'll be presented with a list of components to add
to your new page. Select the Form component.
7. You can configure other form component properties. On the Data section, make
sure that Data from this form option is set to Creates a new record. You can
configure other options such as turning off or turning on CAPTCHA or configuring
the navigation when the form is submitted.
8. Select Save.
9. We will remove this new page from the main page navigation. We'll add a create
record option on the page with the list component. Select the ... and select Move
to "Other pages".
Add a page with a form to view/edit records
Along with creating new records, we'll also want to allow our users to be able to edit
existing records. We'll again use a form component on a page but instead configured to
edit records in Dataverse.
Again we'll add a new web page and add a form component as we did in the previous
steps.
In this section, you'll use the Pages workspace to create a page with a form component
and configure it to edit existing records.
2. Select the + icon (add webpage) to the right of the Other pages section. Give the
page an appropriate name and use the Start from blank layout.
3. You'll see the page. Choose the Form option that will appear to open the Add a
form window.
5. You'll then need to configure the form with similar options as the insert form
component.
6. You can configure other form component properties. On the Data section, make
sure that Data from this form option is set to Updates an existing record. You can
configure other options such as turning off or turning on CAPTCHA or configuring
the navigation when the form is submitted.
7. Select OK.
In this section, you'll use the Pages workspace to configure the list component to have
an option to create new records and also configure the list so a user can select on a
listed record and navigate to an edit page.
3. Select the list component on the page and then select the List button to open the
Add a list window.
8. In the Target type, choose Webpage, and select the webpage with the form
component configured for editing and viewing records.
9. Select Ok.
Create some new records. When you have a list of records, select the first column of the
list to open up a page to edit the record.
Extra enhancements
To make your site more usable for end users and reduce navigation, you can configure
the form to instead redirect back to the list page instead of a message. Depending on
your site, you may want to turn off the CAPTCHA.
Tutorial: Add custom page layout to
your site
Article • 10/27/2022 • 4 minutes to read
When you create new webpages using the Pages workspace, you have a choice of
provided page layouts. In some cases you may want to create a custom page layout to
display information in a certain format or to provide a specialized user interface.
In this tutorial, you'll learn how to create a custom page layout using Liquid.
Our example scenario is to build a simple two-column template that the main site menu
as left-side navigation, with the page content to the right.
Here are the following steps and assets that will be created to provide a custom page
layout:
" We'll create a common base web template with custom code to establish basic
page layout.
" We'll create a second web template with additional code to demonstrate the
modular features of web templates.
" We'll also create a page template record referencing the web template that will
configure how the page layout will be rendered on the site.
" Finally, we will create a web page using the custom page layout.
Prerequisites
A Power Pages subscription or trial. Get a Power Pages trial here.
A Power Pages site created. Create a Power Pages site.
Basic knowledge of HTML and Liquid.
1. Go to Power Pages .
2. In the design studio, choose ... and then select Portal Management. You'll need to
use the Portal Management app to create a web template record and enter in your
custom code.
3. In the Portal Management app, scroll to the Content section and select Web
Templates.
<div class=container>
<div class=page-heading>
<ul class=breadcrumb>
{% for crumb in page.breadcrumbs -%}
<li>
<a href={{ crumb.url }}>{{ crumb.title }}</a>
</li>
{% endfor -%}
<li class=active>{{ page.title }}</li>
</ul>
<div class=page-header>
<h1>{{ page.title }}</h1>
</div>
</div>
<div class=row>
<div class=col-sm-4 col-lg-3>
{% block sidebar %}{% endblock %}
</div>
<div class=col-sm-8 col-lg-9>
{% block content %}{% endblock %}
</div>
</div>
</div>
7. Select Save.
1. In the Portal Management app, scroll to the Content section and select Web
Templates.
HTML
{% block sidebar %}
{% assign weblinkset_id = page.adx_navigation.id %}
{% if weblinkset_id %}
{% assign nav = weblinks[page.adx_navigation.id] %}
{% if nav %}
<div class=list-group>
{% for link in nav.weblinks %}
<a class=list-group-item href={{ link.url }}>
{{ link.name }}
</a>
{% endfor %}
</div>
{% endif %}
{% endif %}
{% endblock %}
{% block content %}
<div id="mainContent" class = "wrapper-body" role="main">
{% include 'Page Copy' %}
</div>
{% endblock %}
1. In the Portal Management app, scroll to the Website section and select Page
Templates.
Field Value
Website Select the web site to which the theme will be applied. Put your cursor in
the field and hit enter on your keyboard to display a list of available
options.
Web Template Select Web Links Left Navigation (or whatever you named your web
template).
Is Default Unchecked.
1. In the design studio, choose ... and then select Portal Management. You'll use the
Portal Management app to add additional configuration to your page.
2. In the Portal Management app, scroll to the Content section and select Web
Pages.
3. Locate and open the page you created previously in the Pages workspace. This will
open the root webpage. We'll need to make our changes in the related localized
content page.
4. Scroll down and in the Localized Content section, select the localized content web
page.
7 Note
If you have multiple languages provisioned, you will need to update each
localized page.
5. Go to the Miscellaneous section and select the web link set you want to display in
the Navigation field.
7. Select Preview and then Desktop to view your custom page with the side
navigation implemented.
See also
Create a custom page layout
Liquid overview
Power Pages videos
Article • 11/07/2022 • 3 minutes to read
The following video guides show you how to build and configure a Power Pages site.
The following videos show you how to create and design a page in your site and
configure your site's navigation.
Create page
https://www.microsoft.com/en-us/videoplayer/embed/RE4Y5Gl?postJsllMsg=true
Watch this quick video to learn how to set up your brand kit.
https://www.microsoft.com/en-us/videoplayer/embed/RE4XQbM?postJsllMsg=true
See also
Style your site
Tutorial: Style your site
Create a table
In this video, you'll learn how to create a table by using the Data workspace.
https://www.microsoft.com/en-us/videoplayer/embed/RE4XYeq?postJsllMsg=true
Create a view
This video shows you how to create a view for a table by using the Data workspace.
https://www.microsoft.com/en-us/videoplayer/embed/RE4XYer?postJsllMsg=true
Add a list
This video provides an overview of the steps to add a list to a page.
https://www.microsoft.com/en-us/videoplayer/embed/RE4XYem?postJsllMsg=true
Next steps
Add a list to the page
Configure table permissions
See also
Use Data workspace
Add a list component
The following will explain the concepts of table permissions, setting up access, and
assigning web roles.
3 Add a code component (example: Add a rich text control to your video
form) tutorial
Create a form
In this video, we create a form by using the Data workspace.
https://www.microsoft.com/en-us/videoplayer/embed/RE4Y6Ez?postJsllMsg=true
See also
Create forms in Data workspace
Add form to a page
Users can be provided access to your site through authentication. Power Pages users are
represented by Dataverse contact records. Power Pages can be integrated with many
authentication providers such as Azure Active Directory B2C, Microsoft, LinkedIn, and
others.
The following videos provide an overview of authentication and walk you through
configuring an identity provider.
Authentication overview
https://www.microsoft.com/en-us/videoplayer/embed/RE4XTcI?postJsllMsg=true
See also
Configure authentication
Page permissions
Accessibility in Power Pages
Article • 02/17/2023 • 4 minutes to read
Microsoft is committed to make products and services accessible to everyone. For more
information about accessibility at Microsoft, go to the Microsoft Accessibility website.
Accessibility standards
Power Pages conforms to global accessibility standards. The following accessibility
standards and conformance reports provide details about accessibility in Power Pages.
For more details about each of the follow accessibility standards, go to Microsoft
Accessibility Conformance Reports .
WCAG 2.1
The Web Content Accessibility Guidelines (WCAG) 2.1 cover a wide range of
recommendations to create accessible web content. Following the guidelines makes
your content accessible to a wide range of users and includes accommodations for
people with visual impairments, hearing loss, limited mobility, inability to speak,
blindness and low vision, deafness and hearing loss, limited movement, photo
sensitivity, and cognitive or developmental disabilities. These guidelines also address the
accessibility of web content on desktops, laptops, tablets, and mobile devices.
US Section 508
The US General Services Administration (GSA) Office of Government-wide Policy (OGP)
is tasked under Section 508 of the Rehabilitation Act to provide technical assistance to
help Federal agencies comply with these requirements, and ensure that covered
information and communication technology (ICT) is accessible to, and usable by,
individuals with disabilities.
Power Pages conforms to the Section 508 guidelines defined by the US GSA.
EN 301 549
EN 301 549 from the European Telecommunications Standards Institute (ETSI)
provides an open, inclusive, and collaborative environment. This environment supports
the timely development, ratification, and testing of globally applicable standards for ICT-
enabled systems, applications, and services.
Basic forms
A basic form uses a model-driven Power Apps form to display a form on a webpage.
Basic forms typically don't require a developer to design and configure; however, it
might be helpful to involve a developer to extend some of the form features.
More information: How to create and modify Dataverse forms using the Data workspace
Name Description
ToolTips The tooltip is set by using the description of the attribute on the target table. This
Enabled setting adds the title attribute, providing screen readers with more information.
The default value is false.
Enable A Boolean value of true or false that indicates whether anchor links should be
Validation rendered in the validation summary to scroll to the field containing an error. The
Summary default value is true.
Links
The WCAG 2.1 Quick Reference provides a list of the WCAG requirements with links to
the full descriptions.
Power BI
Power Pages allows you to bring your Power BI reports/dashboard as a first party
component; however, as a Power BI report and dashboard author, you should make sure
your Power BI reports and dashboards are accessible. For more information, see Power
BI accessibility guide.
Test your Power Pages site by zooming in to 400 percent. Make sure the text is
readable, and pages and controls function as expected. For more information, go
to WCAG 1.4.10 .
Color contrast matters. Use a color contrast tool to help you see the contrast ratio.
For more information, go to WCAG 1.4.3 .
Use the alt attribute for every image (IMG tag). Use an empty alt attribute to hide
the image from screen readers. Ideally, you can use CSS to define decorative
images hidden from screen readers. For more information, go to WCAG C9 .
Use the Microsoft Accessibility Insights tool to perform two types of scans:
Test your site using the same accessibility tools as your users:
Use Immersive Reader in Microsoft Edge to make sure your Power Pages site
is rendered and readable, making adjustments to the website as needed.
The General Data Protection Regulation (GDPR) is a legal act of the European Union
(EU), which protects data for all individuals within the EU. With GDPR, people can control
the use of their personal data in the Microsoft Dataverse.
As an administrator, you can configure your Power Pages site to meet GDPR standards.
GDPR allows you to obtain consent from users about the use of their personal data,
identify minor users, and get parental consent for minors.
Audit logging
The Last Successful Sign-in field in the contact record shows when a user has last
signed in. The date is picked up by an audit of the contact record and makes that
information available in the standard audit stream, allowing the administrator to see
inactive community members and delete their records.
7 Note
The login tracking feature has been deprecated. It's recommended to use an
analytics technology like Azure Application Insights to capture this kind of
information. To see the list of deprecated features, click here .
Name Description
If a site user is determined to be a minor and the site is configured to block minors, an
appropriate message appears and content isn't shown.
If a site user is determined to be a minor without parental consent, and the site is
configured to block minors without parental consent, an appropriate message appears
and content isn't shown.
The following content snippets control messages that appear when the site is used by
minors and minors without parental consent. You can change the message according to
your requirements.
Account/Signin/MinorNotAllowedCopy HTML
Account/Signin/MinorWithoutParentalConsentNotAllowedCopy HTML
When someone registers using an external provider and the webpage is configured to
block minors or minors without parental consent, the contact record isn't created, and
the user isn't authenticated.
The following content snippets control the display of terms and conditions on the
screen. You can change the text according to your requirements.
Account/Signin/TermsAndConditionsCopy HTML
The following site settings control the terms publication date and whether the terms
should be displayed:
Name Description
Terms Agreement Date: Indicates the date and time the user agreed to the terms
and conditions.
Cookies in Power Pages
Article • 02/17/2023 • 2 minutes to read
A cookie is a small file sent from the web site to visitor's device by the browser. A single
web session may use multiple cookies.
Power Pages also use cookies to store information for various purposes. The following
table describes the cookies that Power Pages uses, and their lifetime.
Android 10 or later
IP addresses
Requests from Power Pages use IP addresses that depend on the region of the
environment that the site is in. We don't publish fully qualified domain names available
for Power Pages scenarios.
Required services
This list identifies all services to which Power Pages communicates and their usages.
Your network must not block these services.
1
Replaces domain name gov.content.powerapps.us used prior to July 2022.
2
Replaces domain name high.content.powerapps.us used prior to July 2022.
3
Replaces domain name content.appsplatform.us used prior to July 2022.
Proxies
Power Pages doesn't support running with a proxy enabled. This can cause
unpredictable behavior. If you encounter issues, disable the proxy, and then try again.
Some proxies (such as Zscaler, Blue Coat) modify Power Pages requests by
removing headers (CORS or authentication headers). Power Pages relies on these
headers to load the app.
See also
System requirements, limits, and configuration values for Power Apps
Known issues
Article • 02/24/2023 • 10 minutes to read
When you create a site for the first time in a new environment, you won't be able
to rename the environment; however, the ability to rename the environment when
it's created will be available in a future update.
Pages workspace
Buttons added in websites built with the starter template can't be resized.
HTML
<a href="~/">
{% if snippets['Logo URL'] %}
<img src="{{ snippets['Logo URL'] }}" alt="{{ snippets['Logo alt
text'] }}" style="width: auto; height: 32px; margin: 0 10px;">
{% endif %}
{% if snippets['Site name'] %}
<h1 class="siteTitle">{{ snippets['Site name'] }}</h1>
{% endif %}
</a>
Styling workspace
The section padding/margin settings feature in the Style workspace won't work for
sites built using the starter templates.
Power Pages themes have been updated to meet the highest visual accessibility
standards. To ensure that your existing Power Pages sites created prior to September 23,
2022 adhere to these standards, you'll need to update your theme settings to adjust the
background using one of the following options.
3. Select Save.
Site visibility
A Power Pages website in private mode will not work when you disable Azure Active
Directory authentication. Azure Active Directory authentication is enabled by default
when the website is provisioned. Change the site visibility state to public before
disabling Azure Active Directory authentication.
You can preview the webpages using design studio, but you can't add or modify
sections, components, or text.
Instead, use tools such as Portals Management app or Visual Studio Code to edit the
underlying web templates and configure them for your unique needs.
General issues
You receive the following error message when configuring or using table fields:
Field Name: You have exceeded the maximum number of X characters in this field.
This can happen if the referenced field for the table exceeds characters limit
mentioned in the error. To increase this limit, go to the Data workspace, select the
table, select the field, choose Edit column. In the Advanced options, increase the
Maximum character count field value to a higher value. Allowed values: 1 through
1,048,576.
The Modified Date for the app might be incorrect because these apps are pre-
provisioned apps and could have been provisioned earlier.
When you create an environment along with the starter portal, the owner of the
site isn't displayed correctly. It's displayed as System.
If you're reusing the URL of a recently deleted site to create a new site, it will have
some delay for runtime to setup. This experience happens because the purge of
previous resources would still be in progress and may take from 30 minutes to 1
hour for the new site to setup on Azure. The site will also not be available for
editing during this time and may show errors when launched in studio for editing.
If you keep the portal settings pane open in Power Apps home page while
resetting the site from the Power Pages hub in the Power Platform admin center, a
user will see the "Something went wrong" error message in the portal settings
pane, as the site is no longer available.
In certain cases, when you create a new site, the styles aren't applied properly to
the site, and the website is displayed without the styles when opened through
Browse website. This behavior rarely happens and styles can be recovered by
restarting the site from the Power Pages hub in the Power Platform admin center.
When configuring a basic form using the Portals Management app, the incorrect
model-driven form is displayed when rendered as a basic form on a page. This may
happen when a model-driven form name is duplicated across different form types
(Main, Card, and QuickViewform). Only one form name appears when configuring
or creating a basic form for the portal. To resolve the issue, rename or create a
copy (with a unique name) of the model-driven form to use when configuring the
basic form. When creating a form in Data workspace, you will only be presented
with the Main form.
By default, Power Pages sites uses the Azure Active Directory Graph API for the
portal's Azure app registration which is currently deprecated. Power Pages will use
the Microsoft Graph API in a future update, so no administrator intervention is
required. If the existing Azure Active Directory Graph API permission is replaced
manually using the Microsoft Graph API, it will revert back to the Azure Active
Directory Graph API when you Enable or Disable SharePoint integration from the
Power Pages hub in the Power Platform admin center.
When configuring the Open in New Window setting on the Profile web link, the
profile page will not open in a new window. To resolve this issue, update the
Header web template by updating the Liquid code in the {% if profile_nav %}
section.
7 Note
Make a backup of the Header web template before performing these steps.
HTML
HTML
7 Note
You can edit and design Power Apps portals sites using the new Power Pages
design studio. More information: Power Pages design studio and Power Apps
portals Studio.
If a site has page hierarchy of more than three levels, the pages from fourth level
onwards aren't displayed in Power Apps portals Studio.
The selected text font size will only be displayed if there's a font size defined
specifically for that text. If it's part of the standard HTML tags such as p, H1, H2,
H3, and so on, Power Apps portals Studio won't display the font size.
Webpage using the Page with side navigation template displays only the link of
the pages that existed during the webpage creation. You can update the links on
the left side of the page by changing the page template to another template and
then back to Page with side navigation.
When you delete a webpage, canvas doesn't reflect the updated menu until the
next refresh of canvas.
Color picker and its related strings are supported only in English.
A few template pages on the Employee Self Service portal aren't able to render
correct breadcrumb.
Navigation menu is only visible on the canvas with a resolution of minimum width
of 1600 px.
An image uploaded on a page becomes the child of the page. If you delete the
page, and use the image on another page, the image won't render on Power Apps
portals Studio and website.
Form rendering isn't currently supported in Power Apps portals Studio. When you
add a form, you must select Browse website to open the website and verify the
form.
In the following scenarios Power Apps portals Studio stops to load and shows the
"Sorry, there's a disconnect" error:
If the Home page is deleted or disabled for a portal.
If a page template related to the Home page or any page is disabled or deleted.
Power Apps portals Studio will be unable to load source code of those content
snippets that don't have a language assigned in Dataverse.
In some instances, the changes for header and footer, either through WYSIWYG
experience of Power Apps portals Studio or through the code editor, won't be
reflected immediately.
If a webpage is assigned the Search template in Power Apps portals Studio, it will
show a page with the loader. For this scenario to work, you'll have to create an
appropriate site marker for that page.
The Default studio template also shows up as an option in page template while
creating a new page once it's used in Power Apps portals Studio. Also, this
template is only inserted in English language and it doesn't support localization
based on default Dataverse or portal language.
A list rendered as a calendar control or map isn't configurable through Power Apps
portals Studio.
The Partial URL field in page properties doesn't accept special characters and it
breaks the rendering in the canvas for some time.
Upload CSS might fail in scenarios where CSS file name contains special characters
or space in the file name.
While using Power Apps portals Studio, if your portal base language is different
than the browser's language, the new webpages created using the Default studio
template will have dummy content inserted in browser's language instead of portal
language.
Only CSS applied at the root page is displayed in the Theme pane. Although if you
try uploading a CSS file with a same name as any other CSS file available in the
portal, Power Apps portals Studio asks you to replace that file.
Power Apps portals Studio is currently not supported on Safari in Mac operating
system and has the following issues:
The selection of component isn't correct and hovering on a component
provides incorrect target indication.
Two or three column sections don't render properly in Power Apps portals
Studio but works fine on the website.
See also
Power App portal maintenance and troubleshooting A Power Pages website in private
mode won't work when you disable Azure Active Directory authentication. Azure Active
Directory authentication is enabled by default when the website is provisioned. Change
the site visibility state to public before disabling Azure Active Directory authentication.
Important upcoming changes and
deprecations in Power Pages
Article • 01/31/2023 • 2 minutes to read
The announcements for changes and deprecations described in this article apply to
Power Pages. Makers, developers, and IT pros can use this information to prepare for
future releases.
) Important
Deprecated means that we intend to remove the feature or capability from a future
major release. The feature or capability will continue to work and is fully supported
until it's officially removed. This deprecation notification can span a few months or
years. After it's removal, the feature or capability no longer work. This notice is to
allow you sufficient time to plan and update your code before the feature or
capability is removed.
At launch, users with the system administrator role along with service admins will by
default have privilege to change site visibility status (private to public or vice versa).
7 Note
After October 1, 2023 system administrators will not be able to change site visibility
when the tenant-level setting is null. To prevent this, set the value for the tenant
level setting to either TRUE or FALSE. More information: Change tenant-level
setting
See also
Important changes (deprecations) coming in Power Apps, Power Automate, and
customer engagement apps