It's all about the answers!

Ask a question

Cannot access artifacts in folders in DNG with ELM Python Client


Pablo de Llanos (111) | asked Jun 08 '23, 10:18 a.m.

 Hi,


Some time ago I asked about the use of the use of APIs in /rm module of DNG, and your answer claimed that Reportable API and OSLC where the way to go. Right now we are using the Reportable API and applying filtering in the JavaScript code. We are able to run the extensions via the XML gadget, still our problem is the time it takes to retrieve the data, load the JavaScript extension and update the front custom metrics based on the filtered data.

Our projects deal with a considerable amount of artifacts, and a greater amount of links to those, making the queries considerably large. After a lot of research in the forum, I bumped into this GitHub, still we cannot get all the artifacts due to a query limitation using the OSLC capability.  All we want is to read (GET) the attributes of artifacts, their IDs and the relation between those artifacts, similarly to what the integrated DNG Report Builder offers to in JSON format (and not xml+rdf)

My questions are the following:
1) Is there any JavaScript project example (apart from the RM extensions found in the documentation) that programmatically retrieves the artifact's IDs and attributes avoiding using OSLC or Reportable APIs? Or, at least, in a more modern way to filter by view (or by folders) in a project? Most of our projects are not contained in modules or collections.

2) Would there be any way to contact IBM (or any DNG developer) to have access to the private REST API for connecting our project extensions to the DNG database directly? Are there any more APIs to directly access our DNG database?

Thanks in advance for your reply.

Pablo


Comments
David Honey commented Jun 08 '23, 12:35 p.m. | edited Jun 08 '23, 12:37 p.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
Re: Q2
Short answer: No

Longer answer:

Private APIs (REST or Java) are not publicly documented and not intended for 3rd party use. Occasionally people reverse engineer such APIs. However, reliance on them is risky because they may change without notice, leading to fragile implementations, and their use is unsupported. We strongly discourage customers from using anything other than public APIs. In general, the underlying database schemas used by an application to persist data are also private. Direct access to such data via JDBC is not documented or supported.


Ian Barnard commented Jun 09 '23, 4:23 a.m. | edited Jun 09 '23, 4:25 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER

still we cannot get all the artifacts due to a query limitation using the OSLC capability


What do you mean by this? Which query limitation? 

My oslcquery example uses OSLC Query and can, for example, query the artifacts in a folder.

There are "limitations" of OSLC Query such as that you can't query for properties which don't have a value, and OSLC Query doesn't know anything about DOORS Next views, but there's nothing I can do about those.


Pablo de Llanos commented Jun 12 '23, 2:42 a.m.

Hi again, we are developing an "OpenSocial gadget" to visualize it on the dashboard of the "IBM Engineering Requirements Management DOORS Next (/rm)" module. Our problem arises when we try to retrieve the data from DNG. Right now we are retrieving the data in the following way: <domain>/rm/publish/resources?projectName=<projectName> + filters. We are adding some more filters from the Reportable Rest API documentation. However, these filters fall short nonetheless. The responses consist of 100,000 lines and take 40-60 seconds. We need to add more filters and perform more specific queries that this API (/rm/publish/) cannot handle. Is there another way to retrieve data from this module? Is there another REST API with more advanced filters?"

One answer



permanent link
Davyd Norris (2.5k217) | answered Jun 08 '23, 9:23 p.m.
What query limitation are you having with the OSLC API? You should be able to get everything. Same with the Reportable REST API. Both offer the ability to filter based on View and if you have a lot of data then you definitely want to filter it in some way.

If you are churning a lot of data then I would not be using the RM Client Extensions API - that could lead to some serious performance problems. That API is meant for more interactive requirement manipulation as a user in a browser.

Perhaps you can give us a bit more detail about exactly what you're trying to do? I've done quite a bit of this sort of stuff and have used several different approaches depending on what the actual goal is

Comments
Pablo de Llanos commented Jun 12 '23, 2:42 a.m.

Hi again, we are developing an "OpenSocial gadget" to visualize it on the dashboard of the "IBM Engineering Requirements Management DOORS Next (/rm)" module. Our problem arises when we try to retrieve the data from DNG. Right now we are retrieving the data in the following way: <domain>/rm/publish/resources?projectName=<projectName> + filters. We are adding some more filters from the Reportable Rest API documentation. However, these filters fall short nonetheless. The responses consist of 100,000 lines and take 40-60 seconds. We need to add more filters and perform more specific queries that this API (/rm/publish/) cannot handle. Is there another way to retrieve data from this module? Is there another REST API with more advanced filters?" 

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.