Chapter 10. Packaging It Up

At this point of the book, we have completed building different components of the Airline Compensation Management System (ACM). Now we need to package the solution for deployment into other environments or the Dynamics Marketplace. Microsoft Dynamics CRM 2011 provides a framework upon which custom business applications can be built. It introduced the concept of a "solution" by providing full support for creating, trying, installing, upgrading, and deleting business applications that run on the Dynamics CRM 2011 framework. In this chapter, we are going to cover solutions in detail:

  • What's new in CRM 2011?
  • What is a solution?
  • Packaging the ACM solution
  • What is the difference between unmanaged and managed solutions?
  • Exporting a solution

What is new in CRM 2011?

In the previous version of Dynamics CRM, we are faced with many challenges when we are going to package the final solution for deployment, such as overwriting customer changes, no dependency tracking, versioning, or separate deployment packages for the various artifacts. Most people are still having challenges moving the solution from a development environment to a staging environment, and from a staging environment to a production environment. The deployment story for CRM was poor. The traditional development paradigm, such as contiguous integration and build automation, cannot be used with Microsoft Dynamics CRM. With the previous version of CRM, most of the deployments are manual unless you write your own automatic deployment engine. The deployment steps are very trivial, and administrators have export and import customizations, and register plugins and workflow assemblies. It is a very time-consuming process.

Microsoft Dynamics CRM 2011 has improved the deployment story. However, it is still not perfect because its deployment is still not the same as the traditional .NET web application, where developers can build a single installation package for the deployment administrators to deploy. Microsoft Dynamics CRM 2011 introduced a new concept called a 'solution'. A solution is a container of components designated to provide specific business functionality, and that is authored, packaged, and maintained as a single unit of software. The goal it is trying to accomplish is that we build our solution once and deploy it everywhere it is needed, as indicated in the following screenshot:

What is new in CRM 2011?

What is a solution? Let's take a look at a solution in detail.

Solution

A solution is built using the Microsoft Dynamics CRM interfaces, and is hosted inside the CRM framework. It is also run inside the CRM framework. The valid components that can be included in the solution are the following:

  • Data Model
    • Entity and Attribute Definitions
    • Option Sets
    • One to Many Relationships
    • Many to Many Relationships
  • Modifications to the CRM User Interface
    • Forms and Views
    • Application Ribbons
    • Entity Ribbons
    • Site Map
    • Charts
  • Web Resources
    • Images and Icons
    • HTML Pages
    • Style Sheets
    • JavaScript
    • Silverlight Controls
    • XML Files
  • Processes and Code
    • Workflow Definitions
    • Dialog Definitions
    • Custom Plug-in and Workflow Assemblies
  • Analytics
    • Dashboards
    • Reports
  • Templates
    • Article Templates
    • Contract Templates
    • Email Templates
    • Mail Merge Templates
  • Security
    • Security Roles
    • Field Security Profiles

A solution may contain a completely new vertical solution or enhancements to existing product functionality. A solution is the software unit that allows developers to create, transport, and maintain business solutions that run on top of the CRM framework. In addition to allowing you to group components, a solution also provides additional metadata to identify the functionality that you are providing. The following table identifies the key metadata attributes of a solution:

Attributes

Description

Display Name

Friendly name to identify the solution

Name

Unique name that identifies the solution

Version

User-specified number that indicates the revision of the solution

Description

Text explaining what the solution does

Solution Publisher

Author of the solution

Configuration Page

Instructions for installing the solution

To create a solution, navigate to the Settings area and then click on Solutions under the Customization tab. Click on the New button to create a new solution, as shown in the following screenshot:

Solution

On the Solution form, populate the Display Name, Publisher, and Version fields, and then click the Save button to create the solution.

Solution Publisher

Each solution has a publisher associated with it. A solution publisher represents the author of a solution. The following table identifies the key metadata attribute of a Solution Publisher:

Attributes

Description

Display Name

Friendly name to identify the solution publisher

Unique Name

Unique name to identify the solution publisher

Customization Prefix

Whenever new components are created in the system, the system uses the prefix of the corresponding publisher to namespace the component

Numeric Prefix

Used for Option Sets

Address

Publisher's address

Web Site Address

URL for the publisher

To create a publisher, navigate to the Settings area, click on Customizations under the Customization tab, and then click on Publishers. Click on the New button to create a new publisher, as shown in the following screenshot:

Solution Publisher

On the Publisher form, populate the Display Name, Prefix, and Option Value Prefix fields, and then click the Save button to create the Publisher.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.116.21.152