Self Service Ticketing in ServiceCenter 6.1 Best Practices for Implementing the ServiceCenter 6.1 Self Service Ticketing (SST) System HP OpenView IT Service Management Introduction...2 Purpose...2 Best practices for creating Employee Self Service (ESS) users...2 Methods of setting up users for ESS...2 Administrator mass setup or individual setup...2 LDAP authentication...3 Self service registration...3 Using FormatControl when receiving contacts from outside sources...3 The Self-Service Operator template...3 The Self Service user profile...4 Best practices for tailoring SST...4 Tailoring menus and formats...4 The out-of-box ESS Menu...5 What must be included in a self service request...5 Adding a new item for updating the user s contact information...6 Tailoring the appearance of the Web client...7 How do I tailor the Web client text and images?...8 Example of changing Web client logo images...8 Example of changing the Web client font and text color...10 Tailoring SST functionality...11 Best practices for integrating SST with other modules...13 How to update a SST request automatically when an Incident ticket was updated for the customer?...13 How to notify the contact when the service request is updated via the Incident ticket?...14 How to use SST as a front end to Incidents, Changes and Requests...15 How to use the contact fields in Service Management...16 For more information...17
Introduction ServiceCenter 6.1 Self Service Ticketing (SST) was introduced to enable end-users to request services via the Web quickly and efficiently; and to track, update and even cancel these service requests online. Moreover, a user logging in via the Web using the SST interface does not consume a license. ServiceCenter help desk technicians see these requests in their queues immediately and provide support to end users. In addition, updates that the technician enters into the user request can immediately be seen by that user as well. This minimizes the time the technician and the user spend on the phone and eliminates hold times. For SST to work best, help desk technicians have to monitor the call queue for incoming new calls constantly, and reply at least as fast to self service requests as they do to phone requests. SST interfaces with the ServiceCenter Service Management module, which tracks all customer interactions. Purpose This document, which is based on version ServiceCenter version 6.1.1, is intended to: Assist customers and partners in the best use of SST functionality. Provide best practices for setting up SST in ServiceCenter 6.1. Best practices for creating Employee Self Service (ESS) users The following section discusses how to set up operators who require access only via ESS. All other operators, such as help desk technicians, should already have their own operator records that include the settings required for their positions. To give the users who already have a ServiceCenter operator ID correct access to SST, you fill out the Self Service tab in the operator record with menu and starting-point information. The "Self Service Access Only" flag should never be set for these operators. Methods of setting up users for ESS There are four ways to create a self service user, using either: Administrator mass setup or individual setup LDAP Authentication Self service registration FormatControl when receiving contacts from outside sources All these methods are discussed in detail below. Additional information can be found in the ServiceCenter online documentation; click Application Administration -> Self service > Creating self service users. Depending on how contacts and operators are created in the ServiceCenter system, one option may be significantly better to use than the others. Administrator mass setup or individual setup If SST is introduced to a large group of users for the first time, and the customer has an accurate contacts database for all of the self service population, use the mass create function that creates a list of operator records based on the Self Service Template from contacts records. The mass setup creates an operator name based on the operator ID field in the contact record. HP OpenView ommends that you ensure that the operator.id field in the contact file contains the names of existing operators so that no duplication occurs. 2
New contacts that need to be set up after this initial setup can be done manually as described in the next paragraph; or their operator records can be set up using any of the other methods. To set up an individual contact for ESS use, the administrator can choose the Enable for Self Service option from the contact record. Alternatively, the administrator can create an operator record from scratch. LDAP authentication If the Lightweight Directory Access Protocol (LDAP) is used to authenticate operators, the ServiceCenter *SYSDEFAULT operator template has to be set up to define the ESS settings for users who will not have a specific, defined operator record. If individuals need different ESS settings or access to clients other than ess.do, they need a ServiceCenter operator record using the individual or mass creation of operators as described in the ServiceCenter documentation. Note: For additional information about using LDAP with ServiceCenter, see the white paper Using LDAP to Integrate Third Party Directories with ServiceCenter, which is available at the HP OpenView Customer Support Website (http://www.hp.com/managementsoftware/support). Self service registration Self service registration is useful when self service is available to users who are not in the contacts database, such as users at outsourced help desks and contract employees. The self registration process is initiated in the login application. It then calls a RAD application called ess.register that calls the SelfService.registerEssUser JavaScript, using first name, last name, email, and phone number as parameters. These parameters are hard-coded in the RAD so that information passed into the contacts record cannot be modified. Information entered into the operator can be modified by the self service template. Using FormatControl when receiving contacts from outside sources If contacts are created in ServiceCenter (such as an import received from other sources or Event Services), it is best to call the contacts.add.operator process from the FormatControl specified in the import record. To call this Process from FormatControl subroutines (with a condition of true for add and update), you call the se.call.process RAD application with the following parameters: Parameter file name boolean1 Value $file contacts.add.operator true The Self-Service Operator template It is very important that the Self-Service Operator template (which is the operator record called Template_SelfService) be set up according to your company's standards. This template differs from a regular user setup in the following areas: On the Login/Security tab, you click to select the Template Operator checkbox. A self service user does not need any information in the initial application on the Startup tab. The service management capability word is mandatory; the partial.key and partial.key.msg.skip capability words are optional, but recommended. On the Self Service tab, the following settings have to be made: o Self Service Access Only If this checkbox is checked, the user can access ServiceCenter only via the http://<servername>/sc/ess.do Web page. Regular access via the index.do page or via the Windows client will be denied. o Self Service Menu This menu should include the following applications: Search Service Requests, Submit Service Requests, View, Update or Close Service Requests, Change Password, and Log out. Optional Self Service Menu items can include a Service Request Queue. 3
o From the list of actions defined on the menu, a Self Service Starting Page can be selected. To simplify setting up the template (and consequently all self-service users), it is best to use a self service user role. The user role should contain only a Service Management profile, because only Service Management operations are allowed for self service users. The Self Service user profile The Service Management profile needs to include the settings shown in the following screen: The Use Operator Full Name and Lock on Display are checkboxes optional. None of the other options apply to self service users. The threading options can be adjusted to conform to your company's standards. All ESS formats must be filled in. These formats have to be user friendly to ensure that self service users can enter, update, and search for their service requests with minimal training. If the ESS menu shows Service Management Queues, a manage format must be defined and the initial inbox would be an optional value. Best practices for tailoring SST This section describes best practices for tailoring the SST system. Tailoring menus and formats The main consideration for tailoring menus and formats is to keep them as simple and selfexplanatory as possible for end users. SST should be used only for actions that are: Directly related to the person who is logged in; or Performed by the person who is logged in on behalf of a specific person. These include opening service requests for a customer, changing a user s password, or updating a person s contact information. This document describes the out-of-box menu and shows an example of how to add functionality to it. It also describes the out-of-box format and enhancements that are frequently requested. 4
The out-of-box ESS Menu With ServiceCenter 6.1, ESS users can submit service requests, find service requests, and view open and closed service requests that they submitted (on were submitted on their behalf by others). The following menu record shows the applications that are being called to perform the actions that are available on the ESS menu. With this information, more actions can be added to the ESS menu format and record. What must be included in a self service request The picture below shows the out-of-box format for submitting a service request. 5
The list of fields shown below should be included in a self service request. Most are included in the out-of-box system: These fields gather the following information from the user: For whom is the request? Who can be contacted with questions about the request? What form of contact does the customer prefer? Email address, a phone number, or another method? What is the contact information (such as the customer's email address and phone number). You can add fields that contain this information to the out-of-box system. What is a detailed description of the issue? How urgent is the issue (its severity)? For which piece of hardware or software is the request being made? Depending on the company's standards, other fields such as category can be added to the self service request. HP OpenView strongly recommends that you keep the number of fields to a minimum, and that you pre-fill as many fields as possible with default values to make sure the form is self-explanatory and easy to use. A label on the self service request format should indicate that, for urgent issues, the user should contact the help desk via telephone for an immediate response. Adding a new item for updating the user s contact information The following example shows how the ESS menu can be changed in an enterprise environment. Frequently, contact information is updated automatically from a human resources database and should not be manipulated by the user. In this example, the user can: Add a home phone number and a preferred method of contact, Review all other relevant information, and Inform the manager when contact information needs to be changed in the originating database. The following example shows how to add a contact update action to the ESS menu, including all the tailoring necessary for this functionality. 1. The first step is to determine which button ID is available in the ESS menu. In this example, the next available button ID is 9. 2. Open the Forms Designer in the Windows client and open the menu.gui.ess.sm format. 3. Click Design to go into design mode. 4. Click the composite button (which looks like a frame) that surrounds the Submit a Request label and button. 5. Copy this frame; its contents will be copied with it. 6. Paste it into the format and move it to the lower left of the format, underneath the last frame. 7. Click the Submit Request label and change the caption to Update Contact Information. Click the button to change the bitmap to profile. 8. Click the composite button (which looks like a frame) to change the button ID to 9. 9. Save the format and exit. 10. While you are still in Forms Designer, create a new format called ESS.contact.update.g. In Design Mode, add the following fields: Two labels with input field instead of caption condition: first.name last.name label: Welcome to ServiceCenter label: Please review the following information and inform your manager of any changes The following input fields and labels: Field office.cube (Read-only) Label Cubicle Number 6
Field home.phone email (read-only) contact.phone (read-only) user.type Label Home Phone Number Email Address Office Phone Number Preferred Method of contact Note: User.type is typically available in an outof-box system, but may be used in a customer system for other information. If it is not available, you can add a new field to the contacts table, such as method.of.contact. 11. Save the form and exit. 12. While still in Forms Designer, create a new QBE format against the contacts file. Using the Forms Designer wizard add the following fields: first.name, last.name, contact.phone, and email 13. Save the form and exit. 14. Click Utilities > Tools > Stored Queries. 15. Add a new stored query as described in the picture below: 16. Click Utilities > Tools > Menu (or enter menu in the command line) to select the ESS menu for updating with the new functionality. 17. Add a line in the menu as follows: 18. Save and exit. You can now test the new contact update functionality. Tailoring the appearance of the Web client Changing the looks of the ServiceCenter Web client is described in the "Tailoring" section of the ServiceCenter online documentation. The following example illustrates the techniques described there. 7
How do I tailor the Web client text and images? You can change the appearance of fonts and images in the Web client by creating your own theme that contains a custom HTML style sheet to override existing values. Using a custom theme allows you to preserve the existing provided styles and images that are provided by HP OpenView that any future upgrade process does not overwrite your tailoring changes. You should be familiar with HTML style sheets before attempting this procedure. Moreover, you must have administrative access to the Web application server's operating system for this procedure. 1. Log on to the ServiceCenter Web tier system. 2. Stop the Web tier Web application server. 3. Browse to the \ext folder of your ServiceCenter Web tier's context root. For example, \sc\ext. 4. Create a new folder named \css. 5. Browse to the \css folder and create a new folder for your custom theme, for example \custom. 6. Create a custom style sheet containing the fonts, text styles, and images you want to use. Important: Your custom style sheet must use the same style names as those used in one or more of the existing style sheets. To review all available styles, open the existing style sheets in the following paths: <Web application server installation>\sc\css <Web application server installation>\sc\cwc\css <Web application server installation>\sc\cwc\tree\css Note: Any image path URLs you use must be relative to the location of your custom style sheet. 7. Copy your custom style sheet and images into your custom theme folder. 8. Open the Web configuration file (web.xml) in a text editor. 9. Search for the following entry: <description>servicecenter client theme</description> <env-entry-name>alternatetheme</env-entry-name> <env-entry-value></env-entry-value> 10. Type your custom theme name for the value of the <env-entry-value> element. Important: This name must exactly match the folder name you created in step 5. 11. Restart your Web application server. The Web client should now use your custom style sheet and images. If it does not, then clear your Web application server's cache and restart it. Example of changing Web client logo images The following example changes the three images that make up the top frame of the Web client: header_left.gif This is the left-side logo image; it is 634 pixels wide and 52 pixels high. header_tile.gif This is the center logo image; it is 1 pixel wide and 52 pixels high. This image repeats (tiles) to fill the available space. header_right.gif This is the right-side logo image; it is 117 pixels wide and 52 pixels high. These resulting images appear as follows: 8
header_left.gif header_tile.gif header_right.gif Follow these steps: 1. Log on to the Web Tier system. 2. Stop the Web Tier Web application server. 3. Browse to the \ext folder of your ServiceCenter Web tier's context root. For example, sc\ext. 4. Create a new folder named \css. 5. Browse to the \css folder and create a new folder named \custom.. 6. Browse to the \custom folder and create a new style sheet file named custom.css. 7. Add the following entries to the custom.css file: FrameworkLogoLeft{ position:absolute; top:0px; Left:0px; background: #ffffff url(images/custom_header_left.gif); background-repeat: no-repeat; margin:0px; padding:0px; width:634px; height:52px; text-indent: -9999px; z-index: 1; }.FrameworkLogoBackground{ position:relative; overflow:hidden; z-index:0; top:0px; left:0px; border:0px; margin:0px; padding:0px; width:100%; background: #ffffff url(images/custom_header_tile.gif); background-repeat: repeat-x; }.FrameworkLogoRight{ position:absolute; top:0px; right:0px; background: #ffffff url(images/custom_header_right.gif); background-repeat: no-repeat; margin:0px; padding:0px; width:117px; height:52px; text-indent: -9999px; z-index: 1; } Note: The image path URLs are relative to the location of the custom.css file. 8. Save the custom.css style sheet. 9. Create a new folder named \images. 9
10. Browse to the images folder and create the following three custom images: custom_header_left.gif Create an image 634 pixels wide by 52 pixels high. custom_header_tile.gif Create an image 1 pixel wide by 52 pixels high. custom_header_right.gif Create an image 117 pixels wide by 52 pixels high. 11. Open the Web configuration file (web.xml) in a text editor. 12. Search for the following entry: <description>servicecenter client theme</description> <env-entry-name>alternatetheme</env-entry-name> <env-entry-value></env-entry-value> 13. Change the value of the <env-entry-value> element to custom: <env-entry-value>custom</env-entry-value> 14. Save the Web configuration file. 15. Clear your Web application server's cache. 16. Restart your Web application server. The Web client now uses your custom style sheet and images. Example of changing the Web client font and text color The following example changes the text style of the navigation tabs displayed below the banner frame, as follows: The default font size is increased from 10 to 14. The text color is changed from blue to red. Note: The Web Tier does not currently support changing the font or color properties of the body text displayed in main frame. The main body text uses a hard-coded font and size to prevent rendering errors and text cropping. Follow these steps: 1. Log on to the Web Tier system. 2. Stop the Web application server on the Web tier. 3. Browse to the \ext folder of your ServiceCenter Web tier's context root. For example, \sc\ext. 4. Create a new folder named \css. 5. Browse to the \css folder and create a new folder named \custom.. 6. Browse to the \custom folder and create a new style sheet file named custom.css. 7. Add the following entries to the custom.css file: body { font-family: Verdana, Arial, Helvetica, sans-serif; margin:0px; padding:0px; font-size: 14px; background-color: #FFFFFF; color: #FF0000; } 8. Save the custom.css style sheet. 9. Open the Web configuration file (web.xml) in a text editor. 10. Search for the following entry: <description>servicecenter client theme</description> <env-entry-name>alternatetheme</env-entry-name> <env-entry-value></env-entry-value> 11. Change the <env-entry-value> element value to "custom": 10
<env-entry-value>custom</env-entry-value> 12. Save the Web configuration file. 13. Clear your Web application server's cache. 14. Restart your Web application server. The Web client now uses your custom style sheet text properties. Tailoring SST functionality This section shows how you can implement SST to view Incidents related to your service requests. The following section shows how you can show incidents that are related to an Incident in an out-ofbox ServiceCenter implementation. You can make a similar enhancement for Change Management as well. Use the global variable $G.ess to determine whether a user working with a ticket is using the ess.do Web client. This variable is set in the login RAD application if the sysinfo.get( ess ) function returns true. A displayoption in displayscreen cc.edit.incident for View Related Records executes an ess.related action. The display option to view related records is set as follows: GUI Option: 500 Label: View Related Records Action: ess.related Condition: nullsub($g.ess,false)=true The action calls the Process ess.related from the sm.view State. Within this Process, you set the $G.ess.related variable to true and call the se.view.engine RAD application with the following parameters: file - $L.file and prompt - $L.format. For proper processing, the $G.ess.related variable has to be reset in the following Processes: Process cc.browse.init cc.cloneadd cc.new.call cc.search.init Required changed line with $G.ess.related if ($G.ess=true) then ($L.format=nullsub(ess.edit.format in $G.sm.environment, "ess.sm.update");$g.ess.related=null) if $G.ess then ($L.related.id=incident.id in $L.file;$L.related.filename="incidents";$G.ess.related=NULL) if ($G.ess=true) then ($L.format=nullsub(ess.initial.format in $G.sm.environment, "ess.sm.open");$g.ess.related=null) if (filename($l.file)="incidents") then ($L.format=nullsub(search.format in $G.sm.environment, "cc.search.incident");$g.ess.related=null) The Process ess.determine.edtfmt is then used as an initialization process from sm.view to define which format will display the list of related records: if $G.ess.related=true then $L.format= ess.related The ess.related format consists of the header and the ess.screlate.incident.vj subformat as described below. 11
The table uses a doubleclick ID of 501, which triggers the displayoption for the cc.edit.incident displayscreen that has the GUI Option set to 501. This new displayoption has to have a condition of $G.ess=true, an action of find, and a label called Find. When this find action is executed, the related incidents from the service requests are displayed using the following format, as defined in the im.view.init Process: if $G.ess then $L.format= ess.browse.incident The details of the ess.browse incident format can be seen below. It consists of the number label, a read-only comfill with no buttons enabled for the priority, a read-only text field for the status, and a read-only text area for the description (action). The following displayoption changes for cc.edit.incident are necessary to display only the correct buttons when viewing the list of related incidents: 12
GUI Option Label Action Change condition to 1 Resubmit clone evaluate(open in $G.sm.environment) and open in $L.filed="Closed" and nullsub($g.ess, false)=true and nullsub($g.ess.related, false)=false 1 Clone clone evaluate(open in $G.sm.environment) and nullsub($g.ess, false)=false 2 Submit ok add and nullsub($g.ess.related,false)=false 7 Close esscloseme add and nullsub($g.ess.related,false)=false 421-424 Get-Answers getans. add and nullsub($g.ess,false)=false 950 View Alert Log alert.log add and nullsub($g.ess,false)=false 4500 Filteractivity filteractivity change to nullsub($g.ess,false)=false 5067 Search Get- Answers getans.search add nullsub($g.ess,false)=false To ensure that only those buttons to which the user should have access are available while viewing related incidents, the condition and nullsub($g.ess, false)=false has to be added to most buttons within the apm.edit.problem display screen. Exceptions to this requirement are: GUI Option Label Action Change condition to 3 Back back nullsub($g.ess,false)=true 420 Get-Answers>Open getans.open false 424 Search Knowledge Base kmsearch true 604 Service Evaluation evaluation false The fastest way to modify all conditions for display options of apm.edit.problem is to perform a mass update. Follow these steps: 1. Go to Database Manager in administrative mode, click to select the file displayoption, and search for "displayscreen=apm.edit.problem" 2. Click Options -> Mass Update -> Complex update. 3. In the "Expressions to be executed for every record" enter: condition in $file=str(condition in $file) + and nullsub($g.ess,false)=false 4. Once the mass update is complete, change the conditions of the GUI options mentioned in the table above, and change options 12, 590, 651, 6010 and 4500 to contain only the following condition: nullsub($g.ess, false)=false Best practices for integrating SST with other modules This section addresses several questions that you may have about integrating SST with other modules. How to update a SST request automatically when an Incident ticket was updated for the customer? Every update to the Incident ticket is sent to the originating call automatically when the customer visible flag is set to true. This is the default, out-of-box functionality for ServiceCenter 6.1. 13
This update is defined via the activity record in the ioevents file, which points to an action in the ioaction file, which is then processed by the sc.activity and ioevents.schedule RAD applications. Example of the ioaction record to update service requests from their related Incident tickets The following JavaScript code is called from this action: function customervisibleupdate( activity ) { var str = "Related Incident "+ activity.number +" has been updated."; var update = system.functions.insert(activity.description,1,1,str); } return relatedcallupdate( activity.number, "probsummary", "Incident Update", update ); This JavaScript causes a schedule record of class linker to be written. The schedule record then updates the call and adds an activity for the service call. How to notify the contact when the service request is updated via the Incident ticket? The activityaction used by this background update is called Update Activities. To notify the contact that the service request has been updated, this activityactions record can be updated with a notification. The following condition is met when the linker process updates the call: $G.bg and not null($update.action) and $update.action~={""} and $update.action~={} and $sm.activity="external update" 14
To add a notification, enter the name of the notification record in the notification column for the row with this condition. The following (an SM Update) shows a typical notification: This notification uses the message "sm 10" that issues the following simple text: "Call %S has been updated." To use a different message, create a new record in the notification file with the following settings: Msg Class: sm Msg Number: 130 Arguments: incident.id in $L.file Condition: true Format: (Optional) Notify Method: email Recipient(s): contact.name in $L.file The scmessage record may have the following text: "Service Request number %S has been updated. Please log in to view the information." Optionally, a format can be used to display the information in the notification, including the update information of the update.action field. How to use SST as a front end to Incidents, Changes and Requests Some customers may want to use SST as the end-user access to all ServiceCenter capabilities: Incident, Change and Request. This is similar to enabling the service desk to take calls for all types of service requests. To accomplish this, you can use a drop-down to allow the user to select the type of service requested. Based on this selection, the appropriate information can be collected and displayed. The service desk can then monitor each service request, and either resolve the request or open the appropriate Process record in Incident, Change or Request Management. To implement this, add a field called call.type to the incidents dbdicts, and then add it to the ess.sm.open and cc.edit.incident formats. The call.type field can contain, for example, the values 15
Incident, Change, and Order, which the help desk technician can use to decide whether a customer wants to report an incident, initiate a change, or place an order. For Changes and Orders, additional fields such as requested.by will be helpful (and can be hidden for Incidents). The Description label can be changed to Justification for Change types. For Orders the Description label could be changed to Items Requested and Justification. How to use the contact fields in Service Management The different contact fields are used on the ESS, Take New Calls, and Incident Management forms. They are labeled differently on each form. The different labels are listed in the bulleted items below: "Contact for this request" or Who to contact (callback.contact field) This field on the SST open call screen (ess.sm.open) indicates whom to contact in case there are additional questions. It is used only in Service Management, and not in Incident Management. For example: o An office colleague opens a service request because you cannot get network access. In this case values in both the "Contact for this request" and "This request is for" fields would contain your contact information, and not that of your colleague. o A local IT technician manages infrastructure for a group, and handles all its technical issues. If the technician opens a call for someone in the group, the Contact for this request contains the technician's name, and the This request is for field contains the name of the person who is experiencing the issue. "This request is for" or Who the call is for (contact.name field) This field appears on all Service and Incident Management screens. It contains the actual user of the system that is being affected. This person is usually associated with, or the owner of, the failing configuration item. "Who reported the call (alternate.contact field) This field contains the name of the person who is reporting the issue, and this is often used by an administrator or colleague who is reporting the problem on behalf of a co-worker due to the nature of the issue. This field is entered on the call screen, and is also used in Incident Management as an alternate contact. In such a case, the Who to contact can contain the name of either the person who reported the call or the user for whom the call was made. Service Level Agreements (SLAs) are always based on the contact.name field. 16
For more information Please visit the HP OpenView support web site at: http://www.hp.com/managementsoftware/support This web site provides contact information and details about the products, services, and support that HP OpenView offers. HP OpenView online software support provides customer self-solve capabilities. It provides a fast and efficient way to access interactive technical support tools needed to manage your business. As a valuable support customer, you can benefit by being able to: Search for knowledge documents of interest Submit and track progress on support cases Submit enhancement requests online Download software patches Manage a support contract Look up HP support contacts Review information about available services Enter discussions with other software customers Research and register for software training Note: Most of the support areas require that you register as an HP Passport user and sign in. Many also require an active support contract. To find more information about support access levels, go to the following URL: http://www.hp.com/managementsoftware/access_level To register for an HP Passport ID, go to the following URL: http://www.managementsoftware.hp.com/passport-registration.html 2006 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. The only warranties for HP products and services are set forth in the express warranty statements accompanying such products and services. Nothing herein should be construed as constituting an additional warranty. HP shall not be liable for technical or editorial errors or omissions contained herein. HP, OpenView, and ServiceCenter are registered trademarks of Hewlett-Packard Development Company, L.P. JavaScript is a trademark of Sun Microsystems, Inc., in the United States and other countries. 12/2006