Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Expand
titleHow to switch to classic D365 viewer

Click SolutionsAPSD...Switch to classic

Image Removed
Expand
titleResetting an environment
Note

Recommend having the owner of each custom connector delete them in the environment before resetting. In order to do this, will need to delete the flows, canvas app, & any other dependencies.

  1. Go to the https://admin.powerplatform.microsoft.com/environments.

  2. Select the environment you wish to reset.

  3. Click on Reset in the top menu bar.

  4. Ensure that the Name and URL are correct (this is the time to change it if required).

  5. Change the Currency to CAD ($).

  6. Click Reset. It will take 15-20 minutes for the refresh to finish.

  7. Once complete, click on the environment name to view its details.

  8. Click on Edit in the top right corner of the Details section.

  9. Ensure that Administration mode is disabled (otherwise, only system admins will have access).

  10. Grant system administrator access to other developers as needed (see next section).

Expand
titleGranting security roles to users
  1. Go to https://admin.powerplatform.microsoft.com/environments/d4af4054-dad9-431a-8a39-527b4b690886/securityroles/d875496e-3318-ec11-b6e5-000d3a09d85b/members and select the desired environment.

  2. In the Access section, click See all under Security roles.

    Image Removed
  3. Scroll down to desired role and click on it.

    Image Removed
  4. Click + Add people, search for the user then click Add.

Expand
titleAzure Portal setup

App Registration

Must be added as an application user in the PowerApps environment in order to access NAPA API (security controls). Also required for pipelines and as a service principal account in APSD (Dataverse connection).

Image RemovedImage RemovedImage Removed

APSD-PAPS-USERS Group

Used as a security group for the Canvas app as well as for the SharePoint translation list.

Key vault

Used for NAPA-SNAPA API secrets and MTOA JWT token.

Expand
titleSecurity roles
Image Removed

If a new security role needs to be created, open an existing role and select Copy Role.

Image Removed
Info

Below are the steps to install APSD-PAPS in D365 PowerApps platform.

Setting up a new environment may take up to an hour.

Setting Up a New Environment

When setting up a brand new environment, there are a few additional steps that must be done other than simply importing the solution. The NAPA-SNAPA custom connector must be created (as there is currently a bug that doesn’t allow it to be migrated with the solution due to the OAuth secrets) and all lookup data must be imported.

Expand
titleAdd CivAv application from Azure Portal as an Application User

This must be done in order for the pipeline & for the flows to work (we are using Service Principal account to connect to Dataverse).

  1. Go to the Power Platform admin center.

  2. Select the new environment.

  3. In the Access section, click on See All under S2S Apps.

    Image Removed
  4. Click + New app user.

  5. Click + Add an app and enter in the App ID in the search bar.
    CivAv-Reg-APSD-PAPS: 27b29278-594f-484d-a0c0-9c61381bad31

    Image Removed
  6. For the business unit, select the one with the environment name.

  7. Edit the security roles and select System Administrator and System Customizer.

  8. Click Create.

Expand
titleCreating Service Principal Connections
  1. Open the Power Apps Studio and click on Flows in the side menu.

  2. Click + New flow > Instant cloud flow.

  3. Select Manually trigger a flow, then Create.

  4. Click + New step > Microsoft Dataverse > select any action.

  5. Click on the … and +Add new connection.

  6. Click Connect with service principal.

  7. Image Removed

    The connection name should be “CivAv APSD Service Principal”. The rest of the info is in RDIMS 17999814.

  8. Click Create.

  9. Click on Connections in the side menu (don’t save the flow). You can now see the new connection.

    Image Removed
  10. Delete any other connections that were created.

Expand
titleCreating Connections for Do Not Reply APSD / Ne Pas Répondre PAPS
Note

Perform the steps in this section in a FireFox browser. For some reason, Chrome auto-signs in to your personal account.

  1. Go to https://myaccount.microsoft.com/, click on your profile icon in the top right corner and select Sign in with a different account.

    Image Removed
  2. Click + Use another account.

  3. Log in to DoNotReplyAPSD-NePasRepondrePAPS@tc.gc.ca (info in RDIMS 17999814).

  4. In the same browser, go to Power Apps Studio and login as your own account.

  5. Click on Data/Dataverse > Connections in the side menu.

  6. Click on + New connection and select Office 365 Outlook.

  7. Click Create and select the Do Not Reply APSD account that you signed into in Step 3.

  8. Repeat Steps 6-7 for the Office 365 Groups and Excel Online (Business) connections.

You should now have the following connections set up

Image Removed
Expand
titleHow to switch to classic D365 viewer

Click SolutionsAPSD...Switch to classic

Image Added
Expand
titleResetting an environment
Note

Recommend having the owner of each custom connector delete them in the environment before resetting. In order to do this, will need to delete the flows, canvas app, & any other dependencies.

  1. Go to the https://admin.powerplatform.microsoft.com/environments.

  2. Select the environment you wish to reset.

  3. Click on Reset in the top menu bar.

  4. Ensure that the Name and URL are correct (this is the time to change it if required).

  5. Change the Currency to CAD ($).

  6. Click Reset. It will take 15-20 minutes for the refresh to finish.

  7. Once complete, click on the environment name to view its details.

  8. Click on Edit in the top right corner of the Details section.

  9. Ensure that Administration mode is disabled (otherwise, only system admins will have access).

  10. Grant system administrator access to other developers as needed (see next section).

Expand
titleGranting security roles to users
  1. Go to https://admin.powerplatform.microsoft.com/environments/d4af4054-dad9-431a-8a39-527b4b690886/securityroles/d875496e-3318-ec11-b6e5-000d3a09d85b/members and select the desired environment.

  2. In the Access section, click See all under Security roles.

    Image Added
  3. Scroll down to desired role and click on it.

    Image Added
  4. Click + Add people, search for the user then click Add.

Expand
titleAzure Portal setup

App Registration

Must be added as an application user in the PowerApps environment in order to access NAPA API (security controls). Also required for pipelines and as a service principal account in APSD (Dataverse connection).

Image AddedImage AddedImage Added

APSD-PAPS-USERS Group

Used as a security group for the Canvas app as well as for the SharePoint translation list.

Key vault

Used for NAPA-SNAPA API secrets and MTOA JWT token.

Expand
titleSecurity roles
Image Added

If a new security role needs to be created, open an existing role and select Copy Role.

Image Added
Info

Below are the steps to install APSD-PAPS in D365 PowerApps platform.

Setting up a new environment may take up to an hour.

Setting Up a New Environment

When setting up a brand new environment, there are a few additional steps that must be done other than simply importing the solution. The NAPA-SNAPA custom connector must be created (as there is currently a bug that doesn’t allow it to be migrated with the solution due to the OAuth secrets) and all lookup data must be imported.

Expand
titleAdd CivAv application from Azure Portal as an Application User

This must be done in order for the pipeline & for the flows to work (we are using Service Principal account to connect to Dataverse).

  1. Go to the Power Platform admin center.

  2. Select the new environment.

  3. In the Access section, click on See All under S2S Apps.

    Image Added
  4. Click + New app user.

  5. Click + Add an app and enter in the App ID in the search bar.
    CivAv-Reg-APSD-PAPS: 27b29278-594f-484d-a0c0-9c61381bad31

    Image Added
  6. For the business unit, select the one with the environment name.

  7. Edit the security roles and select System Administrator and System Customizer.

  8. Click Create.

Expand
titleCreating Service Principal Connections
  1. Open the Power Apps Studio and click on Flows in the side menu.

  2. Click + New flow > Instant cloud flow.

  3. Select Manually trigger a flow, then Create.

  4. Click + New step > Microsoft Dataverse > select any action.

  5. Click on the … and +Add new connection.

  6. Click Connect with service principal.

  7. Image Added

    The connection name should be “CivAv APSD Service Principal”. The rest of the info is in RDIMS 17999814.

  8. Click Create.

  9. Click on Connections in the side menu (don’t save the flow). You can now see the new connection.

    Image Added
  10. Delete any other connections that were created.

Expand
titleCreating Connections for Do Not Reply APSD / Ne Pas Répondre PAPS
Note

Perform the steps in this section in a FireFox browser. For some reason, Chrome auto-signs in to your personal account.

  1. Go to https://myaccount.microsoft.com/, click on your profile icon in the top right corner and select Sign in with a different account.

    Image Added
  2. Click + Use another account.

  3. Log in to DoNotReplyAPSD-NePasRepondrePAPS@tc.gc.ca (info in RDIMS 17999814).

  4. In the same browser, go to Power Apps Studio and login as your own account.

  5. Click on Data/Dataverse > Connections in the side menu.

  6. Click on + New connection and select Office 365 Outlook.

  7. Click Create and select the Do Not Reply APSD account that you signed into in Step 3.

  8. Repeat Steps 6-7 for the Office 365 Groups and Excel Online (Business) connections.

You should now have the following connections set up

Image Added
Expand
titleExport the Solution from DEV
Info

The Canvas apps are inside the APSD-PAPS Flows solution.

  1. Open the Power Apps Studio and select the ap-dev-tcd365 environment.

  2. Click on Solutions in the side menu, then click Publish all customizations in the top menu bar.

  3. Select the APSD solution.

  4. Click ExportNext.

  5. Increase the version number as needed (revision # is automatically increased) and ensure Export as Managed is selected, then click on Export.

  6. Repeat steps 3-5 with the APSD-PAPS Env Variables, APSD-PAPS Flows and APSD-PAPS Custom Connectors solutions but export them as Unmanaged.

Expand
titleImport the solution
Note

Solution Import Order Must be followed or will break dependencies
APSD-PAPS Env Variables > APSD-PAPS Custom Connectors > APSD > APSD-PAPS Flows

Info

Basic steps to import a solution:

  1. Click on Solutions on the left-hand menu and then Import in the top menu bar.

  2. Select Browse and point to the zip file, e.g. APSD_PAPS_EnvVariables_1_0_0_X.zip, created in the export solution steps.

  1. Once the Env Variables solution has been imported

    • Edit the variables to ensure they have the correct values for the environment

  2. Once the Custom Connectors solution has been imported

    • Clone the APSD-PAPS repository to your local computer.

    • Go into the APSD-PAPS Custom Connector solution. **Must be done from within the solution to ensure that the same name is generated (ap_5Fnapa-2Dsnapa).**

    • Click on + New > Automation > Custom connector

      Image Added
    • Enter in the info as follows:

      • Connector Name: NAPA-SNAPA

      • Host: www

    • Click Create connector

    • On the left-hand menu, click on Data/Dataverse > Custom connectors

    • Beside the NAPA-SNAPA connector, click ... > Update from OpenAPI file.

      Image Added
    • Click Import and go to \repos\APSD-PAPS\Custom Connectors\JSON and select the NAPA-SNAPA.json file.

    • Click Continue.

    • Toggle the Swagger Editor ON > OFF.

    • Go to the Security tab and enter in the information as per RDIMS 17999814.

    • Click Update connector.

    • Click on the Test tab, then + New connection.

    • Click X Close.

    • For the rest of the connectors, edit them and go to the Test tab, then click + New connection (API key are in RDIMS 17999814).

    • On the left-hand menu, click on Data/Dataverse > Connections.

    • For the MTAPI, SPAPI & TMAPI connections, share them with the organization.

      • Click ...Share+ Add everyone in my orgSave.

      • This must be done so that any changes to the API Key get shared to all users. The update should be instant, if users are not receiving the updated key, they will need to clear their browser’s cache.

      • Give edit access to TC-CivAv Azure group.

        Image Added
  3. Import the APSD solution

  4. When importing the Flows solution

    • Click Next twice then select the CivAv APSD Service Principal connection for Dataverse and the shared connections for the APIs.

    • For the Office 365 and Excel Online connections, select the Do Not Reply APSD / Ne Pas Répondre PAPS connection created earlier.

      Image Added
  5. Click Import and wait for the process to finish.

  6. Import the rest of the solutions as needed.

  7. Click on Publish all customizations.

  8. Share the APSD-PAPS Canvas App with Everyone in TC. Uncheck the box at the bottom “Send an email invitation to new users”.

    Image Added
  9. Share the Canvas apps with the other developers individually, checking off the co-owner box.

  10. Assign a security role to yourself in order to test the application.

    • Can be done through Advanced Settings or the Admin center (see Granting security roles to users section).

      Image Added
Expand
titleCreating custom connectors in new environment - DEV ONLY
Note

Only for the DEV environment

Custom connectors must be created before importing the APSD & Flows solutions.

  1. Clone the APSD-PAPS repository to your local computer.

  2. On the left hand menu, navigate to DataCustom Connectors.

  3. Click on + New custom connectorImport an OpenAPI file.

  4. In the Connector name field, type “NAPA-SNAPA”.

  5. Click Import and go to \repos\APSD-PAPS\Custom Connectors\JSON and select the NAPA-SNAPA.json file.

  6. Click Continue.

  7. Verify that the Host and Base URL point to the correct location for the environment you are in (refer to chart below).

  8. For NAPA API only: Set up OAuth security

  9. Click Create connector.

  10. Click on the Test tab, then + New connection.

  11. Enter the API Key (RDIMS 17999814) and click Create connection.

  12. Repeat steps 3-10 to create the rest of the connectors using their json files (SIAPI, SPAPI, MTAPI & TMAPI). *Note: SIAPI doesn’t require an API Key.

  13. On the left hand menu, navigate to DataConnections.

  14. For each connection, share them with the organization.

    • Click ...Share+ Add everyone in my orgSave.

    • This must be done so that any changes to the API Key get shared to all users. The update should be instant, if users are not receiving the updated key, they will need to clear their browser’s cache.

    • Give edit access to TC-CivAv Azure group.

Migrating the Application Between Environments

Expand
titleExport the solution
Info

The Canvas apps are inside the APSD-PAPS Flows solution.

Data will not be migrated between environments through the solution. You will need to perform data migration separately following the steps below.

  1. Open the Power Apps Studio and select the environment you are migrating from.

  2. Click on Solutions in the side menu, then click Publish all customizations in the top menu bar.

  3. Select the APSD solution.

  4. Click ExportNext.

  5. Increase version number as applicable, and select Managed, then click on Export.

  6. Repeat steps 3-5 with the APSD-PAPS Env Variables, APSD-PAPS Flows and APSD-PAPS Custom Connectors solutions but export them as Unmanaged.

    • Any future deployments will only require the APSD and Flows solutions to be migrated.

    • EXCEPTION: Custom Connectors solution must only be migrated if there are any changes to the existing custom connectors or a new custom connector is added.

    • EXCEPTION: Env Variables solution must only be migrated if new environment variables are added.

Info

The Canvas apps are inside the APSD-PAPS Flows solution.

Expand
titleImport the solution
Info

Solution Import Order Must be followed or else will break dependencies
APSD-PAPS Env Variables > APSD-PAPS Custom Connectors > APSD > APSD-PAPS Flows

Env Variables & Custom Connectors solutions only have to be imported if there are changes.

  1. Click on Solutions on the left-hand menu and then Import in the top menu bar.

  2. Select Browse and point to the zip file, e.g. APSD_PAPS_EnvVariables_1_0_0_X.zip, created in the export solution steps. "X" will be the current iteration number at the time of deployment.

    • Only import the exported solutions from the previous section.

  3. New environments only, once Custom Connectors solution is imported:

    • Clone the APSD-PAPS repository to your local computer.

    • Go into the APSD-PAPS Custom Connector solution.

    • Click on + New > Automation > Custom connector

    • Enter in the info as follows:

      • Connector Name: NAPA-SNAPA

      • Host: www

    • Click Create connector

    • On the left-hand menu, click on Data/Dataverse > Custom connectors

    • Beside the NAPA-SNAPA connector, click ... > Update from OpenAPI file.

      Image RemovedImage Added
    • Click Import and go to \repos\APSD-PAPS\Custom Connectors\JSON and select the NAPA-SNAPA.json file.

    • Click Continue.

    • Toggle the Swagger Editor ON > OFF.

    • Go to the Security tab and enter in the information as per RDIMS 17999814.

    • Click Update connector.

    • Click on the Test tab, then + New connection.

    • Click X Close.

    • For the rest of the connectors, edit them and go to the Test tab, then click + New connection (API key are in RDIMS 17999814).

    • On the left-hand menu, click on Data/Dataverse > Connections.

    • For the MTAPI, SPAPI & TMAPI connections, share them with the organization.

      • Click ...Share+ Add everyone in my orgSave.

      • This must be done so that any changes to the API Key get shared to all users. The update should be instant, if users are not receiving the updated key, they will need to clear their browser’s cache.

      • Give edit access to TC-CivAv Azure group.

  4. New environments (when importing the Flows solution):

    • Make sure the CivAv APSD Service Principal Dataverse connection has been created (see steps above).

    • Click Next twice then select the CivAv APSD Service Principal connection for Dataverse and the shared connections for the APIs.

    • For the Office 365 and Excel Online connections, select the Do Not Reply APSD / Ne Pas Répondre PAPS connection created earlier.

  5. Click Import and wait for the process to finish.

  6. Import the rest of the solutions as needed.

  7. Click on Publish all customizations.

  8. New environments: Share the APSD-PAPS Canvas App with Everyone in TC. Uncheck the box at the bottom “Send an email invitation to new users”.

  9. New environments: Assign a security role to yourself in order to test the application through Advanced Settings.

If importing the APSD Custom Connectors solution:
Even if there are no edits to make, you must still click on Update Connector for it to connect properly.

Expand
titleUpdate connectors and dropdowns in the Canvas app - NO LONGER REQUIRED
Warning

IGNORE THIS SECTION
Not necessary anymore now that the custom connectors are inside solutions.

  1. Edit the APSD-PAPS Canvas app.

  2. When prompted, select Don't Allow.

  3. Remove all connections that are showing as not connected - 5 connections (APSR, MTAPI, SIAPI, SPAPI, TMAPI), Office365Users and APSD_Translations.

  4. Add all of them back.

  5. SharePoint data connector: for APSD_Translation file. In the box enter the following URL: https://034gc.sharepoint.com/sites/DSD-CivilAviation/Lists/APSD_Translations/AllItems.aspx

  6. Check off the APSD_Translations list & click Connect.

  7. Run the App Checker and ensure no errors are reported.

  8. Turn on “Allow searching” in the properties for the following elements:

    • New Service Request Step One Screen - cboNapaProject element

    • New Service Request Step Three Contact Info Screen - cboFindOrganizationAlt element

    • Service Request Review Screen - ddSRRChangeReAssignment element

    • New Invoice Step One Screen - cboInvoiceCustomer and cboCustomerAddress elements

    • Weekly Time Entry Normalized Screen - cmbProject

  9. Save and Publish the app.

...

Expand
titleImporting SCRAM task data
Info

Alternative solution: Follow https://docs.microsoft.com/en-us/powerapps/developer/data-platform/dataverse-odata-dataflows-migration to create a dataflow to migrate the data between environments. This currently exists for QA → ACC.

  1. Go to the environment that has the master set of data for the SCRAM tasks. Currently, this is QA.

  2. On the left menu, go to DataTables, then open the Scram Tasks table.

  3. On the top menu, click on DataExport data. Once the export has been successfully completed, click on Download exported data.

  4. Unzip the csv file.

  5. Switch to the environment you are deploying to.

  6. On the left menu, go to DataTables, then open the Scram Tasks table.

  7. On the top menu, click on Data> beside Get dataGet data from Excel.

  8. Upload the csv file from step 4. If there are any mapping issues, fix them.

  9. Click Import. Wait for the process to complete, then verify that the data was imported.

Expand
titleImporting AP task data 

Follow the same steps for Importing SCRAM task data using the AP Task table instead.

Flows

The service principal account should be used for all connections to the DataVerse.

...