This is a really common question that comes from customers switching from other service desk applications to System Center - Service Manager (SCSM). They are used to a user experience for selecting a classification from a series of drop down controls on an incident form. For example, there might be three drop down controls side by side with each other. When the user chooses a value from the first drop down (example: “Business Software”) the values are updated in the second drop down to reflect the sub-classifications under “Business Software”. The second drop down now might show “Office”, “SAP”, and “Dynamics”. If the user chooses “Office” in the second drop down, then the third drop down might show “Excel”, “Outlook”, “Word”, “PowerPoint”.
There are a number of problems with this type of user experience:
1) It limits the number of levels you can have to however many controls are on the form.
2) It increases the amount of data that has to be sent to/from the database and stored in the database because you have to store three values instead of one.
3) It takes up a lot of room on the form.
4) It requires a lot of clicking/mouse movement or keyboard typing to select the value you want.
This approach of using multiple “cascading” drop downs is an ancient user experience born in the early days of the web. With today’s modern programming languages and tools we can come up with better user experiences.
In Service Manager, we feel we have come up with something better that addresses all of those problems above and provides a better user experience. Our drop down controls that are bound to list properties can have hierarchical values! We have a custom control that allows you to choose a value from a hierarchical tree.
Using the example above, we could display these values in the SCSM incident form like this:
When a value is selected we can still see the hierarchy with each value separated by a slash:
This design takes up less room, requires less data storage/transfer, is easier/faster to use, and can have as many levels as you want. Have a look at this blog post/video on how to use the keyboard to really efficiently use this control:
You can still do queries both in the console and in reports like ‘show me all incidents where the classification is exactly Business Software” or “show me all incidents where the classification is anything under "Business Software”.
You can edit the lists in the SCSM console by going to the Library\Lists view. If you have a lot of list options that you want to create it may be faster to do it in PowerShell using SMLets or by importing them by using this Excel tool called EnumCreator.
Some related questions that come up:
Thanks Travis - Is there any word on when the self service portal visibility of this control will show the hierarchy? It gets displayed as a single level (and very long) list at present, without the collapsed parent-child view of the SM console.
Thanks for bringing that up. That issue is addressed in the SC 2012 SP1 release that will be coming out soon.
We use the samme level deep categorization here, but in the normal console view (With custom added Categorization Category colum) it only showa the last tier of the hierarchy!
Will that be sorted out in the SP1 as well?
I'm running a version 7.5.1561.0 now.
First of all thanks for the article.We have currently been integrating service manager 2012 in an organization but we are experiencing a problem about the language in list items.
For Example, when we add a new item(in progress) into the incident list which is in English and then change the language (into Turkish),we see that the language of the added item hasn't changed.
How can we perform language edits in list items?
Sorry, no that is not something on the list to change. This is the first time I have heard a complaint about it actually. It would be interesting to hear other people's opinions on this.
You will need to export out the MP after you have added the items and add the other language strings in a <LanguagePack> section and reimport the MP. More information on localizing MP content can be found here:
in the context of "change the options available in a different control based on the selection in one control? ", are there any good examples on the web (maybe Codeplex) of a custom form with custom code to handle the control events? thanks !
Check out scsmservicerequest.codeplex.com for an example of how to author a custom form. Also see this blog post:
The example doesn't specifically talk about event handling but that part is just standard .Net programming. I'm sure there is plenty on the web about it.
I agree with Kenneth, we too use a few hierarchical levels with our categories, and it is annoying that only the last level shows up, e.g. the hierarchy is "Infrastructure\Printer", but only "Printer" displays in Views and in the Cube Reports.
A 'Sort list Alphabetically' button would be a great addition to the edit list GUI. Currently, if we want to move 'Apples' to the top of a list that is 200 items long, we have to hightlight 'Apples' then click 'Move up' 200 times.
I know we can edit the MP to acheive this, but this fuctionality should be in the GUI. Plus those Ordinal's start to look strange when you start adding items to the list from the GUI.
@Travis & WarrenSpier
It's not only annoying, its a big problem since this our way of splittning the tasks (Incidents) to respective sections. We even use the Category/Type/Items for trends and other analytic disciplines.
Besides that I'm head of implementing SCSM in our organization (About 800 users) and we are in the middle of af POC development to show other departments that SCSM can whatever our existing system can (Thats Remedy), and that is a bit hard even without this issue.
So I'm really looking for a solution (I'm not good with SM Authoring tool yet i might ad)
BTW. If you customized your form then you can bind ListPicker to any level of hierarchical tree. From example above, you can bind listPicker to "Business Software" category. In this case only items below (in hierarchical tree) will displayed.
We just did an upgrade to SP1 and the cascade feature is still not available. Any ideas?
we want to prevent parent list item in incident classification list on end-user portal. How can we do it ? Is this possible?