How to clone "software requirements" from "System component" to "Software component" when both components are in the same global configuration?
Product version: IBM ELM 7.0.3 iFix018
Consider the following situation:
There are two components; System and Software. The System component has some requirements in it. Two of them have been incorrectly placed in the System component and must be moved to the Software component. The artifacts have already been linked to other artifacts in the component. How can I use the "Clone from Component..." feature in DN to move the software requirements to the Software component without changing the ID and breaking the links?
Note: This example has been simplified. In the real world there are additional streams in each GC (Additional RM, QM and AM streams).
Strategy: Just clone them.
Result: Not allowed
Strategy: Create a temporary component to clone the reqs to, then delete the reqs from the System component, then clone them from the temporary component to the Software component.
The 2 software requirements have been cloned to the Temp component with link stubs:
Delete the 2 software requirements from the System component:
The software requirements are gone from the System component.
Now create a new cs to clone the 2 reqs from Temp
Result: Operation failed. Topic link yields empty IBM page:
Problem: It seems as if GCM still thinks that the 2 reqs are in the System component, even though they have already been deleted. The 7.0.3 page Cloning requirement artifacts states:
Pressing that links yields a 7.2.0 version page: Fixing overlapping components (trying to switch to 7.0.3 yields a warning that no page exist):
Strategy to solve Problem: Refresh Component Overlap Data in the System and Software and Temp components:
Try to clone the artifacts from the Temp to the Software component again:
Problem remains:
Strategy to solve the problem: Since the problem occurs in Markus Nordstrand's personal stream, maybe if I add the configurations to a completely new GC it will work?
Old GC:
New GC:
Clone the reqs from Temp again:
Still error from Markus Nordstrand's System Initial Development PS.
Strategy: Remove the configurations from Markus Nordstrand's System Initial Development:
Test to clone from Temp to Software again:
Same error, but now for the "System New" PS
Strategy: Create a completely new set of Global Components: System New and Software New:
Add the corresponding configurations:
Again, try to clone from Temp to Software:
Problem persists:
Strategy: Check Markus Nordstrand's System New
Remove the configurations manually:
Try again to clone but still fails:
Try again to Refresh Component Overlap Data:
Try again to clone:
Problem persists:
CONCLUSION: I cannot for the life of me figure out how to move a software requirement from the system component to the software component when both components are in the same global configuration.
3 answers
Yes, I would be so nice if this process could be a feature in the tools directly. I created an idea for this feature: https://ideas.ibm.com/ideas/ENGRMDN-I-1239
Even if you create a new component "Temp" and clone the artifact temporarily to it and delete the artifact from System, you will still not be able to clone from Temp to Software! This is because System still contain references to the deleted artifacts.
Solution: Avoid performing the clone operation from a component that has a stream that have had the artifact in the same GC:
- Create a new component "Temp".
- Clone all artifacts except the ones you want to move.
- Remove System's stream from the GC.
- Add Temp's stream to the GC.
- Clone the artifact you wanted to move from System to Software
- Change the name of System to something else, i.e. System_Archived and archive it.
- Change the name of Temp to System.
- Done!