Welcome to Telelogic Product Support
  Home Downloads Knowledgebase Case Tracking Licensing Help Telelogic Passport
Telelogic DOORS (steve huntington)
Decrease font size
Increase font size
Topic Title: Discard changes since last baseline
Topic Summary:
Created On: 13-Jun-2006 14:06
Status: Post and Reply
Linear : Threading : Single : Branch
Search Topic Search Topic
Topic Tools Topic Tools
Quick Reply Quick Reply
Subscribe to this topic Subscribe to this topic
E-mail this topic to someone. E-mail this topic
Bookmark this topic Bookmark this topic
View similar topics View similar topics
View topic in raw text format. Print this topic.
Answer This question was answered by Tony Goodman, on Thursday, July 13, 2006 4:23 PM

Answer:
I would avoid any sort of "undo" function that does not create history - even if it is possible.
History is one of the best features of doors - and messing with your audit trail is a bad idea.

If I wanted to "revert" to an earlier baseline I would do the following:

Compare current version to the selected baseline.
for each object that exists in both, copy all attributes accross from baselline to current version.
if an object has been soft-deleted then undelete it
if an object has been purged then you have no option but to issue a warning and maybe create a new object to replace it.
move objects that have been moved.
soft-delete objects that have been created since the baseline - again I would issue a warning for this.
create a new baseline.

Now you have the current version, showing no history, that is the same as the baseline.
 13-Jun-2006 14:06
User is offline View Users Profile Print this message


Neal Middlemore

Posts: 35
Joined: 24-Mar-2005

Hi,

Does anyone have a method for discarding all changes to a module since the last baseline?

Thanks

Neal
Report this to a Moderator Report this to a Moderator
 13-Jun-2006 19:33
User is offline View Users Profile Print this message


Pekka Mäkinen

Posts: 276
Joined: 18-Mar-2004

Well, actually I have been thinking of the same problem as a DXL script. Here's what I have come up:

As the history is cleared at each baseline to revert to the baseline in DXL, you have to go through each object and roll back each change in history for each object (set the attribute value changed in that history record to be the current value for that attribute, similar as the Restore button in DOORS GUI). Of course these changes would then produce new history records...

No implementation on this yet ;-)

-------------------------
Pekka.Makinen@softqa.fi
SoftQA Oy -http://www.softqa.fi/
Report this to a Moderator Report this to a Moderator
 13-Jun-2006 22:35
User is offline View Users Profile Print this message


Chris Jones

Posts: 177
Joined: 1-Jul-2005

We're also looking at doing a script for this, since it could be so useful. The algorithm that we had come up with was pretty much exactly the same as Pekka's. But, the fact that every change makes more history hadn't occurred to me, and it _is_ a little scary.

I was also looking through the history functions in the kitchen scripts for inspiration. I think one could just automate the "Undo changes on current object" script to go as far back as possible, for each object. One problem is that it leaves empty objects for any that were created. But it also gives some hope for avoiding history loops since it doesn't seem to have trouble with it.

I think this has come up on the forums before...

Chris
Report this to a Moderator Report this to a Moderator
 14-Jun-2006 08:46
User is offline View Users Profile Print this message


Tony Goodman

Posts: 1098
Joined: 12-Sep-2002

Answer Answer
I would avoid any sort of "undo" function that does not create history - even if it is possible.
History is one of the best features of doors - and messing with your audit trail is a bad idea.

If I wanted to "revert" to an earlier baseline I would do the following:

Compare current version to the selected baseline.
for each object that exists in both, copy all attributes accross from baselline to current version.
if an object has been soft-deleted then undelete it
if an object has been purged then you have no option but to issue a warning and maybe create a new object to replace it.
move objects that have been moved.
soft-delete objects that have been created since the baseline - again I would issue a warning for this.
create a new baseline.

Now you have the current version, showing no history, that is the same as the baseline.

-------------------------
Tony Goodman
http://www.smartdxl.com
Report this to a Moderator Report this to a Moderator
 14-Jun-2006 09:53
User is offline View Users Profile Print this message


Pekka Mäkinen

Posts: 276
Joined: 18-Mar-2004

Thanks! That was really complete description of what is needed.

The easiest way to revert to baseline is of course to copy the baseline as a new module and delete the existing current version ;-)

-------------------------
Pekka.Makinen@softqa.fi
SoftQA Oy -http://www.softqa.fi/
Report this to a Moderator Report this to a Moderator
 11-Jul-2006 17:33
User is offline View Users Profile Print this message


Kathryn Albright

Posts: 1
Joined: 9-Dec-2005

The only problem with copying a baseline to a new module is that the object ids are reset in the new module.  So it would be a good idea to copy them to an attribute to preserve that information before you do it.
Report this to a Moderator Report this to a Moderator
 11-Jul-2006 20:38
User is offline View Users Profile Print this message


Louie Landale

Posts: 2070
Joined: 12-Sep-2002

I like Goodman's approach. But if you wanted to plow through History you could do it as follows: loop for objects in the entire module. Loop through history of each object. For modify history, put into a skip list the attribute name and the (rich text) "old" value from history. Notice that when a 2nd history for that object attribute is detected, the skip put command will ignore the newer value, preserving the old. Since the History loop is sequencial move forward in time, you'll end up with a skip list with all the new values you want. Then loop through the skip updating that object's attribute values. Then go to the next object.

- Louie
Report this to a Moderator Report this to a Moderator
Statistics
20925 users are registered to the Telelogic DOORS forum.
There are currently 1 users logged in.
The most users ever online was 15 on 15-Jan-2009 at 16:36.
There are currently 0 guests browsing this forum, which makes a total of 1 users using this forum.
You have posted 0 messages to this forum. 0 overall.

FuseTalk Standard Edition v3.2 - © 1999-2009 FuseTalk Inc. All rights reserved.