It's all about the answers!

Ask a question

How to enable rich hover on Report Builder for artifacts belonging to a external OSLC application


Ricardo Herrera (263) | asked Feb 12 '20, 10:04 p.m.

Hello community, we have an external OSLC application which we have configured properly to create links with DNG, RQM or CCM. This application comes with a TRS implementation which allow us to register it on LQE so we can generate traceability reports on Report Builder. Everything works fine except when we move the mouse over a DNG requirement, for example, (in an RB report page), we can get the rich hover view (you know, the popup window with the most representative properties) of the artifact and this is not true when we do the same for one of our artifacts in the same page. Is there a way (configuration missing) to do it? So far we think this happens because in order to get such view (oslc:Compact), RB should have our application registered as friend, but we just cannot find a way to do it.


Thanks in advance.

One answer



permanent link
Davyd Norris (2.2k217) | answered Feb 13 '20, 1:33 a.m.
The rich hover capability is provided by the OSLC provider, so the rootservices document for that provider would need to expose that service.

When you say you have configured it to create links with RM, CCM and QM do you mean you have registered it as an application with your JTS? That would need to be done in order for ELM to know where to fetch the rootservices document.

If the external provider does not have that service available, then the ELM apps will not display anything on hover. If it does, then the ELM apps will provide a frame and them ask the external app to render into it. So if you get an empty frame, the service is there but it's not getting invoked properly, or there's nothing at the other end. If you don't even get a frame then ELM can't find the service for some reason.

Comments
Ricardo Herrera commented Feb 13 '20, 7:47 a.m.

Hi Davyd, thank you for your response. Yes, we registered this application with JTS and now it's friend (and consumer) of RM, QM and CCM. This application actually exposes the service for the rich hover because when we create a link from RM for example (let's say an "implemented by" link) and we hover it, we can see the small preview of our artifact in a popup window being at RM, the same happens from QM and CCM. So we know this OSLC application is exposing the service for that but Report Builder does not do the same. Why this could be?   


Davyd Norris commented Feb 13 '20, 8:42 a.m.
When you created the report, did the external source offer an attribute that represented the URL of the resource in question?

Report Builder needs an attribute that contains the URL of the resource, and then you need to format it or define its type as a URL - then the report will know what to do with it, however you may have to trick it into understanding if it doesn't pick up that you've supplied a URI.

If you go into the Advanced section, select to Edit the query, and change one letter anywhere and then change it back, you'll be able to save the query in advanced mode.

In advanced mode you can select the attribute type and one of the options is URI - then it will enable the hover

Ricardo Herrera commented Feb 13 '20, 12:24 p.m.

Yes, there is an attibute which is already a URL ("Jira Issue" column), check next screenshot (I'm sorry for not pasting it here but I don't have the required 60 points for doing so)



then if I hover on the Requirement link I got the rich hover:


but nothing happens when hovering on the Jira issue link. However, if you navigate to DNG and open the linked requirement, the rich hover to Jira is there!:


which means, the OSLC provider is providing the service and the content for the rich hover, as it is accessible from DNG (and also RM and CMM) but not from RB.



Ricardo Herrera commented Feb 13 '20, 1:00 p.m.

BTW inspecting the DOM of the report page, I can see the RM link has an extra "data-content" attribute with the iframe information embedded on it and that's missing for our link:




Davyd Norris commented Feb 14 '20, 1:07 a.m.
It looks like you may be out of luck and the Jira OSLC link that you're using doesn't support rich hover from the reporting API. I'd talk to whoever made the Jira side of the link to see if this is known.



Ricardo Herrera commented Feb 14 '20, 6:48 p.m.

Hello Davyd, I've contacted them and this is what they say:

Supporting rich hover is a combination of two services from OSLC perspective/API (once OAuth authentication is completed). In OSLC, each artifact must have a unique URL for accessing/identifing it. To get a rich hover frame of an artifact, the OSLC client must first request the oslc:Compact view of such artifact at the artifact's URL but with the "application/x-oslc-compact+xml" accept header, this will retrieve the oslc:Compact resource corresponding to the artifact which includes, among other things, the frame height and width and the URL for the content. It is up to the OSLC client to open this frame with such parameters and the frame it self is going to request the second service to load the content. In OSLC Connect for Jira, artifact URLs have the form http[s]://host[:port][/jira]/rest/oslc/1.0/cm/issue/XXX where XXX is the issue key you are interested in.


Ricardo Herrera commented Feb 14 '20, 7:01 p.m. | edited Feb 14 '20, 7:14 p.m.

  I tried then the REST client and this is what I got:



and making a request to https://hv5khx1:8442/jira/plugins/servlet/oslc/smallPreview?issueId=OSLC-11 actually gives me the frame content:


So I believe their implementation is ok according to OSLC API, could it be possible that RB has its own API for this? I noticed the URL used in the embedeed frame syntax for RM does not correspond to the artiafact URL -> /compact/html:

RM Artifact URL: 

RM Embedded frame URL:


Davyd Norris commented Feb 14 '20, 8:37 p.m.
Sounds like it may be worth following up with IBM then - it may be Report Builder not using the URL in the correct way, or it may be the Data Warehouse doesn't store the compact URL?

You could try retrieving the URL as a string and then having a look at it, and you could also use a custom field and manipulate it to get the correct form
showing 5 of 8 show 3 more comments

Your answer


Register or to post your answer.


Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.