Overview
This article explains how to manage deleted items in a DX roundtrip exchange, particularly when Project 1 (source) deletes items but Project 2 (destination) still retains them. It covers best practices for marking deletions without permanently losing data.
1. Problem: Deleted Items in Project 1 Still Exist in Project 2
✔ Observed Behavior:
-
DX syncs two projects (Project 1 → Project 2) via conversation/roundtrip.
-
Items deleted in Project 1 still exist in Project 2.
-
A new ReqIF file does not include the deleted items, so they are not marked as deleted in Project 2.
-
DX does not automatically insert a "deleted" indicator for removed items.
✔ Key Challenge:
-
How to ensure Project 2 reflects deletions from Project 1?
2. Solution: Use Soft Deletes Instead of Permanent Deletions
✔ Instead of permanently deleting items in Project 1, mark them as "Removed".
✔ Create a field like "isDeleted" or a status value ("Removed") in the project schema.
✔ During the roundtrip sync, update statuses instead of removing items.
✔ Steps:
-
Add a "Deleted" or "Removed" status in the status picklist.
-
Update items in Project 1 to "Removed" instead of deleting them.
-
Sync the updated ReqIF to Project 2.
-
Filter out "Removed" items from active views in Project 2.
✔ Effect:
-
Project 2 gets updated deletion status rather than missing data.
-
Users can analyze deleted items before fully removing them.
-
Eliminates confusion about whether missing data is due to deletion or a sync error.
3. Alternative: ReqIF Attribute for Deletion Tracking
✔ ReqIF includes a ReqIF.ForeignDeleted = True attribute.
✔ In DOORS, this marks deleted items so they are still viewable but filtered from active views.
✔ However, DX does not currently insert this attribute, so it cannot be used automatically.
✔ Impact:
-
If DOORS uses a purge function, deleted items are permanently removed and do not appear in exported ReqIF.
-
If DOORS only soft deletes, items will still exist but with ReqIF.ForeignDeleted = True.
4. Best Practices for Handling Deleted Items in DX Roundtrip Syncs
✅ Do not delete items outright in Project 1; use a "Removed" status instead.
✅ Ensure Project 2 filters "Removed" items to avoid confusion.
✅ Monitor whether JCI or DX updates will support ReqIF.ForeignDeleted.
✅ For DOORS users, be aware of differences between soft delete and purge functions.
5. Conclusion
-
DX does not automatically track deletions between synced projects.
-
Best practice is to soft delete items instead of fully removing them.
-
Using a "Removed" status ensures proper tracking in Project 2.
-
Future enhancements in DX/JCI may allow better handling of deletions.
Comments
0 comments
Please sign in to leave a comment.