Skip to Main Content
IBM Sustainability Software - Ideas Portal


This portal is to open public enhancement requests against the products and services belonging to IBM Sustainability Software. To view all of your ideas submitted to IBM, create and manage groups of Ideas, or create an idea explicitly set to be either visible by all (public) or visible only to you and IBM (private), use the IBM Unified Ideas Portal (https://ideas.ibm.com).


Shape the future of IBM!

We invite you to shape the future of IBM, including product roadmaps, by submitting ideas that matter to you the most. Here's how it works:

Search existing ideas

Start by searching and reviewing ideas and requests to enhance a product or service. Take a look at ideas others have posted, and add a comment, vote, or subscribe to updates on them if they matter to you. If you can't find what you are looking for,

Post your ideas
  1. Post an idea.

  2. Get feedback from the IBM team and other customers to refine your idea.

  3. Follow the idea through the IBM Ideas process.


Specific links you will want to bookmark for future use

Welcome to the IBM Ideas Portal (https://www.ibm.com/ideas) - Use this site to find out additional information and details about the IBM Ideas process and statuses.

IBM Unified Ideas Portal (https://ideas.ibm.com) - Use this site to view all of your ideas, create new ideas for any IBM product, or search for ideas across all of IBM.

ideasibm@us.ibm.com - Use this email to suggest enhancements to the Ideas process or request help from IBM for submitting your Ideas.

Status Future consideration
Categories Feature
Created by Guest
Created on Aug 18, 2023

DNG shall provide API for editing the DNG ReqIF Mapping Table (Read, Create, Modify, Delete entries) and History for DNG DNG ReqIF Mapping Table

Description

DNG stores the mapping between DNG elements (e.g. modules, artefacts, attributes) and ReqIF IDs in the "DNG ReqIF Mapping Table". There are currently no ways to edit this mapping table, either via the DNG API or the GUI.

The DNG API shall provide the following functionalities for entries in the DNG ReqIF Mapping Table:
-Read / Get (i.e. read a specific entry or set of entries based on various search criteria (criteria similar to SQL or XPath queries (depending how the ReqIF Mapping table is implemented within DNG)))
-Create (i.e. create a new entry, e.g. "Module 12345 is mapped to ReqIF ID abc")
-Modify (i.e. modify a specific existing entry, e.g. "Module 12345 was previously mapped to ReqIF ID ghj, now it is mapped to ReqIF ID abc")
-Delete (i.e. delete a specific existing entry)

All of the functionalities that change the DNG ReqIF Mapping Table (i.e. Create, Modify, Delete) shall have checks that ensure that the changes to the DNG ReqIF Mapping Table do not cause any inconsistencies. Examples:
-We try to create an entry for module 123, but there already is an existing entry for module 123 => error (A DNG element cannot have more than one ReqIF ID.)
-We try to change the ReqIF ID of module 123 to abc, but another DNG element already has ReqIF ID abc => error (A ReqIF ID cannot be assigned to more than one DNG element.)
-We try to use an invalid ReqIF ID (invalid because we use invalid characters in the ReqIF ID) => error

We are aware that editing the DNG ReqIF Mapping Table is potentially very dangerous / can have a large negative impact on DNG if it is done incorrectly. Because of this we also want to request an additional feature:
-A history for all changes to the DNG ReqIF Mapping Table (e.g. "On 2023.09.09, user XYZ did the following change to entry with internal ID 890: ReqIF for Module 12345 was changed from ReqIF ID ghj to abc")
-The history shall include the following information for each change to an entry:
*Time and date of change
*User that did change
*Internal ID of entry (or whatever unique ID DNG uses for entries in DNG ReqIF Mapping Table)
*Type of change (Create, Modify, Delete)
*For Create / Delete: Full data for entry, i.e. all fields and their value for entry
*For Modify: Which field / column changed? What was the old value? What is the new value?
-The history shall also exist for entries that no longer exist in the table / were deleted; i.e. if an entry is deleted, the History for this entry should not be deleted and shall remain in the History

DNG shall provide the following API for the DNG ReqIF Mapping Table History
-Get / read parts of the history based on various search criteria (similar to SQL or XPath queries (depending how the ReqIF Mapping table is implemented within DNG) , e.g. GET history for a specific DNG element, for a specific ReqIF ID, for a specific time frame, etc.)
-It shall be possible to Read the former value of an entry; It shall be possible to then Write that former value back into the DNG ReqIF Mapping Table (i.e. format of value we read from History is the same format of value we can write to DNG ReqIF Mapping Table)

The intention is that it should be possible to restore / undo unintended changes to the DNG ReqIF Mapping Table by going through the History, then restoring the entry (either via Create or Modify) with the DNG API for the DNG ReqIF Mapping Table.
Alternatively, DNG could also provide DNG API "Restore" / "Undo" functionality for the History, which would directly "restore" an entry of the DNG ReqIF Mapping Table based on a History entry.

This is meant to mitigate the risks of directly changing such a fundamental table as the DNG ReqIF Mapping Table, by enabling uns to undo such changes.

DNG shall also make this available via the DNG Public API. The corresponding DNG API shall be public and documented.

Additional note regarding implementation:
If, due to the technical implementation in DNG, it is only possible to Read / Get the entire ReqIF Mapping Table as well as only Write / Put the entire ReqIF Mapping Tbale (instead of just reading / writing single or some entries of the table), then implementing the above functionality for reading and then writing the entire table would also be acceptable.

However, we would prefer DNG API that works on single entries / a subset of entries from the entire ReqIF Mapping Table, as this would likely be better for performance and easier for implementation.


Motivation / Reason

DNG API to edit the DNG ReqIF Mapping Table would enable users / developers to better support a variety of Use cases.


Some examples:
Migration from DOORS Classic to DOORS Next; User has ongoing ReqIF exchange in DOORS Classic
-Normally, when we migrate data from DOORS Classic to DOORS Next, all elements get new ReqIF Ids in DOORS Next / DNG no longer "knows" the ReqIF ID that were in use in DOORS Classic
-This causes a disrpotion / break of the exchange as the ReqIF IDs are entirely new
-If our side is the OEM / Customer / Original author of the modules: The other side has to import our exports from DNG as new modules (as the Req IFs are new)
-If our side is the Supplier / not the original author of the modules: We have to import the export from the other side as new modules (as DNG does not "know" the Req IFs that were in use in DOORS Classic)
-In both cases, this causes considerable effort; which often makes users hesitant to migrate from DOORS Classic to DOORS Next

-DNG API to edit the DNG ReqIF Mapping Table would enable users / developers to "transfer" the ReqIF IDs that were in use in DOORS Classic into DNG (e.g. if DOORS Classic Module "123" had ReqIF ID "abc" in DOORS Classic, matching migrated module in DOORS Next "456" shall also have ReqIF ID "abc" in DOORS Next)

Correction of ReqIF IDs in general
-Possibility to correct ReqIF IDs if tool that was exporting to DNG accidentally / incorrectly exported wrong or changed ReqIF IDs
-Possibility to correct ReqIF IDs if ReqIF IDs accidentally / incorrectly changed in DNG due to DNG technical issue

DNG API to edit the DNG ReqIF Mapping Table would enable developers to provide better custom tools for DOORS Next related to DNG ReqIF Import / Export

DNG ReqIF Mapping Table History would enable better analysis of DNG ReqIF Issues
-In the past, there were various issues with DNG ReqIF Import where even IBM Support was unsure why / when / how a ReqIF ID had changed
-The DNG ReqIF Mapping Table History would enable both IBM and non-IBM support to better analyse such issues
Example: DNG ReqIF IDs changed, but IBM Support stated they did not have sufficient information to find out how / why exactly the ReqIF Ids changed (TS012231691); a History for the DNG ReqIF Mapping Table would make analysis easier

More possibility for developers to provide additional functionalities / tools related to DNG ReqIF Export / Import

Idea priority Medium
Needed By Quarter