Our use of cookies

We use cookies to tailor your experience, gather analytics, and provide you with live assitance. By clicking "Accept" or continuing to browse our site you agree to the use of cookies. For more details please read our Cookie Policy.

How to Efficiently Develop and Deploy Solutions in Power Platform

by Danish Ali Detho | O365 & Power Platform Solution Architect

With the Emergence of Low Code to No-Code development platforms, developers have been ever so busy developing solutions utilizing those platforms and Power Platform is leading the way in the space of Microsoft O365 and Dynamics 365. Power Platform enables high-speed development of a solution that fulfils business requirements which means the developers can shift their focus towards planning on how the developed solutions are efficiently managed and can be easily deployed in various environments.

The purpose is to consistently perform all configuration, customization, development, formatting, and setup tasks necessary to implement the project requirements in Power Platform. In this blog, we will take a look at the high-level steps on how to approach Power Platform Solution Development and how to efficiently deploy it in various environments along with some Pro-tips which can help in developing any solution using Power Platform.

Common Concepts in Power Platform Development

Before we look at the steps involved in developing and deploying Power Platform solutions, let’s have a quick look at some of the concepts which will be used throughout the Process.

AxioWorks SQList continuously export SharePoint lists and libraries as normalised SQL Server tables, making live SharePoint data available to reporting tools like Power BICrystal Reports, or SSRS.

Power Platform Environment

The first very step in the development journey is to set up a power platform environment which is basically a space to store, manage, and share your organization’s business data, apps, and flows. It also serves as a container to separate apps that might have different roles, security requirements, or target audiences. Ideally, you should have separate environments for development and Production.

Power Platform Solution

In Power Platform, the solution is a compressed file that contains multiple customized components which are part of your Project. A component represents something that you can potentially customize. Anything that you have developed in Power Platform is a component.

Unmanaged vs Managed Solution

Unmanaged solutions are used in development environments while you make changes to your application. Unmanaged solutions can be exported either as unmanaged or managed. Unmanaged solutions act as the source for all the Power Platform assets.

Managed solutions are used to deploy to any environment that isn’t a development environment for that solution. This includes test, UAT, SIT, and production environments. Managed solutions can be serviced independently from other managed solutions in an environment. As an ALM best practice, managed solutions should be generated by exporting an unmanaged solution as managed.

Step#1: Plan for the environments

The solution which you are developing in the Power platform will most likely be deployed in various environments starting from development -> test -> Production. It is always beneficial to identify the environments which will be used for deploying the solution and to preconfigure them in advance. One important thing to know is whether there will be a DataVerse instance required for the solution because you need to include it at the time of creating environment and it also includes additional licensing cost,

Pro-tip: Make sure to follow a naming convention for the environments and have a service account for each environment as well.

Step#2: Create an Un-Managed Solution in Development Environment

It is important that you create an unmanaged solution first before you develop anything in the Power Platform. You can consider it as a starting point of your development. Once a solution is created, then you can add various components like PowerApps, Power  Automate flow in it.

Pro-tip: Always create a component from inside the Solution. This will ensure that all the components are inside the solution you created.

Step#3: Create Environment Variables

Environment variables act as AppSettings in conventional web-based projects, It helps you to change the values as you deploy your solution from one environment to another. It will also help to manage the hardcoded values in one place and then reuse them in all the solution components.

Pro-tip: Make Sure to create environment variables for the data connections (if any) in PowerApps as well as the configuration of actions in Power Automate Flows.

Step#4: Develop Power platform Components

This is where you will go and create your components which may include Apps in PowerApps, Flows in PowerAutomate flows, or Custom Dataverse entities. Just make sure all the customizations are inside the Solution.

Pro-tip: Make Sure to create connection references for each data connection you use in PowerApps or each connection you create in PowerAutomate Flow.

Step#5: Deploy the Solution to Production

Once the development is complete and you are ready to deploy it to test/production, go to the solution and run the solution checker, and then check the report to make sure all the components are configured properly. Now your Unmanaged solution is ready, export it as a managed solution. This will generate a zip file which you can then import into your production environment.

Pro-tip: Set the Current value of All environment variables to reflect the value you want to use in the Production environment. You should also have a service account ready with at least a System Customizer Role which can be used to import the solution and then at the time of import use it in the connection references as well.

Step#6 (Optional): Automating the Solution deployment via Azure DevOps

Thanks to newly introduced Microsoft Power Platform Build Tools tasks in Azure DevOps, you can now configure build pipelines to automate the deployment of solutions. For that you will first need to upload the solution file into Azure DevOps Repo and then setup a build pipeline which will be triggered by uploading managed solution in the repo and then will build the artefact. A release pipeline will then deploy the managed solution artefact to the desired environment.

AxioWorks SQList continuously export SharePoint lists and libraries as normalised SQL Server tables, making live SharePoint data available to reporting tools like Power BICrystal Reports, or SSRS.

Summary

In this blog, we covered the steps for creating and deploying a solution that contains all the project artefacts/customizations from development to production environment. You may have a complicated scenario that involves multiple solutions in which case you must take care of solution dependencies as well so that the solution is deployed in a way that if a solution has a dependency on another solution then that solution gets deployed first. These steps along with the tips should give you enough to set up your development plan for any power platform project.

Latest articles

AxioWorks SQList is now available online

27 Sep 2022

We have launched SQList Online! The cloud-based software as a service (SaaS) version of SQList, our on-prem application that makes it extremely easy […]
[read article]

MS Purview : One-Stop-Shop for data governance across your data estate

30 Aug 2022

Every organization utilizes various sources of data often scattered across cloud and on-premises systems. Over time, these data sources continue to […]
[read article]

DevOps in the world of Power Platform using GitHub Actions

31 Jul 2022

DevOps plays a vital role in the success of any software development project but when it comes to building low-code/no-code solutions it is often […]
[read article]

Build your Apps in MS Teams with MS Dataverse for Teams

27 Jun 2022

MS Teams has become one of the most widely used tools for team collaboration and communication in organizations using Microsoft echo-system for […]
[read article]

Dataverse: A one-stop-shop for your App data storage and management

24 May 2022

Data is at the centre of any business application development and is often the deciding factor for which tech. stack to be used for the development. […]
[read article]

AxioWorks Newsletter April 2022: Still working on the next release of SQList…

30 Apr 2022

Hello Reader, Welcome to another exciting issue of our monthly Newsletter! Each month, we try our best to bring to you content that is relevant and […]
[read article]

What’s coming in Power Platform Release wave one of 2022

21 Apr 2022

Due to the ever-rising popularity of the Power platform, Microsoft continues to focus on improving the usability and versatility of the Power […]
[read article]

AxioWorks Newsletter March 2022: Working on the next release of SQList

30 Mar 2022

Hello Reader, Welcome to another exciting issue of our monthly Newsletter! Each month, we try our best to bring to you content that is relevant and […]
[read article]

How to Efficiently Develop and Deploy Solutions in Power Platform

20 Mar 2022

With the Emergence of Low Code to No-Code development platforms, developers have been ever so busy developing solutions utilizing those platforms […]
[read article]

AxioWorks Newsletter February 2022: A good month

28 Feb 2022

Hello Reader, Welcome to another exciting issue of our monthly Newsletter! Each month, we try our best to bring to you content that is relevant and […]
[read article]

Get SharePoint and SQL news to your inbox

Stay up-to-date with industry news and trends, SQL and SharePoint innovations and all the latest from AxioWorks by subscribing to our monthly newsletter.

Subscribe to the AxioWorks newsletter

*