Solutions in Power Apps

Loading

Solutions are used to transport apps and components from one environment to another or to apply a set of customization to existing apps. A solution can contain one or more apps as well as other components such as site maps, tables, processes, web resources, choices, flows, and more.

Solutions are the mechanism for implementing application lifecycle management (ALM) in Power Apps and other Power Platform products, such as Power Automate.

What is ALM?

ALM is the lifecycle management of applications, which includes governance, development, and maintenance. Moreover, it includes these disciplines: requirements management, software architecture, development, testing, maintenance, change management, support, continuous integration, project management, deployment, release management and governance.

ALM tools provide a standardized system for communication and collaboration between software development teams and related departments, such as test and operations. These tools can also automate the process of software development and delivery. To that end, ALM combines the disciplines concerned with all aspects of the process to achieve the goal of driving efficiency through predictable and repeatable software delivery.

Solution components :-

A component represent something that you can potentially customize. Anything that can be included in a solution is a component. To view the components including in a solution, open the solution you want. The components are listed in the components list.

  • A solution can be 32MB in size
  • you can’t edit components directly within a managed solution.

Some components are nested within other components For example an entity contains forms, views, charts, fields, entity relationships, messages, business rules. Each of those components requires an entity to exist. A field can’t exist outside of an entity We say that the field is dependent on entity

The purpose of Having components is to keep track of any limitations on what can be customized using managed properties and all the dependencies so that it can be exported imported and (in managed solutions) deleted without leaving anything behind.

Types of solutions :- A solution can be in Two states i.e

  1. UnManaged
  2. Managed
    • 1. UnManaged solutions are used Development environments while you make changes to your application. Un-Managed solutions can be exported as UnManaged or managed . Exported UnManaged versions of your solutions should be checked into your source control system. UnManaged solutions should be considered your source for Microsoft power platform assets. When an UnManaged solution is deleted , only the solution container of any customizations included in it is deleted. All the unmanaged customizations remain in effect and belong to the default solution.
    • 2. Managed are used to deploy to any environment that is not 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 and considered a built artifact.

you can’t edit components directly within a managed solutions. To edit managed components first add them to an unmanaged solutions when you do this you create a dependency between our unmanaged customizasions and managed solutions. when a dependency exists the managed solution can’t be uninstalled until you remove the dependency.

you can’t export a managed solution. when a managed solution is deleted all the customizations and extensions included with it are removed.

Solutions are not a premium feature means it won’t require any licensing

To create a solution open power apps studio -> left navigation ->solutions -> +new solution

Here i am creating a solution from a scratch .

Publisher is used to publish with a specific publisher name

prefix is a mechanism help to avoid naming collision this allows the solutions from different publisher to be installed in an environment with few conflicts

When you create a solution it will be in unmanaged state by default which means you can make any changes on the components within the solution .

After creating a solution you will be displayed a solution explorer view where you can create apps, flows, tables and a lot more.

Data Verse is an Environment Based

SharePoint is not a Environment Based. so to export or import solution components like share point we need to create an environment variables . We can use these environment variables while connecting SharePoint sites or lists to power apps and flows.

Lets create an app in solutions by using a data source as “SharePoint”.

Before creating an app in power apps lets create Environment Variables for SharePoint Site and List.

Here i am creating an environment variable for SharePoint site . In the same way we create environment variables for list also.

After creating environment variables Create an app in power apps studios. Connect SharePoint environment variables in power apps instead of directly connecting SharePoint for dynamic usage.

In the same way we can also create flows in solutions.

We can also add an existing app or flow to our solution as shown below. we have to create the environment variables for the existing app data sources such as SharePoint or any other non environment based sources. After creating environment variables Disconnect the direct connection with SharePoint and add environment variables in the advanced properties.

After creating apps and flows we can export or import them from one environment to another environment. while exporting solutions we have to remove the environment variables in the present environment .

Now we can export them to other environment. while your exporting you can see two options i.e

1 Managed(Recommended) :- This solution is moving to a Test or Production Environment.it can’t be changed unless it has customizable objects

2 Unmanaged :-This solution is moving to an another development environment

we can also import the solutions from other environments.

Leave a Reply

Your email address will not be published. Required fields are marked *