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
Hi Nic,
There's a system attribute called Used in Modules, might that help?
Here's an example where I added it to my view in a base artifacts folder. The artifact where the icon does not display is where I removed the artifact from a module, but did not permanently delete it.
Regards,
Carol
Comments
Use Report Builder and the Data Warehouse as a data source.
Add your requirement artefact and then in conditions, select "Collection or Module is Unassigned". That will show you all artefacts matching your other conditions that are not in any collection or module
Comments
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
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 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