Tuesday, April 30, 2013

How to disable “Convert the incoming email to contacts” option for the entire organisation

In CRM there an option to convert the incoming emails/appointments into contacts or leads. This option is available only on user level not on the organisation level. The default option is to create contacts.

image

User can enable or disable this option from File->Options—Email tab. But what if you are using queues to receive emails. Queues use email router to send or receive the emails and there is no option to disable “Automatically create records..” option.

I have read somewhere on the CRM forum that if you are using the email router,  “Automatically create records..” setting is derived from the user used in the deployment tab of the email router.

image 

If the “Access Credentials” is chosen “Other specified” then we may be able to achieve the result by changing personal settings of this user.

But if the “Access Credentials” is chosen “Local System Account”  then you don’t have an option as “System” user settings cannot be modified. So there is only one option available and

that is to disable for the whole organisation. This is also a better option if we have to disable auto creation option for every user in the organisation.

How to disable this option for the whole organisation

This can be achieved using  “OrgDBOrgSettings Tool” for CRM2011. Follow this link  to read a kb article on the tool.

  • Once you download the tool and make the changes to the Microsoft.Crm.SE.OrgDBOrgSettingsTool.exe.config as described in the kb article.
  • Run this command  Microsoft.Crm.SE.OrgDbOrgSettingsTool.exe Retrieve [/u] <OrgName>. The result will look like the following screen.

    image
  • Run this command Microsoft.Crm.SE.OrgDbOrgSettingsTool.exe Retrieve [/u] <OrgName>  AutoCreateContactOnPromote False. The result will look like the following screen.
  • image

  • Now run the retrieve command again Microsoft.Crm.SE.OrgDbOrgSettingsTool.exe Retrieve [/u] <OrgName>.
    image 
  • Check the “Current Value” of AutoCreateContactOnPromote. It will be “False”. There you go. It’s done.

 

 

     

Sunday, April 28, 2013

How to display a warning message on the CRM form

We use JavaScript for client side validation on CRM forms. Mostly we use the pop up message box (JavaScript alert function) to display the error/warning messages. The user has to press ok to proceed. If the validation code is running on the formload event then the system will keep poping up the message box everytime the user opens up the record unless the problem is fixed. But if you just want to display a warning message without forcing the user to press ok and fix the problem immediately.

The post is about displaying a warning message without the pop ups.  This solution will display a warning message if the field failed the validation. This does not require any immediate response from the user.

Here is the screen shot of the warning message on account form.
image
For this solution we need 3 web resources
  1. An Image web resource (warning or ! image in front of the message)
  2. A HTML web resource
  3. A JavaScript web resource
You can download the solution containing these web resources from here. Download the solution and publish it.
Here are steps to add the warning message to an account entity form.
  • Open the account entity form in a customise view.
  • Add a new section to the general on the form and move it to the top of the tab. Make sure the name of the tab is “general” and the name of section is “sect_alert_notification” as shown in the screen shot. We are using the tab and the section  name in the JavaScript  web resource.

    image
  • Add the “Notification.HTML” web resource to section. The following screen shots display  the properties of the web resource.

    image
    image
  • Add the “new_Notification.JS” JavaScript web resource to the entity form
  • Call the ShowNotification function on formload event and on onchange event of field you are validating.
    image
  • Update the validation code as required in "ShowNotification” function.
    function ShowNotification() 
    { 
        var Validated= false;
        // Add Validation code Here     
    
    
        if (Validated==false)
         {  
            Xrm.Page.ui.tabs.get("general").sections.get("sect_alert_notification").setVisible(true);
           
        }
       else
       {
          Xrm.Page.ui.tabs.get("general").sections.get("sect_alert_notification").setVisible(false);
       }
    }
    
  • Publish the customisation and test the solution.
Thanks to my colleague Russel Devine for the code. Please leave the feedback as required.

Tuesday, April 9, 2013

Social CRM has finally arrived

Social CRM is finally here, bigger and better than ever before. So what is social CRM? According to Wikipedia
“Social CRM (Customer Relationship Management) is use of social media services, techniques and technology to enable organisations to engage with their customers”
Microsoft is trying to incorporate social into dynamic CRM for some time.

First came the “Activity feeds”. It brought the social sites like features into CRM. Activities feed provides the face book like functionalities. You can follow the accounts, contacts, users and opportunities etc. and write post on the walls like face book. But it is still the communication between internal users.

Then came the “Yammer” integration in roll up 12. It took the conversation out to the external customers. You can communicate with internal users and customers using yammer integration. It is a work in progress and it may kill the activity feed in future.

And now comes the Netbreeze. I am very excited about this collaboration. Microsoft acquired Netbreeze, a social media monitoring and analytics company. I did not go the convergence 2013 but I have an access to “Virtual Convergence”. There are a lot of new features coming out in the next release but Netbreeze integration is my favourite one.

The demo was just amazing. The demo was regarding social feeds for CRM products. Here are some of screen sheets.
image

You can analyse the product you are interested in. For example the following screen shot displays the information about Microsoft CRM.
image

You can drill down further to any of the above information. For example channels or sentiments as shown in the following screen shots.
image

image

You an drill down further to the individual posts. You can even respond to the feeds straight from the system.
image

There are a lot of other things you can do. Anyway I believe it’s a start of an exciting journey.

Please leave feedback.

Saturday, March 30, 2013

CRM2011 roll up 13 and the new SDK is released.

Microsoft released the  roll up 13 for CRM2011. The rollup 13 introduces the support for windows server 2012 and ADFS 2.1. The rollup also resolved the numbers of issues. For the complete list of hot fixes and updates read the following kb article.

http://support.microsoft.com/kb/2791312

Microsoft also released new SDK (version 1.0.15) to support roll up 13. Here is the download link.

http://www.microsoft.com/en-au/download/details.aspx?id=24004

If you have not work with SDK version 1.0.14 then a look at “EntityMetadata” spreadsheet. It lists the metadata about all the out of the box entities ( Entities, entity privileges, attributes, picklist values, relationships and global option sets).

Monday, March 18, 2013

Comparing JavaScript execution time in IE, Chrome and Firefox for CRM Polaris

Last year my team was trying to compare the execution time for REST and Soap (FetchXML and RetrieveMultiple) calls. We did not find any significant difference. Now after rollup 12, CRM supports multiple browsers. I have noticed that chrome seems to load CRM screens quicker than its counter parts.
So, I decided to compare the JavaScript (Rest, FetchXML and RetriveMultiple calls) execution time in Internet Explore, Chrome and Firefox.

Test UI

We have created a custom fields to run these tests. Here is the screen shot of those fields.
image
Here is how the results screen looks like.
image

Test Results

For this test, I set up the frequency to 10 as it may take a bit extra time for the first call. Every call retrieved 10 records. This test is carried out on  CRM Online organisation.

Internet Explorer 10- response time (in milliseconds)

image 

Chrome 25- response time (in milliseconds)

image

Mozilla Firefox 19- response time (in milliseconds)

image

Conclusion

All the execution time are less than sub 500 milliseconds with few exceptions. You can’t tell much difference.
Still REST calls the quickest in Internet Explorer. Overall Chrome is the quickest. You can tell Chrome loads the CRM UI quicker than its counter parts.
Results can vary based on server/client machine’s configuration and work load.
Thanks HP team for the coding.

Friday, March 15, 2013

How to switch between classic and new process flow forms in CRM Polaris

Polaris introduced new UI forms in CRM2011. These new forms come with “Process Flow” and classic form views. They look great but they have some functional limitations.
For example. You can switch from “Process Flow ” to classic view but you can’t switch it back. To get back to “Process Flow Form”, you need to close the form and open the record again. It is very annoying and does not provide a good user experience.
image
Here is the solution to the problem. We need
  1. HTML Web resource
  2. Form Id of the new form
  3. Add a Navigation Link on the form
In this blog I am going to deploy this solution on lead entity.

1. HTML Web resource

I have created a HTML web resource to switch from classic view to “Process Flow Form”. It have added the web resource to a unmanaged solution. You can download it from PolarisSalesForm_1_0.zip. Import the solution into your CRM deployment and publish the solution.

2. Form Id of the new form

We need the form Id of classic view of the form. Here are steps to retrieve the form Id of the lead entity.
  • Open the lead entity in customize mode. Open the form name “Lead” from the list of forms as shown in the following screen shot.
    image
  • Press F11 to get URL of the form. It will look like following screen.
    image
  • Copy the URL into a note pad or any text editor and look for formId. The highlighted part represents the guid of the formid.
    image 

3. Navigation Link on the form

  • Add a new navigation link to the lead form.
  • Add a name and icon file as shown in the screen shot
    image
  • Choose the External URL for the navigation link and refer the URL of HTML webresource we imported in step 1. Use the relative path of the html webresource as shown in the above screen shot.
  • The most important part of the URL is the parameter named data. we will pass formid retrieved in step 2 to this parameter.
  • The URL will look like the following URL.
    /WebResources/new_SalesForm?data=E3B6DDB7-8DF0-4410-AC7B-FD32E5053D38
  • Save the changes and publish the form.

Test The solution

  • Open a entity record.
  • Switch to classic view.
    image
  • The classis form will look like a following screen.
    image
  • Click on the “Sales Form” link on left navigation and it will take you to “Process Flow” form.
I hope this helps.



Sunday, February 17, 2013

Tool tip bug on lookup fields in CRM2011

In CRM2011 only the lookup fields have tool tips.  The tool tip generally displays “Click to select a value for fieldname” as shown in the following screen shot.

image 

The problem starts when you change the the the position of field label from side to top of the field. Before I talk about the bug, lets see “How to change the position of the labels from the side to top of the fields”. This setting is the property of “Section” Control of the entity form. Here are the steps to change the position of the labels.

  1. Double click on the section on the form.
  2. Click on the “Formatting” Tab.
  3. Scroll down and selects “Top” in the “Field Label Position” section as shown in the following screen shots.
    image 
  4. Save the changes and publish the entity. The changed section will look like the following screen shot.
     image

Bug Details

Now coming back to the tool tip behaviour. This behaviour changes based on the position of the lookup field in the section.

  1. If the lookup field is in the first column of the section. For example “Price List” field in the following screen shot. The tool tip will display “Click to select a value” without specifying the field.
    image
  2. If the lookup field is in the second column and there is any other field in the first column. For example “Territory” field in second column and “Price List” field in the first column in the following screen shot. The tool tip will display “Click to select a value for “field name in the first column”.
    image
  3. If the lookup field is in the second column and there is a optionset field in first column. For example “Currency” field in second column and “Payment Terms” field in the first column in the following screen shot. The tool tip will display “Click to select a value for “field name in the first column with all the drop down values”.
    image
  4. Similarly if the lookup field is second column and date time field in the first column then, the tooltip will behave the same way as step 3 displaying all the time slots as shown in the following screen shot.
    image


I don’t have solution to this problem. But you can minimise the impact by adding the lookups in the first column of the section.