Experiences on CRM, .Net and DHTML


  • Join Us on Facebook!
  • Follow Us on Twitter!
  • LinkedIn
  • Subcribe to Our RSS Feed

XrmToolBox - A Must have tool for CRM/XRM Developers

If you are a seasoned CRM/XRM developer, you must have heard about XrmToolbox. If you have, you can simply ignore this post. BUT if you have not then you MUST read on.

This post is about XrmToolbox (http://www.xrmtoolbox.com/) and its plugins which can improve your efficiency and accelerate overall development speed. I intend to list all the default plugins and provide more details on plugins as and when time permits. So here is a list of plugins which gets installed by default.

Sr. No.
1Access Checker
This plugin allows you to check access rights for a user. This can come extremely handy to figure out if you have provided proper security privilege or not.
2Assembly Recovery Tool
This plugin lets you export Plugin Assemblies from a CRM deployment.
3Attribute Bulk UpdaterIt allows to quickly set the following properties of attributes of a given entity. 1. Valid for Advanced Find 2. Valid for Audit 3. Requirement Level
4Audit CenterIt allows you to define audit settings - from Global Audit Settings to Attributes on Entities. It gives you everything that you would do with Audit settings in one screen.
5Bulk Form Attribute Manager

This plugin provides a single window to set the following settings on multiple attributes.
1. Add/Remove attribute to the form
2. Show/Hide/Edit Text of the label
3. Lock/Unlock a field on the form
4. Set a field read-only
5. Set visibility of a field
This plugin allows you to select Attributes in various manners (Attributes on all forms or not in any form)

6Chart ManagerIt allows you to import/export chart definitions in bulk. It also allows you to make changes to the ChartML.
7Easy TranslatorThis plugin exports and imports translations with contextual information
8FetchXML TesterDoes this one need description? :-/
9FLS Bulk UpdaterMany CRM/XRM implementations require you to configure Field Level Security. If you try doing it using just the Dynamics CRM Web Interface it can be really time consuming and headache inducing.
10Form Libraries ManagerThis plugin helps you to add multiple JavaScript libraries to multiple forms.
11Form Parameter ManagerIf you need to pass parameters to Dynamics CRM forms, this plugin simplifies the process.
12IconatorThis plugin helps you to add icons to custom entities in Dynamics CRM.
13Import/Export NN RelationshipsThis plugin helps in importing and exporting N:N relationships.
14Metadata BrowserGood ol' Metadata browser (on steroids ... just give it a try to experience how fast it is).
15Metadata Document GeneratorThis plugin generates very nice Excel and Word document based on Metadata
16Privileges DiscoveryThis plugin will help you find roles which implement a given security privilege
17Role UpdaterA simpler UI to update set or role/s with Security privileges
18Script FinderIf you ask yourself how many JavaScript libraries are being used in a given CRM solution and where... this plugin is what you need.
19SiteMap EditorThis plugin provides you finer control over SiteMap elements. It allows you to import/export and understand how SiteMap actually work.
20Solution Components MoverThis plugin helps you to move Solution components from one solution to another.
21Solution ImportYet another simple solution to a terrible user experience (due to limitations of web browsers and web applications in general). This plugin allows you to select a folder and allows it to import it or if you already have a zip ready then do a simple drag-n-drop.
22Solution Transfer ToolHow many times you find yourself in a situation in which you already have a solution deployed on one server and you need to transfer (Copy) it to other server? If you are in regular CRM/XRM development then I'd say every other day. It is true, you copy solutions from Dev to Test to UAT to Pre-Prod and finally Prod. If you do this via regular CRM Web UI the process is quite cumbersome. Use this plugin to make the solution transfer process a breeze.
23Sync Filter ManagerThis plugin helps you manager Offline, Outlook and Server side Sync. As such with advent of Dynamics CRM 2015 I am not sure how useful and meaningful this plugin will be.
24User Roles ManagerManage all roles for the users and teams available in a given CRM deployment
25User Settings UtilityHow would you change User Settings for 7000 users? Yes... I don't need to explain what this life-saver plugin does.
26View Layout ReplicatorMost of the CRM deployment we do, we need to keep layout (columns, order and width) of views in a sync. For a large implementation it can be a huge pain. This plugin simplifies the process. Define the layout in one view and then replicate it to other views in a single click.
27View Transfer ToolTwin brother of View Layout Replicator, allows you to quickly transfer Views from one CRM deployment to another.
28Web Resources ManagerThe Ultimate Web Resource Manager for Dynamics CRM. Forget about copy pasting content (for HTML, JavaScript, CSS, XML etc.) just select the files and upload them in a click. Additionally, this plugin beautifies the code and also provides you a nice way to organize Web resources
29Early Bound GeneratorI am not very PRO early bound code (for sole reason of flexibility), but every now and then we encounter a situation where people would want to use Early Bound code. This plugin provides a nice UI to the command line operations of CrmSvcUtil.exe (part of CRM SDK). It is the most comprehensive plugin available today in case you are using Early Bound Code. In one case, I was able to reduce EBC size by 1/3rd (from 7 MB to 2 MB). Please note that this doesn't come bundled with Xrmtoolbox and needs to be downloaded from: https://xrmearlyboundgenerator.codeplex.com/
30FetchXmlBuilderThis plugin allows you to write/edit FetchXml and test it from the same screen and provides a nice UX. It has many other features that will help any developer, no matter S/he is a novice or an expert. A MUST have plugin. Please note that this is not a standard plugin of Xrmtoolbox and needs to be downloaded separately from: http://fxb.xrmtoolbox.com/

I have deliberately not included the following plugins (not that they are not important. I just didn't find them being used as widely as others)

  1. Sync event execution order editor

There are many other important resources which you can find at: http://www.xrmtoolbox.com/. Including installation, configuration and basic troubleshooting.

Duplicate Detection in AX 2012

Duplicate data is very common these days given the multiple channels that bring data into the system. Lets explore what AX 2012 has to offer to help detect duplicates.

Is there a standard feature to detect duplicates?

Yes, duplicates are checked on demand as well as on record creation. However, AX 2012 checks for duplicate Party records only and not the entity records itself.

In AX 2012, an Individual (person) or an Organization information can be dealt  with (managed!) in many ways like a Lead/ Prospect/ Contact/ Customer/Vendor etc. Often, the same Individual/Organization is related with the business in more than one role. To maintain these details, AX 2012 stores them in the Global Address Book (GAB) as Party (DirParty table) records in addition to the Entity(Customer/Contact etc.,) thus enabling a Party to play multiple roles. Example: John Doe is a Party with roles of both Customer and Vendor. In such a case, Party, Customer and Vendor records are maintained in AX for John Doe. The Party record is shown on the Name (lookup) on the Customer and Vendor records.

Now lets check out the standard duplicate detection with an example to understand it better.

Note the First Name, Last Name and Contact For details of an existing contact. Say, Lilly Grace.


Also note that there is a party record for each of these contacts in the GAB.  


Now lets run a few tests

Test 1: Create another Contact with the same Name (Party). When the ‘Duplicate detected’ screen pops up, choose the ‘Add new person’ option. Notice that duplicate party records and duplicate contacts are created.

image    image

Test 2: Create another Contact with the same ‘Name’ (Party) and same ‘Contact For’. The ‘Duplicate detected’ screen will pop up showing that a duplicate party exists. Note that the prompt says the record exists in Global Address Book indicating that a duplicate Party exists not Contact itself. Choose the ‘Use selected record’ option and try to save the Contact record. You’ll now see a STOP error indicating that a duplicate Contact record cannot be created.

image      image

The critical STOP error is due to the index defined on Party in the ContactPerson table. Close the error message and cancel the contact creation form.

Test 3: Create another Contact with the same ‘Name’ (Party) but different ‘Contact For’. Use Sally Thompson to test this time. When the duplicate detected screen pops up then choose the ‘Use selected record’ option. Notice that duplicate Contacts are created despite choosing to use the selected record. However, the same Party record is used in both contacts. 

image     image

Is it optional?

There is a setting that controls the duplicate detection called “Use Check Duplicates” that is enabled by default. This setting can be found in Organization Administration –> Setup –> Global Address Book –> Address Book Parameters. Uncheck this if you don’t want the duplicate check.

Is it Configurable?

Not in the standard product. There is no configuration setting to allow adding any other entity (table) or field to the duplicate check. However, customization (through code) can be done to include additional fields in the search for duplicates.

Finally, even if the duplicate detection feature exists in AX 2012, as discussed it is limited to the party table. Customization is required if you need to add additional entities or attributes in the duplicate detection criteria.

Hope this helps!

Sure Step Methodology for CRM 2015 ?

A question that often pops up in front of the CRM Consulting teams is whether to use Sure Step Methodology with the latest version of Dynamics CRM (2015). More often now, since the methodology isn’t evolving as fast as the product.

Microsoft developed the Sure Step methodology with the good intent of providing a guideline to the implementation partners. It has not upgraded since 2012 to cover the product enhancements due to reasons unknown to me. However, the methodology can still be used as the project types, roles, responsibilities and activities in each phase remain same. Some of the tools may need be worked upon based on the recent features of CRM but the existing ones are a good place to start from.

Below are the models I have experienced in my CRM implementations.

  • Most big consulting companies (firms that implement multiple CRM products and other enterprise applications) have their own implementation mythology for enterprise applications that they prefer to use while referring to Sure Step for something very specific to Dynamics CRM.
  • Microsoft partners that primarily work on Dynamics CRM as majority of their consulting business generally use Sure Step as the methodology or improvise on it by building templates/content based on their implementations.
  • In some cases the Customer has specific processes or few templates that they are familiar with and would want to use them while depending on the Sure Step methodology for the rest.

In my opinion, Sure Step methodology has a Dynamics flavor that other generic mythologies wouldn’t provide especially the Decision Accelerators. I have implemented CRM even before Sure Step was available and used other frameworks/methodologies. However, I have found it advantageous and believe that it certainly helps the consultants to be aware of the tools & templates that are available.

Dynamics CRM and FantasySalesTeam

Microsoft has recently acquired Incent Games Inc, the owner of sales gamification platform, FantasySalesTeam (FST). Here is the announcement by Bob Stutz, VP Microsoft Dynamics CRM, who envisages it drive CRM adoption.

FantasySalesTeam  is a software platform that allows sales leaders to run more exciting and engaging sales contests modeled on fantasy sports like racing, baseball, football, soccer and basketball. Check out their website on how it works. FantasySalesTeam has customers like HP, Dell, Siemens, Aberdeen Group, FSU Credit Union, Comcast and has got some rave reviews from some of them.

It is exciting to know that the gamification would be available natively in the upcoming versions Microsoft Dynamics CRM.