Is it Possible to List / Report the DOORS Next Artifacts Not Used in a Module?
![]()
One of the problems with the 'Remove Artifact' is that if the user then forgets to select 'If the artifact is not in other modules, permanently delete it' it is removed from the module but left in the 'requirement soup'.
I need a way to identify these orphan artifacts so that we can find and and then, if needs be, delete them.
Report Builder doesn't seem to provide any help - if I start with 'Requirement' it's impossible to specify constraints on a relationship that doesn't exist (i.e. the absence of a 'uses' relationship). In fact it's impossible to specify conditions on any relationship, only artefacts.
Is there any mechanism short of having to learn SPARQL and using the 'Advanced' section to handcraft a query that allows me to find these unused artifacts?
|
6 answers
![]()
You can get the list of DOORS Next artifacts not used in any module using Rational Publishig Engine. A simple RPE template with some JavaScript/condition should give you this output:
https://server:port/rm/publish/resources?projectName=name1 will provide all resources in the project (named name1)
If you refer the XML returned,
dataSource/artifact/identifier will give the resource/artifact ID and
dataSource/artifact/moduleContext/contextBinding/moduleDisplayName will give the module in which the artifact is used.
If any artifact is used in more than one module, there will be multiple entries for that artifact.
Comments
Again - possibly correct. We don't have access to RPE (held by a remote site).
Presumably I could do the same thing in Report Builder using SPARQL in the Advanced pane (if I understood how to construct the query)? One of the real problems is the lack of a published schema against which to construct queries / views / reports.
|
![]()
Nic,
Try this...
Open your component, go to the Views tab (leftside), then create a filter by clicking the blue plus symbol.
![]()
Once you have the filter options up, scroll to the bottom of the attribute list to find "Where used (Modules)", select "Is not any of", click Browse and shift/ctrl+select to pick all modules of interest from the list.If you want to find arts not used in any Module then you'll need to select all the modules.
If you do not have too many artifacts in the component then this filter may be able to run to completion without timeout. If not then add another filter, eg on Artifact Type and select only those you are interested in....
Once you're done you can save this artifacts view (just like a module view except this is a view outside a module in the folder structure) with the filter to a new View, eg "Artifacts not in a module", so it can be called any time.
And it's a View, so you can also export the data out to csv/xls/xlsx if needed.
Comments
Hi Adrian - I'd already tried this and given up on this. It's not feasible in terms of performance (70K artefacts and rising daily) - even by restricting to an artefact type.
The other problem with this approach is having to specifically choose a set of folders (which requires the selection to be modified as more folders are added because it doesn't have the sense to choose child folders if the parent is selected).
Thanks anyway.
Hi Nic
OK, looking at the artifact count you may want to check if you can split that content into more than 1 component to improve performance.
Here's some info on recommended limits --> https://jazz.net/wiki/bin/view/Deployment/DNGPerformanceAndData
Hi Adrian - that's interesting. 200,000 artifacts per project is severely limiting - particularly when we include non-functional design verification artifacts that aren't properly handled by Quality Manager (and functional test).
What are the implications on traceability / views between components?
Report Builder will allow selection of multiple components so that end should not be a problem.
|
![]()
Hi all,
I have the same issue like Nic and searching for solution I found this post. We are searching for base artifacts which are not in any or specific Module. Because of performances we are looking for Report Builder solution. In our case Report Builder works for OK with Used By link for base artifacts within the Module, but searching for orphans is impossible.
LQE for Configuration counts differently base artifacts and module artifacts what mans module artifact are count minimum twice, as based and as module artifact.
Result is a following
Used By (Required) - works correctly
Used By (Does not exist) - list all artifacts as base artifacts, no matters if artifacts are in module or not.
Used By (Optional) - duplicates entries, each module artifact is present minimum twice, as base and as module artifact.
Do you have any advice or solution?
Tnx
|
|