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 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.
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.
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 126.96.36.199 already imported into our managed box(production) and we are going to import our new release 188.8.131.52 managed solution.
Production currently has 184.108.40.206 (managed)
We will click on import and select the downloaded managed version 220.127.116.11
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.
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.
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
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 18.104.22.168 base solution and the patch 22.214.171.124
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 126.96.36.199 and click on Clone Solution
As we can this time the process recommends the next major version which is 188.8.131.52 instead of 184.108.40.206. 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 220.127.116.11 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
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!
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!
Note: I’m a firm believer in releasing only managed solutions to testing and production environments and maintaining an unmanaged solution on the development box only, therefore this post is based on the MS best practice architecture of exporting managed solutions for distribution.
To understand solution patches think of them in the direct definition of what a patch is, something to mend or fix up a weak or broken point. For example a complete wall with a hole or a small missing piece in it would require a patch not a new wall. Solution patches are meant to fix up or complete a deployed solution, not to deploy new functionality; I repeat, they are not meant to deploy new additional functionality. This generic definition should be your rule of thumb when deciding whether to create a patch and release that or a new major version release.
On the other hand whether you are in a situation of actually needing to release a patch level fixes or working on a new sprint in your project to release for UAT after the first version of the solution has already been release, creating a patch is always a good idea to keep your new sprint functionality separate from the main solution until you decided to release the functionality, as that helps a great deal in identifying/reviewing the changes done before they are merged into a new version of the solution( more on major releases to come in future posts)
In order to create a patch for an existing solution in your development box. Select the base solution and click on Create patch
You get the option to change version, ideally you should let the system recommended one stay as it is managed in order of creation if you create more than one patch
Once the patch is created you will see the base solution as well as the patch:
This patch is now ready to be exported as a managed solution independently and applied to target environment.
Solution’s are used to transfer and release functionality in a packaged manner for other environments to be imported to. This approach applies to the Power Platform Make portal and the Dynamics customization(old interface) for creating solutions. To make it easier I will mention navigation for both.
In order to create a solution in the power platform, navigate to https://make.powerapps.com/ and select the correct environment on the top right.
This will open up your environments context. After this click on the solution module on the left navigation pane and then New Solution.
Give it the solution name you’d like and either select or create a new Publisher(this will be the entity that is releasing the solution, for e.g partner name if an isv). The version can be changed manually, Microsoft recommends start from 9 as that’s the current CRM version we are on; the remaining parts can be decided by you .0.0.0.
Once you click create an unmanaged solution will be created in your environment. The shortest way to explain an unmanaged solution is through the new MS info about it so as per Microsoft documentation “An unmanaged solution is one that is still under development or isn’t intended to be distributed. When the unmanaged solution is complete and you want to distribute it, export it and package it as a managed solution.”
From here you can add all your existing components like power automates, canvas apps etc to your solution and create new ones inside the solution as well to package.
In order to create a solution from the old interface, follow steps below:
Goto your CDS/Dynamics environment url and click on advance settings:
From here goto settings>solutions
Click on new solution and same fields would be inserted as we did above when creating solution from make power apps portal
4 Years back when I started working on Dynamics Customer engagement and the common data service(now known as Dataflex Pro) was coming to life there were different admin fronts for managing, configuring and customizing each application and environment/instance. Those are still alive and functional but there have been new alternates introduced which are the way forward as everything transitions to the Power Platform. If you are new to the Power Platform or Dynamics 365 in general this is a good place to start and identify where to navigate for the specific task you want to achieve. I will try to list all of them on here as of July, 2020. The first one is the old CRM Admin center (https://port.crm.dynamics.com/G/Applications/Index.aspx) which was used for administering dynamics CE instances, installing solutions and applications, taking/restoring backups etc
This portal is still alive and well but there is a new alternate released by Microsoft offering the same and more functionality over the CE environments called Power Platform Admin center ( https://admin.powerplatform.microsoft.com/environments ) this offers analytics over the common data service, org capacity reporting, data polices and data integrator access. You also have the same functionality of managing environments, taking backups, initiating new environments etc as you did with the previous admin center. This is your gateway to environments if you are a developer or admin that works with multiple boxes, bookmark this one!
In order to customize and configure an individual environment whats still used is the customization portal through your crm environment as this offers detailed options on customization a lot of which have not been moved over to the power platform alternate yet
The new offering is the PowerApps portal(https://make.powerapps.com/environments/) from here you can create environment based Power automates(previously MS Flows), power apps, power portals, power virtual agents, AI builder etc basically all power platform services. You can also manage each component in solutions and have complete solution management available. So yea if you are doing anything on the power platform, bookmark this!
Those are the main ones, each power platform service has its own individual front as well which i did not mention here as they are all opened through these main portals. Below is the list of all portals we talked about and an additional one that was deprecated as soon as it was launched 🙂
Power Platform Admin
Dynamics Admin center
Power Apps Admin Center (Deprecated)
Web Power Apps