Table of Contents

Altus Deployment

Note

This is a concise set of steps for an Altus Partner deployment engineer to follow to deploy Altus into a client environment. It is provided so that customer can have visibility / transparency on the partner activities. Links are provided throughout to provide further information on terms, technology and changes being applied to the environment for further reference.

Please ensure the Technical Readiness requirements have been met before proceeding.

The deployment is comprised of the following stages:

Image shows the solutions overview

Technical Readiness Validation

Use the following steps to validate that technical readiness has been achieved:

  1. Log into https://portal.office.com/account/#subscriptions using the credentials provided by the customer. You should be able to see evidence of the licenses applied. In this example we have PowerApps per app and E5 (which also grants Power BI Pro). This satisfies the licensing requirements in Tech Readiness requiring PowerApps, Power BI Pro and Teams.

    Image shows the subscriptions page
  2. Log into Teams Administrative Web Portal, click Apps -> Manage your apps, and ensure the "Upload an app to your org's app catalogue" is available:

    Image shows the Microsoft Teams administrative web portal
  3. Open https://make.powerapps.com and use the environment selector in the top-right to select the Power Platform environment created by the customer during technical readiness.

  4. Click on the ⚙-> Advanced Settings

    Image shows the advanced settings page
  5. Navigate to Settings -> Security -> Users -> Your User -> Manage Roles to ensure you have admin permissions.

    Image shows the manage user roles page
  6. Log into https://app.powerbi.com and select Workspaces in the left navigation and verify you have the option to create a New workspace.

    Image shows verification of the ability to create a new workspace
  7. Log into Teams Admin Portal and verify you have access to app setup policies, this will be needed to force pin the Altus app into the Teams Client for targeted end users.

    Image shows the app set up policies page
  8. Log into the Hub using the customer supplied deployment account. Authentication should succeed.

If all those steps are successful then you are ready to proceed with deployment.

Altus Dynamics Solutions

Prepare for solution deployment

The following Solutions will be loaded into the Dynamics environment:

  • Altus Controls v1
  • Altus Project (Kaizen)
  • Altus Project Independent (Atsumeru)

The following activities need to be performed to prepare for solution deployment:

  1. Connect to the following Power Automate connectors that exist in the target Power Platform Environment by navigating to https://make.powerapps.com select the target environment in the top-right, then in the left-nav select ...More -> Connections. Select Create a connection. Search in the top right search field for of the connection types to create below:

    Image shows the approvals connection

    When a connection reference requests a login, please use OAuth, using preferably an admin account.

    Image shows the authentication type screen
  2. Grant permissions to the Deployment Service Principal

    • Open your environment from the Power Platform admin center from https://admin.powerplatform.microsoft.com/environments by selecting the environment desired, then click Settings from the toolbar.

    • Click on the Users + permissions drop-down arrow, then click Application Users

      Image shows the add new application users page
    • Click + New app User, then select + Add an App and search for the App ID: d4c83473-e8ba-4ea1-946f-d3b4ba32acb1

      On selection this will resolve to the name Altus Deployment.

      Image shows the Add an App page

  • Select the Business unit and Create the user.

  • Select the Altus Deployment user from the list, click Edit security roles and add the System Administrator role to this user.

    Image shows the add system administrator role to the Altus Deployment user
  • Save and Close.

Power Platform Solution Deployment

The deployment of the Power Platform Solutions is performed via the Altus Hub.

Note

This step is performed as the Deployment Account as created by the customer M365 administrator during Technical Readiness.

Log into Altus Hub using the Deployment Account.

Altus Hub Login

If Admin Consent has been performed as part of Tech Readiness then you will not need to perform it again, however if it is detected as necessary you will be prompted or can proactively perform it if you are an M365 Admin.

Select and environment you would like to deploy into.

Environment Select

If you don't see any environments, or you don't see the desired target environment then ask your administrator to complete Technical Readiness by creating and granting your Deployment Account access to the target Power Platform environment.

Agree to the terms and conditions and request Altus Solution Deployment

Hub Deploy

You can set various environmental parameters on this screen to control update cadence and release ring.

Deploy Underway

Please wait until the deployment is completed - this can take up to 1 hour.

If you are an Altus Partner, please log into the Altus Hub using your own account and use your use your special link in the Partner Hub page in a browser using the Deployment Account to enable remote administration for this customer from your Partner Hub.

Partner Hub

Add Altus Admin Role

We need to add Altus Admin Role to the Deployment account you are using.

  • Navigate to PowerApps Portal, ensure you are in the correct environment (eg CRM). Click on Apps then Altus application.

  • Select Advanced Settings under the top-right settings (cog icon) menu.

    Image shows the location of the advanced settings button
  • Under the System navigation heading, select Security (Preview) and select Users (note this will open in admin.powerplatform.com)

    Image shows location of the security section
  • Locate the Deployment Account

    Image shows location of the security section
  • Under the deployment account user screen, select Manage Roles.

    Image shows the manage roles button in the ribbon
  • Locate the Altus Admin User role and enable it for the selected user.

    Image shows the manage roles button in the ribbon
  • Press Save to commit the Altus Admin User role.

    Image shows the manage user roles dialog with Altus Admin User highlighted
Note

The above steps are used to allocate Altus ___ User role to a selected user (See below).

Power BI reports

  • Download the .pbit model files and .pbix report files, open in Power BI Desktop, and enter your client's environment parameters (Environment, Database, Workspace ID).
  • Publish the data models and reports to the Power BI workspace, update data source credentials and configure a refresh schedule.
  • Embed the reports in Altus by updating the four Power BI environment variables in the Power Apps maker portal with the relevant Group ID and Report ID for each report.

Please refer to the detailed instructions for Power BI Report Deployment

Altus for Teams App

The Altus App will be added to the Microsoft Teams environment.

Steps:

  1. Downloaded the manifest from: https://teams.altus.pro/.
  2. In the Microsoft Teams client in the target environment, select Apps -> Manage your apps -> Upload an app to your org's app catalogue.
  3. Provide the manifest downloaded in the previous step.
  4. Log into the M365 Teams Admin Portal.
  5. Navigate to Teams Apps -> Setup Policies.
  6. Click Add to add a new policy
  7. Add the Altus App to the list of Pinned Apps, name the policy and save it.
  8. From the App setup policies page, highlight the newly added policy and select Manage Users to add users to the policy who should receive the App pinned into their Microsoft Teams client.

Altus for Word App

Installation

This process need only be performed once per organisation by an Administrator.

Note

Altus for Word works with all Altus versions.

Download Manifest

Please download the manifest file from the following link:

Deployment via 365 Admin Center

To deploy the Altus For Word Add-In via the Admin Center for your organization:

  1. Log in to the Microsoft 365 Admin Center:

  2. Navigate to Integrated Apps:

    • In the left-hand navigation pane, select Settings and then choose Integrated apps.
  3. Add a new Add-In:

    • Click on Add-ins.
    • Select Deploy Add-In at the top of the page.
    • Click on Next to proceed past the introductory information.
  4. Upload the Add-In Manifest:

    • Choose the option to Upload custom apps.
    • Click on Upload your add-in and select the manifest file from your computer.
    • Follow the prompts to upload the manifest file. Deployment dialogue
  5. Users

    • Assign users or groups who will have access to the Add-In.
  6. Review and Set Permissions:

    • Review the permissions requested by the Add-In.
    • If acceptable, provide consent on behalf of your organization by selecting the appropriate option.
  7. Deploy the Add-In:

    • Complete the deployment process by following the on-screen instructions.

Altus for Word will require consent to make the connections on behalf of the user to the Altus installation in the Microsoft Dataverse. If the M365 EntraID is configured not to allow users to provide consent themselves, then an Administrative pre-consent will be required. It is recommended that an M365 use the following link to pre-consent on behalf of users to ensure that they are nt prompted during their initial usage of the product:

Please have an M365 administrator click here to grant consent to Altus for Word to operate in your organisation.

A screen similar to the following will be presented:

Administrative consent dialogue

Download Example Word Templates

Please find below links to download some example Word templates that contain Altus for Word fields within them.


Environment Configuration

After the solutions components are deployed, the deployment engineer will then perform the following tasks.

Set date format

Setting the date format can be found here: Advanced Settings > System > Administration > Formats

Ensure that the customer has not already customized this. It is an organizational level setting. Also there is a caveat that it does not impact already existing users who must change their own personalization settings in the app.

These settings can be found in the Power Platform Environment Settings / PowerApps Advanced Settings area:

  • Under the System navigation heading, select Administration and select Formats.
Image shows the date system settings page
  • From the Current Format drop-down select the correct option.
Image shows the customized regional options page
  • From the Date tab, confirm that the date formats are correct.

Image shows the customized regional options page

The following video walks through the above steps in more detail:

Disable auto save functionality

By default, Dynamics 365 environments are provisioned with an auto save forms feature turned on. When the feature is turned on, whenever a user opens a form in Dynamics, the form will auto-save every 30 seconds while the user has that form open. In addition, if the user chooses to navigate away from the form that they had open, the form will auto save just prior to navigating away.

We recommend that this setting be Disabled so that the Save and Save and Close buttons function as named.

Be aware that the setting is global to the Dynamics 365 environment (so if you turn it off, it will be turned off across all forms in Power Platform environment).

More information on this feature can be found here: https://docs.microsoft.com/en-us/dynamics365/customerengagement/on-premises/customize/manage-auto-save

Disabling in Power Platform Settings

These settings can be found in the Power Platform Environment Settings / PowerApps Advanced Settings area:

  • Under the System navigation heading, select Administration and select General.

Image shows the systems settings page highlighting the default save toggle

  • Deselect the Enable auto save on all forms toggle, then click Save.

Image shows the systems settings page highlighting the default save toggle

Disabling in the Power Platform Admin Centre (PPAC)

These settings can be found in the Behavior Settings in the Power Platform Admin Centre:

  • Navigate to admin.powerplatform.com.

  • Select the environment where Altus has been deployed.

  • Select Settings.

Image shows the systems settings page highlighting the default save toggle

  • Expand the Product area and then select Behavior.

Image shows the systems settings page highlighting the default save toggle

  • Under Basic Behavior turn off Auto save.

Image shows the systems settings page highlighting the default save toggle

  • Click Save.

Image shows the systems settings page highlighting the default save toggle

Verify that process workflows have been enabled

Sometimes during the solution import activities, workflows are successfully created in the environment but for some reason fail to activate. In most circumstances, selecting to manually activate an inactive workflow will resolve the issue.

To check on the status of deployed workflows:

  1. Open https://make.powerapps.com

  2. Select the correct environment

  3. Click Solutions

  4. Click Atsumeru

  5. Filter on all the Process types in the type column

  6. Check the Status column and verify that all of the Process Statuses are set to On

  7. If you locate any processes where the status is set to Off, select the ellipsis (...) for that item, then press Turn On

    Image shows the workflows have been switched on

Configure bulk record deletion jobs for workflows and system jobs

Altus leverages the use of Workflows and Plugins in the environment. This generates logging activity in some Dataverse tables which over time will grow and have the potential slow down the environment. Creating these jobs will ensure that the log files are trimmed from time to time to avoid any quota or performance issues.

  • Open https://make.powerapps.com.

  • From the cog menu, select Advanced Settings.

  • Under the System navigation heading, select Data Management and select Bulk Record Deletion.

    Image shows Dynamics 365 settings, data management location

  • Select New Job.

    Image shows Dynamics 365 settings, data management location

  • In the Select records area, add criteria similar to the following:

    • System Job Type – Equals – System Event or Workflow.
    • Status - Equals - Completed.
    • Status Reason – Equals – Succeeded or Canceled or Failed.
    • Completed On - Older than X Days - 30

      .

    Image shows the define search criteria dialog

  • In the Select options:

    • Job Name: type a name for the bulk deletion job e.g. [Altus - Bulk Delete Completed System Jobs > 30 days].

    • Select time: select a date and time for the job start time, preferably a time when users are not in customer engagement apps.

    • Run job after every: select the checkbox and frequency you want the job to run. (eg once a day or every few days).

    • Email Options: optional: If you want a notification e-mail sent, select the Send an email to me (email@domain.com) when this job is finished check box.

      Image shows the define search criteria dialog

  • Click Save.

    Image shows the bulk record deletion option

Note

The process can take a while depending on how many items are in the table (especially on the first run). It deletes approximately 100 items every 2 seconds so if you have millions of records this can take a day or two. 10 million for example will take around 2 days to complete and the capacity statistics on the admin portal of Power Apps also takes around 24 hours to reflect that deletion.

Add individual users into the Altus Security Roles

Note

This functionality will soon be moving to the PPAC - Power Platform Admin Center

Navigate to the default environment security centre:

  • Open admin.powerplatform.com

  • Select the environment where the Altus solution is deployed.

Image shows the users button
  • In the Access area of the environment, select See All under Users.
Image shows the users button
  • To add a new User, select + Add User in the top ribbon bar.
Image shows the users button
  • Select the user to add to Altus, then click Add.
Image shows the users button
  • Select the relevant security roles for this user. *Note: All Altus users must have the "Basic User" role assigned.
Image shows the users button
  • Select Save and confirm role assignment in the dialogue window.
Image shows the users button
Note

Ensure that all users have been granted the Basic User security role (formerly known as Common Data Service User) in addition to which Altus security roles that they require. This is required for end-users accessing non-default Power Platform environments.

Optional Environment Configuration

(Optional) Configure AAD Sync of users

It is possible to set up AAD sync of users from a group into a Dynamics team. That team can then be granted roles that give access to Altus (which would therefore allow membership of those roles to be determined by a Microsoft 365 group).

The steps to set this up are as follows:

  1. Create an M365 Group or identify an existing M365 Group that you wish to use for synchronization. Identify the Object Id of this Group (this is easily visible from Azure Active Directory).

    Image shows the M365 group highlighted
  2. From the Dynamics Advanced settings portal, select Settings > Security.

    Image shows the settings and security location
  3. Select Teams.

    Image shows the teams page location
  4. Select All AAD Office Group Teams.

    Image shows drop down for the all AAD Office Group Teams
  5. Select + New.

    Image shows new button in the ribbon
  6. Enter the Team Name (as you would like it to appear in Dynamics), select an Administrator, select AAD Office Group as the Team Type and enter the Azure AD Object ID that you identified in Step 1, then press Save and Close

    Image shows the new editable team details page
  7. Select your newly created team.

    Image shows the newly created team highlighted
  8. Select Manage Roles.

    Image shows manage roles button in the ribbon
  9. Select the role(s) that you would like to automatically grant to members of the identified M365 Group, then press Ok.

  10. Note that members of the M365 Group will not appear in the list of team members in the Dynamics team until the user next logs in to Dynamics/PowerApps. At which time their role access will be automatically granted.

  11. If an existing User is later removed from the M365 Group their Role access will be removed.

(Optional) Enable Flows and update connections

For various reasons it might be necessary to validate Flow connections and update their connections.

  1. Open https://make.powerapps.com

  2. Click Solutions.

  3. Select Atsumeru.

  4. Change the filter to Cloud Flow.

    Image shows the filtered list of Atsumeru flows
  5. For any Flow that you wish to use in your environment:

    • Click on the Flow
    • A new window will appear with the Flow details page.
    • Press Save As to create your own copy of the Flow. (It is not recommended to simply edit the Flow supplied with the solution without first making a copy. The shipped Flow will be deactivated by Microsoft if an update to the Flow is received in the Solution which then becomes problematic for continuity of functionality.)
    • Navigate to your copy of the flow via https://make.powerautomate.com - Use the Environment selector on the top-right if necessary.
    • Select Edit on your Copy of the Flow.
    • Update the connections, or create new connections if necessary when prompted.
    Image shows connections page
    • Click Continue.
    • Click Save.
    • Press the "Turn On" button and validate the Flow Status is On.

(Optional) Configure Flow Teams settings for proposals

In order for the proposals workflow to post status messages to teams, a team and channel must be nominated.

If the customer doesn't already have a team/channel for this, create one and then locate the two settings in the Altus App -> Settings -> Configuration Settings -> Inactive Settings view:

  • Proposal team (default suggested name: Project Workflow Approvals)
  • Proposal channel (default suggested name: General)

Image shows the inactive Altus config settings page

Update and activate these settings with the name of the team, and the name of the channel the Flow will use to post approvals.

Note

Be aware the settings name is suffixed with _IQA, this is intentional, please leave this in place.

(Optional) Configure Microsoft Teams approvals tab

  1. Within Microsoft teams, in the team and channel identified above, select to add a new tab.

    Image shows the add new tab in Microsoft Teams

  2. From the Add a tab dialog, select Website.

    Image shows the website app highlighted
  3. Open a browser (or a new browser tab if you are navigating to Teams over the web) and navigate to https://flow.microsoft.com.

  4. Ensure that you are connected to the environment that will contain the Altus deployment artefacts. If required, switch to the correct environment.

    Image shows a correct environment
  5. When connected to the correct environment, from the left menu select Action items > Approvals.

    Image shows the approvals action
  6. Once the Approvals page loads, select the Url in the address bar and copy it to your clipboard.

  7. Return to the teams interface, and enter Approvals as the tab name and paste the URL that you just copied to your clipboard. Uncheck 'Post to the channel about this tab', then press Save.

    Image shows the finalised teams tab with appropriate suffix
  8. The Flow Approvals page will now display as a Tab within your Teams Channel.

Note

The Approvals tab will not render correctly when viewing teams in a browser, it will only work within the Teams Desktop Client.

(Optional) Configure timesheet Notifications

Three Power Automate Flows are provided along with the Altus solution in a disabled state; the following table details their purpose.

Flow name Recipient When Description
Unsubmitted Timesheet Reminder Timesheet user When configured to run (e.g. Monday 9am) Sends an email to all users required to complete a timesheet in the last period who have not done so.
Timesheet Submit For Approval Notification Timesheet manager On submission Notifies the timesheet manager that a timesheet is awaiting approval.
Timesheet Rejection Notification Timesheet user On rejection Notifies the timesheet user that a timesheet manager has rejected a submitted timesheet.

To use these Flows, please follow the following steps:

  1. Visit https://make.powerapps.com/.

  2. Navigate to Solutions, and find the Atsumeru Solution.

  3. Filter the solution contents to show Cloud Flows.

  4. Open the Flow and select Save As to create your own copy of the Flow. (It is not recommended to simply edit the Flow supplied with the solution without first making a copy. The shipped Flow will be deactivated by Microsoft if an update to the Flow is received in the Solution which then becomes problematic for continuity of functionality.)

  5. Authenticate/update the connections for the flow and Save and Close.

  6. Click the ellipsis (...) next to the Flow of interest, and select Turn On.

  7. The notification email body may be modified as necessary.

Additional configuration steps for 'Unsubmitted Timesheet Reminder' Flow

  1. Select the Flow named Unsubmitted Timesheet Reminder and select Save As to make a copy of the Flow.

  2. Select the first step at the top of the process named Recurrence.

  3. Select Edit on the step contents and select Show advanced options.

  4. Configure the Flow to run on the first day of the timesheet period cycle at a suitable time, eg 9:00am.

  5. Set the recurrence interval to match the length of a timesheet period, eg 1 week.

  6. Configure the Period Length variable to match the number of days in a period (including weekends).

  7. Configure the Optional Delay In Days variable only if the reminder is desired to be sent on a day other than the first day of a period.

Dataverse search enables the search bar at the top of each model-driven app within an environment to search enabled tables (entities) that are included within that particular model-driven app. The search results are then filtered according to the records that the current user has permission to see (according to their security role/s)

System Administrator can enable it by following the enable Dataverse Search document provided by Microsoft.

Note

Dataverse search requires an index which will consume dataverse storage.

Note

We have enabled search on suggested tables (entities), if there is a customization layer made on top of a given table (entity) you may have to enable Dataverse search for the customized tables (entities) for that customized solution by following this document provided by Microsoft: Select tables for Dataverse search.

Search can impact Dataverse Quota. More information about Dataverse Quota Management Techniques....

(Optional) Enable audit logging

The Microsoft Power Platform Dataverse provides an optional audit logging facility when necessary.

Enabling Audit logging is a 2 step process:

  1. Enable Global Audit settings in Settings (gear icon) > Advanced settings > Settings > Auditing > Global Audit Settings.

    Image shows the Dynamics audit settings
  2. Enable auditing on the entities where you wish to track activity.

    Image shows the activity tracking settings
Note

Audit logging consumes additional dataverse quota.

(Optional) Demonstration data

Altus Demo Data Loader

The Altus Demo Data Loader can be used by to upload demo data into an Altus system.

Both consultants and clients can use this feature. To access the demo data loader feature you must have access to the client’s Altus environment in the Sensei Hub

For consultants

  1. Log into the Partner Admin section of the Sensei Hub.
  2. Click the Altus button for the client’s environment.
  3. Click the Edit button under the Operations menu, for the URL you'd like to load the demo data into.

For clients

  1. Log into the Altus section of the Sensei Hub.
  2. Click the Edit button under the Operations menu, for the URL you'd like to load the demo data into.

You will now see the new Demo Data item under the Operations menu.

Image shows the Altus demo data loader menu

When you click the Demo Data button you are given the option to select a date from the date picker and click Load or click Unload.

  • Date picker: this field determines the dates that this data will be loaded with. The demo data already loads data that is 3 months old, so you do not need to back-date this field unless you would like the data to be older than 3 months old. This field will automatically default to today’s date, but you can select a date in the past or future.
  • Load: once you have selected a date, or left the default date, click Load to begin the demo data load process.
  • Unload: if you would like to remove demo data that was previously loaded into the environment click Unload to begin the demo data unload process. Note: this will only remove demo data based on the current demo data for your release ring, if the demo data is upgraded where some items have been removed it will miss these during demo data unload and they will require manual removal.

When you have clicked Load or Unload the Altus Demo Data Deployment Status screen will show. This screen shows you the progress of the data Load or Unload process.

As the process runs the progress field will display the current progress.

Note

This screen doesn’t refresh automatically, so you will need to manually refresh the screen to see the latest progress value.

Note

The Load and Unload processes each take approximately 15 minutes to run.

Progress Statuses:

  • Running: the process has begun and is underway.
  • Demo Data Loading/Unloading: the data is being loaded.
  • Success: the process has finished without any major errors.
  • demoDataLoadException: errors have occurred with the Load/Unload process.
  • demoDataLoadActivityException: errors have occurred with the Load/Unload process.

Once the process is complete you will see a Demo Data file log in the Deployed section of the screen.

Image shows the Altus demo data deployment log file

  • If there is a green tick next to the Demo Data file the Load/Unload has completed successfully.
  • If there as a red lightning bolt next to the Demo Data file the Load/Unload has completed but with errors.

To see the full details of this Load/Unload process, please review this log file.

If the Load/Unload was not successful, no log file will be made available on the screen. If this happens you will need to contact the Altus Product Development team to review the issue.

A history of the Load/Unload process is recorded for the environment.

Note

If you open this screen and the Load and Unload buttons are greyed out, this is because the system is currently Running a process. Refresh the screen to see the updates on this process.