Tag Archive for Solutions

What is CRM 2011 R8?

The CRM 2011 Q2 Service Update known as R8 has been getting a lot of attention recently and for good reason. R8 has many exciting new features and enhancements to CRM 2011 including:

New Mobile Client

Microsoft will be offering a new Mobile Client from CRMMobility for CRM Online Customers. Unlike the old CRM Mobile which was very limited, Mobility is a truely feature rich client for mobile devices. The Mobility client brings a first class experience to your Phone or Tablet. The new client offers tight integrations with the iPad, iPhone, Blackberry, Android, and Windows Phones.

Cross Browser Support

The MSCRM web client will no longer be locked into just Internet Explorer. In addition to IE on Windows Machines you will be able to access CRM from the following web browsers and Operating Systems.

  Internet Explorer Firefox Google Chrome Safari
Windows Version 7+ Version 6+ Version 13+ Not Supported
Mac OS-X Not Supported Version 6+ Not Supported Version 5.1.1+
iPad 2 (iOS 5.x) Not Supported Not Supported Not Supported Version 5.1.1+


Activity Feed Enhancements

A number of enhancements have been made to the Activity Feeds to make them more engaging and foster a Social CRM experience.

You will now be able to “Like” and “Unlike” Activity Feed posts.

There are also a number of new filtering options, such as filtering by Record Type and based off of Data Views. A timeline wall can be used to view all posts that mention a user by using the @me filter. 

Industry Specific Solutions

Microsoft will also be releasing a number of solutions for specific industries including:

  • Life Annuity Insurance Sales
  • Non-Profit
  • Health Plan Sales
  • Wealth Management

These templates will give users an out of the box CRM tailored for their unique industry.

Support for SQL 2012

R8 will allow On Premise customers to harness the many performance improvements from SQL Server 2012. Girish Raja has a great post on the benefits of using CRM 2011 with SQL Server 2012.

There are very exciting Business Intelligence (BI) features in SQL Server 2012 like Power Pivot and Power Views. I’ve been looking forward to these new report visualizations since I first saw Hans Rosling’s Ted.

For more details on the features of R8 check out the R8 Release Preview Guide.

CRM Tool of the Week – CrmFetchKit.js

Last weeks Tool was the Custom Code Validation Tool which helps you identify unsupported code in your form scripts.  Keeping with the theme of preparing for Q2 2012 service update for Microsoft Dynamics CRM 2011 (R8) and cross browser support this weeks Tool of the Week is the CrmFetchKit.js . This JavaScript library will help you fix some of your unsupported code you may have found.

FetchXML and Cross Browser Support

One of the many differences between the different browsers is how they handle parsing through xml nodes or xml-traversing. A method that was used in some old form scripts for fetching data from CRM was the selectSingleNode. However, selectSingleNode is only supported in IE.

There is a good chance that any of your old FetchXML form scripts are not cross-browser compatible. If so you will want to update these scripts to use a javascript library like JQuery, which has great cross-browser support, to handle the XML traversing. That’s where the CRMFetchKit.js comes in.

The CRMFetchKit.js is built on top of JQuery and lets you easily get the results from a FetchXML query in your form scripts.


The following shows a Basic Fetch using the CrmFetchkit.js

var fetchxml = ['<fetch version="1.0" output-format="xml-platform" mapping="logical">',
                ' <entity name="account">',
                ' <attribute name="name" />',
                ' <attribute name="accountid" />',
                ' <filter type="and">',
                ' <condition attribute="name" operator="eq" value="test" />',
                ' </filter>',
                ' </entity>',

// Action: load the account with a certain name
CrmFetchKit.Fetch(fetchxml).then(function (results) {
    /* success handler */

}, onFetchError);



The Fetch More method can be used for retrieving datasets. It includes a flag for more records.

The following shows a FetchMore using the CrmFetchkit.js. If there are more than 10 contacts with a last name like test% than response.moreRecords will be true.

var fetchxml = ['<fetch version="1.0" output-format="xml-platform" ',
                        'mapping="logical" ',
                        'returntotalrecordcount="true" ',
                ' <entity name="contact">',
                ' <attribute name="lastname" />',
                ' <attribute name="contactid" />',
                ' <filter type="and">',
                ' <condition attribute="lastname" operator="like" value="test%" />',
                ' </filter>',
                ' </entity>',

CrmFetchKit.FetchMore(fetchxml).then(function (response) {

    // get the logic-entity name
    var entityname = response.entityName;

    // the requires 'returntotalrecordcount="true" ' to be defined in the fetchxml
    var total = response.moreRecords;

    // get the entities as array
    var set = response.entities;

    // the page-cookie is required for paging
    var pageCookie = response.pagingCookie;

}, onFetchError);


The FetchAll method can be used for retrieving results from large datasets that exceed 5,000 records.

The following shows Fetch All using the CrmFetchkit.js

var fetchxml = ['<fetch version="1.0" output-format="xml-platform" ',
                        'mapping="logical" ',
                ' <entity name="contact">',
                ' <attribute name="lastname" />',
                ' <attribute name="contactid" />',
                ' <filter type="and">',
                ' <condition attribute="lastname" operator="like" value="test%" />',
                ' </filter>',
                ' </entity>',

CrmFetchKit.FetchAll(fetchxml).then(function (entities) {

    /* success-handler */

}, onFetchError);

What Else Can it Do?

In addition to Fetching results the CrmFetchKit.js can also assign records!

CrmFetchKit.Assign(recordid, 'entity', userid)


You can download the CrmFetchKit.js from CodePlex


To use the CrmFetchKit.js you will need to create a new web resource and upload the CrmFetchKit.js file to it. You will also need to Download JQuery and create a web resource for JQuery. Make sure that you add both of these web resources to any forms you will be setting up FetchXML form scripts on.

You can then create form scripts based off of the sample code to Fetch data from CRM.

The following shows a basic fetch using the CrmFetchkit.js

CRM Tool of the Week – Solution Extender for Microsoft Dynamics CRM 2011

Components Missing from Solutions

Have you ever tried to move a component from one organization to another through a solution only to find that that it is not contained in the solution. It can be frustrating and no one likes to manually recreate things. Well the Solution Extender is here to the rescue. This tool lets you easily move some of those missing components.

With the Solution Explorer you can move:

  • Duplicate detection rules
  • Saved views (userquery)
  • Saved views (userquery) that will be converted to system view when importing


You can download the Solution Extender project from Code Plex.

CRM Tool of The Week – Solution Packager

R8 has many new exciting features like CRM Mobile and Cross-Browser Support. However, what I have been most anticipating since Convergence 2012 was not a feature from Rollup 8 but one of the tools that will be released in the updated SDK called the Solution Packager. 

What is the Solution Packager?

 The solution packager is a command line tool that lets you pack and unpack a solution zip file. The unpacking goes beyond just unzipping the file into the handful of files contained in a solution. It extracts components at a granular level creating a file for each form, view and web resource.

What is So Great About the Solution Packager?

The Solution Packager offers a new level of code management for Solutions.

Before it was very hard to effectively manage the code changes to your CRM Solutions. You may have been checking your solition files into SVN, so your solution files would be backed up and could easily rollback to previous versions. But it was pretty futile to try and do a diff on two versions of a solution file or try and merge two branches.

Now with the Solutions Packager we can break the big unmanagable solutions files into smaller chunks that are easier to swallow. After unpacking the solutions and comparing them it’s much easier to tell what has changed, so we know to merge them or throw them out.

Downloading the Solution Packager 

The Solution Packager is due to be released in an update to the SDK in the Spring/Summer of 2012. However, I was very happy when I downloaded the Rollup 8 Beta files and saw that one of them was for the Solution Packager.

The Rollup 8 Beta is available through the Connect Website. Take a look at Girish’s article on downloading the beta at http://blogs.msdn.com/b/girishr/archive/2012/05/09/microsoft-dynamics-crm-2011-ur9-a-k-a-r8-beta-is-here.aspx . Once you get to the Download screen you will see one of the files you can download is Dynamics CRM Solution Packager.

Using the Solution Packager

The Solution Packager is a command line tool. You will need open the command prompt by going to Start>Run>cmd . Then use the cd command to switch to the directory where you saved the SolutionPackager.exe file. You can then use the commands below to pack or unpack a solution.

Extract Command to unpack a solution

The following commands will Extract the solution zipfile c:\Solutions\Default_1_0.zip to the folder c:\Solutions\Default_1_0
Full Command
solutionpackager.exe /action:Extract /zipfile:c:\Solutions\Default_1_0.zip /folder:c:\solutions\Default_1_0
Shorthand Command
solutionpackager.exe /a:Extract /z:c:\Solutions\Default_1_0.zip /f:c:\solutions\Default_1_0

Pack Command to package a solution back up

The following commands will Package the contents from c:\Solutions\Default_1_0 back into a zipfile called solution zipfile c:\Solutions\Default_1_0.zip
Full Command
solutionpackager.exe /action:Pack /zipfile:c:\Solutions\Default_1_0.zip /folder:c:\solutions\Default_1_0
Shorthand command
solutionpackager.exe /a:Pack /z:c:\Solutions\Default_1_0.zip /f:c:\solutions\Default_1_0

Other Command Parameters

There are some additional Optional Parameters you can user including:

  • /packagetype {Unmanaged|Managed|Both}
  • /safe
  • /clobber
  • /errorlevel {Off|Error|Warining|Info|Verbose}
  • /log

A full list of the command line commands is available in the ReadMe document that is part of the download.

CRM Tool of the Week – Ribbon Workbench for Dynamics CRM 2011

If you have ever added a Custom Button to the CRM Ribbon by hand you probably wished that there was some tool that let you create the buttons through a UI. I have seen a couple Ribbon Editors, but the CRM Workbench from Develop1 is my favorite.

The CRM Ribbon Workbench takes all of the hassle out of editing the Ribbon.


You can drag and drop buttons right where you want them on the tool bar.


Setting up Actions, Enable Rules and Display Rules are all a breeze with this tool. All of the available options are displayed to you. Just select the rule and then enter your values.

Setting up a Javascript Action for a Button


Setting up a Display Rule for a Button.

Unlike other tools the CRM workbench will automatically export, re-import and publish your solutions for you after making the modifications to the ISV.config. Editing the Ribbon can’t get much easier.


Download the CRM Ribbon WorkBench

You can download this free solution at:


CRM Tool of the Week – Phone Schedule Assistant for Microsoft Dynamics CRM 2011

One of the most common complaints when moving from CRM 4.0 to CRM 2011 is “Where did the Form Assistant go for creating follow up phone calls”?

Luckily Zero2ten has developed a solution that gives you the ability to easily create a follow-up call. This solution adds a section to the phone call form where you can specify information to create a follow-up phone call. When the new call is created it will also copy the notes from the previous call over for you. You can even use the phone call assistant to create reoccurring phone calls.

You can download this free solution at: http://www.zero2ten.com/Blog/tabid/63/EntryId/106/Phone-Schedule-Assistant-for-Microsoft-Dynamics-CRM-2011.aspx