Microsoft Dynamics CRM 2016 Customization(Second Edition)
上QQ阅读APP看书,第一时间看更新

Components of Solution

Solutions are comprised of a few core components. These components are created using the customization tools available or the APIs provided. These components are part of the following application:

  • Solution Schemes are definitions of system entities, attributes, and relationships. They also include definition of Global Option Sets.
  • User Interface Elements are items such as the Application Ribbon, the Site Map, Entity Ribbons, the definition of Entity Forms as well as web resources.
  • Analytics elements include things such as Graphs, Dashboards, and Reports.
  • Templates are definitions used for Mail-Merge, E-mails, Contracts, and Knowledge Base Articles.
  • Security Model definitions include the various Security Roles as well as the definition of Field Level Security profiles.
  • Processes and Code elements include the definition of Processes as well as custom code elements. We will not cover custom code elements in this book, but we will have a look at the various Process types later on.

All these solution components are available to be included in all solutions. They are defined in a solution exported as a ZIP file.

Opening such a solution file shows the following three XML files, as the following screenshot demonstrates:

Components of Solution

The first file lists the available customized content types, if any. The solution.xml file contains the following elements:

  • Solution definition data
  • Version
  • Platform version
  • Solution name and properties
  • Publisher details
  • Components
  • Missing dependencies

With each solution created, a publisher is required. This is usually the partner or group providing the solution. This information is stored in a Publisher entity.

Note

Multiple Publishers can exist at the same time customized on each deployment, but only one at a time can be associated to a solution.

Dependencies are related solution items. For example, a component could require elements from another entity. This other entity does not necessarily have to be included in the solution. When it is not, a missing dependency is recorded in the solution. When deploying the solution, a check is done on the target system to determine whether the missing dependency is installed on the target by another solution. If it is not found, a missing dependency error is thrown and the installation is aborted.

The last element of a solution is the customizations.xml file. This is the meat of the solution, and it includes all the elements added to the solution. The document is structured by entity, but also includes details about the other solution components described earlier.

Analyzing the content of these XML files is beyond the scope of this book, but additional details about working with solutions can be found in the MSDN documentation available at the following website:

https://msdn.microsoft.com/en-us/library/gg334530.aspx