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 Newsletter September 2023: An exhilarating month.

30 Sep 2023

Hello Reader, September has been a bustling and exhilarating month for us at AxioWorks, filled with advancements, collaborations, and a whole lot of […]
[read article]

The Collaborative Pathway: Bridging Minds in the AI Ecosystem

19 Sep 2023

In recent days, I found myself immersed in an enlightening conversation with a friend, a fellow entrepreneur steering his ship in the vast sea of […]
[read article]

AxioWorks Newsletter August 2023: A month of milestones and innovation.

28 Aug 2023

Hello Reader, September seems to be a month of unexpected milestones and continued innovations at AxioWorks. As the summer wanes and the autumn […]
[read article]

Use Graph API in Power Automate to read large Excel files from SharePoint

28 Aug 2023

Power Automate, a part of Microsoft’s suite of tools, is increasingly becoming a preferred choice for automating workflows and business […]
[read article]

From Punch Cards to Python: Still Hitting the Keys in my 50s

16 Aug 2023

I spent the entire weekend writing code, not because of deadlines to meet or million-pound dreams, but for the kick that I still get from doing it. […]
[read article]

AxioWorks Newsletter July 2023: Unveiling AxioWorks’s latest successes and exciting innovations

27 Jul 2023

Hello Reader, We hope this monthly update finds you in good spirits. As always, we are eager to share the latest developments and exciting ventures […]
[read article]

AI and Data: The Symbiosis of Interaction and Accuracy

13 Jul 2023

Artificial Intelligence (AI) has rapidly emerged as a revolutionary technology that fundamentally alters the nature of human-machine interactions. […]
[read article]

AxioWorks Newsletter June 2023: SQList v8 Release, Webinars, and New Product Development

30 Jun 2023

Hello Reader, Greetings to all our valued customers and subscribers! We are thrilled to share some exciting updates and developments with you in this […]
[read article]

Safeguarding Secrets with Secure Strings and Environment Variables in the Power Platform

26 Jun 2023

In today’s interconnected digital landscape, safeguarding sensitive information and maintaining robust security measures is of paramount […]
[read article]

Case study: Streamlining Medical Trial Data Analysis in the Pharmaceutical industry

15 Jun 2023

In the ever-evolving landscape of the pharmaceutical industry, conducting medical trials and analysing the resulting data are critical for the […]
[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

*