I was severely underestimating the Field Service, it seems, and I am wondering if this may happen to anybody who is thinking of the Field Service in terms of “solutions”/”applications” for Dynamics.
There is a component in the Field Service solution that goes far beyond the regular capabilities of such components – it’s, essentially, an application on its own, and it’s the scheduling board:
It seems straightforward – there are things you want to schedule, there are resources, there is a calendar.. apparently there is some search functionality. So, as expected, you can create the bookings. That’s pretty advanced as it is with all the drag-drop / search tabs / etc, but what I did not quite realize until I started to dig into it is how configurable this component is.
When you double click on the scheduling board name(mind you it’s not the most obvious action you can come up with):
You are presented with a screen that has all sorts of configuration settings there. A lot of them are about visuals, but there is a seemingly unimportant “other settings” area which, once you look into it more carefully, is representing a built-in board designer:
For example, if I wanted to display the list of accounts in the “filtering” area.. like this:
It would only take me a couple of minutes to add that drop down – that’s what can be done using Other Options->Filter Layout. Notice how there are all sorts of controls there:
But that’s not all.. If I, then, wanted to use those additional filters in scheduling queries, I could have updated the resources query:
That thing alone deserves a separate blog post, but, since there is, already, such a post, I’ll just give a link here:
Just don’t think it’s “FetchXml”. It kind of is, but it’s more than that – it’s a query “language” that can use FetchXml to get the data, and, then, can use XPath expressions to process the data. You can bring data from different FetchXMl statements, you can dynamically add filters (from the filtering area) to the data, and you can order the lists.. Basically, you can completely change the way your scheduling works since you can filter on whatever you want to filter on, and you can fine-tune the resource query to choose the resources that match your filters.
PS. And if you wanted to test it quickly just to get a feeling of how it’s done, have a look at the step-by-step here: