In this blogpost, we will learn to block the users from making unmanaged customizations in a Power App environment. Prior to beginning, ensure you’ve subscribed to CRM Crate to remain current in the realm of Power Platform.
A Power Platform environment functions as a repository for organizing, storing, and distributing your company’s business data, applications, chatbots, and workflows. It additionally acts as a compartmentalization tool, enabling the segregation of apps with distinct roles, security needs, or intended audiences. The utilization of environments varies based on the specific needs and objectives of your organization and the applications you aim to develop.
Solutions are employed to move applications and components between different environments or to implement a series of customizations to existing applications. A solution may include multiple applications along with additional elements like site maps, tables, processes, web resources, options, flows, and other components. Solutions serve as the method for carrying out application lifecycle management (ALM) in Power Apps and other products within the Power Platform, such as Power Automate.
Unmanaged Solution: In development environments, unmanaged solutions are utilized when making alterations to your application. These unmanaged solutions can be exported in either an unmanaged or managed state. It’s essential to check the exported unmanaged versions of your solutions into your source control system. These unmanaged solutions are regarded as the primary source for your Microsoft Power Platform assets. If an unmanaged solution is deleted, only the solution container containing any customizations within it is removed. However, all the unmanaged customizations persist and are associated with the default solution.
Managed Solution: Managed solutions are rolled out to any environment except for the development environment specifically designated for that solution. This encompasses test, UAT, SIT, and production environments. Managed solutions can receive updates or maintenance separately from other managed solutions within an environment.
Why do you need to block unmanaged customizations in managed environments?
You cannot directly customize the components belonging to the managed solution, but you can add an un-managed layer via the default solution which will eventually result in customization of managed components. This is also called as adding an unmanaged solution layer in the component. An unmanaged layer will be introduced when the customizations and changes are made directly within the application without any restrictions. This unmanaged layer allows developers to freely modify components, such as entities, fields, forms, views, and processes, without locking them down.
But there can be business scenarios where you need to completely block the unmanaged customizations in your Power App environment. Don’t worry; you can accomplish this functionality using the new “Block unmanaged customizations” feature of Power Apps.
How to block customizations in managed environments?
Follow the below steps for preventing users (App Makers or Developers) from customizing and introducing unmanaged layers on a managed component in Power App environment.
- Login with valid administrator credential into Power Platform Admin Center (https://admin.powerplatform.microsoft.com/).
- Select the environment where you need to block customizations. Note: – Make sure your managed solution is present in this environment.
- Click on “Settings” >> “Feature” and search for “Block unmanaged customizations“. Turn ON this setting for stopping application makers / administrators from customizing any managed components in your environment as shown below.
This environment setting empowers system administrators to restrict unmanaged customizations within Microsoft Dataverse environments. By implementing this block on unmanaged customizations, you ensure that alterations to the environment originate solely from approved application lifecycle management (ALM) procedures, which offer adequate safety, visibility, and auditing. While still allowing necessary solution operations for transporting unmanaged customizations to development environments, the block on unmanaged customizations maintains a clean slate by removing any existing unmanaged customizations.
Which operations are blocked with this feature?1. The creation of new solution components, such as apps, tables, and forms, is restricted.
2. Importing unmanaged solutions into the environment is prohibited.
3. The addition of unmanaged changes to existing managed components is restricted.
4. If any unmanaged changes are attempted, an error message will be displayed to the user, stating: “This environment doesn’t allow unmanaged customizations. This was a choice made by your admin, and certain actions won’t be available or will be view only.”
Which operations are not blocked with this feature?1. Solution operations, such as removing an unmanaged layer.
2. Modifying environment variables and enabling or disabling components.