![]() |
Telelogic DOORS (steve huntington) | ![]() |
new topic :
profile :
search :
help :
dashboard :
calendar :
home
|
||
Latest News:
|
|
Topic Title: Layout DXL: How to display Baseline Number of Object Text Last Change Topic Summary: Created On: 22-Oct-2008 16:55 Status: Post and Reply |
Linear : Threading : Single : Branch |
![]() |
![]()
|
![]() Answer: If instead of just Object Text but rather you wanted to display the Baseline in which the object was last changed at all (any attribute), then you could get the obj."Last Modified On" value of the object, loop through all the baselines of the module for bl in (module(obj)), get the date of the baseline bl.date, and compare as needed. To do what you want to do what you want, then regreattably you need to open up all the baselines, loop through all History looking for changes to attr Object Text for this object, and retaining the last date. Then compare that to the baseline. I'm sure this will not work satisfactorily in a Layout due to the massive processing involved. You can have an on-demand script that manages an attribute perhaps called "BL of OT Last Changed", which does this work and sets the attribute. Run the script often. - Louie | |||
![]() |
|||
Hi all,
I would like to have a column, which displays the Baseline number, in which "Object Text" was last changed. Initially it will display 0.0. After creating a baseline it shall remain at 0.0, until I change object text (then it shall display 0.1). When I create two more baselines (e.g. 0.2 and 0.3) it shall remain at 0.1, until I change object text (then it shall display 0.3). Has anybody an idea of how to do that or has anybody had a similar problem and can provide a solution? Thanks in advance! Best Regards, Mathias Burchardt BeOne Hamburg GmbH |
|||
![]() |
|||
![]() |
|||
If instead of just Object Text but rather you wanted to display the Baseline in which the object was last changed at all (any attribute), then you could get the obj."Last Modified On" value of the object, loop through all the baselines of the module for bl in (module(obj)), get the date of the baseline bl.date, and compare as needed.
To do what you want to do what you want, then regreattably you need to open up all the baselines, loop through all History looking for changes to attr Object Text for this object, and retaining the last date. Then compare that to the baseline. I'm sure this will not work satisfactorily in a Layout due to the massive processing involved. You can have an on-demand script that manages an attribute perhaps called "BL of OT Last Changed", which does this work and sets the attribute. Run the script often. - Louie |
|||
![]() |
|||
![]() |
|||
Hi Mathias,
attached you will find a script of the type which Louie proposed. It manages two additional attributes: an object level attribute "Last modified baseline" and a module level attribute "Published baselines". The latter was necessary for us, as we want to report the last published baseline in which an attribute was changed, with possible intermediate baselines in between. The DB has several options: - report all modifications or just the latest modifications - check and report all attributes individually or let just one modified attribute "raise the flag" for this object and baseline - Update the "Last modified baseline" attribute or display the result for the current object in the DB If you want to run it, you need the usual combination of #include <Your_path/modifiedBaselines.inc> modifiedBaselines Regards, Peter
Edited: 24-Oct-2008 at 09:36 by Peter Albert |
|||
![]() |
|||
![]() |
|||
Thanks a lot, Louie!
The code below works, but performance is a little poor (I guess because each object has to step through all baselines). Has anybody an idea of how to improve performance in this case? Thank you. Rgds Mathias |
|||
![]() |
|||
![]() |
|||
Hi Mathias,
you could create a module level attribute which contains the baseline info and the modification dates in individual lines. You would only have to update this attribute once a baseline is taken. Then your script just has to loop over the lines in this attribute value, and probably perform some regular expression voodoo, instead of looping through the baselines, which should make it much faster. Regards Peter |
|||
![]() |
|||
![]() |
|||
If done that way you better run the code as a DXL attribute and place that DXL attribute in a view. Then the refresh for the values will happen only when you open the module and the view where this attribute exists. Thus there will be no performance problems with scrolling the module in this view.
------------------------- Pekka.Makinen@softqa.fi SoftQA Oy -http://www.softqa.fi/ Edited: 24-Oct-2008 at 11:33 by Pekka Mäkinen |
|||
![]() |
|||
![]() |
|||
Thank you, Pekka,
great advice to use DXL Attributes instead of Layout Columns for this case. Rgds, Mathias |
|||
![]() |
|||
![]() |
|||
Peter,
great tool, thank you. After cross-checking with your tool I changed my code to consider not only date but also time. Currently the Attribute DXL solution works best for me. I will uncheck "affect change dates" for all irrelevant attributes and so the correct baseline number will be shown when I change relevant attributes. Rgds Mathias |
|||
![]() |
FuseTalk Standard Edition v3.2 - © 1999-2009 FuseTalk Inc. All rights reserved.