Hi Everyone,
Welcome to Useful Tiny Little Things, a series of topics published in the Process Automation blog. My name is Leandro Cassa and I work at IBM. The purpose of this series is to provide useful simple things that we sometimes have no idea exist. Most of these tips apply to any products based on Tivoli's process automation engine.
Today I'll show you how to customize “rich tooltips” or “record hovers”. If you still don't know what I'm talking about here is a hint.
On IBM SmartCloud Control Desk 7.5.1 or greater, Go To > Service Desk > Service Request, open a record, and hover over the Reported By field for a few seconds.
This is a powerful tool that allows the end user to find additional information about the value on a field, by clicking on this icon
or hovering the field for a little while. In this sample the field is Reported By, and instead of going into the Person application, it is possible to find more information that might be very useful. In this scenario I might just want to call this person and I have quick access to his phone number.
Notice that this feature is only available since SmartCloud Control Desk 7.5.1.
To modify or even create a hover dialog, Go To > System Configuration > Platform Configuration > Application Designer, Select Action > Export System XML, a dialog shows, select to export the RECHOVERS.
Save that file and open it on your preferred text editor. Remember to keep the original version of this file, just in case something goes wrong.
Notice that the structure of the xml file is the following:
<systemlib>
<recordhover>
...
</recordhover>
.
.
.
<recordhover>
...
</recordhover>
</systemlib>
In this article we will modify the record hover used on the Reported By field on the Service Request application. The image used above as a sample points to the entry <recordhover id="person_recordhover_1">.
Find that entry and lets take a look at its structure:
<recordhover id="person_recordhover_1">
<recordhoversection id="person_rhs_1" label="Person Details">
<recordhoversectioncol id="person_rhsc_1">
<recordhoversection id="person_rhs_2">
<recordhovertextbox dataattribute="personid" id="person_rh_1" label="Person"/>
<recordhovertextbox dataattribute="displayname" id="person_rh_2" label="Name"/>
<recordhovertextbox dataattribute="primaryphone" id="person_rh_3" label="Primary Phone"/>
<recordhovertextbox dataattribute="primaryemail" id="person_rh_4" label="Primary E-mail"/>
</recordhoversection>
</recordhoversectioncol>
<recordhoversectioncol id="person_rhsc_2">
<recordhoversection id="person_rhs_3">
<recordhovertextbox dataattribute="DEFLOCATIONSITE.description" id="person_rh_5" label="Site"/>
<recordhovertextbox dataattribute="department" id="person_rh_6" label="Department"/>
<recordhovertextbox dataattribute="SUPERVISOR.displayname" id="person_rh_7" label="Supervisor"/>
<recordhovermultiparttextbox dataattribute="timezone" descdataattribute="TIMEZONE.description" id="person_rh_8"/>
</recordhoversection>
</recordhoversectioncol>
</recordhoversection>
</recordhover>
We see the following tags:
- <recordhover>, the root tag
- <recordhoversection>, a section
- <recordhoversectioncol>, a section column
- <recordhovermultiparttextbox>, a multiple part text box
- <recordhovertextbox>, a simple text box
As you can see they are very similar to the tags available for a conventional presentation file.
Since this record hover already has a nice structure, let's just add and modify fields.
First let's add a new field using a relationship on a simple <recordhovertextbox>. On the <recordhoversection id="person_rhs_3"> add a new child tag as follows:
<recordhovertextbox
dataattribute="SUPERVISOR.PRIMARYEMAIL"
id="person_rh_supervisor_email"
label="Supervisor email"/>
If the person who reported this ticket is not answering the phone or something similar, we can now contact his supervisor via email. Now just for fun let's add the status field that shows the current status of that person. It is good to remember that such status is not an availability status. It is actually that user's status against the system—whether if that user is active or inactive, which means that person can or cannot login.
<recordhovertextbox
dataattribute="STATUS"
id="person_rh_status"
label="status"/>
That looks better, now lets upload the new version of the file.
Go To > System Configuration > Platform Configuration > Application Designer, click on the import button
and select the modified file.
At this point you need to restart your Application Server (MXServer) to apply the changes. After you restart the server, Go To > Service Desk > Service Request, open a record, and hover the Reported By field for a few seconds to check the results. It should look like this:
Now we have status and supervisor email fields.
Hope this helps you modifying your system to best suit your needs. Do not hesitate to add comments if you have questions or feedback.
Leandro Cassa