How to make DB changes to tables that don’t appear in DB Admin

There are occasions when you might want to make changes to a module that is not normally available via the DB Admin tool e.g. changing the size of the Status ID field in the User Defined Status module. So how do you make these modules available?

The trick lies in the SMSYSFLAGS table. Open the SMSYSFLAGS table in SQL Enterprise Manager or equivalent and scroll down until you find the row with a Name = TableExclusions and a Value = GMT;SLA Default;Group Details;User Defined Status; etc.

Change the Value column to GMT;SLA Default;Group Details;zUser Defined Status; etc. i.e. Just put a ‘z’ in front of User Defined Status.

When DB Admin loads it excludes any modules it finds in this list. As User Defined Status is now no longer in the list (because it has been renamed to zUser Defined Status) it will not be excluded and will appear for editing in DB Admin.

Client Reference Field

One of the limitations of Magic/Service Desk Express is that you can’t sort on a free text field i.e. a column of data type ntext. More often than not this isn’t an issue and can be resolved by a variety of solutions. However, recently I had a complaint from a self-service customer because when viewing their incidents in self-service they couldn’t search their tickets.

My immediate reaction was that they could double click the column they wanted to search and enter the search criteria. However, that only works on fields other than ntext fields and calculated fields. If your organisation either doesn’t have a detailed category/subject tree or alternatively you have, for example, an other category that gets used a little more than it should, a customer with a lot of tickets (open or closed) can have a significant challenge in finding the correct ticket in question.

So a solution then:

Using DB Admin create a new field in the incident module of type text, allowing 255 characters (or less) and null. Call this field something like “Client Ref Text” as shown below:

Client Reference Field

Then using self-service customisation, add the field to the incident form such that users can enter their choice of reference text that will help them find the record in the future.

Additionally, you can modify the pop-up (Select all incidents) such that that field is in the list. Now they can double-click on that column and search using SDE/Magic’s built in functionality.

I would suggest that you also add this field to technicians incident form (making it read-only) and to their popup such that should a client quote this reference text as opposed to the incident no, the ticket can still be found.

As always, all comments/suggestions welcome.

Whiteboard ticker for support staff

The whiteboard ticker is a superb tool for communicating everything from major incidents to future outages. However, whilst it is on by default in Self-Service it is not for support staff using the core application. This post will address two issues:

a) How to turn the ticker on by default and

b) How to change the default refresh period to something other than 30 minutes

To fix both these issues we need to do a couple of hacks in options_nailogo.asp (located in C:Program FilesBMCService Desk ExpressApplication Server by default)

As these are hacks, please please please take a backup of this file before following the remainder of this post. Additionally, it is worth noting that after you install a patch from BMC for Service Desk Express, you need to check to see if the patch overwrote these hacks. If so, just reapply them.

Ok, so with that stuff covered let’s look at these two issues:

How to turn the ticker on by default?

This one is a complete doddle and there have been many posts in the MagicSolutions forums regarding how to do this. Open options_nailogo.asp in Notepad and scroll down until you see a line that looks like:

<body style="background-image:url(images/header_main_bkgd.gif); background-repeat:repeat-x;padding:0px; margin:0px;margin:0;border:0;height:100%;overflow:auto" onload="WindowLoad()" onunload="WinUnload()">

Edit this line so it looks like:

<body style="background-image:url(images/header_main_bkgd.gif); background-repeat:repeat-x;padding:0px; margin:0px;margin:0;border:0;height:100%;overflow:auto" onload="WindowLoad();StartWBTimer()" onunload="WinUnload()">

Save the file, log out and log back into Service Desk Express and you are done.

How to change the default refresh period to something other than 30 minutes?

This one is a little more complicated although not much. A while back someone in the group wanted to be able to default the ticker refresh period to five minutes as opposed to 30 minutes.

Open options_nailogo.asp in Notepad and scroll down a little where you’ll find some code that looks like:

<script Language="JavaScript">
var timerID=null;
var sRefreshTime=30
var timerRunning=false
var bPPS = ("1" == "<%= Response.Write((bPPS? "1" : "0"))%>")
var coldiv = "250px, *";
var fmstCall = "frmstNavDash";
var sUserName = "<%=DbConn.User.Name%>"
</script>

Edit this to look like:

<script Language="JavaScript">
var timerID=null;
var sRefreshTime=5
var timerRunning=false
var bPPS = ("1" == "<%= Response.Write((bPPS? "1" : "0"))%>")
var coldiv = "250px, *";
var fmstCall = "frmstNavDash";
var sUserName = "<%=DbConn.User.Name%>"
</script>

Save the file, log out and log back into Service Desk Express and you are done. The refresh rate will now default to 5 minutes.

Hope this is helpful. Any comments, as always, are very welcome.