Episode #04 Community license is for you

In episode 4 we talk about what is the community plan that is offered by Microsoft and how it is the perfect plan for you whether you are an end user, customer, developer, consultant or Architect for the power platform. Best place to try out new functionality. Found here https://powerapps.microsoft.com/en-us/communityplan/ anyone with an office 365 account can join and start benefiting. Note at the time of recording the option to delete a developer environment was not available but it is now 🙂 Enjoy!

 

 

 

 

Flows triggered from different environments when a backup is restored

Recently faced a situation where a production flow was being triggered if a record was added to the triggering entity in a lower environment and the flow had the current environment connector configured on it, strangest situation I’ve encountered.

A deeper investigation lead to a recognized bug by Microsoft on callbacksregistrations that are created at the backend when you turn a CDS trigger based flow on. All is good until you decide to restore the environments backup or copy the environment to another environment as those callbackregistrations to your flows do not get reset and are still pointing to the Flows of the environment you took the restore of, this causes the flows to trigger even if the environment is different. Unfortunately, there is no resolution yet and we have to wait till end of October to have this bug fix deployed to the platform, however below is a detailed work around on how to get rid of those bad call back registrations.

Resolution:
First identify the callbackregistration id’s on the entity your flow is being trigger off of. Todo so you will need to execute the below query on your effected environment(the environment you restored the backup to)

https://name.crm.dynamics.com/api/data/v9.0/callbackregistrations?$filter=entityname%20eq%20%27TypeEntitySchemaNameHere%27%20and%20message%20eq%201

You’ll replace your environment url, TypeEntitySchemaNameHere with your entity schema name and the 1 at the end represents the type of trigger so follow table below for the relevant type

– Create = 1,

– Delete = 2,

– Update = 3,

– CreateOrUpdate = 4,

– CreateOrDelete = 5,

– UpdateOrDelete = 6,

– CreateOrUpdateOrDelete = 7

Once we have our url created and excuted, you’ll recieve a json message in return look for all callbackregistrationid’s and delete them one by one following the process below.

“callbackregistrationid”:”d87bac31-f308-eb11-a813-000d3a988097″

Goto your restored environment and open up the developer console(F12 for chrome), and execute command below under console tab by replace the callbackregistration id

fetch(‘http://envname.crm.dynamics.com/api/data/v9.0/callbackregistrations(17asd7d2-40db-ea11-a813-000d3a579b99)’, {​​ method: ‘DELETE’}​​)

this will delete the callbackregistration with the original environment. Make sure you do this for all callbackid’s against that entity, then goto your flow and turn off the flow, edit the flow and save it again and turn it back on. After turning the flow on you will notice that a new callbackregistrationid is generated when you execute the first query to get all callbackregistrationid’s. This means that your trigger has now been registered against current CDS, now all you need to do is repeat this for all the flows you have in your environment that have a CDS trigger point, all the best!

Episode #03 The New Power Platform Solution Import Experience and somethings to watch out for

Welcome to episode 3 of the PowerPlatformPod! In this one we talk about the recently announced solution import experience, what’s part of it and how it eases application lifecycle management.

Episode 03: New Power Platform Solution Experience

Please leave us a comment with below with topics you’d like us to cover! thank you for listening.

Episode # 02 Administration and customization Portals

Long over due episode 2 of the Power Platform Pod, in this one we talk about the different past and present administration/customizations areas available on the power platform and try to simplify which ones to use when. Enjoy!

Episode 02: Administration and customization Portals

We’re open to recommendations, please leave us a comment below with topics you’d like us to cover! thank you for listening.

The Science of Upgrading Dynamics 365 Power Platform Solutions

This is a final post in the solution deployment series and we will see how we can upgrade the solution that we created in my previous posts. If you would like to understand what are solutions and how to use them please visit my previous three posts where I talked about How to create a solution, how to create a solution patch and how to merge solution patches together.

For delivering new functionality for an existing unmanaged solution that you have released as a managed solution package we have the option of versioning which a customer can use to upgrade the existing managed solution. To create that upgrade package reference the previous post. In this case we have the solution 9.2.0.0 already imported into our managed box(production) and we are going to import our new release 9.3.0.0 managed solution.

Production currently has 9.2.0.0 (managed)

 

We will click on import and select the downloaded managed version 9.3.0.0

Once we click next, the wizard will recognize that we already have an older version in our production environment and the version we are importing is different

Once we click next, we will get the below options, lets discuss these in detail. The Solution Action decides what we would like the wizard to do with the previous version of the existing solution on our target environment, the correct answer depends on the end result you would like to achieve.  Upgrade(recommended) will merge your previous solution and patches and replace your previous solution with the new one entirely, what entire means is that if you had an option set in your previous solution that you removed a value from in your new version this option set will no longer have the old value once the upgrade is complete. Stage for Upgrade performs the same upgrade in the first step but in a staged manner, meaning first your solution is imported but the replacement part is not done until you go through the apply solution upgrade process. I personally always follow the stage for upgrade process in order to ensure complete import of a large release before I move on to the upgrade itself; important thing to note on here is newer power platform only components such as canvas apps and flows get replaced even if you Only stage for Upgrade.

Update(not recommended) also replaces your old solution with the new one but does not replace entirely, meaning in the scenario I mentioned above for the option set, the value will not be removed and you will see all new values as well as old values.

 

The second part of selection is deciding what to do with the unmanaged layer on the target environment of the objects that are included in your solution. Maintain customization will not try to delete your active layer and simply import your managed release, specially helpful if you are in the unfortunate position of having an unmanaged solution layer on your production environment and its too late to clean it up and go back to a fully managed solution stack. Overwrite customization tries to delete the unmanaged layer in your target environment for the included objects in your solutions wherever possible. If you have maintained a clean managed layer stack box I would recommend going with this option.

Once our import is complete, since we selected the stage for upgrade option we will see the screen below; with an option of applying the upgrade right from here. Clicking it will carry out the complete upgrade. You can also do that by going into your solutions and selecting the old version and clicking on Apply solution upgrade(see below)

If we don’t apply the upgrade from above window, your new version will sit in a staged position waiting to be upgraded and you will see both solution in the system as below:

From here we need to select the older version and then click on apply Solution Upgrade, which will upgrade your solution.

Happy solutioning!

How to assign power automate per flow plan to your flow

Since Microsoft came out with their new licensing around the Power platform breaking the power apps licenses and power automate licenses apart there has been a lot of questions in the community forums and generally on how are power automates getting licensed. Short answer to that question is there are now two licensing options available if someone would like to enjoy the power of power automate and power automate is not included in the license options for power apps.

  1. Power automate per user plan
  2. Power automate per Flow plan

 

The per user plan is quite self explanatory and the license is assigned to the user like the previous power apps plan 1 and plan 2 licenses, this has a lower limit than the expensive per flow plan but does allow that particular user to create unlimited number of flows for themselves. The power automate per Flow plan has a different process of assignment to the Flow. In order to assign the per flow plan to your flow. First you have to procure the license which comes in a bundle of 5( yes you have to buy minimum 5 flows costing $500/ month) and then you can buy an additional each for $100. Once the licenses are visible in your tenant. You will start to see the below Add on option in your Admin power platform portal under capacity.

 

Under Add-ons you will see all the flow licenses you purchased and will get the option to assign to one of your CDS environments

Select the environment you will be running your flows in, assign the number of flows and click on Save. Once done goto your flow in that environment and click on edit. The Per-flow option that is disable by default will become available.

With flow capacity assigned:

 

For more info on flow licensing. please visit https://docs.microsoft.com/en-us/power-platform/admin/powerapps-flow-licensing-faq

I also recommend you take the time and read the latest (As of July 2020) licensing guide, https://go.microsoft.com/fwlink/?linkid=2085130

 

 

 

Merging D365 Power Platform Solution Patches into a Major Version Update

If you would like to understand what are solutions and how to use them please visit my previous two posts where I talk about How to create a solution and how to create a solution patch. In this post we will see how we can merge the patches we created and create a Major version update of the solution for release.

 

To start off we will create another patch on top of the existing 9.1.0.0 base solution and the patch 9.1.1.0

To create another patch, select the base solution and click on Clone a Patch

This will create the second patch and versioning will stay in order

To create a major release we will follow what is called the cloning process. The good thing about following the patch approach and sticking to the recommended versioning is that our cloning will merge all patches together along with the base solution when we create a major version. In order to do so we will select the base solution, in this case 9.1.0.0 and click on Clone Solution

As we can this time the process recommends the next major version which is 9.2.0.0 instead of 9.1.3.0. When we click save the base solution and all patches will be merged automatically and we will end up with a single solution versioned as 9.2.0.0 this will be the solution we export in order to do a version upgrade at the managed box end (more on that in later posts)

 

To read more on patches please visit, https://docs.microsoft.com/en-us/dynamics365/customerengagement/on-premises/customize/use-segmented-solutions-patches-simplify-updates

 

The podcast on Dynamics 365 Power Platform Episode # 01

Me and a colleague( Dick Clark ) of mine have started our learning podcast focused on Dynamics 365 and the power platform. This is intended towards beginners and those who would like to learn more about the new features coming out and the basics on how to get started. We hope to create awareness about low code initiatives for you to join and discuss core concepts of Dynamics 365 applications and architecture. Join us for some fun and friendly talk about our experiences and topics that we are passionate about. Our first episode is out now! You can also follow us on the podcast channel https://powerplatformpod.com/the-podcast/

 

Episode 01: The Intro

 

We’re open to recommendations, please comment below with topics you’d like us to cover!

Avoiding solution deployment mistakes on Power Platform | Session at DynamicsCon

For all those who follow my blog I would be giving a comprehensive session on solutions deployments and approaches at DynamicsCon coming this September 2020 on. If you have not gone in at voted yet, please do so at https://dynamicscon.com/sessions/ this is an amazing event for the community by the Dynamics Power Platform community leaders and experts. There are multiple categories and lots to learn from the industries best.

 

You’ll find my session under the Dynamics 365 Power Platform section, go out there and vote!