Deploying ProjOps for Dataverse+F&O based integrated scenarios, Part I – T1 F&O with Dataverse

Dynamics 365 Project Operations has three different deployment options. In simple terms, the different options are Dataverse only, F&O only and Dataverse+F&O integrated. The Dataverse only deployment is similar in nature to what Project Service Automation offers. The F&O deployment could be considered as an implementation of the PMA module in F&O and the integrated deployment is exactly what it sounds like: Dataverse+F&O are integrated using Dual Write, achieving a near real-time synchronization of data between Dataverse and F&O.

The official terminology for the three different deployment options can be a bit hard to understand, so it’s worth reading about the differences on

This series of blog posts focuses solely on deploying ProjOps for resource/non-stocked scenarios i.e. the integrated Dataverse+F&O deployment. The posts are a walkthrough of deploying Dataverse and F&O primarily from Lifecycle Services (LCS). Deployment processes for ProjOps have evolved since GA and there are even more things to come so deployment processes will see changes as ProjOps evolves.

ProjOps deployment options.

Deploying a T1 F&O Sandbox Develop and Test environment and Dataverse

T1 dev and test sandbox deployments saw a change in November 2020, when Microsoft moved away from offering T1 F&O environments as Microsoft Managed environments. Customers now have to deploy T1 environments as Cloud-hosted environments, meaning a customer’s Azure subscription is used. When opening a project in LCS, a notification about Sandbox Develop and Test environments is displayed.

T1 Sandbox Develop and Test environments are only deployable as Cloud-hosted as of November 2020.

F&O deployment process

The deployment process of a T1 Sandbox Develop and Test environment starts in LCS. The hamburger menu next Lifecycle Services has an option for Cloud-hosted environments.

Cloud-hosted environments in an LCS project.

If an Azure connector don’t exist, a new connector has to be created. This post doesn’t cover creating one in detail as both the site found here as well as the ProjOps public preview deployment guide found here cover Azure connectors in detail.

Create a new Azure connector.
Add a connector and authorize LCS Deployment Service (DSU) to work on the Azure subscription.

When an Azure connector is created and the DSU is authorized to work on the Azure subscription, it’s time to add a new environment. The process is very straightforward and perhaps the biggest questions are whether a Dataverse environment should be deployed and what kind of VM should F&O run on.

Adding a new environment and choosing the application and platform version.
DEVTEST topology.
Dev topology.

After an environment topology is chosen, it’s time to choose a VM to run F&O on. B4ms is one of the cheapest (if not the cheapest) option to run F&O on. Cheap means that performance will take a hit but I’ve found a B4ms to be enough for basic demo purposes. It’s always possible to scale a VM up or down if better performance if required.

Choose a VM to run F&O on and access advanced settings.

Let’s look at advanced settings next. There is quite a bit of stuff here and for the sake of keeping this post brief, I’m only covering a few options. In my own deployment I’ve chosen the demo dataset for the database. This way it’s not necessary to replace the DB like it was in the public preview.

Another important setting for the integrated deployment is for creating a Dataverse environment (still referred to as CDS in LCS at the time of writing this post). A Dataverse environment can also be created manually, however deploying from LCS streamlines things a bit. There are a couple of important takeaways when creating a Dataverse environment in LCS:

  • The name and the URL of the Dataverse environment will get default values from LCS. They need to be changed manually in PPAC if custom values are desired.
  • Provisioning a Dataverse environment requires 1 GB of free capacity.
  • It’s a good idea to check in PPAC that a Dataverse environment has been created, after F&O has been deployed.
Deploy a Dataverse environment from LCS.

Linking F&O to a Dataverse environment

When F&O has been deployed, a new Dataverse environment should appear in PPAC. The environment should have both the Dual-write application orchestration solution and Microsoft Dynamics 365 Project Operations solutions installed. There is also a solution called Dual-write core solution. It’s not installed automatically and I was able to successfully link my F&O with Dataverse without installing it. As I’m writing this, it’s not immediately clear to me whether or not that should should be installed in ProjOps GA (it was required for preview) or not. I’ll edit this post as I learn more.
The Dual-write core solution doesn’t need to be installed separately. All its required components are included in the Dual-write application orchestration solution.

Check in PPAC to make sure the Dataverse environment is provisioned and solutions are installed.

The next step is to link F&O to Dataverse. Mange environment has an option for Power Platform integration. When clicking on Link to CDS for Apps, the environments should be linked automatically. This wasn’t the case for me and an “environment linking failed” error was displayed. To overcome this, the hyperlink Link to CDS for Apps under the error can be used. This opens a new browser tab to link environments from F&O. I discovered that the page won’t load when using profiles in Edge but profiles in Chrome work.

Linking F&O to Dataverse.
Error linking environments in LCS.

When environments are linked from F&O, a setup wizard fires off. The wizard is used to select the Dataverse environment that F&O will be linked to. The legal entities that are to be synced between F&O and Dataverse are also chosen. When a health check is passed, the environments are linked.

Linking environments in F&O.
Choose an environment to link with F&O.
Choose legal entities to sync.
Verify that health check passes.

Enabling Dual Write maps

When environments have been linked, Dual Write maps need to be enabled. This is done by clicking on Apply solution in F&O, under Data Management -> Dual Write. Both D365 F&O and D365 ProjOps Dual Write entity maps need to be selected. When Dual Write maps are applied, they need to be turned on in a specific order. That order is described here. Before the maps are turned on, data entities need to be refreshed and security settings in Dataverse need to be updated. Follow the instruction in this article for the full details. An easy way to check which ProjOps maps are running is to search for maps with a keyword project. This will display the most relevant ProjOps Dual Write maps.

Choose Apply solution in F&O to enable Dual Write maps.
Apply both F&O and ProjOps maps.
Applied ProjOps maps.

The final step is to import demo data to Dataverse if the environment is used for demo purposes. Instructions and a download link to demo data can be found on Docs, from this link. This concludes the instructions for deploying ProjOps in an integrated deployment with a T1 Cloud-hosted F&O and Dataverse. In part II, we’ll look at deploying a Microsoft Managed Tier-2 Standard Acceptance Testing environment and Dataverse.

December 29th, 2020. Added clarification that the Dual-write core solution doesn’t need to be installed separately. Added information about Dataverse demo data.

All my blog posts reflect my personal opinions and findings unless otherwise stated.