Best practices for Unified customer profile deployment

Due to recent updates in the packaging model of Microsoft Cloud for Financial Services, specific solution components of the Unified customer profile for Retail Banking and Unified client profile for Wealth Management are made available as open-source on GitHub, providing enhanced flexibility for our customers and partners to extend first-party components with customization. This article explores the deployment methods for the open-sourced components, and the best practices and key considerations for deploying the Unified customer/client profile capabilities.

Open-source deployment approach

You need to build and deploy the open-sourced solution components from GitHub, while for the Financial Services data models, you can continue to use Microsoft Cloud Solution Center for deployment. The following figure illustrates high-level first-party solution components that are open-sourced.

A diagram showing the open source parts of Unified customer/client profile.

Download a printable PDF of this diagram.

Unified customer/client profile solutions are composed of below components with the associated deployment methods and order. The order should be in considerations for manual solution deployments.

Solution component Deployment method Order
Banking Core Data Model Solution Center 1
Configuration data (Optional) Solution Center 2
Sample data (Optional) Solution Center 3
Unified Customer/Client Profile Security Roles Open-Source deployment method 4
Banking Core Components (Plug-ins) Open-Source deployment method 5
Banking Core Controls (PCF) Open-Source deployment method 6
Unified Customer Profile Application /
Wealth Management
Open-Source deployment method 7

Build environment setup and process

To develop extensions or package open-source components for deployment, you first need to follow these steps to prepare your build environment:

  1. Install the prerequisites to your build environment
  2. Clone the repository into your local and import the project to your development environment (VS Code / Visual Studio 2019).
  3. For developing extensions,
  4. Register and sign plug-ins

You can then build the Dataverse solutions under Module folder and then the front-end project via InstallTool.cmd to generate artifacts for deployment.

Deployment scenarios

Based on your existing Dataverse environment deployment status and the scope for extending the open-source project, there can be different deployment steps to follow to deploy open-sourced solution components. Here are the high-level steps to follow for the deployment of first-party open-sourced solution components to Dataverse environment with / without banking data model deployed.

  1. Install the pre-requisites for deployment

  2. Deploy banking data models from Solution Center

    This step is required as a pre-requisite for Dataverse environments that don’t have banking data model deployed. To deploy the Banking data model, navigate to the [Solution center](https://solutions.microsoft.com/Microsoft Cloud for Financial Services) and select Banking data model under Financial services for deployment. You have to decide if you want to install sample data and configuration data. It's recommended installing configuration data, but keep in mind you can't remove sample data, so it's recommended to use only this option in a non-production environment.

  3. Execute Deployment

    Packages allow you to deploy a collection of solutions as a single entity. Rather than you manually install solutions separately, you can manage the install, upgrade and uninstall of the entire collection of solutions from the Power Apps developer portal, and in the background the publisher system handles the entire collection as a single "Package". It's a best practice to include a special anchor solution, which may not necessarily contain any objects. It's only used by the publisher system or the Power Apps developer portal to indicate what version of a package is installed.

    With having solution and packages generated after build process, you can either use Package Deployer to install, upgrade entire collection of solutions or you can take a one-by-one approach to import solution considering the order mentioned earlier.

    Package Deployer

    You can use the Package deployer to deploy all the packages and configuration data, and it automatically handles the dependencies. Packages are created in your Visual studio project folder (<Project>\Bin\Debug) when you build your package project in Visual Studio. You can either manually copy dll and folders to PackageDeployer folder or you can use PackageDeployerHelper for the operation. You can follow the instructions outlined in the documentation to use the Package Deployer tools command line or user interface.

    Import solutions one-by-one

    Package Deployer is the recommended approach for the initial, full solution deployment and deployments with configuration data. To reflect changes in specific solutions, you can also consider taking the import solutions one-by-one approach to reduce the time to finish deployment.

    In this option, you can import the built solution packages manually or by using your Continuous Deployment (CD) pipeline one by one. In this scenario, you have to take care of dependencies (deployment order) and configuration data (such as create/update the Life event configuration tables). However, when using the Package Deployer, configuration data can be deployed while importing the solution, eliminating the need to manage dependencies as you would when manually importing the solution through the Power Apps maker portal.

Other Deployment Considerations and Best Practices

  • You need to have Power Platform admin or a tenant admin to deploy the Microsoft Cloud for Financial Services solutions powered by Dynamics 365

  • You must have licenses for Power Apps, depending on the solution to deploy. If you're missing any licenses, you are notified during the deployment process. If new licenses needed for deployment, wait about 8 hours after purchase for the system to be ready for setup.

  • When setting up your Dataverse environment, you must select Yes for Enable Dynamics 365 apps. Although you need not install any specific Dynamics app, however you must enable the option so that a CE environment is set up.

  • To be able to deploy Unified customer/client profile applications, you have to first deploy the data model from Solution center. You have to select Banking data model and deploy it to the selected environment.

    • If you're deploying the solution for the first time, select the Configuration Data option for an automated configuration process; otherwise, you need to perform the post-deployment configuration after the deployment is complete.
    • If you've already deployed the solution with customizations and are performing an update, don't select the Configuration Data option as it overwrites your customizations.
    • Sample data can be added when deploying the solution in the Solution Center; however, you can't remove the sample data from Solution Center.
  • Unified customer/client profile applications are open sourced and you can download the source code from here. You need somebody with the following experience to be able to build and deploy the source code from GitHub: Knowledge of

    • Dynamics 365 / Power Platform solution deployment
    • How to use Package deployer
    • Solution packager, which is a tool provided as part of Dynamics 365 SDK
    • Using Visual Studio / Visual Code
  • The source code from GitHub enables you to make modifications to PCF controls, plugins, and more, rather than just deploying pre-existing solutions. However, it's advisable to initially deploy the source code to a sandbox environment to assess the functionality of the components

  • Unified customer / client profile source code also extends the Banking data model with: Life event category config, Life event type config, Life events configuration and Category types relations. Those tables are part of the Banking Core Components solution.

  • Using the source code of Unified customer / client profile, you're able to localize the content.

  • Deployment of Dynamics 365 solution can take several hours, and puts a write lock on the environment to prevent parallel deployments of solutions.

  • There's limited logs and telemetry available during the deployment in case anything fails, hence you should ensure you reserve enough time to get the Dynamics 365 app installed successfully as a dependency to the unified customer profile solution deployment. You'll receive a notification through email when the deployment is completed successfully.

  • You need to assign other security roles to your users so they can access the individual apps for Unified customer / client profile.

  • If users who access Unified customer profile without a role that allows editing rights on Contact records see a message at the top of the application notification. Add Contact editing rights to user so that they can see and edit Life events, Relationships, and Groups.

See also

Next steps