Rational Publishing Engine with Rational DOORS

13,072 views
12,839 views

Published on

Published in: Technology
0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
13,072
On SlideShare
0
From Embeds
0
Number of Embeds
250
Actions
Shares
0
Downloads
1
Comments
0
Likes
7
Embeds 0
No embeds

No notes for slide

Rational Publishing Engine with Rational DOORS

  1. 1. Using Rational Publishing Engine to extract data from Rational DOORS Dan Ani Reporting Arena Team Leader www.reportingarena.com
  2. 2. About the author <ul><li>Reporting Arena is part of Global E-Business Solution Group, an IBM Business Partner that became IBM Software Services Business Partner for Rational Tools in 2010. </li></ul><ul><li>Reporting Arena is formed by a large part of the team that developed IBM Rational Publishing Engine, team that also developed and maintained Telelogic DocExpress. </li></ul><ul><li>The team has been active in the document generation world for the past 8 years gathering invaluable expertise in the real-world document generation needs. </li></ul>
  3. 3. Services <ul><li>At Reporting Arena, we specialize in providing enterprise-grade services for publishing needs, by setting up a correct documentation process and adopt it to your organization specific needs. </li></ul><ul><li>Template Design and Optimization </li></ul><ul><ul><li>With many years of first-hand experience in the document generation world, including the development of Rational Publishing Engine, and long exposure to many Data Source repositories and real-world documentation needs we are in a good position to handle complex scenarios including the creation of cross-products documents. </li></ul></ul><ul><li>Custom Solutions </li></ul><ul><ul><li>Rational Publishing Engine is a great solution for document generation needs but there are tasks that require additional capabilities that might not be immediately available in RPE. We provide custom solutions that enable Rational Publishing Engine to fully meet your requirements. </li></ul></ul><ul><li>Migration from other document generation technologies </li></ul><ul><ul><li>Rational Publishing Engine supersedes IBM Rational SoDA and IBM Telelogic DocExpress. Reusing the SoDA and DocExpress templates will not only prevent from wasting the resources spend to create these assets but will also reduce the time needed to create and validate matching RPE assets. </li></ul></ul>
  4. 4. Introduction <ul><li>The goal of this tutorial is to present the basic steps that a user has to perform in order to extract data from a specific DOORS Module, and to follow links to get information from all linked modules. </li></ul><ul><li>Also in this tutorial the user can find information about DOORS Schema Discovery process, advance filtering using Javascript, fancy Table formatting and some valuable information about defining and using variables in Master Pages. </li></ul>
  5. 5. Prerequisites <ul><li>Microsoft Windows XP/Vista/7 </li></ul><ul><li>Rational Publishing Engine 1.1.1.2 or later </li></ul><ul><li>Rational DOORS 9.1 or later ( 9.1 is the older version supported by RPE ) </li></ul><ul><li>Microsoft Word 2003/2007 (to visualize the output document) </li></ul><ul><li>Basic knowledge of using Rational Publishing Engine </li></ul><ul><li>Basic knowledge of using Rational DOORS </li></ul>
  6. 6. Use Case 1/3 <ul><li>Output Document Description </li></ul><ul><li>I’m looking to extract all objects from a DOORS Module, for each object to display the Object Text, and Object Heading attributes (if they are not empty). Then I’m looking through all linked objects and I want to get all children of that linked object (if any). The information from the linked module will be display into a Table, and will contain 3 attributes: Absolute Number, Created On and Object Text. </li></ul><ul><li>Also a Master Page will be created, and in the Header I will display the current chapter, representing the headings from the main module. The template will contain some additional structures like: Table of Contents and Table of Tables and it will have a title page section. </li></ul>
  7. 7. Use Case 2/3 <ul><li>Step to obtain the desired Output Document </li></ul><ul><li>1. Iterate through all the module objects, and display the Object Text and Object Heading attributes, if they are not empty. </li></ul><ul><ul><li>[add DOORS schema, create Paragraphs, Containers, set queries, use conditions] </li></ul></ul><ul><li>2. Use and configure a Data Source Configuration element to extract data from the linked module </li></ul><ul><ul><li>[use the Target Full Name attribute of the Module/Object/Link element to reconfigure the DOORS Data Source of the linked module ] </li></ul></ul><ul><li>3.Extract all the children of the linked object </li></ul><ul><ul><li>[use a special filter using Javascript to select only those objects from the linked modules that are children of the linked object] </li></ul></ul><ul><li>4. Use schema discovery process to add a new object attribute to the schema </li></ul><ul><ul><li>[add the Created On attribute to DOORS Schema, using Schema Discovery process] </li></ul></ul>
  8. 8. Use Case 3/3 <ul><li>5. Create a Table element to display 3 attributes for the objects from the linked module </li></ul><ul><ul><li>[create a Table element, drag specific attributes, use specific conditions and formatting to display the Table in a fancy manner] </li></ul></ul><ul><li>6. Create a Master Page with Header and Footer </li></ul><ul><ul><li>[in Header display the current chapter (current level 1 heading from the main module), and in the Footer display the page number sequence] </li></ul></ul><ul><li>7. Add additional template structures like: Table of Contents and Table of Tables </li></ul><ul><li>8. Create the first page </li></ul><ul><ul><li>[add document title, author, and specific first page formatting] </li></ul></ul><ul><li>9. Document Specification will be configured to extract the desired data and to generate the output document for Microsoft Word. </li></ul><ul><ul><li>[use the System Requirements module, from the demo DOORS project with minor modifications] </li></ul></ul>
  9. 9. Desired Output Document Header section: on left side: static text on right side: current chapter Font-family: Arial 10 Main Module Objects (Object Heading and Object Text) Linked Object (use left indentation: 50) Linked Object Children display a Table with 3 columns header (background-color: #C0C0C0) use left indent: 50 Footer section Page Number / Total Pages Number font family: Arial 10
  10. 10. Checkpoint 1. Iterate through all the module objects and display some attributes 2. Use a Data Source Configuration element to extract data from the linked module 3. Extract all the children of the linked object 4. Use Schema Discovery process to update schema 5. Display the children objects attributes into a Table 6. Create a Master Page with Header and Footer 7. Add ToC and ToT elements 8. Title page 9. Configure Document Specification
  11. 11. Add a DOORS Data Source 1/2 <ul><li>The first step is to open the Rational Publishing Engine in Studio perspective. </li></ul><ul><li>Go to File menu, and select New->Document Template </li></ul><ul><li>To extract information from DOORS we need to have in our template a proper Data Source schema. </li></ul><ul><li>Add a DOORS Data Source schema using the Data Source Schemas entry from the Outline view. </li></ul><ul><li>Right click, and select Insert->Data Source Schema… </li></ul>
  12. 12. Add a DOORS Data Source 2/2 <ul><li>In the Add Data Source Schema wizard, on the second page, select the default DOORS schema, using schema type DOORS , and as Data Source ID type : “MAIN_MODULE” </li></ul><ul><li>Click Finish to insert the DOORS Data Source Schema into the template. </li></ul>
  13. 13. Set Module/Object Query Create a Container: Select the Container element in the Palette view and click in the desired location in the Template Content Editor. Set the Module/Object query [$1] to the Container: Drag the desired query from the Data Source Schemas view and drop it on the Container. NOTE: It’s recommended to use the Container element when you want to iterate a collection of elements. The Container element will not add extra empty Paragraphs.
  14. 14. Display Object attributes <ul><li>Create two Paragraphs and add them to the Container. </li></ul><ul><li>Expand the Object element from the DOORS Data Source schema; drag Object Heading attribute into the first Paragraph, and Object Text into the second Paragraph. </li></ul>In this moment in our template we iterate through all module objects, and display for each object two attributes, each one in a separate Paragraph.
  15. 15. Display only non empty attributes 1/3 <ul><li>In order to only display non empty attributes, we will create two conditions, one for each Paragraph. </li></ul><ul><li>To filter the non empty Object Heading attributes, select the first Paragraph, right click and select Data->Edit Condition… </li></ul><ul><li>The Set Condition for Current Element editor will open. </li></ul>
  16. 16. Display only non empty attributes 2/3 There are two ways to create script conditions using this editor: 1) Use embedded operations (right part) to create simple conditions. 2) Drag the operands from the left side and create complex conditions using javascript language. NOTE: Each time it’s recommended to test your condition using the Test Script Expression Dialog, by pressing the Test button.
  17. 17. Display only non empty attributes 3/3 <ul><li>To filter Object Heading attributes the condition will be: Object_Heading != “” </li></ul><ul><li>The process to create the condition for the second attribute will be similar </li></ul><ul><li>The script expression is: Object_Text != “” </li></ul>NOTE: For safety, save the document template from time to time.
  18. 18. Checkpoint 1. Iterate through all the module objects and display some attributes 2. Use a Data Source Configuration element to extract data from the linked module 3. Extract all the children of the linked object 4. Use Schema Discovery process to update schema 5. Display the children objects attributes into a Table 6. Create a Master Page with Header and Footer 7. Add ToC and ToT elements 8. Title page 9. Configure Document Specification
  19. 19. Insert Data Source Configuration element 1/4 <ul><li>To get data from a linked module we need to obtain the necessary information to configure that DOORS Data Source. </li></ul><ul><li>Create a new Container and set the Module/Object/Link query [$2] on it. This query should be in the context of $1. </li></ul><ul><li>We want to follow only the In Links , so we need to use a native filter . </li></ul><ul><li>Select the newly created Container, and go to Properties view, Data->Filter property and open the Filter Editor . Choose the Native Filter tab, and insert the “Link direction in” text. </li></ul>NOTE: Read more about DOORS native filters on RPE Help
  20. 20. Insert Data Source Configuration element 2/4 <ul><li>Create a new Container into the last one. </li></ul><ul><li>Set the Module/Object/Link/Linked Object query [$3] on this Container. Set this query in the context of $2 query. </li></ul><ul><li>Insert a Data Source Configuration element at the same level with the last created Container </li></ul><ul><li>In order to configure this last element we have to add a new DOORS Data Source schema into the template. </li></ul><ul><li>Insert a new DOORS Data Source schema, and set its name to be: LINKED_MODULE </li></ul><ul><li>Now in the template we will have two DOORS Data Sources. One for the Main Module, and one for the Linked Module </li></ul>
  21. 21. Insert Data Source Configuration element 3/4 <ul><li>Go to Outline view. Expand Data Source Schemas node, select LINKED_MODULE Data Source Schema and drag it into the Data Source Configuration element from the template. </li></ul>Drag Data Source Schema into the Data Source Configuration element
  22. 22. Insert Data Source Configuration element 4/4 <ul><li>All we have to do now, is to properly configure this second DOORS Data Source. </li></ul><ul><li>A DOORS Data Source can be configured either using Module URI or Module ID properties. In our case, we will configure the DOORS Data Source using the Module URI. </li></ul><ul><li>Steps to configure: </li></ul><ul><ul><li>Select the Data Source Configuration element </li></ul></ul><ul><ul><li>Go to Properties view and select the Formatting->dynamic configuration->URI property. </li></ul></ul><ul><ul><li>Open the Set URI value dialog, using the Browse button </li></ul></ul><ul><ul><li>Select the Source Full Name attribute of $2 – Module/Object/Link query </li></ul></ul><ul><ul><li>This attribute contains the URI of the Linked Module </li></ul></ul><ul><ul><li>Press OK button, and we have a properly configured DOORS Data Source </li></ul></ul>
  23. 23. Checkpoint 1. Iterate through all the module objects and display some attributes 2. Use a Data Source Configuration element to extract data from the linked module 3. Extract all the children of the linked object 4. Use Schema Discovery process to update schema 5. Display the children objects attributes into a Table 6. Create a Master Page with Header and Footer 7. Add ToC and ToT elements 8. Title page 9. Configure Document Specification
  24. 24. Insert all necessary queries to extract the linked object children <ul><li>Create a new Container, below the Data Source Configuration element. </li></ul><ul><li>Drag from LINKED_MODULE Data Source, Module/Object query [$4], and drop it to the Container. </li></ul><ul><li>In this Container create a new Container element. This Container will be used to filter only the children of the linked object from the linked module. Set the name of this Container: LINKED_OBJECT_CHILDREN </li></ul><ul><li>Create a new Paragraph inside the last created Container, and drag the Object Heading attribute. The attribute is in the context of $4 query from the LINKED_MODULE Data Source. </li></ul>NOTE: Use the Zoom Editor if you want to zoom on a specific element from the template.
  25. 25. Use internal variables and conditions to filter only the children objects 1/4 <ul><li>Create an internal variable named _ linked_object_heading to store the value of Heading Number attribute of the linked object </li></ul><ul><ul><li>Go to Outline View </li></ul></ul><ul><ul><li>Select Variables node </li></ul></ul><ul><ul><li>Use contextual menu on this node, and select Insert->New Variable … </li></ul></ul>Variable name should be unique Insert a variable description (for external variables) NOTE: Set appropriates names to variables. As a best practice, internal variables should start with _ Set a default value for current variable Select variable type
  26. 26. Use internal variables and conditions to filter only the children objects 2/4 <ul><li>Steps to perform the filter: </li></ul><ul><ul><li>Use the Container with $3 query on it to assign variables. </li></ul></ul><ul><ul><li>Use Assign Variable mechanism to store the Heading Number value of the linked object </li></ul></ul><ul><ul><li>Use contextual menu from the Container, and select Data->Edit Assignments option. The Assignments Editor will open. </li></ul></ul><ul><ul><li>Add _linked_object_heading variable </li></ul></ul><ul><ul><li>Switch to Data Expression tab and select the Heading Number attribute of the $3 query. </li></ul></ul>
  27. 27. Use internal variables and conditions to filter only the children objects 3/4 <ul><li>When we pass through all the linked module objects, we will select only those objects (children) that have the Heading Number attribute starting with the value of _ linked_object_heading. </li></ul><ul><li>Create a condition on LINKED_OBJECT_CHILDREN Container, and use the value of the internal variable. </li></ul><ul><li>Use the drag & drop features of the editor to create the condition. All the script expressions are javascript expressions. </li></ul>
  28. 28. Use internal variables and conditions to filter only the children objects 4/4 <ul><li>Add another condition to display Object Heading attribute just when this is not empty </li></ul><ul><li>The script expression will be: Object_Heading!=“” </li></ul><ul><li>In this moment the template content should look like this: </li></ul>
  29. 29. Checkpoint 1. Iterate through all the module objects and display some attributes 2. Use a Data Source Configuration element to extract data from the linked module 3. Extract all the children of the linked object 4. Use Schema Discovery process to update schema 5. Display the children objects attributes into a Table 6. Create a Master Page with Header and Footer 7. Add ToC and ToT elements 8. Title page 9. Configure Document Specification
  30. 30. Use DOORS Schema Discovery to add a new object attribute 1/2 <ul><li>For each child object we want to display a Table with 3 Cells. In each Cell a different attribute will be displayed. </li></ul><ul><li>The 3 attributes are: Absolute Number , Object Text and Created On . If the first two attributes are already in the default DOORS schema, for the third attribute [ Created On ] , we have to use the DOORS Schema Discovery process to improve (update) the schema. </li></ul><ul><li>In the Outline view, select the LINKED_MODULE Data Source, use the contextual menu and select Edit Using Schema Discovery…. DOORS Schema Discovery Wizard will start. </li></ul>
  31. 31. Use DOORS Schema Discovery to add a new object attribute 2/2 <ul><li>Select the DOORS connection type (using existing DOORS instance/ new DOORS instance) </li></ul><ul><li>Select a module (in this tutorial the System requirements module, from the rpe_demo project is used) </li></ul><ul><li>Select the Current baseline </li></ul><ul><li>Check the Created On – object attribute </li></ul><ul><li>Go to the end of the wizard and press Finish. The old DOORS schema will be replaced by the new updated one. </li></ul>
  32. 32. Checkpoint 1. Iterate through all the module objects and display some attributes 2. Use a Data Source Configuration element to extract data from the linked module 3. Extract all the children of the linked object 4. Use Schema Discovery process to update schema 5. Display the children objects attributes into a Table 6. Create a Master Page with Header and Footer 7. Add ToC and ToT elements 8. Title page 9. Configure Document Specification
  33. 33. Create a Table to display child object attributes 1/2 <ul><li>To display these attributes, create a Table element, with 2 Rows and 3 Cells. </li></ul><ul><li>The first Row will be the Table Header, and the second one the Table Content. </li></ul><ul><li>Insert this Table into the LINKED_OBJECT_CHILDREN Container, below the Paragraph. </li></ul>Now in the LINKED_MODULE schema we have all the requested attributes: Absolute Number, Object Text and Created On
  34. 34. Create a Table to display child object attributes 2/2 Table Header – all Cells contain only static text <ul><li>In the second Row – Table Content </li></ul><ul><ul><li>First Cell: Absolute Number attribute </li></ul></ul><ul><ul><li>Second Cell: Created On attribute </li></ul></ul><ul><ul><li>Third Cell: Object Text attribute </li></ul></ul>
  35. 35. Display Table only if objects have text We have to create a condition, to filter only those objects with Object Text attribute non empty. Add a condition on Table element. Using the Set Condition for Current Element editor from the right side, create the condition: Object_Text!=“”
  36. 36. Add condition to display the Table Header only once <ul><li>Create a condition to determine if the Table Header (first Row) was already printed. If so, we will not display this Row again. </li></ul><ul><li>Create an internal variable _firstRowWasPrinted . This variable value will be false only the first time when the Table is displayed. </li></ul><ul><li>Create a Container below Data Source Configuration element. Use this Container to assign the _firstRowWasPrinted value to false </li></ul><ul><li>Create a special Container inside de Table element and drag the first Row into this Container. On this Container we will add our condition, to check if the Row was already printed. </li></ul><ul><li>Create another Container element below the special Container, and use it to assign the _firstRowWasPrinted variable to true </li></ul>
  37. 37. Advanced Table formatting 1/3 <ul><li>Create a new style for Header Cells </li></ul><ul><li>Go to Outline view, right click on Styles node, and select Insert->New Style… option. </li></ul><ul><li>New Style Wizard will open </li></ul><ul><ul><li>Set the style name: CellHeaderStyle </li></ul></ul><ul><ul><li>In the Select Style Properties page, select the Cell element, and add it to the result list. </li></ul></ul><ul><ul><li>Go to the last page and press Finish . The style will be added into the Styles node . </li></ul></ul>
  38. 38. Advanced Table formatting 2/3 <ul><li>Configure CellHeaderStyle style </li></ul><ul><ul><li>Select the style in the Outline view </li></ul></ul><ul><ul><li>Go to Properties view </li></ul></ul><ul><ul><ul><li>Set cell->font->bold to true </li></ul></ul></ul><ul><ul><ul><li>Set cell->color->cell background color to C0C0C0 </li></ul></ul></ul><ul><li>Drag the newly created style from the Outline view on each Cell from the first Row (Header) </li></ul><ul><li>Set Cell dimensions on both Rows: </li></ul><ul><ul><li>First Cell: 100 </li></ul></ul><ul><ul><li>Second Cell: 100 </li></ul></ul>
  39. 39. Advanced Table formatting 3/3 <ul><li>Select Table element </li></ul><ul><ul><li>Set Formatting->Specific->auto fit to autofit to window </li></ul></ul><ul><ul><li>Set Formatting->Specific->resize to fit contents to false </li></ul></ul><ul><li>Indent all child content </li></ul><ul><ul><li>In LINKED_OBJECT_CHILDREN Container select the Paragraph, and in the Properties view, set Formatting->Indentation->left indent to 50 </li></ul></ul><ul><ul><li>In the same Container select Table element, and set Formatting->positioning->left indent to 50 </li></ul></ul>
  40. 40. Checkpoint 1. Iterate through all the module objects and display some attributes 2. Use a Data Source Configuration element to extract data from the linked module 3. Extract all the children of the linked object 4. Use Schema Discovery process to update schema 5. Display the children objects attributes into a Table 6. Create a Master Page with Header and Footer 7. Add ToC and ToT elements 8. Title page 9. Configure Document Specification
  41. 41. Create Master Page 1/7 <ul><li>Create a Master Page (ContentMP) </li></ul><ul><ul><li>To create a new Master Page in RPE go to Outline view, select Master Pages node, and choose Insert->New Master Page… </li></ul></ul><ul><li>Use this Master Page to present the content </li></ul>Master Page Name – should be unique Optional: A short description of this Master Page Master Page Orientation Size empty – default paper size (In Word A4) NOTE: In a template could be more than 1 Master Page elements. For each Master Page a new editor will be created
  42. 42. Create Master Page 2/7 Define Header section 1. Create a Table having one Row with two Cells 2. Create in the first Cell a Text element with static content (“ Reporting Arena” ). 3. In the second Cell create a Text (with no value for the moment) 3.1 The second Cell will contain the current heading of level 1 from DOORS Main Module Level 1 Heading
  43. 43. Create Master Page 3/7 Define Header section 4. Create an internal variable (_currentHeading) and store the value of current Object Heading of level 1 into this variable. 5. Double click on the Text from the second Cell, use the Data Expression tab, and select _currentHeading variable. NOTE: The only way to add dynamic content into the Header or Footer sections it’s to use variables.
  44. 44. Create Master Page 4/7 Define Header section 6. Go back to Template Editor to assign the proper value for the _currentHeading variable 7. Create a Container as a first element of the main Container. 8. Use this Container to assign the value of _currentHeading variable 9. Use contextual menu, select Assign Variables and Script Expression tab 10. Use level attribute and Object_Heading attribute to construct the expression
  45. 45. Create Master Page 5/7 Format Header section table auto fit – autofit to window resize to fit contents - false cell width – 200 Table cell borders cell alignment – center right resize to fit contents - false
  46. 46. Create Master Page 6/7 Define Footer section <ul><li>Create a Paragraph into the Footer </li></ul><ul><li>In order to display in Footer Page page nr. Of total pages number structure we have to do: </li></ul><ul><ul><li>Create a Text having “Page “ text as content </li></ul></ul><ul><ul><li>Create Page Number element </li></ul></ul><ul><ul><li>Create a Text having the content the text “ of ” </li></ul></ul><ul><ul><li>Create Total Pages Number element </li></ul></ul>
  47. 47. Create Master Page 7/7 Set font style in Header and Footer <ul><li>Select Header element, and in Properties view go to Formatting->font node </li></ul><ul><ul><li>set font size to 10 </li></ul></ul><ul><ul><li>set font family to Arial </li></ul></ul><ul><li>2. Add the same formatting information to Footer element. </li></ul>
  48. 48. Use Master Page Drag the Master Page element from the Outline and drop it in the area of the Paragraph containing the attribute Module/Object/Object Heading . <ul><li>To view a different chapter in Master Page, we have to force the Master Page to change, each time when a Object Heading of level 1 is displayed. </li></ul><ul><li>Select the Paragraph with the Master Page, and in the Properties view go to Formatting->common->force page change. Create a script expression, to change the page when the object level is “1” </li></ul>
  49. 49. Checkpoint 1. Iterate through all the module objects and display some attributes 2. Use a Data Source Configuration element to extract data from the linked module 3. Extract all the children of the linked object 4. Use Schema Discovery process to update schema 5. Display the children objects attributes into a Table 6. Create a Master Page with Header and Footer 7. Add ToC and ToT elements 8. Title page 9. Configure Document Specification
  50. 50. Add Table of Contents <ul><li>Create ToC </li></ul><ul><li>Create a Container as the first template element. </li></ul><ul><li>Create a Paragraph element into this Container </li></ul><ul><li>Create a Text having as content the text “Table of Contents” into the Paragraph </li></ul><ul><ul><li>set Paragraph property font-size : “24” </li></ul></ul><ul><li>4. Create a Table of Contents element below the Paragraph </li></ul>NOTE: After document generation is finished on WORD, in case you are not using some special macros, to see the Table of Contents , select all the content, right click, and choose “Update Field”.
  51. 51. Checkpoint 1. Iterate through all the module objects and display some attributes 2. Use a Data Source Configuration element to extract data from the linked module 3. Extract all the children of the linked object 4. Use Schema Discovery process to update schema 5. Display the children objects attributes into a Table 6. Create a Master Page with Header and Footer 7. Add ToC and ToT elements 8. Title page 9. Configure Document Specification
  52. 52. Add Title Page <ul><li>Create a Container before ToC Container. Set the name to be: “Title Page” </li></ul><ul><li>To have the Title Page on a separate page, create a Page Break element between the title Container and the ToC Container. </li></ul><ul><li>Create 3 Paragraphs into the Title Page Container </li></ul><ul><li>In the first one create a Text having the static text “Extract all System Requirements” as content. </li></ul><ul><li>In the second one display the author name </li></ul><ul><ul><li>For this we have to create an external variable (author), to set at runtime the name of the author. </li></ul></ul><ul><li>6. In the third one, use a script expression to display current Date. </li></ul>
  53. 53. Format Title Page <ul><li>First Paragraph </li></ul><ul><ul><li>set “Title” style (drag from Styles node) </li></ul></ul><ul><ul><li>set spacing->before spacing : “200” </li></ul></ul><ul><li>Second Paragraph </li></ul><ul><ul><li>set spacing->before spacing : “50” </li></ul></ul><ul><ul><li>set alignment->paragraph alignment : “right” </li></ul></ul><ul><li>Third Paragraph </li></ul><ul><ul><li>set alignment->paragraph alignment : “right” </li></ul></ul>
  54. 54. Final Template 1/2 Intro Part
  55. 55. Final Template 2/2 Content Part
  56. 56. Checkpoint 1. Iterate through all the module objects and display some attributes 2. Use a Data Source Configuration element to extract data from the linked module 3. Extract all the children of the linked object 4. Use Schema Discovery process to update schema 5. Display the children objects attributes into a Table 6. Create a Master Page with Header and Footer 7. Add ToC and ToT elements 8. Title page 9. Configure Document Specification
  57. 57. Running the report <ul><li>Select the Launcher Perspective to be able to: </li></ul><ul><ul><li>Configure the Data Sources </li></ul></ul><ul><ul><li>Configure the Microsoft Word Output </li></ul></ul>The Microsoft Word Output Main Module – DOORS Data Source Author name – external variable RPE Template
  58. 58. Configure Data Sources 1/4 <ul><li>This tutorial uses DOORS rpe_demo project as data content. Please download and restore this project into your DOORS database. Inside this project there are 2 DOORS Formal Modules. One is the System requirements and the other one is the module containing all the linked objects ( Car user reqst ). </li></ul><ul><li>In real word scenarios it could be more then 1 linked modules. </li></ul>
  59. 59. Configure Data Sources 2/4 Select the MAIN_MODULE Source , open contextual menu and Configure Data Source… Use Data Source Selection Wizard to select the System requirements module
  60. 60. Configure Data Sources 3/4 Use a running DOORS instance When a DOORS Data Source is present in a document template, there are two ways to configure that Data Source: using a running DOORS instance or using a new DOORS instance. In the first scenario (using existing DOORS instance) all we have to provide is the module URI, baseline and view [optional] and to set the property new_instance to false
  61. 61. Configure Data Sources 4/4 Use a new DOORS instance The DOORS connection information, such as the username, password, and the properties, doors_home, doors_param and new_instance need to be provided if we want to use a new DOORS Instance to extract data. In this scenario, the property new_instance should be set to “true”. In both scenarios, the LINKED_MODULE Data Source will not be configured, because this Data Source is a dynamic Data Source and will be configured/re-configured during the generation process.
  62. 62. Configure Word Output Select the Output -> Target: Word . Open contextual menu and select Configure Output… The Configure Word Output dialog will open. Select the path of the Word Output Document. Select a Stylesheet : “rpe.dot” Stylesheet Word file comes with the RPE installation. Select a macro : peUpdateFields to update Table of Contents.
  63. 63. Results 1/2 Title Page Table of Contents
  64. 64. Results 2/2 Content Page Main Module Object Linked Object Table with all linked object children Footer Section (page number / total pages number) Header: Chapter Name
  65. 65. More Information <ul><li>RPE Online Help </li></ul><ul><li>http://publib.boulder.ibm.com/infocenter/rsdp/v1r0m0/index.jsp?topic=/com.ibm.help.download.tpe.doc/topics/publishingengine_version1_1.html </li></ul><ul><li>RPE Developer Works Forum </li></ul><ul><li>http://www.ibm.com/developerworks/forums/forum.jspa?forumID=1512 </li></ul><ul><li>RPE Community Wiki </li></ul><ul><li>http://www.ibm.com/developerworks/wikis/display/rpe/Home </li></ul><ul><li>Rational DOORS </li></ul><ul><li>http://www-947.ibm.com/support/entry/portal/ Overview/Software/Rational/Rational_DOORS </li></ul>
  66. 66. Media Channels <ul><li>Reporting Arena on YouTube </li></ul><ul><li>http://www.youtube.com/ReportingArena </li></ul><ul><li>Reporting Arena on Twitter </li></ul><ul><li>http://www.twitter.com/ReportingArena </li></ul><ul><li>Reporting Arena on Facebook </li></ul><ul><li>http://www.facebook.com/Reporting-Arena </li></ul><ul><li>Reporting Arena on LinkedIn </li></ul><ul><li>http://www.ibm.com/developerworks/wikis/display/rpe/Home </li></ul>

×