The Microsoft Platform Ready (MPR) is designed to help us to take our solutions to the market faster. As a Microsoft Partner, we get access to tons of resources related from solution development, testing to marketing via MPR.  In fact, in most cases, MPR compatibility is a requirement to make available our applications via various Microsoft Marketplaces (Windows Marketplace, Dynamics Marketplace, etc.…).   In this post we will see how to perform the MPR compatibility testing of a custom developed CRM 2011 solution.

Register the Application

First, we have to register the application on the MPR portal. We may login to the MPR site by using our Microsoft Partner account (typically your Live ID) and click + Add an app link. This will present a form to include our application details. Here we can enter things like the technologies used (using) and target compatibility date in addition to general application details.


Figure 1: Registering the Application at MPR portal

Read the rest of this entry »

In one of my previous posts, I have shown how we can implement dependent lookups in CRM 4. Fortunately, CRM 2011 has improved in this area and now we can implement this functionality with minimum effort. For the demo purpose I will use the same scenario which I used for CRM 4. If you have not read my earlier post, I suggest to go and read it so that you are aware of the scenario. In fact, you want be able to understand this post as I am basing this post on that.

As usual, lets consider the two lookup fields, Expense Category and Expense Type where expense type is depending on expense category.

exCats   exTypes

Figure 1: Expense categories & types

As usual, we will add these two as lookup fields on another entity (e.g. Expense Claim).

Read the rest of this entry »

Often times you want to restrict the values of a given list based on some selected value of another list. For instance, consider the two lists, Countries and States, where based on the Country selected you only want to show the States of that particular country. There is a nice sample (dependentpicklist) in the CRM 4 SDK demonstrating how you can implement such picklists. In fact, by using the CRM Demonstration Tools you can easily define the dependencies and generate the required Jscript code. However, if we are dealing with Lookup fields instead of Picklists, then having a similar functionality is not that straightforward.

Although CRM 4 doesn’t have out of the box capability to define such lookup fields, there are number of ways you can achieve this including 3rd party CRM modifications such as Stunnware Filtered Lookup. How ever in this post we will see a really simple way to achieve this by using only JScript and the built-in search feature of the lookup view.

Read the rest of this entry »

One of the most important aspects of software is it’s quality. In fact, improving the quality is an integral part of any process improvement initiative. However, as with many other things, quality is better understood and effective if we can express that in terms of quantitative metrics as appose to qualitative measures. If you have followed even a basic computer science program, you may have learnt an array of such metrics. How ever, accurately calculating these metrics was not possible without using specially designed tools. Fortunately, Visual Studio had this capability for some time, but with Visual Studio 2010, the metrics calculation has greatly improved. For instance, the VS2010 even consider complex code blocks such as try..catch and switch when calculating the code metrics.

Calculating Code Metrics

Calculating code metrics in VS2010 is pretty straightforward. If you want to calculate code metrics for the entire solution, you may right-click the solution and select “Calculate Code Metrics” from the context menu. If you just need to calculate metrics for a given project, just right-click that project and select Calculate Code Metrics.

Figure: Solution Context Menu

Read the rest of this entry »

One of the nice features we have in the Advanced Developer Extensions for CRM4 (since sdk v4.0.12) was the ability to define the connection details inside the connectionStrings section in the web.config file. However, this facility was missing in the early versions of the CRM2011 SDK. However, the latest update of the CRM SDK (March) has finally included this feature.  In fact, this is one of many extended set of features known as Developer Extensions (note the missing "Advanced" word from CRM4).

For instance, suppose you need to connect to a CRM 2011 server using Integrated security from a custom web project. First you have to define the CRM connection details inside the web.config (or app.config for other project types) as follows;

Read the rest of this entry »