Topic
  • 6 replies
  • Latest Post - ‏2014-04-05T00:01:11Z by Mathias Mamsch
BeastBoysDad
BeastBoysDad
19 Posts

Pinned topic Deleting Object History Records

‏2014-04-03T17:00:06Z |

Is there a DXL command that will delete an object's history record?

Alternately, is there a way in which when an object is softDeleted or undeleted using DXL that you can prevent the deletion or undeletion from being recorded in the object's history record?

  • llandale
    llandale
    3035 Posts

    Re: Deleting Object History Records

    ‏2014-04-03T18:29:19Z  

    [1] no

    [2] no

    But I suppose you could use VooDoo, running on the server, to "copy" the correct database History file and then "paste" it when you are done monkeying with the module and close it.  Don't go there.

    You need to fix your DXL that goes around accidentally deleting objects.  Let me guess, you have a top-down module leveler that wants to move objecs and delete others.  When you delete you also delete the children, some of which you want to preserve and move so you undelete them; move, then re-delete their children.  Instead, keep a list of ones you want to delete, and delete them AFTER you move all the other ones.

    -Louie

  • BeastBoysDad
    BeastBoysDad
    19 Posts

    Re: Deleting Object History Records

    ‏2014-04-03T18:48:23Z  
    • llandale
    • ‏2014-04-03T18:29:19Z

    [1] no

    [2] no

    But I suppose you could use VooDoo, running on the server, to "copy" the correct database History file and then "paste" it when you are done monkeying with the module and close it.  Don't go there.

    You need to fix your DXL that goes around accidentally deleting objects.  Let me guess, you have a top-down module leveler that wants to move objecs and delete others.  When you delete you also delete the children, some of which you want to preserve and move so you undelete them; move, then re-delete their children.  Instead, keep a list of ones you want to delete, and delete them AFTER you move all the other ones.

    -Louie

     

    What I'm doing is I'm trying to create a work-around for the bug that IBM introduced into DOORS 9 where you can't modify attributes of a deleted object.  I can undelete a deleted object, modify the desired attribute, and then delete the object again.  However, both the undelete action and delete action are recorded in the object's history.  I don't want either action to be recorded, so I was looking to either delete those history items or find a way to prevent those history items from being recorded in the first place.

    The reason that I don't want either action to be recorded is that I use another DXL to extract the deletion date from either the current baseline of a module or its earlier baselined versions.  If the undelete/delete of when I modified the object's attribute are recorded in the object's history, then it messes up the extracted deletion date.  There are cases where I legitimately undelete an object and then later change my mind and delete it again.  In those cases where I subsequently deleted the object again, I want my DXL to declare the latest deletion date as the object's deletion date.  However, in the case where I just undeleted/deleted the object in order to modify an attribute, I don't want the DXL to extract this date as the object's deletion date, I want the earlier deletion date.

     

  • llandale
    llandale
    3035 Posts

    Re: Deleting Object History Records

    ‏2014-04-03T20:25:13Z  

     

    What I'm doing is I'm trying to create a work-around for the bug that IBM introduced into DOORS 9 where you can't modify attributes of a deleted object.  I can undelete a deleted object, modify the desired attribute, and then delete the object again.  However, both the undelete action and delete action are recorded in the object's history.  I don't want either action to be recorded, so I was looking to either delete those history items or find a way to prevent those history items from being recorded in the first place.

    The reason that I don't want either action to be recorded is that I use another DXL to extract the deletion date from either the current baseline of a module or its earlier baselined versions.  If the undelete/delete of when I modified the object's attribute are recorded in the object's history, then it messes up the extracted deletion date.  There are cases where I legitimately undelete an object and then later change my mind and delete it again.  In those cases where I subsequently deleted the object again, I want my DXL to declare the latest deletion date as the object's deletion date.  However, in the case where I just undeleted/deleted the object in order to modify an attribute, I don't want the DXL to extract this date as the object's deletion date, I want the earlier deletion date.

     

    You can get the "session" number of the History record.  If you see a pair ot "delete-undelete" history, or "undelete-delete" history with the same Session, ignore both.  So if you edit, delete, undelete, save and close there is such a pair.  But if you edit, delete, save-close, edit again, undelete; then there is no such pair.

    -Louie

  • BeastBoysDad
    BeastBoysDad
    19 Posts

    Re: Deleting Object History Records

    ‏2014-04-04T15:54:21Z  
    • llandale
    • ‏2014-04-03T20:25:13Z

    You can get the "session" number of the History record.  If you see a pair ot "delete-undelete" history, or "undelete-delete" history with the same Session, ignore both.  So if you edit, delete, undelete, save and close there is such a pair.  But if you edit, delete, save-close, edit again, undelete; then there is no such pair.

    -Louie

    Good idea!

    From past experience, I've learned that anything that can be done from the DOORS menus can be replicated in DXL.  When a baseline is created, revision history is wiped out.  Any idea how revision history is wiped out when creating a baseline and how this might be replicated in DXL without creating a baseline?

  • llandale
    llandale
    3035 Posts

    Re: Deleting Object History Records

    ‏2014-04-04T19:02:03Z  

    Good idea!

    From past experience, I've learned that anything that can be done from the DOORS menus can be replicated in DXL.  When a baseline is created, revision history is wiped out.  Any idea how revision history is wiped out when creating a baseline and how this might be replicated in DXL without creating a baseline?

    Just about everything you see in DOORS is indeed written in DXL; so actually DXL can do alot more than you see.  Other folks know which parts of the GUI are not DXL.

    When a Baseline is created, a new sub-folder to house that "Baseline_nnnn" by copying the Current files; but I'd suppose the History file is moved instead of Copied and thus "disappears" from the current version.  No, we cannot do that with DXL.

    -Louie

  • Mathias Mamsch
    Mathias Mamsch
    2147 Posts

    Re: Deleting Object History Records

    ‏2014-04-05T00:01:11Z  

    Good idea!

    From past experience, I've learned that anything that can be done from the DOORS menus can be replicated in DXL.  When a baseline is created, revision history is wiped out.  Any idea how revision history is wiped out when creating a baseline and how this might be replicated in DXL without creating a baseline?

    There is actually a LOT of stuff that you cannot do with DXL. Deleting History is (for good reasons) one of them. When you are looking for these kinds of workarounds chances are, that you are using DOORS for something it is not intended for.

    Also you should know that History is not very reliable in DOORS, starting with the fact, that you can turn off history for certain attributes or that modifying types and attributes is not correctly reflected in History. You should not rely on the history too much when scripting.

    Why do you care so much about deleted objects? You should be aware that deleted objects can be purged anytime, meaning you really should'nt care so much about deletions. Maybe instead of deleting objects, you should flag them as obsolete using an attribute. Is this a version management problem you are trying to solve?

    Regards, Mathias