Showing the Correct Display Name for Related Objects in View Columns

Showing the Correct Display Name for Related Objects in View Columns

  • Comments 13
  • Likes

When you create a new view in the Service Manager console, if you choose to base the view on a Combination Class (aka Type Projection), then you can choose to show properties of related objects in the column.  For example, in an incident view you might want to show the display name or user alias for the person that the incident is assigned to or who the related affected user is.

Unfortunately, when you do this today in the Service Manager console:

image

You end up with a column header that shows the property display name which in this case is ‘Display Name’.  That’s not very useful and can be downright confusing when you try to show two properties of related two different related objects such as the assigned to user and the affected user like this:

image

Which column is which???

Fortunately, this is fairly easy to fix by editing some XML in the management pack.  It’s a little tedious but at least it can be done.  In this blog post I’ll show you how.

First, you need to find the MP that your view is stored in the Administration/Management Packs view.  In case you don’t know exactly which MP here are some hints: Look at just the unsealed MPs – they are the only ones that will contain views.  Then look for ‘incident’ if it is an incident view, etc.

Once you find your MP, click Export in the task pane to export it out as an XML file and open it in some XML editor (notepad if you have to). 

Each view has a definition that looks like this:

image

Notice how each column is defined and for each column the DisplayName for the column header label is bound to a ViewString by having the same identifier:

image

The MPElement notation there then points to a StringResource later in the XML document:

image

And for each StringResource in each LanguagePack there is a DisplayString:

image

See how each display string right now is ‘Display Name’?  That’s what we need to fix by changing it to something more meaningful like ‘Affected User’ and ‘Assigned User’:

image

Keep in mind that if you have multiple language packs in your MP you will need to do this for each LanguagePack.

Now, save the MP .xml file and import the MP into SCSM – ignore the warning about losing data.  Close and reopen the console and you will see the new column header names:

image

That’s better!

As long as you created your views using the Service Manager console here is a hint: to do this quickly, just grab the unique number (e.g. 4c75e….) and do a find for that in the MP XML to quickly skip to the right DisplayString element in the management pack.  You don’t really need to worry about the ViewString, StringResource mapping elements in between.

Note: If you modify the view in any way these modifications will be reverted by the console so make sure you have the view just the way you want it before you make these changes.  If you need to make some changes you just need need to make the manual modifications again.  If you know you are going to do this ahead of time you could copy the DisplayStrings section in the XML and then just bulk replace that in the XML instead of surgically doing it one at a time.

Update: April 4 2011:  Kan Mongwa wrote a handy tool for manipulating column display names:

http://kmongwa.wordpress.com/2011/04/02/tool-for-editing-service-manager-view-column-names/

Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment
  • Hi Travis. Thanks this helps however if you Edit the view from the console it changes back to 'Display Name'

    Eg If you add a column to display or anything. The Affected User/ Assigned To User fields will default back to Display Name.

    How do I stop it from doing that?

  • @Sally -

    Yeah unfortunately that is something that is unavoidable.  The only way to do it is to get the view just the way you want it and then make these modifications and reimport the MP.  I'll update the blog post above to clarify this.

  • Travis, Thanks.

    Will this issue be fixed in SP1?

  • @Sally - at this point it is targeted for fix in the R2 release.

  • Travis, thanks for this info; however doing this did not successfully change the column names. Will this work on the default views, or only created views?

  • Ok, ignore my last comment.  Made the changes to the wrong view :)  Thanks.

  • @Darien -

    this should work for any view.  

  • Did SP1 include some fix to maintain the renamed columns?  I renamed a column, then in the UI, I modified the view (added more display columns and changed criteria).  The renamed column name persisted.  Good!

  • @Kan -

    Yes, at least SP1 fixed things so that custom column names are not overwritten.

  • Had to edit lots of columns so I wrote a tool.  If interested, grab it from kmongwa.wordpress.com/.../tool-for-editing-service-manager-view-column-names

  • @Kan -

    Nice, thanks for sharing!  I updated the blog post to point to your tool.

  • What are the Management Pack that have to edited on SM 2012.

    After making changes to all the Unsealed Management using the tool, I found it was only 2 management packs where the field was changed, and restarted the server.

    After importing still few view were still having "Display Name" as it is .. like All Open Incident view.

  • When I create a new view on the SCSM 2012 SP1 console I don't get any options to choose the class type, "Combination Class (aka Type Projection)".  I get general/criteria/display options.  None of these sections allow me to choose the class.  In the display columns I don't get any of the related items so I cannot show the "Assigned To / Affected User" fields.  What am I missing?