Following on from my last post about Multi Select Checkboxes, I have been continuing research to try and find a suitable solution for adding multiselect options to my CRM 2016 environment. I really like the checkbox tiles, but the downside to them is the need to create fields, update forms and update web resource parameters when they need to change, which creates more work for the administrator. I was therefore looking for a solution with less administrative overhead for situations in which the list is likely to change more often, as well as to offer additional user experience benefits.
My search led me to the Advanced Multiselect for Dynamics solution by Pavel Khorozhansky. This solution is built on the use of N:N relationships, and allows for quick associate/dissociate of records. In Pavel’s own words:
You most likely are interested in this solution if:
- you have Many-To-Many (N:N) relationships and would like to associate / disassociate related records in a quick, convenient and flexible way using a set of appropriate checkboxes on a form
- you are using either Dynamics CRM 2016 Update 1 (8.1) or Dynamics 365 (8.2) version and you would like to have multi select / multicheckbox functionality on a form and don’t want to create a lot of dedicated checkbox attributes for each an option
- you are using the new version of Dynamics 365 (9.0) (where a new multi-select functionality introduced out-of-box) and find this out-of-box feature does not suit your needs (for example, you have to make changes in metadata each time you need to add/remove list options (instead of giving some users an ability to easily maintain the lists), you cannot support ‘obsolete’ options, and so forth).
There is an extensive wiki on the GitHub repository covering installation and configuration, so I won’t repeat it here. I found it incredibly easy to install and get using following the instructions, so I’m sure anyone else will too
What I like
The solution is really easy to install, and the configuration wizard that Pavel has built into the solution makes it really easy to get up and running. It is worth noting that there is a small element of the solution which would be considered unsupported, so this should be borne in mind if you wish to install this solution in your production environment.
Better User Experience
The solution works with any custom N:N relationship, including self-referential relationships, and it is significant improvement to the User Experience when associating records. With the out-of-the-box approach using sub-grids there are up to six steps to follow to associate a record:
In comparison, with the Advanced Multiselect solution it’s simply a case of selecting the appropriate records from the available list:
From a User Experience point of view, this is a much more efficient and elegant solution.; it minimises the amount of mouse clicks that are required and makes it really easy to train new users.
I also like that it shows the unselected records, so that system users are provided with a visual reference to decide if perhaps one of the unselected choices could also be selected.
Multiple Selection Types
With the solution you get the options of a few different types of selectors. You can select from one, two, three or four columns of checkboxes, which look as you’d expect:
Where I think the solution excels however is in the following two options:
One Column with custom descriptions, which is a great way to add context to the options. I like the ability to add a custom description and can envisage numerous advantages to this solution
Selectize, which works kind of like a Tagging option. This is particularly useful if you have a large list of options:
There is also the possibility to create your own template styles, if you’re familiar with HTML/CSS and knockout.js or selectize.js. This add a massive amount of extensibility to the solution.
Overall I would say Advanced Multiselect for Dynamics is an excellent solution, and a very handy addition to my toolbox of solutions. I have barely scratched the surface of the solution with this review, but I believe it will help deliver improvements to the user interface in your CRM system and therefore make the user experience more enjoyable. I’ve demoed the solution to selected users in my organisation and the response has been overwhelmingly positive.