Agile Xrm

A blog about all things Dynamics CRM and Agile

Dynamics CRM 2013 Subject Tree Behavior - Get rid of the drop down functionality

I've never liked the CRM subject tree, it's too limiting and managing the data is a nightmare! In solutions I’ve designed where there isn’t too much reliance on the out of the box convert to case functionality I prefer using a custom lookup.

In the case where you are forced to use the tree view, CRM 2013 came with a new “feature” of launching the tree view as a dropdown list on the form and not the traditional pop-up. While this looks quite nice with the metro flat design, when you have an extensive tree, this quickly looks horrible and users hate it! (Ours at least).

 

Once you enough subjects in your tree, CRM automatically switches to the normal pop-up box, but if you are not at that threshold, you are stuck.

I played around with the data and stumbled on a work around.

Create a root subject called “Temp” or something like that. Then import a csv file with the below columns in it, mapping to you temp node using the standard dynamics CRM import.

Title

Feature Mask

Parent Subject

Temp 1

1

Temp Root

Temp 2

1

Temp Root

Temp 3

1

Temp Root

Temp 4

1

Temp Root

 

You will need around 300 or so temp subjects to go over the threshold, I’m not sure exactly how many.

Once imported, refresh your browser and select a case, you will see the subject tree will now open in the traditional pop-up. But now you have a horrible list of subjects that you wouldn’t want the users to see. Here’s where we trick CRM J

 

Go back the subject tree management in Business Management and delete your “Temp Root” subject being careful not to have the node expanded, showing all the temp subjects. (This will move all of these to root nodes which is even worse).

Once it’s deleted, you can again refresh your browser and select a subject on a case. You will notice it opens the pop-up but none of the temp subjects are visible. J

 

What is happening is CRM is deleting the root node, but leaving the child subjects in the database without a parent. These are now invisible to the user but still triggers the logic to launch the pop-up window.

 

While this isn’t the greatest solution, it shouldn’t have too much of an effect on performance. You would just need to be careful if using any reports that read off the FilteredSubject table in SQL. If you’re actual subjects reach the threshold you can always go and delete the temp subjects from the import record in CRM.

 

Loading