Hello Everyone,
Today i am going to share my thoughts on Merging solutions from source to target environments.
What is Merge Solution?
Merge Solution in Power Apps is when you make changes to an entity form which is already exists in the target environment, in that case you can merge the solution.
How to avoid form merging?
Its better to create new form for the entity which is already exists in the target environment and import into the target environment. this way you avoid merging issues.
Note: Forms for custom entitie won’t require merging unless you are creating a solution that updates or modifies an existing managed solution that created the custom entities and thier forms.
When a solution is packaged as a managed solution, the form definitions stored in FormXML are compared to the original FormXML and only the differences are included in the managed solution.
So when the managed solution is installed in a new environment, the form customizations differences are merged with the FormXML for the existing form to create a new form definition.
The new form definition what the end users can see.
When the managed solutions are uninstalled, only those form elements found in that managed solution will be removed.
How the Form Merge Occurs?
Its happens section by section basis.
For example: If you make changes to the section or tab and import the solution then the changes can affect or conceal the elements from the managed layers, including when the managed element is updated. This behavior occurs because the managed layers are underneath the unmanaged layer you are introducing with your customization.
If this type of affect you dont want to happen, then create a separate section or new tab, which is different from the managed solution components. For more information Solution layers
Things to remember:
1. If your managed solution that contains forms that use new security roles depend on those roles. you should include these security roles with your managed solution.
2. When you import a solution that includes table forms, the OVERWRITE Customization option, even if selected, does not apply. The form being imported merges with any existing solution layers for the form.
Note: When a managed solution entity contains multiple forms and the environment entity form also contains multiple forms, the new forms aren’t appended to the bottom of the list of the available forms. They’re interleaved with the original entity forms.
Merge conflicts Identify and resolving:
Have your ever noticed a “CONFLICTS TAB” on the form when a manage solution is imported into the target enviroment and some of the components are unable to merge, so the system will auto create this “CONFLICT TAB” and place that aren’t able to merge components in it, in order to prevent any data loss.
How to avoid the Merge Conflicts:
1. You import two different solutions that add a components, such as a form tab, that uses the same ordinal value.
2. When you customize components of the form like the section in the source, but same changes or similar customisation the target environment, then you export the customization from the source environment and import it into the target environment.
So if the conflicts tab appears on an imported form, you can move the components displayed somewhere on the form. Once all the components are moved from the conflicts tab, you can delete or hide the conflicts tab.
Merge navigation(SiteMap) customizations:
Suppose you have imported a managed solution, the SiteMap XML is compared with the original SiteMap XML, so if there are any differences between them, then those new changes are included in the managed solution.
changes like changed, moved, added, removed. When a new managed solution is imported only those changes will be seen by the users, as those changes will be reflected in the SiteMap XML.
So if a visible element is added to the sitemap, it appears at the bottom of the sitemap, if you want to position then you must export the SiteMap and edit it to set the precise location. then import as unmanaged solution to position on the SiteMap.
Only one SiteMap customization can be applied between publishing. Any unpublished SiteMap customization will be lost when a new SiteMap definition is imporeted.
Merge Option set Options:
Each new option set option is initialized with an integer value assigned that includes an option value prefix. The option value prefix is a set of five digits prepended to the option value. An option value prefix is generated based on the solution publisher’s customization prefix, but can be set to any value. The option value prefix helps differentiate new option set options created in the context of a specific solution publisher and reduces the opportunity for collisions of option values. Using the option value prefix is recommended but not required.
A managed solution usually updates or adds options for option sets that are already in the environment, for example, the Category or Industry option sets for an account. When a managed solution modifies the options available in an option set, all the options defined in the managed solution are available in the environment. When the managed solution is uninstalled, the options in the option set will be returned to their original state
I hope this helps
Malla Reddy(@UK365GUY)
#365Blogpostsin365Days