Noob DOORS Output questions

I've got a fairly (I think) straightforward requirements module. On my preferred view, it contains only 2 attributes: the Object Identifier (Prefix & Absolute Number) and <Object Heading & Object Text>.

I've been looking at how I can output this to Word and the various capabilities of using Paragraph Style and Word Templates. I think I understand this fairly well. I have been unable to figure out how to accomplish the following and would appreciate any clues if it is possible.

 

1) EVERY ID prints out in the form "ID: XXX-###", where XXX=prefix and ### is absolute number. Is there some way to suppress the "ID: " part, so that only the XXX-### appears?

2) EVERY ID prints out on a seperate line (in the word doc) from the <OH & OT> attribute. I'd prefer these appear on the same line, but have yet to be able to figure out how to make that happen. I'm also not sure if I should look on the DOORS side or the Word template side for clues.

3) EVERY ID prints out, where I would prefer to suppress the IDs associated with Header lines. There are other places I'd like to suppress IDs, but I suspect that I could apply the same solution to these also.

 

I'm sure I'll have other questions, but would appreciate any clues to how to deal with the listed situations. Thanks in advance for any help.


blade_buddy - Wed Aug 21 13:02:27 EDT 2013

Re: Noob DOORS Output questions
PRM - Wed Aug 21 18:21:03 EDT 2013

Looks like you have chosen the "Book" export format.

Maybe consider the "Table" export format which inserts each object in DOORS as a row in a table in MS Word, so this will place the ID in it's own column and in line with each requirement paragraph. Some people don't like the table look and feel, the table borders makes it look a bit heavy, so just remove the borders in MS Word and it now looks like it's all in one unbroken line. Once it's in a table format you can use some of the whizz bang features of MS Word to apply table styles. The only downside with the "Table" format is that if you are using any DOORS table structures, these are not exported as a nested table, but as rows for each table object - is this your situation?

If you want to suppress ID's for specific objects such as headings, a DXL (DOORS Extension Language) macro driven column will need to be created that only displays the value of the built in "Object Identifier" attribute for specific objects. There are two choices for DXL driven columns, DXL Layout and DXL Attribute. The general rule is use DXL Attribute for large complex DXL macros, use DXL Layout for simple macro's which is what this would be. The code to only display headings could be as simple as the the following.

if ((obj."Object Heading""" == "") && (obj."Object Text""" != "")) display identifier(obj)

Paul Miller
Melbourne, Australia

Re: Noob DOORS Output questions
blade_buddy - Thu Aug 22 11:46:57 EDT 2013

PRM - Wed Aug 21 18:21:03 EDT 2013

Looks like you have chosen the "Book" export format.

Maybe consider the "Table" export format which inserts each object in DOORS as a row in a table in MS Word, so this will place the ID in it's own column and in line with each requirement paragraph. Some people don't like the table look and feel, the table borders makes it look a bit heavy, so just remove the borders in MS Word and it now looks like it's all in one unbroken line. Once it's in a table format you can use some of the whizz bang features of MS Word to apply table styles. The only downside with the "Table" format is that if you are using any DOORS table structures, these are not exported as a nested table, but as rows for each table object - is this your situation?

If you want to suppress ID's for specific objects such as headings, a DXL (DOORS Extension Language) macro driven column will need to be created that only displays the value of the built in "Object Identifier" attribute for specific objects. There are two choices for DXL driven columns, DXL Layout and DXL Attribute. The general rule is use DXL Attribute for large complex DXL macros, use DXL Layout for simple macro's which is what this would be. The code to only display headings could be as simple as the the following.

if ((obj."Object Heading""" == "") && (obj."Object Text""" != "")) display identifier(obj)

Paul Miller
Melbourne, Australia

Paul,

     Yep, I was working with the "Book" export format.

     I did try working with the "Table" export format, but was unsatisfied with the results. As you described, I DO have tables embedded within the DOORS module, so it killed those structures. Also, it seemed to require sufficient 'back-end' formatting work that at best it was equally undesireable.

    I also did try working a little in DXL to create a Layout DXL attribute. I could create one that on an object by object basis would compose a replica of a) the Object Header text, b) Object Text text, or c) Object ID & Object Text composed. The problem with this method was that the export then wanted to insert "<HeadingText>:" in front of ALL lines, which was obviously a step backwards. But if I could find a way to suppress the "<HeadingText>:" output, this might work.

     Thanks for the thoughts.

            Frank

Re: Noob DOORS Output questions
llandale - Thu Aug 22 14:54:08 EDT 2013

PRM - Wed Aug 21 18:21:03 EDT 2013

Looks like you have chosen the "Book" export format.

Maybe consider the "Table" export format which inserts each object in DOORS as a row in a table in MS Word, so this will place the ID in it's own column and in line with each requirement paragraph. Some people don't like the table look and feel, the table borders makes it look a bit heavy, so just remove the borders in MS Word and it now looks like it's all in one unbroken line. Once it's in a table format you can use some of the whizz bang features of MS Word to apply table styles. The only downside with the "Table" format is that if you are using any DOORS table structures, these are not exported as a nested table, but as rows for each table object - is this your situation?

If you want to suppress ID's for specific objects such as headings, a DXL (DOORS Extension Language) macro driven column will need to be created that only displays the value of the built in "Object Identifier" attribute for specific objects. There are two choices for DXL driven columns, DXL Layout and DXL Attribute. The general rule is use DXL Attribute for large complex DXL macros, use DXL Layout for simple macro's which is what this would be. The code to only display headings could be as simple as the the following.

if ((obj."Object Heading""" == "") && (obj."Object Text""" != "")) display identifier(obj)

Paul Miller
Melbourne, Australia

Mmmmmm.  Layout:

  • if (I want to display ID) then display identifier(obj) "<<<tab>>>"

That is column 0; Heading Text is column 1.  Export book but do not display column headers.  In Word replace all "<<<<tab>>>>^p" with a tab character "^t".  That could put the ID on the same line as the requirement.

-Louie

I don't think "has no heading and does have raw text" is sufficient.  I think you want to display any object that is

  • [1] oleIsObject(obj)   // OLE Object
  • [2] !null getPictName(obj)  // Picture Object
  • [3] !table(obj) and !row(obj) and !cell(obj)  // never display for tables

My old code has a check for non-nullrich-text, but I have some doubts about that.

Re: Noob DOORS Output questions
HazelWoodcock - Thu Aug 22 15:16:37 EDT 2013

llandale - Thu Aug 22 14:54:08 EDT 2013

Mmmmmm.  Layout:

  • if (I want to display ID) then display identifier(obj) "<<<tab>>>"

That is column 0; Heading Text is column 1.  Export book but do not display column headers.  In Word replace all "<<<<tab>>>>^p" with a tab character "^t".  That could put the ID on the same line as the requirement.

-Louie

I don't think "has no heading and does have raw text" is sufficient.  I think you want to display any object that is

  • [1] oleIsObject(obj)   // OLE Object
  • [2] !null getPictName(obj)  // Picture Object
  • [3] !table(obj) and !row(obj) and !cell(obj)  // never display for tables

My old code has a check for non-nullrich-text, but I have some doubts about that.

Once you have your ID column sorted, just export everything in to Word in standard book format, but export to a good template.  The Word template can contain macros to search and replace so that you can remove the 'ID: ' .  My preference when I was using this a lot was to also set the paragraph style during that search and replace to have the ID paragraph right justified 8pt grey text with space before it.  It makes it easy to find and reference when you want it, but doesn't intrude on the flow of the document.  That search and replace is a powerful tool, with options to remove or insert paragraph markers and tabs and change styles.  Recording the macro is straight forward and requires no programming skills at all.  A front page and table of contents can also be included in the template if desired, and DOORS will append to the end of the template content.