Providing a common look and feel to all Service Desk Express forms

OK – so before anyone gets too excited and thinks that I (or BMC for that matter) have provided something like a template that all forms can inherit from (wouldn’t that be useful) – let me stop you there. I haven’t! However, as I got extremely bored of building the same forms and laying them all out slightly different, it became quickly apparent that some sort of template was needed. Apart from anything else, when others create forms on “my” systems it can quickly end up looking very disjointed/uncontrolled.

So, what follows is a template of numbers that will at least cause every form to have a similar look and feel and, although not perfect, is a fairly good match to the out of the box forms provided by BMC.

Control FG Colour BG Colour X Pos Width Y Pos Height
“Main Form” #FFFFFF
“Button Box” #DDDDDD 0 735 0 60
“Separator Line” #000000 0 735 20 0
“Open Button” 1 25 1 25
“Save Button” 36 25 1 25
“Copy Button” 51 25 1 25
“Clear Button” 76 25 1 25
“Delete Button” 101 25 1 25
“InActive Field” 663 20 5 20
“Previous Button” 663 Leave Blank 38 Leave Blank
“Next Button” 712 Leave Blank 38 Leave Blank
“Form Title Text” Dark Blue – Bold 7 100 33 20

Clearly, there is a whole bunch of other stuff that you could do as well – one thing I would also suggest is that you add the Sequence field next to the “Form Title Text” field as it makes integration/database queries much easier.

Anyway, hope this helps – as always comments (positive or negative) always welcome.

FULL DB Schema for Service Desk Express 9.20

The colleagues I work with keep asking me for a database schema for Service Desk Express 9.20 as it makes writing reports a whole lot easier. Whilst I know that BMC have gone some way to resolve this with the inclusion of the schemas in the documentation, the problem with these are:

a) There all on different pages – don’t get me wrong, I understand why, but it limits the usefulness of them.

b) Far more importantly, I imagine that there are very few implementations that don’t involve the creation/modification of a table or column. Consequently, the database schema is immediately out of date. In fact, it is already out of date as it does not include the Integration Engine tables.

So enough whinging – what am doing about it. Well I have created a Visio 2003 DB diagram of the entire database that is valid for a standard install of Service Desk Express 9.20. Every foreign key is included (I hope) along with all the correct field types and sizes. It is available free of charge to download and use as you find helpful. My theory being that you can update it to include your new tables and fields and hopefuly it will please your database administrators too!

SDE DB Diagram With Segregation Foreign Keys

SDE DB Diagram

SDE DB Diagram Without DB Segregation Foreign Keys

SDE DB Diagram

It is quite possible I have made a mistake in this schema – if I have please post a comment and I will update it as soon as I have time. Many thanks, and thanks for reading.

Query to show which navigator bars are assigned to which groups/users

I recently had a requirement to document the assignment of navigator bars as part of a migration, showing which navigator bars were assigned to which groups/users, before and after the migration. As we had over 100 groups, 450 support staff and some 20 or navigator bars, the idea of doing this manually did not appeal. Consequently, I developed a query to return the information I needed and thought it might be of use to others:

SELECT IsNull(G.[CODE], '--Default--') As 'Group', IsNull(P.[FNAME] + ' ' + P.[NAME] + ' (' + P.[CODE] + ')', 'Default') As 'Support Staff', N.[NAVNAME] As 'Navigator Bar' FROM dbo.NAMSYSHTMLASSIGNS A JOIN dbo.NAMSYSHTMLNAVIGATORS N ON N.[SEQUENCE] = A.[HTMLSEQ] LEFT JOIN _SMDBA_._GROUPS_ G ON G.[SEQUENCE] = A.[_GROUP_] LEFT JOIN _SMDBA_._PERSONNEL_ P ON P.[SEQUENCE] = A.[_MEMBER_] WHERE (G.[_INACTIVE_:] = 0 OR G.[_INACTIVE_:] IS NULL) AND (P.[_INACTIVE_:] = 0 OR P.[_INACTIVE_:] IS NULL) AND A.[TYPE] = 0 ORDER BY 1,2

It made the writting of my document somewhat simpler.

Self Service Authentication – Switching Between Authentication Options

Before Service Desk Express, when “Windows” authentication was not an option for the core product, the installer for Magic (whilst woeful in comparison to nowadays) used to have an option to have “Windows” authentication for Self-ServiceClient Services. Nowadays, the installer gives you the choice between “Windows” for the core product and for Self-Service or just the core product – ah, progress!

Anyway, for those organisations that want “Windows” for Self-Service but not for the core product, I thought I would post a quick “How-To:”

So, log onto the application server using, for example, remote desktop. Open IIS Manager by clicking on Start > All Programs > Administrative Tools > Internet Information Services (IIS) Manager. Assuming that you have installed the product in the Default Web Site, expand the Default Web Site, right-click on the Self-Service virtual directory (called HelpDesk by default) and select Properties for the popup menu that appears. Click on the Directory Security tab and click the button to edit Authentication and access control. Uncheck Enable Anonymous Access and check Integrated Windows authentication. Click OK to exit that window and OK to apply your changes. You will be presented with a screen that looks like the image below:

Inheritance Overrides

*** IMPORTANT ***

You MUST click the button to Select All and then press OK. You can close IIS Manager and log-off the application server.

One final thing to do – tell Service Desk Express that you want to use “Windows” authentication for Self-Service. To do this you need to run the following script against the SDE database:

UPDATE dbo.SMSYSFLAGS SET VALUE = '1' WHERE NAME = 'featUseIntegratedLoginSSHD'

And that is it. To reverse the process run the script above replacing the ‘1’ with ‘0’, check the Enable Anonymous Access and uncheck Integrated Windows authentication. Again, do NOT forget to click the Select All on the Inheritance Overrides window that appears.