As Microsoft continuously updates Dynamics 365 and lately changed many of the names that we have got familiar with over the years, It is important to reference how to work with the new way in comparison to the way it functioned. This post is one of many to follow that is written to help Dynamics 365 current users and customizers to adapt to the new Power Apps.
First of all, it is important to note that there are two different solution types (managed and unmanaged). This post will discuss the creation of an unmanaged solution only as part of initiating the customization process.
Publisher
Before discussing how to create a Publisher, it is somehow important to identify what is a publisher. Microsoft intended for Dynamics 365 to be a platform extended by Independent Software Vendors ISVs and partners from around the world. Each of those ISVs or Microsoft Partners, when building a solution over Dynamics 365, uses a defined publisher to distinguish their work.
Creating Dynamics 365 publisher
With every new Dynamics 365 instance, the system comes with a pre-configured default publisher, It is advised to be replaced with a publisher representing the system customizer, and the solution maker. The default publisher prefix is “new”, and it is also recommended to change the prefix to represent the maker.
Classic Dynamics 365
Advanced Settings ⚙️ > Settings > Customization > Publish > new
Modern Power Apps
https://make.powerapps.com/ > Solutions > + New Solution > Publisher > + Publisher
Publisher Attributes
Display Name – the name that is shown under Solution
Name – The system name that contains no spaces and no capital letter. Dynamics 365 helps in creating the name but can be overwritten by the user.
Prefix – A short prefix that Dynamics 365 append to all custom components such as entities, fields and forms schema name to stand out the publisher work.
Description – A brief describes the ISV or the Microsoft Partner maker.
Option Value Prefix – A 5 digit value appended to any global option created by the publisher.
Contact Details – Represents a direct contact of the ISV or the Microsoft Partner, such as website and email.
Solution
Before going into the methods of creating a Dynamics 365 solution, we should briefly explain what solutions are used for. In a nutshell, a solution is a logical box of customized elements that can be packaged to run natively on top of Microsoft Dynamics 365 CE. The package can be remained open to facilitate an ongoing development, which Microsoft call unmanaged Solution, or can be closed to facilitate the mobility and deployment of the customization to new Dynamics 365 instances. The solution in Dynamics 365 world is an essential topic that many take lightly. At the same time, I believe it is one of the most crucial elements for successful implementation and must be planned carefully; therefore, I will be discussing this topic intensively in future upcoming posts.
Creating Dynamics 365 Solution
Solutions can be created from either the classical interface or from the new Interactive Interface using Power Apps. It is important to mention that Microsoft is moving towards Power Apps, and it is expected that the classic interface will soon be deprecated.
Classic Dynamics 365
Advanced Settings ⚙️ > Settings > Customization > Solution > new
Modern Power Apps
https://make.powerapps.com/ > Solutions > + New Solution
Solution Attributes
Display Name – The name which will be used to identify the solution and easy to read.
Name – The system name – it is important to mention that Dynamics 365 helps create the name, but can be overwritten by the user. Based on experience, I prefer setting a naming convention to be used across the organization. My team and I found that small letters are much easier for the developer who uses case sensitive coding language.
Publisher – A lookup field points to the maker record created earlier in this post.
Version – Microsoft has come up with a four-section number separated with dots “.” To represent (Major.Minor.Patch.Build). A future post will discuss this thoroughly, and I have experienced with some companies building their version convention using a different structure.
Configuration Page – A lookup field points to a web resource that is generally used by ISVs to explain more about their solution.
Description – A brief explaining what with is the function of the solution.
Create a new element in solution
Several different elements can be created and contained in a solution, such as Entity/Table, Field/Column, Relationships or any other element.
Classic Dynamics 365
Advanced Settings ⚙️ > Settings > Customization > Solution > [the targeted solution] > new
Modern Power Apps
https://make.powerapps.com/ > Solutions > [the targeted solution] > + New
Adding existing element in Solution
Customizer can add existing elements such as Account or Contact entities/tables into their solution to edit them further along with subcomponent which is the scope of change they want to perform.
Classic Dynamics 365
Advanced Settings ⚙️ > Settings > Customization > Solution > [the targeted solution] > Add Existing
Modern Power Apps
https://make.powerapps.com/ > Solutions > [the targeted solution] > + Add Existing
Deleting solution
Deleting of solutions either managed or unmanaged are possible, however it is different of what actually gets deleted.
The unmanaged solution, when gets deleted, the logical box holding the components together gets deleted and not the components itself, when the managed solution is deleted, the box and removes all the contained elements.
Classic Dynamics 365
Advanced Settings ⚙️ > Settings > Customization > Solution > [the targeted solution] > ✗ Delete
Modern Power Apps
https://make.powerapps.com/ > Solutions > [the targeted solution] > 3 Add Existing