Updated 2015.10.22: select configuration changes for DM 6.0. See bullet #7 in the “Find the DM schema” section.
I’m writing this article to document my own experience learning how to setup and perform document generation from Design Manager.
This is a TL;DR article and once you get past it I recommend Kevin Cornell’s excellent DM Reporting Tutorial to get a better grasp of the concepts involved. I also recommend going through Integrating Design Management with Rational Publishing Engine.
- CLM 5.0.2 – no fixpacks
- Rhapsody Design Manager 5.0.2 – no fixpacks
- RPE 2.0 – latest fixpack
- Windows 7 64 bit
Continue reading “Getting started with document generation from Design Manager”
In this article I describe how to generate a document with RPE that contains DM resources and their linked DNG requirements. While the example uses DNG as a target the technique is applicable to other CLM sources or even DOORS 9 with slight changes.
Credit: thanks to Kevin Cornell for his excellent DM Reporting Tutorial .
How it works
Unlike other Rational data sources links are not stored in the representation of a DM resource. This means that if you request the Reportable REST representation of a Package there will be no links inside it. The links are stored separately and access via the the “collaboration/links” Reportable REST URI.
So in order to build a document that contains DM resources and linked requirements you have to perform these 3 steps:
- retrieve the DM resource.
- retrieve the links for the DM resource
- access the linked artifacts
The anatomy of the template reflects these 3 steps:
I will skip step 1 and describe step 2 and 3
#2 Retrieve the links for a DM resource
The links for a DM resource are retrieved from the the collaboration/Link service. The dmResourceID and the dmContextID properties are available in the resource you’ve got at step 1.
#3 Access the linked artifacts
Now that you have the link href all you need to do is access the information. Assuming all the links are for DNG text artifacts all you need is to convert the OSLC URL stored in DM to a Reportable REST form using a script like this and then access the DNG data through a Dynamic Data Source.
Reusing the template
The template is available on the Modelling Templates Page of the RPE DevWorks Wiki and is provided also as a reusable snippet. See the attachments section for:
- DM Links for Package Diagrams Example
- DM Links Snippet
Once imported in your template you connect your code to the snippet by adding code to set the baseURL, dmResourceID and dmContextID in the “add code here” Java Script block.
When running a report the end user must provide a number of inputs. Some cannot be avoided but most can and even better you can replace manual typing with value selection.
A simple scenario is choosing to print the content of a Rhapsody package. You do not know a priori what that package is so you design the template to accept the package name as a variable. To make things very efficient you can use a native filter on the predefined “AllPackages” query as shown below.
Native filter to select the desired package
Now “all” the end user has to do is type the right package name and he’ll get the report he wants.
Manually configuring the variable
But typing is error prone so you need to switch to Rhapsody to make sure you get the right value. The alternative is to equip the variable with knowledge at design time to allow RPE to assist the user in picking the right value. This is known as the RPE Configuration Layer.
In this example the scope for the packageName variable is the list of package names from the current model and the “knowledge” looks like this:
Configuration metadata at design time
This information enables the end user to use the “Configure using Metadata” action from the context menu of the “packageName” variable and select the package name from the displayed list.
Configuration metadata at runtime
The example template is available for download here.
The example uses DOORS 9 modules but it is applicable to any data source RPE supports.
The problem: create a document from multiple DOORS 9 modules.
The static solution: use the same template multiple times in a docspec with a different module each time. This is what is used in most cases and it’s the simplest solution when you have a fixed list of modules you want to report on.
The dynamic solution:
- create a list of the DOORS 9 modules you want included
- iterate the list and reconfigure the template data source with the information read from the list
The list can be kept in a DOORS 9 module or in a separate XML file. The list can generated/altered right before you start the document generation.
Continue reading “How to report from multiple data sources selected dynamically”
RPE does not generate PowerPoint natively. However Word can export a document in PowerPoint and PowerPoint can load Word documents as presentations. This means that you can get the CLM/DOORS 9/Rhapsody data in PowerPoint format via Microsoft Word with RPE.
A PowerPoint presentation from a Word document
Continue reading “Generate PowerPoint ready documents with RPE”
If you have ever had to generate a document that contains Requirements, the Test Cases that validate them and the related work items you’ve most likely ended up using (at least) 3 different data sources and you’ve had to use Java Script to switch between APIs.
Aside from a complex design, the performance of the report wasn’t that great as RPE had to crawl over all the data sources to fetch the required data.
Continue reading “Creating traceability documents with RPE and JRS”
There are 3 IBM provided ways of producing documents from DOORS 9 using RPE:
- RPE Launcher
- DOORS Publish Wizard
- RRDG based File->Export
NOTE: I have listed only solutions provided by IBM. There are other RPE based solutions provided by IBM partners such as GebsReporting, Baselines Inc, River North Solutions and more.
Continue reading “Automating DOORS 9 Document Generation with RPE”