cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Enable Gateway to export linked objects

Enable Gateway to export linked objects

Improvement

As a Requirements Engineer/Test Engineer I want to export a requirement document/test suite (segment), which consists of requirements/test cases (nodes) including their respective test cases/requirements. Requirements/Test cases are linked to test cases/requirements via a trace relationship.

 

As-Is situation

It is possible to export IDs of linked items through Gateway:

<field internal="Verifies" external="Verifies" field-type="relationship" />

And regarding PTC Gateway User Guide it is also possible to include related content via attribute include-related:

 

<field internal="Verifies" external="Verifies" field-type="relationship" include-related="yes"/>

Enable Gateway debugging, and it can be confirmed by looking at logfile GatewayApp.log that Gateway application is actually parsing data of linked objects. Until the following happens:

2/26/18 11:17 AM -- [Gateway-App] DEBUG(10): Flattening tree structure...

Gateway is only exporting items of one document (segment).

 

PTC Services has a solution to overcome this restriction (thanks to @VolkerEckardt). I appreciate this work, however, I would prefer an integrated solution for several reasons: e.g. official support, compatibility issues, etc.

 

Cheers, Richard.

 

References

Gateway Knowledge Hub

Gateway slow with "include-related" set to "true"

Gateway: Possibility to export related issues

Differences between Gateway configuration versions

Integrity Ideas: Ability to query list of test steps by Test Suite id

Acess 1:N related data in XML to Word export

3 Comments
Level 11

Thanks a lot for mentioning me in this idea.  Yes, I have created a solution which serves exactly this purpose: allowing you to get related items including any field of interest (and not only the related item IDs).

 

There are two notes you should be aware of:

a) Business Related

I have implemented my solution for one of our customers and because my solution is so flexible they added not only one relationship, they added four. At the end the generated Word file consisted of 940 pages. Although this is exactly how the configuration was set up, the runtime and the length of this export was surprising for my client. 

b) Technical Reason

The way how the internal memory stack for items within the Gateway is implemented today doesnt allow you to add a single item twice at the same time, but in real life you could have the same Test Case attached to exactly two different Requirements. In other words, the current data structure inside the Gateway itself does not allow any reporting of the same item twice. 

Both issues might have caused the decision from PTC to switch this "include related item" feature off.

 

Nevertheless, I am very pleased to start a discussion how we can control the business point "see a)" best.

Volker

Level 7

Volker,

 

Thank you for your answer. I understand your business related concerns (as well as the technical reason). Exporting documents including related data might end up in large database operations. However, only looking at the number of community questions regarding the export of related content (e.g. Question 494471 by @NilsN or question 482319 by @holger), reveals that customers do need this feature desperately. I mean, did you count how many times you referred to your custom gateway solution in answers to community questions?

 

Nevertheless, in the meantime I examined your solution and I had another idea to address the original problem: PTC could provide an improved documentation and an official interface to enable third party add ons for Gateway. This idea came to me when I had a look at CustomGateway, specifically at configuration file gateway-tool-configuration.xml, when I recognized the following part of the configuration:

<exporter class="com.ptc.services.gateway.exporter.word.WordExport">
	<property name="template">../config/gateway/export/Microsoft Word/Client_Export_Word_TestSuite_Default.docx</property>
	<property name="type">Test Suite Protocol</property>
	<property name="traceDefinition">Test Case:Verifies</property>
</exporter>

Neither I was able to find a documentation regarding the XML tag exporter, nor I could find any documentation for the to be implemented Java Interface (or abstract Java Class or any other possible Java callback). This could be a first possible solution, and it also reflects the company's strategy (as communicated at PTC Executive Exchange ALM 2017) to open up to a broader set of engineering tools.

 

Best regards, Richard.

Level 11

Hi Richard,

 

thanks a lot for your feedback.

 

Q: Did you count how many times you referred to your custom gateway solution in answers to community questions?

A: Yes, at least 10 times Smiley Happy

 

Q: PTC could provide an improved documentation and an official interface to enable third party add ons for Gateway

A: The difficulty is that any client add-on needs to be deployed to the Integrity client itself, usually into the Program Files directory. But, this directory is often locked by admins.

 

Q: Why is it not documented?  

A: no idea.

 

Q: Neither I was able to find a documentation regarding the XML tag exporter, nor I could ....

A: The explanation was part of my 2h session with a former MKS developer Smiley Happy

 

There are very concrete activities within PTC to enhance our Integrity interface options. You could already extract data from Integrity via WebServices, (undocumented) RESTeasy (might not stay), well documented ThingWorx Integrity Connector, Trace Apps ...

 

There are also new ways to present data (utilzing modern JavaScript libs), perhaps some of the Use Case would not require any data export at all.

 

If you still need this show-related-items, the best solution I can offer is this "com.ptc.services.gateway.exporter.word.WordExport", which I have developed already 4 years ago.   (.services. = Consulting Services)

Just you have to deploy this class locally, somewhere, or on a shared drive.

 

If you'd like to get details, please send me your contact data via PM.

 

Hope this explains and helps.

Volker