Content of the Article
- Solutions in Microsoft Dynamics 365
- Managed, Unmanaged and the Standard Solution
- Hierarchy of Solutions in Dynamics 365
- Creating a Solution in Microsoft Dynamics 365
- Conclusion – Solutions for Microsoft Dynamics 365
In today's blog article we would like to explain the functionality of solutions in Microsoft Dynamics 365 in detail. For most standard users, the topic often seems complex, which is why they leave the work on a solution to professional service providers. This makes absolute sense in most cases. If it is a solution with many adaptations and complex logic, untrained people should rather keep their hands off it. Nevertheless, it is helpful to know the functionality of solutions in order to better understand the work of a CRM administrator or CRM system customizer.
Solutions in Microsoft Dynamics 365
You should imagine a solution as a package, with a group of components and functions which are exported or imported (in other words installed) from a CRM system. Existing components can be added, or new components can be created. Ideally, a solution has its origin in a developer instance and is exported/imported into the final productive instance via a test instance.
The solution is therefore first developed, then tested and finally brought into the instance used by the end user.
Components can be entities such as contacts, accounts or sales opportunities. But also workflows or logics that automate a process within Dynamics 365 can be part of a solution. After you have created a solution and added an entity or created it yourself, you are able to edit user masks, views, and fields. The purpose of a solution is to keep track of what changes have been made and group them for a specific purpose or topic.
When exporting a solution, you have two different export options. Managed and unmanaged.
An unmanaged solution allows you to continue making changes after importing into another system. One reason for this may be that you have multiple developer instances and you want the components to remain customizable. But be careful when deleting an unmanaged solution. You simply remove the shell of the solution, and all components and their customizations remain intact. With more complex solutions, it's almost impossible to remove all customizations and components because they have to be deleted individually. In theory, you would need to know every single change. An unmanaged solution can be exported and transformed into a managed solution.
A managed solution can no longer be modified after it has been imported into a Dynamics 365 instance. Ideally, all solutions on a production instance are managed solutions. In order to avoid affecting the functionality of a system, it is absolutely necessary to avoid adjustments to the productive system. Sometimes a small change to the system can restrict or completely block core processes in functionality. Managed solutions reduce the risk for such a scenario.
You also remove all of the content of the solution if it is deleted by the CRM system. This means that any unwanted functions or changes can be completely removed. A managed solution can no longer be exported or converted to an unmanaged solution.
The standard or system solution is not a solution in the actual sense. It does not consist of a container that contains a certain number of components. The standard solution contains all entities, workflows, logic, and other components that have ever been imported or created into the system. Although it is possible to make the same adjustments as to an unmanaged solution, this should always be avoided. Imagine that an adjustment on the production instance deactivates one of your core processes and you are unable to identify the cause.
Several solutions can contain the same component, but with different customizations. But which customization is ultimately active and visible in the CRM system? In practice, it is not uncommon to have unmanaged solutions and managed solutions with the same components on one instance.
We cannot go into every detail in the following because the logic behind the solution hierarchy is too complex.
In general, the unmanaged solution is above the managed solution
the customizations from the last imported solution are higher than those from the previously imported customizations.
Of course, if an unmanaged solution contains the same component, changes from a managed solution will not become active.
The components from the standard solution are only active if no unmanaged or managed solution with the same component has been imported into the system.
But be careful, if a component in the standard solution is customized, this component behaves like an unmanaged solution and stands above the managed one.
If changes from a managed solution have to be taken over, it is possible to overwrite all customizations from unmanaged customizations during import.
This option should be used with caution. In many cases, important processes are first imported into the system deactivated and then activated in the standard solution. Thus, the activity status of the process becomes an unmanaged component.
In the developer instance from which the solution is exported, the process must not be activated because, for example, it has a direct effect on accounting or other business areas. Under these circumstances, an important core process of the system may be unconsciously disabled because all changes are inherited from the managed solution.
Prerequisite is the security role System Customizer or System Administrator for the executing user.
- Settings and then click on "Solutions".
- Click on "New".
- Select a name, publisher and version number for the solution. A publisher can be created separately. The version number should begin with a low number and increase with each change. The description should include comments about the latest changes.
- On the left side you have the possibility to add the different components or to create new ones.
The solution management in a CRM system, with low complexity, can also be taken over by an experienced user. Provided that the number of logic, workflows, and customizations is manageable, this is usually no problem. Companies with complex CRM environments and high requirements should rather leave the work to professional service providers. The risk of accidentally shutting down important processes or customizations is simply too high and ultimately more expensive than the service provider.