You might be interested in DoorScope which can be used to externally view and comment DOORS modules. DoorScope is a by-product of my work as a consultant and DOORS user. I developed it over the last couple of years because I wanted to take DOORS based documents with me and read them including all links and attributes without having to install DOORS (another reason to develop it was the fact that I never really got accustomed to the original DOORS GUI and was looking for something else). DoorScope has survived several substantial projects. You can download it from here: http://doorscope.ch. I hope you find it useful. There is also a support forum. Looking forward to your feedback. Cheers, R.K.
doorscope - Tue Apr 10 18:06:41 EDT 2012 |
|
Re: DOORS viewer available for free SystemAdmin - Tue Apr 10 20:06:50 EDT 2012
Please elaborate on what this really is including:
-
Do you need a network connection to a DOORS server or does it work with exported documents?
-
If you need a connection to a DOORS server, explain how this product differs from a Windows DOORS client (other than appearance).
Thanks.
|
|
Re: DOORS viewer available for free doorscope - Wed Apr 11 04:57:52 EDT 2012 SystemAdmin - Tue Apr 10 20:06:50 EDT 2012
Please elaborate on what this really is including:
-
Do you need a network connection to a DOORS server or does it work with exported documents?
-
If you need a connection to a DOORS server, explain how this product differs from a Windows DOORS client (other than appearance).
Thanks.
Ok, let me do that. DoorScope enables the following use case: one person with access to a DOORS client extracts the interesting documents (i.e. modules including links, attributes, richtext, images, tables and change history) from the DOORS database and deploys them using an independent format to many people who can read and comment the documents without needing access to the original DOORS database and without installing DOORS.
To do this, DoorScope includes two parts: the DoorScope Extractor and the DoorScope Viewer (see the following screenshots http://doorscope.ch/doku.php?id=screenshotsts).
The DoorScope Extractor consists of a Windows executable and a DXL script. Run the executable on the machine, where the DOORS client resides. The executable does nothing more than listen to a a TCP port and convert all data sent by the DXL script over IPC to the DSDX format (whereas images are loaded from temporary files created by the DXL script). You can run the DXL script either from within a DOORS module, or from within the DOORS explorer; in the former case, only the corresponding module is extracted; in the latter case, recursively all modules of the currently selected folder are extracted. DSDX is a compact binary format which includes every data of a single DOORS module; as a speciality it includes also the text and attributes of the linked source and target objects, so in fact you have everything needed to enjoy a DOORS module including its links in one DSDX file (i.e. you don't have to worry about links and link modules as you do with the DOORS PAR or DMA format).
The DoorScope Viewer is a separate Windows executable with a nice GUI to analyze and review the linked and structured documents extracted from DOORS. It works on DSDB repository files. A repository includes an arbitrary folder structure and all documents imported from the DSDX; it also includes the individual review status and comments set by the user.
As a company using DOORS you could e.g. do the following: your responsible runs DoorScope Exctractor and then either sends the individual DSDX or a properly compiled DSDB to the suppliers, who then can run DoorScope Viewer and consume all the data without needing DOORS.
I will add further descriptions to http://doorscope.ch but be patient since I do this in my free time. If any one else wants to spend some time for tutorials or Q&A he/she will be welcome.
Hope this helps.
Cheers, R.K.
|
|
Re: DOORS viewer available for free llandale - Wed Apr 11 14:05:45 EDT 2012 doorscope - Wed Apr 11 04:57:52 EDT 2012
Ok, let me do that. DoorScope enables the following use case: one person with access to a DOORS client extracts the interesting documents (i.e. modules including links, attributes, richtext, images, tables and change history) from the DOORS database and deploys them using an independent format to many people who can read and comment the documents without needing access to the original DOORS database and without installing DOORS.
To do this, DoorScope includes two parts: the DoorScope Extractor and the DoorScope Viewer (see the following screenshots http://doorscope.ch/doku.php?id=screenshotsts).
The DoorScope Extractor consists of a Windows executable and a DXL script. Run the executable on the machine, where the DOORS client resides. The executable does nothing more than listen to a a TCP port and convert all data sent by the DXL script over IPC to the DSDX format (whereas images are loaded from temporary files created by the DXL script). You can run the DXL script either from within a DOORS module, or from within the DOORS explorer; in the former case, only the corresponding module is extracted; in the latter case, recursively all modules of the currently selected folder are extracted. DSDX is a compact binary format which includes every data of a single DOORS module; as a speciality it includes also the text and attributes of the linked source and target objects, so in fact you have everything needed to enjoy a DOORS module including its links in one DSDX file (i.e. you don't have to worry about links and link modules as you do with the DOORS PAR or DMA format).
The DoorScope Viewer is a separate Windows executable with a nice GUI to analyze and review the linked and structured documents extracted from DOORS. It works on DSDB repository files. A repository includes an arbitrary folder structure and all documents imported from the DSDX; it also includes the individual review status and comments set by the user.
As a company using DOORS you could e.g. do the following: your responsible runs DoorScope Exctractor and then either sends the individual DSDX or a properly compiled DSDB to the suppliers, who then can run DoorScope Viewer and consume all the data without needing DOORS.
I will add further descriptions to http://doorscope.ch but be patient since I do this in my free time. If any one else wants to spend some time for tutorials or Q&A he/she will be welcome.
Hope this helps.
Cheers, R.K.
The viewer is superior to reading easily exported MS-Word or Excel documents?
|
|
Re: DOORS viewer available for free doorscope - Wed Apr 11 14:26:37 EDT 2012 llandale - Wed Apr 11 14:05:45 EDT 2012
The viewer is superior to reading easily exported MS-Word or Excel documents?
Yes, definitely; by exporting to Word or Excel you lose all the logic and intelligence of the DOORS modules (the main reason for using DOORS anyway); and there are also a couple of group review features which you cannot do with Word and Excel; further more with DoorScope you can work with the data and do specific exports using the built-in scripting even when you don't have DOORS; you cannot do that if you just got a Word or Excel file. Cheers, R.K.
|
|
Re: DOORS viewer available for free PDU - Thu Apr 12 02:34:12 EDT 2012 doorscope - Wed Apr 11 14:26:37 EDT 2012
Yes, definitely; by exporting to Word or Excel you lose all the logic and intelligence of the DOORS modules (the main reason for using DOORS anyway); and there are also a couple of group review features which you cannot do with Word and Excel; further more with DoorScope you can work with the data and do specific exports using the built-in scripting even when you don't have DOORS; you cannot do that if you just got a Word or Excel file. Cheers, R.K.
Hi,
1. i try your tool on a part of real project 60 formal module, links).
==> "memory exhausted"
2. I try on an other part (19 formal module, links)
and i have a strange problem :
Recursive export of folder Logiciel Entering folder 01_Spécifications Begin module SPU_STB_API_10E67099_Spécification_Technique_Besoin_API End module SPU_STB_API_10E67099_Spécification_Technique_Besoin_API Begin module SPU_DSL_FW_11E66570_Dossier_Specification_Logiciel_FW -R-E- DXL: <addins/trek/kitchen/utensils/deltabuff.inc:257> An unexpected error has occurred: Unspecified Failure Backtrace: <addins/trek/kitchen/utensils/deltabuff.inc:299> <addins/trek/kitchen/utensils/deltabuff.inc:305> <addins/trek/kitchen/utensils/deltabuff.inc:322> <Line:12>
Why an error on a script not used by exportToDoorScopeEtl2.dxl ?
3. I try on a single formal module :
on Dxl console i have :
Recursive export of folder 01_Spécifications Technique de Besoin Begin module 10E68750_ETOR_STB -R-E- DXL: <Line:72> unknown Object attribute (Elta_Safety) Backtrace: <Line:83> -I- DXL: execution halted -R-E- DXL: <Line:72> unknown Object attribute (Elta_Safety) Backtrace: <Line:83> -I- DXL: execution halted End module 10E68750_ETOR_STB Done
on DoorScope ELT console i have :
*** Created stream D:/Temp/Logiciel/10E68750_ETOR_STB 1.3.dsdx ### StreamAgent::loadImg: cannot load image file ### StreamAgent::loadImg: cannot load image file ### StreamAgent::loadImg: cannot load image file *** Closing stream ### The remote host closed the connection
and only a file 10E68750_ETOR_STB 1.3.dsdx
is generated
Pierre
|
|
Re: DOORS viewer available for free SystemAdmin - Thu Apr 12 03:08:21 EDT 2012 PDU - Thu Apr 12 02:34:12 EDT 2012
Hi,
1. i try your tool on a part of real project 60 formal module, links).
==> "memory exhausted"
2. I try on an other part (19 formal module, links)
and i have a strange problem :
Recursive export of folder Logiciel Entering folder 01_Spécifications Begin module SPU_STB_API_10E67099_Spécification_Technique_Besoin_API End module SPU_STB_API_10E67099_Spécification_Technique_Besoin_API Begin module SPU_DSL_FW_11E66570_Dossier_Specification_Logiciel_FW -R-E- DXL: <addins/trek/kitchen/utensils/deltabuff.inc:257> An unexpected error has occurred: Unspecified Failure Backtrace: <addins/trek/kitchen/utensils/deltabuff.inc:299> <addins/trek/kitchen/utensils/deltabuff.inc:305> <addins/trek/kitchen/utensils/deltabuff.inc:322> <Line:12>
Why an error on a script not used by exportToDoorScopeEtl2.dxl ?
3. I try on a single formal module :
on Dxl console i have :
Recursive export of folder 01_Spécifications Technique de Besoin Begin module 10E68750_ETOR_STB -R-E- DXL: <Line:72> unknown Object attribute (Elta_Safety) Backtrace: <Line:83> -I- DXL: execution halted -R-E- DXL: <Line:72> unknown Object attribute (Elta_Safety) Backtrace: <Line:83> -I- DXL: execution halted End module 10E68750_ETOR_STB Done
on DoorScope ELT console i have :
*** Created stream D:/Temp/Logiciel/10E68750_ETOR_STB 1.3.dsdx ### StreamAgent::loadImg: cannot load image file ### StreamAgent::loadImg: cannot load image file ### StreamAgent::loadImg: cannot load image file *** Closing stream ### The remote host closed the connection
and only a file 10E68750_ETOR_STB 1.3.dsdx
is generated
Pierre
Hello Pierre,
> -R-E- DXL: <addins/trek/kitchen/utensils/deltabuff.inc:257>
Just guessing: Perhaps you have a DXL attribute in your module which relies on the existence of the kitchen tools?
> <Line:72> unknown Object attribute (Elta_Safety)
Just guessing: since neither lines 72 nor 83 seem to correspond to a line in exportToDoorScopeEtl2.dxl, I again assume that some DXL attribute exists in your module which produces this error.
> ### StreamAgent::loadImg: cannot load image file
during the first tests, I noticed the same in two of my modules. When I switched on the Trace functionality, I could hunt the problem down to a corrupt doors history entry (to be exact: somewhere in the past, an OLE object has been changed, but DOORS is not able to show the differences, it just shows some crap characters. DOORS fails silently, but the problem exists for DOORS as well.). Perhaps you can try this as well?
> and only a file 10E68750_ETOR_STB 1.3.dsdx is generated
The exporter creates a .dsdx file for each module. You create databases (.dsdb files) in the DoorsViewer. Here you can create as many databases as you want, each with a different set of modules. Note that the "Open" button creates a new database, if the file name you enter does not exist.
Regards,
Mike
|
|
Re: DOORS viewer available for free PDU - Thu Apr 12 06:18:39 EDT 2012 SystemAdmin - Thu Apr 12 03:08:21 EDT 2012
Hello Pierre,
> -R-E- DXL: <addins/trek/kitchen/utensils/deltabuff.inc:257>
Just guessing: Perhaps you have a DXL attribute in your module which relies on the existence of the kitchen tools?
> <Line:72> unknown Object attribute (Elta_Safety)
Just guessing: since neither lines 72 nor 83 seem to correspond to a line in exportToDoorScopeEtl2.dxl, I again assume that some DXL attribute exists in your module which produces this error.
> ### StreamAgent::loadImg: cannot load image file
during the first tests, I noticed the same in two of my modules. When I switched on the Trace functionality, I could hunt the problem down to a corrupt doors history entry (to be exact: somewhere in the past, an OLE object has been changed, but DOORS is not able to show the differences, it just shows some crap characters. DOORS fails silently, but the problem exists for DOORS as well.). Perhaps you can try this as well?
> and only a file 10E68750_ETOR_STB 1.3.dsdx is generated
The exporter creates a .dsdx file for each module. You create databases (.dsdb files) in the DoorsViewer. Here you can create as many databases as you want, each with a different set of modules. Note that the "Open" button creates a new database, if the file name you enter does not exist.
Regards,
Mike
Hi,
i am checking the two first point.
but i don't understand the process to create a database (.dsdb) with a module or a set of modules (.dsdx).
regards
Pierre
|
|
Re: DOORS viewer available for free PDU - Thu Apr 12 11:18:25 EDT 2012 PDU - Thu Apr 12 06:18:39 EDT 2012
Hi,
i am checking the two first point.
but i don't understand the process to create a database (.dsdb) with a module or a set of modules (.dsdx).
regards
Pierre
i don't understand the process to create a database (.dsdb) with a module or a set of modules (.dsdx).
I have found : right click
|
|
Re: DOORS viewer available for free SystemAdmin - Thu Apr 12 11:36:19 EDT 2012 PDU - Thu Apr 12 11:18:25 EDT 2012
i don't understand the process to create a database (.dsdb) with a module or a set of modules (.dsdx).
I have found : right click
I see that Rochus posted a tutorial earlier today to his forum.
look at http://forum.doorscope.ch/viewtopic.php?id=5
|
|
Re: DOORS viewer available for free llandale - Thu Apr 12 17:46:45 EDT 2012 PDU - Thu Apr 12 02:34:12 EDT 2012
Hi,
1. i try your tool on a part of real project 60 formal module, links).
==> "memory exhausted"
2. I try on an other part (19 formal module, links)
and i have a strange problem :
Recursive export of folder Logiciel Entering folder 01_Spécifications Begin module SPU_STB_API_10E67099_Spécification_Technique_Besoin_API End module SPU_STB_API_10E67099_Spécification_Technique_Besoin_API Begin module SPU_DSL_FW_11E66570_Dossier_Specification_Logiciel_FW -R-E- DXL: <addins/trek/kitchen/utensils/deltabuff.inc:257> An unexpected error has occurred: Unspecified Failure Backtrace: <addins/trek/kitchen/utensils/deltabuff.inc:299> <addins/trek/kitchen/utensils/deltabuff.inc:305> <addins/trek/kitchen/utensils/deltabuff.inc:322> <Line:12>
Why an error on a script not used by exportToDoorScopeEtl2.dxl ?
3. I try on a single formal module :
on Dxl console i have :
Recursive export of folder 01_Spécifications Technique de Besoin Begin module 10E68750_ETOR_STB -R-E- DXL: <Line:72> unknown Object attribute (Elta_Safety) Backtrace: <Line:83> -I- DXL: execution halted -R-E- DXL: <Line:72> unknown Object attribute (Elta_Safety) Backtrace: <Line:83> -I- DXL: execution halted End module 10E68750_ETOR_STB Done
on DoorScope ELT console i have :
*** Created stream D:/Temp/Logiciel/10E68750_ETOR_STB 1.3.dsdx ### StreamAgent::loadImg: cannot load image file ### StreamAgent::loadImg: cannot load image file ### StreamAgent::loadImg: cannot load image file *** Closing stream ### The remote host closed the connection
and only a file 10E68750_ETOR_STB 1.3.dsdx
is generated
Pierre
Yes the errors appear to be in Layouts, Attr-DXL, or Triggers in your modules. Try to open those same module's manually. In fact, try to open them invisibly with DXL:
-
read("SPU_STB_API_10E67099_Spécification_Technique_Besoin_API", false, false)
The string version of that old "deltaBuff()" had a very serious bug; you could only use it once since it failed to erase its symbol table between calls. And it was terrible anyway, use "diff()".
If you don't get that 2nd error manually, then I'd suspect a bug in the package, which adjusts the "current Module" in some strange way.
-Louie
|
|
Re: DOORS viewer available for free doorscope - Fri Apr 13 10:01:08 EDT 2012 PDU - Thu Apr 12 02:34:12 EDT 2012
Hi,
1. i try your tool on a part of real project 60 formal module, links).
==> "memory exhausted"
2. I try on an other part (19 formal module, links)
and i have a strange problem :
Recursive export of folder Logiciel Entering folder 01_Spécifications Begin module SPU_STB_API_10E67099_Spécification_Technique_Besoin_API End module SPU_STB_API_10E67099_Spécification_Technique_Besoin_API Begin module SPU_DSL_FW_11E66570_Dossier_Specification_Logiciel_FW -R-E- DXL: <addins/trek/kitchen/utensils/deltabuff.inc:257> An unexpected error has occurred: Unspecified Failure Backtrace: <addins/trek/kitchen/utensils/deltabuff.inc:299> <addins/trek/kitchen/utensils/deltabuff.inc:305> <addins/trek/kitchen/utensils/deltabuff.inc:322> <Line:12>
Why an error on a script not used by exportToDoorScopeEtl2.dxl ?
3. I try on a single formal module :
on Dxl console i have :
Recursive export of folder 01_Spécifications Technique de Besoin Begin module 10E68750_ETOR_STB -R-E- DXL: <Line:72> unknown Object attribute (Elta_Safety) Backtrace: <Line:83> -I- DXL: execution halted -R-E- DXL: <Line:72> unknown Object attribute (Elta_Safety) Backtrace: <Line:83> -I- DXL: execution halted End module 10E68750_ETOR_STB Done
on DoorScope ELT console i have :
*** Created stream D:/Temp/Logiciel/10E68750_ETOR_STB 1.3.dsdx ### StreamAgent::loadImg: cannot load image file ### StreamAgent::loadImg: cannot load image file ### StreamAgent::loadImg: cannot load image file *** Closing stream ### The remote host closed the connection
and only a file 10E68750_ETOR_STB 1.3.dsdx
is generated
Pierre
> 1. i try your tool on a part of real project 60 formal module, links).
The reason for this is a well known design issue of the DXL memory management; each string eats memory which is not freed anymore. With one run of exportToDoorScopeEtl2.dxl I'm usually able to export 40 to 50 formal modules; then I have to restart the DOORS client process; I can live with that; there are aspects of DOORS which are more annoying. With version 1 of the script - before I minimized string usage - I could only export half of this number. If really necessary one could change the script so that every module is run with an eval_() command; I've read that the string table is terminated after eval; so one could save the restart ot the DOORS client. Cheers, R.K.
|
|
Re: DOORS viewer available for free llandale - Fri Apr 13 10:52:45 EDT 2012 doorscope - Fri Apr 13 10:01:08 EDT 2012
> 1. i try your tool on a part of real project 60 formal module, links).
The reason for this is a well known design issue of the DXL memory management; each string eats memory which is not freed anymore. With one run of exportToDoorScopeEtl2.dxl I'm usually able to export 40 to 50 formal modules; then I have to restart the DOORS client process; I can live with that; there are aspects of DOORS which are more annoying. With version 1 of the script - before I minimized string usage - I could only export half of this number. If really necessary one could change the script so that every module is run with an eval_() command; I've read that the string table is terminated after eval; so one could save the restart ot the DOORS client. Cheers, R.K.
More likely you are reading attribute values into "string" variables. Consider changing that to read into "Buffer" variables and using some clever functions to manipulate Buffers without creating temporary sub-strings. If you post one of your functions I can show you what I mean.
-Louie
|
|
Re: DOORS viewer available for free doorscope - Fri Apr 13 11:30:29 EDT 2012 llandale - Fri Apr 13 10:52:45 EDT 2012
More likely you are reading attribute values into "string" variables. Consider changing that to read into "Buffer" variables and using some clever functions to manipulate Buffers without creating temporary sub-strings. If you post one of your functions I can show you what I mean.
-Louie
>> Consider changing that to read into "Buffer" variables and using some clever functions to manipulate Buffers without creating temporary sub-strings
Thanks for the hint; I already do that; unfortunately there are quite many API calls which don't support Buffers; so it's not possible to fully get around strings; of course it's quite possible that there are even some more undocumented API features which I don't know yet. Cheers, R.K.
|
|
Re: DOORS viewer available for free doorscope - Mon Apr 16 15:17:03 EDT 2012 llandale - Fri Apr 13 10:52:45 EDT 2012
More likely you are reading attribute values into "string" variables. Consider changing that to read into "Buffer" variables and using some clever functions to manipulate Buffers without creating temporary sub-strings. If you post one of your functions I can show you what I mean.
-Louie
Ok, let's try it with a function. Lines 79 to 94 of exportToDoorScopeEtl2.dxl state
code
void sendBuffer( Buffer str )
{
g_str = utf8( tempStringOf( str ) ) // send scheint alles in UTF-8 umzuwandeln, was nirgends dokumentiert ist
int len = length( g_str )
if( len > 0 )
{
send( g_chan, len "" )
send( g_chan, "|" )
str += "|"
send( g_chan, tempStringOf( str ) )
}
else
{
send( g_chan, "0||" )
}
}
[/code]
g_str is a buffer; I didn't find definite confirmation yet wheter the result of utf8() is just a volatile string passed to the Buffer, or is permanently allocated in the string table. Can you give me a reference where this is documented? Thanks in advance. Of course also a variation of send() would be welcome with doesn't silently convert strings to utf-8. Cheers, R.K.
|
|
Re: DOORS viewer available for free doorscope - Fri May 25 06:34:27 EDT 2012 doorscope - Mon Apr 16 15:17:03 EDT 2012
Ok, let's try it with a function. Lines 79 to 94 of exportToDoorScopeEtl2.dxl state
code
void sendBuffer( Buffer str )
{
g_str = utf8( tempStringOf( str ) ) // send scheint alles in UTF-8 umzuwandeln, was nirgends dokumentiert ist
int len = length( g_str )
if( len > 0 )
{
send( g_chan, len "" )
send( g_chan, "|" )
str += "|"
send( g_chan, tempStringOf( str ) )
}
else
{
send( g_chan, "0||" )
}
}
[/code]
g_str is a buffer; I didn't find definite confirmation yet wheter the result of utf8() is just a volatile string passed to the Buffer, or is permanently allocated in the string table. Can you give me a reference where this is documented? Thanks in advance. Of course also a variation of send() would be welcome with doesn't silently convert strings to utf-8. Cheers, R.K.
No objections or comments so far; I therefore assume that there are no work-arounds other than the ones I already use; correct me if I'm wrong. Cheers, R.K.
|
|
Re: DOORS viewer available for free PDU - Mon Oct 29 03:51:10 EDT 2012 doorscope - Fri May 25 06:34:27 EDT 2012
No objections or comments so far; I therefore assume that there are no work-arounds other than the ones I already use; correct me if I'm wrong. Cheers, R.K.
Hi,
we start use this useful tool, very useful for reviews.
I try register to the forum, but :
"This forum is not accepting new registrations."
Problem ? Closed ?
Pierre
|
|
Re: DOORS viewer available for free doorscope - Sat Nov 10 13:54:17 EST 2012 PDU - Mon Oct 29 03:51:10 EDT 2012
Hi,
we start use this useful tool, very useful for reviews.
I try register to the forum, but :
"This forum is not accepting new registrations."
Problem ? Closed ?
Pierre
There was a spam attack, so I had to temporally disable new registrations. It is now enabled again, but you'll be asked a question to do so.
Cheers
R.K.
|
|