Universal Search is a tool I wrote for XrmToolBox that allows users to search for specific text or values across all entities in Dynamics 365.
I was inspired by my ignorance to build this tool. Which, I think is a pretty good reason to build something.
The specific scenario I was dealing with, was attempting to change some text on a page in Dynamics portals that wasn’t editable using the front end editor. Not being terribly familiar with how the data was stored in Dynamics, I went to look for a solution that could simply search for the text across every entity in Dynamics and point me in the direction of where I could change it. Unfortunately, no such tool existed. So, I set out to build one myself.
The tool is based on a Sample tool that was built by Jonas Rapp and includes some shared controls from Jim Novak and Jonas. You can install it from the XrmToolBox plugin store by searching for Universal Search or my name.
The interface is pretty straightforward.
- Simply select the entity types you want to search and enter some text to search.
- You can specify to perform a case sensitive search by checking the “Match Case” checkbox.
- You can also perform a wildcard search by including asterisks (*) in you query.
- Click the Search button and start viewing records being returned while the tool searches*.
- You can double click on a record to open the record in your browser.
- Canceling the search operation is as simple as clicking the ‘Cancel’ button after the search begins.
The tool is intelligent enough to recognize the type of value you enter in to the search box. So, if you enter, for instance, 1234 it will recognize that the value is a number and will search number fields in the entities in your system as well as text fields. You can also search for GUIDs (Globally Unique Identifiers) which are used in Dynamics as Identifiers for records (e.g. 4DA0E5B9-88DF-E311-B8E5-6C3BE5A8B200)**.
The Fine Print:
Universal Search is free and open source like so many other XrmToolBox tools. Feel free to submit feedback on Github at https://github.com/mikefactorial/MikeFactorial.XTB.Plugins.UniversalSearch and find more information about the tool in the wiki.
*Only the first 5000 records will be returned for each entity you specify. Based on my requirements for this tool that was sufficient, but if there are other use cases that you have that would remove this limitation I’m happy to hear them via Github feedback.
*One word of warning this tool will perform a search of all of the data in Dynamics for the entities you specify and won’t simply search indexed fields (e.g. the fields in your Quick View). This means it can take a long time to search where there are a lot of records without indexes on fields being searched. It could also affect the performance of other processes while running since the queries can be database intensive.
**As of writing this article it doesn’t currently support date fields (an oversight on my part that I will add in a future version).