Recently we upgraded our installation of Magic 7.51 to Service Desk Express 9.20. Our previous installation was on a single server, Windows 2000 and SQL Server 2000 SP4. Moving forward, we decided to split the application and database server, moving to Windows 2003 R2 SP2 and SQL Server 2005 SP2. The “upgrade” (if you can call it that given that it was a fresh installation of SDE 9.20 and migration of all data) went very well (all things considered) and on the Monday morning we had a very successful release – too successful!
Everyone knew we were doing the upgrade but everyone except us had forgotten – as such as people arrived for work people started talking about the new Magic and they started logging on to take a look. Before very long we breached our license count – the very same license count that had been working perfectly for the last three years! So what was the problem?
The answer was a surprise – there WAS a genuine increase in use as a result of a new and nicer looking Service Desk Express. However, the real problem was a technical issue – the Session_OnEnd() event of a classic ASP application (located in global.asa in C:Program FilesBMCService Desk ExpressApplication Server) running on Windows 2003 SP2 does NOT fire. Have a guess where the code that releases the license lives? (See below).
'Aveneri - 42128 - Remove User for this session.
Application("UserTrack").UserEnd DbConn, cstr(Session.SessionID)
This is a known issue with Microsoft and BMC and there is a workaround available from Microsoft for this (http://support.microsoft.com/kb/934903/en-us).
Anyway, thought I would pass on the information for anyone who this might affect – in the next post I will hopefully have some good news re a new project that, with a bit of luck might reduce some pressure on organisations license count. Thanks for reading – as always any comments are most welcome.
Awhile ago I posted something in MagicSolutions forum about minimising the navigator bar by default. As I use my blog here as a repository for tricks and tips etc. I thought it would be worth just documenting it here. So, if you would like the navigator bar minimised by default for ALL your users:
Open C:Program FilesBMCService Desk ExpressApplication Serveroptions_nailogo.asp in Notepad.
<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()">
<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();hideNavigation()" onunload="WinUnload()">
Hope this helps.
Thought this little “ditty” might be of use to someone…As Magic/SDE Administrators you are trying to persuade your users to enter their User Availability data and keep it up to date. Whilst this information is useful for the routing of calls etc. it is not displayed anywhere and consequently is only useful when actually assigning calls to users. It might be beneficial to be able to see, at a glance, all the users and whether (according to the user’s User Availability) they are in or out.
The key to doing this lies in joining the SMSYSUSERDATA and _PERSONNEL_ tables together. What I’ll demonstrate in this post is two ways in which this data can be used:
So the easy solution is to build a report – an IN/OUT board if you will, that will show the status of all members of staff. The SQL for this is:
SELECT P.[CODE], P.[NAME] + ', ' + P.[FNAME] As 'Name', CASE WHEN GETDATE() BETWEEN A.[NOTAVAILABLESTART] AND A.[NOTAVAILABLEEND] THEN 'Out' ELSE 'In' END As 'In/Out'
FROM _SMDBA_._PERSONNEL_ P JOIN dbo.SMSYSUSERDATA A ON A.[SEQUENCE] = P.[SEQUENCE] WHERE P.[_INACTIVE_:] = 0 ORDER BY P.[NAME]
Quite obviously you can change the query to your hearts content to return further fields e.g. phone number etc. You could also add an optional parameter to be able to search for a specific user as well.
This solution is really easy to do but has the obvious limitation that the user’s need to run the report for it to be of any real use.
So the alternative is to create a calculated field in the Support Staff module with the following SQL:
(SELECT CASE WHEN GETDATE() BETWEEN "NOTAVAILABLESTART" AND "NOTAVAILABLEEND" THEN 'Out' ELSE 'In' END FROM "SMSYSUSERDATA" WHERE "SEQUENCE" = "BASE"."SEQUENCE")
Now, if you then create a Quick View based on the Support Staff module you can add this field in it and even colour code based on whether the user is in or out.
In Out 01
In Out 02
As always, comments (positive and negative) are always welcome. Thanks for reading.