Monday, March 25, 2013

This One is Huge!

UI ExtensionLast Thursday, at InfraVision's annual Customer Day, there was an important product announcement. In front of about 30 organizations that had gathered for this event at Schiphol airport's World Trade Center, a major new ITRP feature was unveiled.

Caution:  Before you read any further, it is only fair to warn you that the length of this blog post is directly proportional to the efficiency gain you may be able to derive from this new functionality (which is huge).

The functionality that was just added to the ITRP service did not come about overnight. Many support organizations already understand the benefits of offering their end users a self service portal. It is possible to get even more out of an online self service environment when you are able to route requests to the most appropriate team depending on the service and the type of request that that the end user submits. But apparently, there was another thing we could do to improve the return on an investment in self service.

Customers explained to us that, after a request has been submitted in ITRP's Self Service, the specialist who picks up the request often has to contact the requester to obtain some additional information before the request can be completed. This is a drag on the efficiency of an organization's request fulfillment process. If ITRP could make it possible to gather all the necessary information for each standard service request before it is submitted, then that could save a lot of time. This would benefit both the requesters as well as the specialists.

Essentially what was needed, according to our customers, was the ability to create custom forms for Self Service. These forms could then be related to request templates, so that when an end user has selected the type of request he or she wants to submit, this user could be asked to provide some specific information.

During the 2012 ITRP Customer Advisory Board meeting in Tuscan, Arizona we committed ourselves to adding this functionality. Following several months of steady development, we are proud to let you know that, as of today, it is available for your organization in ITRP.

How does it work?
We'll take a simple example to explain how a few fields can be added to the Self Service user interface for a specific type of request. Let's assume that your organization offers its users the ability to order external hard disk drives. You already have a request template registered for this so that end users can select this type of request in Self Service.

Because such requests require the approval of the requester's manager before they can be completed, the request template is related to a change template that automatically obtains the initial approval. But to give the approver some additional information, you would like the requesters to tell their managers why they require the external hard disk. So the first field we are going to add is a one-line text field in which the requester can specify the reason.

When you are in the Settings console, you will now find the "UI Extensions" option on the left side of your screen. After clicking on the New button in the toolbar, a new UI Extension will open. You can start adding a field by manually typing in HTML code, but it is much easier to open the Snippets section.

Empty Snippet
Here you can specify the field that you want to add without having to code.

Justification Snippet
After you click on the Append Snippet button, the code for this field will be generated and added to the UI Extension.

The advantage of this approach is that you do not need to code, but if you want to you can adjust the code so that it exactly meets your requirements.

Let's add one more field. If your company offers end users the choice between a storage capacity of 4 TB, 8 TB and 16 TB, then we can add a field to allow the requester to select the desired option. Again, we can use the Snippets feature to add this field and its options.

Capacity Snippet
Because we checked the Add to subject box, the option that the user selects will automatically be added to the subject of the request. Even though we have not been coding, the two fields are now defined in the HTML tab of the UI Extension.

If we save this UI Extension, we can test it by clicking on the hyperlink in the View tab. There we would see that, apart from the two fields that we just added, the default Subject and Note fields are still visible. If we do not want these fields to be visible to the user, then we can hide them.

To do that, we place the UI Extension in Edit mode, click on the CSS tab and open the Snippets section. There we hide the Subject field.

Hide Subject Snippet
And we also hide the Notes field, including the Attachment hyperlink.

Hide Note and Attachment Snippet
Again without having to do any coding, we have added some cascading style sheet code.

Now it is time to make sure that end users can fill out the two fields that we added when they go to Self Service to order an external disk drive. To do that, we click on the Save & Activate button. Next, we open the request template that is used for requesting an external disk drive and relate the new UI Extension to it.

Request Template
This makes the UI Extension available in Self Service.

Self Service
The information that the requester specifies in the UI Extension is added in readable format to the request. This makes it easy for the approver and the specialist to see what has been requested. The same information is also stored in a hidden field of the request. There it is stored in a structured format that makes it easy to pass this information to provisioning tools (e.g. to automate the creation of a user account or the installation of an application on someone's PC).

Self Service after Submit
A few final things to consider
1). Apart from adding HTML and CSS code, it is also possible to include JavaScript. This opens up amazing possibilities. You could, for example, add JavaScript to automatically show some additional fields when a user selects a specific value in another field. Or you could dynamically look up the options for a field from your organization's SAP production environment.

2). You can translate your UI Extensions in the languages that your organization supports. Translating the fields and field options ensures that they will be presented within Self Service in the preferred language of the requester. The translations of UI Extensions can be maintained in the Translations section of the Settings console. That is also where the translations for request templates, services and service instances are maintained.

3). All versions of a UI Extension remain available in ITRP. As soon as you activate an updated UI Extension, the previous version is archived. This makes it possible to perform a rollback when that is necessary.