PowerApps and CDS 2.0 (Dynamics 365)

The Spring 2018 version of PowerApps saw the introduction of Dynamics 365 as the new CDS platform on which to build Model-Driven apps. As it is early days in the CDS journey the integration between  PowerApps and CDS (aka Dynamics) may not be as smooth as you might hope. Here are a few observations that may be of interest in relation to PowerApps Environments and CDS solutions. Environments in PowerApps are a way of grouping Apps and Flows into a manageable container where they can be managed and edited. You can use PowerApps environments to group apps together for a variety of purposes such as separating test from production or separating them by business areas. PowerApps environments are managed from the tool options where you can view, modify and create environments.  When you create a new PowerApps environment you get the option to create a CDS database.New PowerApps Enviroment

When you select the option to create a CDS database this creates an instance of Dynamics which you can manage from the Dynamics admin portal along with your other Dynamics instances.  Note: If you delete a PowerApp environment then the linked CDS instance is also deleted.

CDS Dynamics Instance

If you view the solutions in your CDS Dynamics instance you will notice it contains a Common Data Services Default Solution which is used to package up the PowerApps CDS components. A CDS Default publisher also gets created for this solution. From what  I can see the the CDS Default Publisher is created with a random prefix.

Common Data Service Default Solution in Dynamics 365

When you select the model-driven design mode in the PowerApps studio you can create and modify some of the Dynamics components such has entities and options sets directly from the studio. When you add components from the Power App Studio they are added to the Common Data Services Default Solution and the components are created with the prefix of the CDS Default Publisher. Here  I added an entity called inspection from the PowerApps studio and you can see it in the Dynamics solution.

PowerApps CDS Entity in Dynamics

Once you need to go beyond the basic CDS customizations you can do in the PowerApps Studio you need to choose the administration option which opens the Dynamics solution explorer where you can modify forms, etc. I suspect the “Citizen Developer” might get a shock then they see the range of components that can be added to a Dynamics Solution.

CDS Administration Option
You can create your own solutions directly in the CDS instance of Dynamics as normal and if you create custom entities they are surfaced for usage within the PowerApps studio. Here I can see the property entity which was created  in Dynamics as part of the a solution called Property Management. When viewing entites in PowerApps Studio select the Custom filter to options to only see custom entities.

PowerApps Filter CDS Custom Entities

 

 

One of the benefits of using the Dynamics 365 plaform for CDS is that it can be used to develop xRM applications. However when you create an entity from the PowerApps studio you do not get the options to  enable support for activities so you need to do this from the Advanced (Dynamics) option.

CDS Entity Add Activity Support

 

So while PowerApps enviroments are used to group PowerApps and Flows together if you are using CDS then you  should understand how Dynamics solutions work and figure out if you need to move solutions from one Dynamics instance to another by exporting and importing.