Archive for the ‘MSCRM General’ Category

Customizing Charts using XML – Part 1

Dynamics CRM 2011 provides a very useful feature called charts. Charts can be designed within charts designer provided out of box and they can also be customized using charts XML. In this post we will look into various customization options available to design charts using XML.

Charts are used to display and portrait information in a meaningful way so that chart’s audience can quickly understand and analyse data trends. Some charts convey message more accurately than other. For example, a line chart conveys trending information better than a pie chart.

There are a handful of chart types available in charts designer such as:

  1. Column chart
  2. Bar chart
  3. Line chart
  4. Pie chart
  5. Funnel chart
  6. Multi-series chart
  7. Stacked charts
  8. Mixed chart
  9. Series chart

Dynamics CRM 2011 uses Microsoft Chart Controls for Microsoft .NET Framework 3.5. This framework is rich in functionality and provides more chart types. Following chart types can be consumed within Dynamics CRM 2011.

Area StackedArea Column StackedColumn100
Pyramid Funnel Renko PointAndFigure
Bar StackedArea100 Doughnut StepLine
Radar Kagi Spline Polar
BoxPlot StackedBar ErrorBar Stock
Range Line SplineArea ThreeLineBreak
Bubble StackedBar100 FastLine
RangeBar Pie SplineRange
Candlestick StackedColumn FastPoint
RangeColumn Point

Let’s dig deep into Chart XML and Customize few of them to unleash their potential.


Selecting a Mail Merge Addon for Microsoft Dynamics CRM 2011

Microsoft Dynamics CRM 2011 is an innovative product with limitless possibilities to extend and customize according to various industry requirements. In last few years, Microsoft has improved CRM product but there are still some features missing specially in the area of mail merge. These gaps have been beautifully covered by many ISV’s by developing innovative add ons to support enterprise CRM deployments.
Today i will discuss selection of a mail merge addon for Microsoft Dynamics CRM 2011. CRM 2011 provides comprehensive mail merge functionality but still some advanced features as below are missing from this version.

  • Ability to display 1-M records
  • Ability to display multi hop away entities records
  • Ability to convert documents in PDF
  • Ability to perform logical / conditional formatting
  • Ability to display Query based records
  • Import Export Templates
  • Security Configuration for Templates
  • Auto Merge

There are two major ISV’s providding mail merge addons.

  • c360

Here is a feature comparison for both ISV’s:

Ability to display 1-M records:
Both addons are very smart at handling 1: M relationships. Task Pane provides 360 degree view of all entities and their relationships as shown below:

In your templates, you will be able to create a 1: M (one to many) relationship in few clicks as shown below:

Ability to display multi hop away entities records
You can build complex relationship using FetchXML tool. Link entity section will provide you a way to attach entities in a relationship. This tool generated FetchXML as per you entity selection and you have an option to use your own FetchXML and build relationships on multi hop away entities as shown below.

Ability to convert documents in PDF
Both addons can convert generated document to PDF as shown below. Moreover, you can create an activity and attach generated document to it.

Ability to perform logical / conditional formatting
Both addons provides limited conditional formatting capabilities.

Ability to display Query based records
FetchXML is standard way to query Microsoft Dynamics CRM 2011 platform. Using FetchXML tool you can build any FetchXML query insert resultant fields to template as shown earlier. Both addons provides FETCHXML support,

Export/Import Mail Merge Templates
Both addons provide template import/export feature. Import tool provides possibility to deploy existing templates to a different organization.

Security Configuration for Mail Merge Templates
Both addons expose Template as a CRM record. In this way, user can benefit from CRM integrated security model to build various permissions on template depending on user security roles.

Auto Merge
Auto merge feature is not included in DocumentCorePack addon. A separate addon is available by MSCRMADDONs for generation of documents automatically from processes.

Solutions & Release Management – CRM 2011

Microsoft Dynamics CRM 2011 comes with a brand new concept of solutions. Solutions are how customizers and developers author, package, and maintain units of software that extend Microsoft Dynamics CRM 2011. In this post I will be focusing on development of enterprise CRM implementations and utilization of solutions.

In enterprise CRM implementations, many processes/iterations are running in parallel which result in many product releases in parallel. So development, testing and rollout of all releases in parallel with no interference with work in progress are massive challenges.

For example, your CRM implementation is comprised of N release as shown below and you want to utilize Microsoft Dynamics CRM 2011 solution concept to fulfil following goals:

  1. Development of releases in parallel
  2. Multiple teams working on multiple releases
  3. Testing of releases in parallel to development
  4. Release based rollout to production
  5. Install or uninstall releases from test or production
  6. Post production support (Patch/hotfix)

I am expecting that you are familiar with managed/unmanaged solution concepts. So in order to implement above scenario, you need to design your organization and solution structure for CRM 2011 accordingly as given below:

  1. Create a base organization and a base unmanaged solution in it
    1. This solution will carry generic customization i.e. account and contact entity customization
    2. Any generic plugins i.e. creation of counter/auto numbers on custom entities
    3. Configuration entities and plugins
    4. Add common security roles
    5. Add core JavaScript libraries

  1. Create another organization for each release with one unmanaged solution per release
    1. Install base solution as managed in this org i.e. very similar to solution library concept.
    2. Add all release 1 specific components to release 1 unmanaged solution

Similarly, for all other release, use rest of all released as managed solution (reference).

Now, if something is changed in release 1 or base solution, you can use managed solution update feature. Just export new version of base/release 1 solution as managed and install it to release 2 organization by using overwrite or merge option.

JavaScript Libraries in Microsoft Dynamics CRM 2011

In Microsoft Dynamics CRM 4, it is a very tedious task for system customizers to manage and track JavaScript. System Customizers/Developers have to write JavaScript on every event handler on the form. But Microsoft Dynamics CRM 2011 provides JavaScript libraries that can be utilized on events and forms across the solution. Now common JavaScript functions can be written at one centralized JavaScript file and utilized across solution.

Moreover, multiple JavaScript libraries can be created. For example, one common library for general CRM Service calls and one common library for UI manipulation and so on.

Let’s create a very simple JavaScript library and create a function to hide/show a tab/section on the form. JavaScript libraries are added as web resources in solution as shown below:

Now let’s create a JavaScript Common Library by adding a web resource in the solution. Then attach a JavaScript file this web resource.

Now let’s open the file in Text Editor available in web resource to add a function to show/hide a section/tab on form.

Microsoft Dynamics CRM 2011 provides new xrmPage model to access UI and data at client side. Here is a snapshot of the hierarchy.

Now let’s go to the account form in solution and then go to form properties to set JavaScript library and function to execute on form load event handler as shown below:

Now let’s add library from solution library.

Now let’s call the HideShowSection function in JavaScript Library by selecting appropriate JS library and typing the right function.  Enable the event handler by setting Enable flag to true. Also pass parameter to function by comma separated list of parameters i.e. 1, false which in turn sets tab 1 to visible false.

You can see that Details tab is now hidden and alert.

Call Scripting in Microsoft CRM 2011 – Workflows Reborn

Microsoft CRM 4 lacks call scripting features and customer especially call center customer will have to buy 3rd party add-ons like TK Dialogues, custom ASPX pages etc. to fulfill this requirement.

However, Microsoft CRM 2011 provides call scripting out of the box using processes. Processes are now used in place of workflows. Microsoft has categorized processes in Workflows and Dialogs. Workflows are same old workflows but dialogs can be utilized in various ways i.e. Call Scripting, Approval Processes, User Feedback Process and many more as CRM 2011 gets introduced in various industry sectors.

In this post, we will discuss processes from two perspectives. One is related to designing a process and other is execution of processes. Processes are located in Settings -> Process Center in navigation pane as shown below:

Microsoft CRM 2011 provides a designer tool for designing processes and this designer tool is very much similar to workflow designer but much more capabilities as compared to workflow designer. Now you have the options to prompt and get user input into process.

For the sake of clarification, lets design a script for call center representative to ask first name and last name of customer  whenever takes a call from customer.

This script will be designed to execute on phone call activity as shown in the category attribute.

Now we will add a page and then add two prompt and response steps for first name and last name and one prompt and response step for email.

We have almost designed are very simple Call script that will ask standardize our response when a call is received from customer. It will first ask for first name & last name. Then will ask for customer email address. Here we can specify as many steps as required to implement you call scripting needs and you can utilize the values gathered through this script to send emails. Create records as cases, contacts, activities, service activities etc.

Let’s Activate [published/unpublished is renamed as activated/deactivated] this process and Execute from Phone call activity. You can see from below screen that there are no more clicks involved to create a phone call activity. It’s pretty quick and easy. Thanks Microsoft for this consideration.

Now let’s execute the Call Scripting from phone call start Dialog as shown below:

Select the specific Dialog and click OK.

Click Finish at end of the process to and an email will be created.

and sent to customer upon completion of the process.

Please comment or send your feedback and keep exploring Microsoft CRM 2011.