Jump to content

Guides on Power Platform

From Resco's Wiki
Warning Work in progress! We are in the process of updating the information on this page. Subject to change.

Traditionally, end users consume guides in Resco mobile apps. Since Release 16.1 (summer 2023), guides can also be used in various components of the Microsoft Power Platform: Power Apps and Power Pages.

As your backend server, use Microsoft Dataverse - with or without extra Dynamics features. In this configuration, you also don't need to install Woodford.

Prerequisites

Here's a high-level overview of steps to prepare your environment:

  1. Go to https://make.powerapps.com/.
  2. Install the Resco Guides managed solution. (How?)
  3. Optionally, define some N:N relationships between the Guides table and other tables (if you want to have guides related to other records). (How?)
  4. Optionally, define some guide categories. (How?)
  5. Use Guides library to create and publish at least one guide.
Preview Guides on Power Platform are still in preview. In step 2, don't install the production version of Resco Guides released earlier this year. Instead, see the Preview page for a newer version.

Guide views and Guide player

Once you install Resco Guides in your environment, you can use our predefined views for the Guide table, as well as the Guide player, which is a web resource that replaces the default form. You can use the views and the player on the Power Platform.

Power Pages

Microsoft Power Pages is a platform for creating, hosting, and managing websites. The following example explains how to include Guide player in such a webpage.

Create a Power Page

  1. Go to https://make.powerpages.microsoft.com/ (Power Pages design studio).
  2. Ensure you are in the environment with Resco Guides solution installed.
  3. Create a new power page or edit an existing one.
  4. Go to Pages and select the page where you want to add the guide player.
  5. Insert an iframe to the page, then switch to Edit code and use the following code to define the iframe content:
    <iframe frameborder="0" src="/_webresource/rh_rescoplayer/index.html?id=6b9021ba-6495-4207-9e9c-9d6a4aa8219b&data=endpoint%3DPortalWebApi"></iframe>
  6. Save the modified code, return to Power Page design studio, and click Sync to retrieve the latest code.
Note The id in the iframe represents the id of the guide. Replace the id with a guide id that exists in your environment.

Set up table permissions

While editing your site, go to Set up > Table permissions and add permissions for 5 tables:

  • Four tables required to run the Guide player (rh_guide, rh_guidecategory, systemuser, and annotation).
  • Web Resource table.

Read privileges should be sufficient. For the sake of demonstration, you can grant it to all users/roles. In production, you should probably evaluate the permissions more carefully.

Set up web API access

  1. Return to the Power Pages home page (list of your sites).
  2. On the tile of your site, click the ellipsis button and select Portal management.
  3. Select Website > Site Settings from the menu.
  4. For each of the four Guide player tables (rh_guide, rh_guidecategory, systemuser, and annotation), create two new site settings:
    • Enable the web API for this table.
    • Set up fields that should be available via web API (or use asterisk for all).

Preview the web

If everything works as planned, your Power Page site now includes a guide.

Note During the design phase, your Power Page may say "Access Denied" instead of showing a guide. Preview the webpage to see the guides.

You can change the displayed guide in the iframe with simple Javascript. All you need to do is change the iframe src="" with the URL containing a different guide id. E.g., change to source on button click.

<button onclick="changeIframeSource()">Change iframe source</button> 
  <script> 
    function changeIframeSource() { 
      var iframe = document.getElementById("guidePlayerResource"); 
      iframe.src = "/_webresource/rh_rescoplayer/index.html?id=e193fe3e-937f-4abe-9512-0a067f8009f1&data=endpoint%3DPortalWebApi"; 
    } 
  </script>

Power Apps

TBD





{{#CI form: title = Was this information helpful? How can we improve? | type = inputs | [textarea] }}