It's all about the answers!

Ask a question

How to use printModuleBook.dta ?


Sean F (74212232) | asked Apr 10 '18, 3:07 p.m.

RPE ships with a template for publishing DNG modules called printModuleBook.dta

The main schema that this module utilises is called 'views' and seems to be the schema obtained from the view schema query.
:-
https://server:port/rm/publish/views?metadata=schema

(the second schema used is called 'comments' and presumably publishes DNG comments)

When a DSX file is set up to try and use this DTA file to publish a module it requires a large number of parameters.

Many of the parameters are suffixed URI and presumably require CLM entity URLs

The full list of required URI parameters are
_baseLineURI
_configurationURI
_coverComponentURI
_coverConfigurationURI
_coverProjectURI
_moduleURI
_projectURI

_serverURL

The template does not ask for a _viewURI which is the one I was expecting to have to provide

I know how to find a project, module and view URI in DNG but not the others.

There are also 2 URI required for the 2 data sources respectively
comments
views

There are many other required external variables (not ending in URI) but I think these can be populated with any strings just to get the template actually working.
 
Is there a documented example of how to set up a DSX to publish a module view using printModule.dta

4 answers



permanent link
June Boston (1941031) | answered Apr 10 '18, 7:29 p.m.

That report uses a hidden REST API system (views) to configure itself.  Last time I checked, that wasn't documented, but you can get the URI from your rrdg and rm logs after you run an instance of the report (there's some cache value stuff in the URI so that link will go stale eventually and cannot be completely constructed without actually printing a printModule report).  Most of the external variables aren't needed, it's just for author data and stuff.  URIs starting with an _underscore are not ones you need to configure; just give it the correct views and it will configure the further URIs as needed with the appropriate RPE steps.  You'll pretty much have to reverse engineer the printModule report by running it with the views URI you pull from the rrdg logs.  Punch that URI through with your credentials and watch the log in RPE Studio and you'll have a good starting point.

The views module is one of the more efficient ways to gather large amounts of information from a specific module, which is presumably why you're modifying it.  It has some limitations though.  Have fun.


permanent link
Sean F (74212232) | answered Apr 11 '18, 11:40 a.m.
edited Apr 11 '18, 12:20 p.m.

Thanks June,

I will just ignore the _....URI variables for now and cponcentrate on getting a URI that will get something out of the template.

My understanding is that the DSX URI for the views datasource should be of the form

https://serverName:port/rm/publish/views?moduleURI=_YbK4wd6IEeaEaOW7hUvrNQ&viewURI=_iRsR8d6IEeaEaOW7hUvrNQ&projectURI=_uxdv8N3FEeaRC8I0G_Qhlg

with a view, module and project area URI all in agreement (i.e. the view must apply to the module and both must be in the project)

Here is the URI of my module

https://localhost:9443/rm/resources/_jvSfgSeqEeiIY4jSc2zQlg?oslc_config.context=https%3A%2F%2Flocalhost%3A9443%2Frm%2Fcm%2Fstream%2F_I3hlMCbhEeiejZ97BmNJiA

So I take the string _jvSfgSeqEeiIY4jSc2zQlg as the module ID (?)

Here is the URI of my view

https://localhost:9443/rm/web#action=com.ibm.rdm.web.pages.showArtifact&artifactURI=https%3A%2F%2Flocalhost%3A9443%2Frm%2Fresources%2F_jvSfgSeqEeiIY4jSc2zQlg&filterId=_hXYQMTzjEeialsG3CL8ZrQ&vvc.configuration=https%3A%2F%2Flocalhost%3A9443%2Frm%2Fcm%2Fstream%2F_I3hlMCbhEeiejZ97BmNJiA

So I take the string _hXYQMTzjEeialsG3CL8ZrQ (? from the filterId)

Then I just need the project URI

The project itself has the web browser URL:-

https://localhost:9443/rm/web#action=com.ibm.rdm.web.pages.showFoundationProjectDashboard&componentURI=https://localhost:9443/rm/rm-projects/_ILUmgCbhEeiejZ97BmNJiA/components/_I1u1cCbhEeiejZ97BmNJiA

Which I think gives a project URI of _ILUmgCbhEeiejZ97BmNJiA (?)

So I assemble my complete DSX URI as

https://localhost:9443/rm/publish/views?moduleURI=_jvSfgSeqEeiIY4jSc2zQlg&viewURI=_hXYQMTzjEeialsG3CL8ZrQ&projectURI=_ILUmgCbhEeiejZ97BmNJiA

But this gives

CRRPE1064I Error in engine
Auto: connection to https://localhost:9443/rm/publish/views?https://localhost:9443/rm/publish/views?moduleURI=_jvSfgSeqEeiIY4jSc2zQlg&viewURI=_hXYQMTzjEeialsG3CL8ZrQ&projectURI=_ILUmgCbhEeiejZ97BmNJiA failed. None of the known protocols succeeded.


Have I assembled my DSX URI incorrectly?


Comments
June Boston commented Apr 11 '18, 1:05 p.m.

So, if you look in rm.log you will see the views URI looks like this:

https://MYINSTANCE/rm/publish/views?moduleURI=https%3A%2F%2FMYINSTANCE%2Frm%2Fresources%2F_XYgngB0dEeaYCZ1vd-339w&projectURI=https%3A%2F%2FMYINSTANCE%2Frm%2Frm-projects%2F_frjFFFFGA44%2Fcomponents%2F_Ffjfhr333DDDDFFviewCacheId=3a31be29-e4fb-4ada-bd93-31f49b3ac1df&showAttributes=false&showEmbedTitles=true&maximiseEmbeds=true&size=100&vvc.configuration=https%3A%2F%2FMYINSTANCE%2Frm%2Fcm%2Fstream%2F_fjhth444hfhfFFF

So the key thing there is the viewCacheId=somehexvalue.  You cannot make that part up.  From what we can tell, it is provided by the context of the RRDG popup in DNG that generates the report.  When we develop reports using the views URI, we first go to our module-to-test, run a printmodulebook report, get the URI as above, and use exactly the URI in the logs.  You can drop the vvc.configuration if you don't need it, you can do it without the size= either, but you need that viewCacheId and you cannot make one up.  Sometimes it expires and you have to get a new one, like if the server bounces.


June Boston commented Apr 11 '18, 1:21 p.m.

Furthrmore:

If you test with the URI from the rm.log, then the report seems to function the same.  You will note with printModuleBook/printModuleTable reports, you cannot pass in more than one module.  DNG/RRDG seems to know this when the required data source is a views value (or perhaps it is one of the variables in the printModuleX report that we copied off of), so your custom reports can also not use multiple modules.  This is a limitation of the views datasource.  Because of the cacheId requirement, you cannot logically assemble views URIs and thus cannot use the RPE data source config block to change which module you are using.  It only works for one module, the one that triggered the report.


permanent link
Subramanya Prasad Pilar (3.4k13) | answered Apr 11 '18, 1:39 p.m.

You can check the document specification (.dsx) file created by DNG (RRDG). Configure "Logging" as explained in https://rpeactual.com/2014/11/26/how-to-enable-dng-debugging-for-document-generation/ and you will find the .dsx in %temp%\rrc_reports folder.

You can open this .dsx in RPE Launcher and check how the configurations are done. However, the URI set by DNG for "views" data source may not work from RPE. You should rather set the views URI as explained in https://jazz.net/wiki/bin/view/Main/DNGModuleViewExternalRequest

Attaching a document specification file created by DNG for your reference.


permanent link
Sean F (74212232) | answered Apr 12 '18, 10:20 a.m.

^^Thanks June

^Thanks Subramanya. In that link you provided it says

Prerequisites
Version 6.0.4 or later of Doors Next Generation (DNG) application must be installed.
IBM Rational Publishing Engine version 2.0 or later must be installed.

Does the Views API really require RPE 2.0 or should it work with 1.3 ?

I only have 1.3


Comments
Subramanya Prasad Pilar commented Apr 12 '18, 10:25 a.m.

RPE 1.3 also should work.

Your answer


Register or to post your answer.