CrmXpress

Experiences on CRM, .Net and DHTML

Configuring host name with a wildcard SSL certificate for IIS

This is a long due post almost a year or more. I was working with an ADFS 2.0 setup on a single box (Development only) and was facing challenges with installation and configuration of IIS Host Headers which will allow me to complete required steps for ADFS 2.0 setup for Microsoft Dynamics CRM 2011. When you are configuring a wildcard SSL certificate (*.crmxpress.com) in IIS snap-in you will notice that Host name is disabled when you try to configure site binding. After a little research, I found an article that described the steps to enable the host name.

  1. Open Microsoft Management Console (MMC) by Start -> Run -> Type MMC -< Enter.
  2. File -> Add/Remove Snap-ins.
  3. From the list of Snap-ins, select Certificates and add it to Console Root.
  4. Select appropriate option, in my case, it was My user account but you can select Service account or Computer account based on your configuration.
  5. Once the Snap-in has been added locate the certificate and right click-> Properties.
  6. In General tab, you will see Friendly name field. Enter *.<<yourdomainname>>.com or appropriate value based on your certificate.
  7. Click on Ok and now you can configure the site bindings and configure the host header.

Releasing CrmXpress OptionSet Manager v1.0

After a long time I am writing a post on CrmXpress and I will post my story so far, separately.

As of this post, I have a very important announcement to make. There is yet another release from CrmXpress and this time it is CrmXpress OptionSet Manager For Microsoft Dynamics CRM 2011. As the name suggests it's a very simple utility to manage OptionSets [Local and Global] within CRM 2011 and helps to automate really boring tasks i.e. to maintain [CRUD] option sets manually.

Here is a screenshot from the documentation :

Click Here to see the documentation in case you need any help with the usage of the app.

Click Here to download the latest stable build. As usual we intend to develop it further and we appreciate your feedback on the same.

PS: Watch out for few more CrmXpress releases in very near future.

Exam MB2-876 Extending Microsoft Dynamics CRM 2011 has been released

I have recently completed a set of exams [CRM 2011 and .Net 4.0] and almost thrice a week I check if new exams are released on CRM 2011, especially Extending Microsoft Dynamics CRM 2011 as this one is very important for CRM/xRM developers out there.
And good news is this exam is already out. Surprisingly the release date is 29th December 2011, I mean how many of us would have thought of checking released exams during the holiday season?

Anyways I am glad it is finally here and I intend to give it a shot ASAP. If you are looking for more information about the exam then follow this link.

http://www.microsoft.com/learning/en/us/Exam.aspx?ID=MB2-876

Releasing CrmXpress SmartSoapLogger v1.0

Every Microsoft Dynamics CRM developer runs into a situation when JavaScript + SOAP call is the only logical way out. Now with Microsoft Dynamics CRM 2011 things have changed and old solutions which worked really well with Microsoft Dynamics CRM 4.0 don't work anymore. The only way you can achieve this is to use the solution provided in SDK to dump raw SOAP packet and then using Jamie's Soap formatter tool (http://crm2011soap.codeplex.com) you can get a JavaScript that can be used against CRM 2011. Now this is a lengthy process so it is time consuming and as it involves multiple manual steps that make it more error-prone. I am always bit lazy when it comes to monotonous tasks which don't add value to my current engagement. That makes me a big fan of automation, and by automation I mean reduce my efforts to minimal manual inputs to get things done.

On the great journey of automation, inspired by many others, here I would like to present one of the first utility from CrmXpress - SmartSoapLogger v1.0. It is a very simple tool that integrates all of the above mentioned manual tasks in one click and helps you generate required code to make JavaScript + SOAP calls. This tool is available on CodePlex at: http://smartsoaplogger.codeplex.com.

It works with Microsoft Dynamics CRM 2011 On-Premise as well as Online (With some creative thinking this utility can work with CRM 4.0 as well just you will have to put some efforts in order to introduce CRM 4.0 support). Thanks to Jamie Miley (http://mileyja.blogspot.com) the source code for this tool is available on CodePlex at: http://smartsoaplogger.codeplex.com/releases/76542/download/301730.

Also I would like to thank Jamie Miley for his efforts on building SOAP formatter (http://mileyja.blogspot.com/2011/03/crm-2011-jscript-soap-request-formatter.html) as I could build this tool very quickly using his codebase.
Here is a small video demo where SSL (I know SmartSoapLogger is a long name) connects with CRM Online and generates script and SOAP packets for a WhoAmI call.

Releasing CrmXpress TraceHelper v1.0

Microsoft Dynamics CRM lets you create trace files that monitor the actions performed by various Microsoft Dynamics CRM components. For example, CRM Async service can create its own trace file, which enables you to troubleshoot error messages or other issues with CRM Async service. Apart from that, these Trace files can be an excellent resource for an experienced CRM Developer to understand what exactly is going on behind the scenes.

CrmXpress TraceHelper helps you to enable/disable tracing for Microsoft Dynamics CRM with few clicks. It also gives you the option to manage the trace files from within a single window.

You can download it from here : http://www.crmxpress.net/Tools/CrmXpress.Win.TraceHelper.zip
 

Remember: once the settings are applied, IIS must be restarted to take the effect.  

 

After migrating CRM 4.0 to CRM 2011, CRM is throwing an exception : A potentially dangerous Request.Form value was detected from the client

I recently observed a scenario where a CRM 4.0 database was upgreaded to CRM 2011 and after upgrade process uses were not able to perform any kind of operation within CRM. The exception that we found was :

A potentially dangerous Request.Form value was detected from the client (crmFormSubmitXml="<iteasy_postcode><it...").;Hash='1073421037'

This is because ASP.Net 4.0 now has a different behvaior and it inspects all request data. Rather that being the cookies, urls, headers, etc. This behavior is controlled by RequestValidationMode property.
Now to override this behavior for CRM 2011, all you need to do is set <httpRuntime requestValidationMode="2.0" /> in your web.config. This setting will enforce request validation in .Net 2.0 mode i.e. only Form's input fields are checked for invalid HTML input.

CRM 2011 and Application File Privilege

Recently I was asked what exactly Application File Privilege found under Core Records affects within CRM. After some research on the topic I found that it holds Schemas and Templates as mentioned below :

CRM 2011 Application File Privilege

RibbonCore
AdHocReportTemplate
RibbonWss
FormXml
RibbonTypes
SpreadsheetMLTemplate

One of the practical usages of AdHocReportTemplate is to apply changes to your Ad Hoc Reports by modifying this template. Here is a link that demonstrates how to do so : http://blog.sonomapartners.com/2008/11/customizing-the-report-wizard-template.html

CRM 2011 Exception : The key specified to compute a hash value is expired, only active keys are valid

This one is a well known error for people who have worked with CRM 4.0 and an easy fix was to restart CRM Async Service.

The key specified to compute a hash value is expired, only active keys are valid. Expired Key : CrmKey(Id:a06a2c71-e96a-e011-ae0c-000c29ce8648, ScaleGroupId:00000000-0000-0000-0000-000000000000, KeyType:CrmStaticVersionScaleGroupKey, Expired:True, ValidOn:04/20/2011 00:59:35, ExpiresOn:06/19/2011 00:59:35, CreatedOn:04/20/2011 00:59:35, CreatedBy:CRM\Administrator.

The same error when it comes to CRM 2011, you might have to restart

Microsoft Dynamics CRM Asynchronous Processing Service 
Microsoft Dynamics CRM Asynchronous Processing Service (maintenance)

followed by an IIS Reset.

CRM 2011 Multiple Sub-Grid OnLoad Fix

I was recently working with a client where I had to come up with a multi-grid form for Case entity and wanted to display related activities in each grid. And they wanted to display around 6 different types of activities to be available on Case form.

After adding the sub-grids I came to notice a strange issue and as such it does make sense to load records as and when we need them, that is not what my client wanted. Basically what was happening is after I added the sub-grids, only first 4 grids will load the data when form is loaded. Fifth grid onwards I will get a link which will ask me to click on it if I need to see records. This is in fact a good solution to avoid loading unnecessary data and improve performance, client was not happy with that solution. And I was asked to come up with a workaround, it is pretty simple trick as such but can come really handy. You might want to polish it a bit like- make sure that you don't click on any other link except the one within the grids and maybe some more checks just in case there are other elements with the same class id.

All you need to do is to include this script, on OnLoad of the form along with the jQuery minified library[which you will have to add and make it available on your form.]

function CrmXpress.Scripts.UI.SubGridLoadFix() { 
  
    $(document).ready(function () { 
  
        var links = $("a.ms-crm-List-LoadOnDemand") 
        for (i = 0; i <= links.length; i++) { 
            try { 
                links[i].click(); 
            } 
            catch (e) { 
                // Handle for other errors, or safely ignore 
            } 
        } 
    } 
); 
}

Have fun and Happy Coding.

 

Microsoft Dynamics CRM 2011 Customization and Configuration MB2-866

If you have been waiting for CRM 2011 certifications to come out then here is the first one.This certification exam measures your ability to understand and articulate how to customize and configure Microsoft Dynamics CRM 2011 including configuring a Microsoft Dynamics CRM organizational structure, managing users & teams and security, customizing attributes and entities, customizing relationships and mappings, configuring auditing, managing forms & views and charts, and implementing a Microsoft Dynamics CRM solution.

Exam Topics Covered

  • The following list includes the topic areas covered on this exam.
  • Configuring a Microsoft Dynamics CRM Organizational Structure
  • Managing Users & Teams and Security
  • Customizing Attributes and Entities
  • Customizing Relationships and Mappings
  • Configuring Auditing
  • Managing Forms, Views, and Charts
  • Implementing a Microsoft Dynamics CRM Solution


For more information visit : http://www.microsoft.com/learning/en/us/exam.aspx?ID=MB2-866