Friday, May 19, 2006

Customizing ITSM "Personal Preferences" form for additional user preferences

In my past two projects, I've had a requirement to add additional user preferences to the Help Desk application. The theory behind this article could apply to a custom application as well as the ITSM suite. You have to put that preference somewhere that users can access and change it.

When you want to add a new setting for Remedy users, consider adding it to SHR:PersonalPreferences rather than User or SHR:People.

Often developers take the approach of adding it to User. After all, most of the time, the entries in the User form represent people who will using the Remedy application.

There is no easy way to access the User form from the Remedy ITSM application. Support users would have to be savvy to know that they would have to open the User form. And then, you may not want to make it easy to open the User form and modify it.

So, some developers turn to the SHR:People form. They reason that people can easily open their profile right from the Help Desk Case. This may be a good approach, but if you have a large number of people in the SHR:People form, it could take a long time to query that preference. Also, most custom fields added to SHR:People lead to lengthy customizations on SHRCFG:ConfigPeople as well as SHR:People, doubling your workload.

However, you have the perfect form sitting in front of you and yet few developers choose to use it. It is easy for support users to access, right on the Support or Management Console. SHR:PersonalPreferences is the form I am speaking of. Support users can set their own preferences, easily, and database performance won’t be affected by such a small query.

To use the workflow, follow Remedy’s lead. When the preference setting is needed, it can be retrieved from the Personal Preferences form and stored in a display-only field. For example, a company may want to have a button to run the SMSadmin.exe (a Remote Control client). Because SMS will install itself in different locations depending on your available hard drive space, each person may have a different path to the application. The system can store each person’s SMS Path in SHR:PersonalPreferences, retrieving it only when the user uses the Remote Control button.

When I added one new field to SHR:PersonalPreferences, I had to modify 2 forms and 6 Active Links. In the technical part of this article, I will go into the workflow that you will change.

Forms:

  • SHR:PersonalPreferences – Add your new preference setting(s) here. You may also wish to add trim fields to organize the new data.
  • SHR:PersonalPreferencesDialog – Open the PrefsTableField field, and add your new setting as a column. This display-only form is used when people select a preference to modify.

Active Links
  • SHR:SHRPRE-AddPref04 – Add your new settings to the list of fields saved (pushed) that the user clicks the Add buton.
  • SHR:SHRPREF-OnOpenRfshForm – Add your new settings to the fields that are retrieved when a user clicks Personal Preferences on the Support/Management consoles.
  • SHR:SHRPREF-OnRtnPeople+04 – Add your new settings to the fields that are retrieved when a user enters a login name and presses enter to retrieve the settings.
  • SHR:SHRPREF-SelectPref1 – Add your new settings to the fields that are retrievevd when the user chooses preferences from the SHR:PersonalPreferencesDialog form.
  • SHR:SHRPREF-ModPref05 – Add your settings to the Set Fields qualification, so that the system will check for your settings when looking for duplicate preferences.
  • SHR:SHRPREF-ModPref05 – Add your settings to the fields that are saved when the user clicks the Modify button.


You will also have to add fields and workflow to retrieve, check, and use the settings you’ve added. This workflow will vary based on what your settings are meant to do.

No comments: