![]() |
Telelogic DOORS (steve huntington) | ![]() |
new topic :
profile :
search :
help :
dashboard :
calendar :
home
|
||
Latest News:
|
|
Topic Title: Lock an individual object Topic Summary: Created On: 6-Apr-2006 19:10 Status: Post and Reply |
Linear : Threading : Single : Branch |
![]() |
![]()
|
![]() |
|
Once a set of objects have been inspected (but before the module is baselined), we'd like to be able to "lock" those objects so no one can modify them. I added a bool attribute (Locked) to the objects in the module. The idea is that once an object has been inspected, the attribute value would be set to Locked. I then added a pre/open trigger on the objects that returns a trigPreConFail if the "Locked" attribute was set to true. I thought that returning a fail condition would prevent the event from taking place. However, the object is still modifiable. Does anyone know how I can go about accomplishing this?
Thanks, Robin ------------------------- -------------------------------------- Robin Riley Motorola, Inc Robin.Riley@motorola.com |
|
![]() |
|
![]() |
|
Why not just change the access privileges so that only a adminstrative group can edit the object(s).
Set EveryoneElse to READ. ------------------------- Cliff Bly |
|
![]() |
|
![]() |
|
Robin,
I haven't used the pre/open event for objects before, but we've implemented something similar to what you're trying using a trigger that fires on the pre-attribute-save event. We're only preventing users from changing a single attribute and not the whole object, but you may be able to achieve something similar by having the trigger fire for all attributes in the module. Kevin |
|
![]() |
|
![]() |
|
We use BOTH the pre-open Object and pre-save Attribute triggers to set a trigPreConFail, and this completely locks the user out of the Object.
NB Remember to have a back door, eg. a Module Object to enable/disable the triggers. Roy Bond MTU Aero Engines Munich |
|
![]() |
|
![]() |
|
The pre-attr-save trigger has worked well for us, once defined for all attributes in the module. This stopped modifications via clicking in a displayed column.
I believe you could still modify the object via DXL, and IIRC could still use the object editor to do it as well. A desperate method may be to write a pre-save-module trigger that prevented saving if any locked object has been modified. I'd be tempted to prompt the user to backout any such changes (via history), but that would get real sticky. - Louie |
|
![]() |
|
![]() |
|
I think Cliff (2nd post) has the right idea. Those who work in shared mode and setup their own sections are acutely aware of this concept. Attributes and objects have their own permissions. By default all of these are set to inherit from parent. In the module properties (Access tab), if you uncheck the "Inherit from Parent" you can set the permissions for that object (and the objects under its hierarchy). When you edit the permissions, make sure that _somebody_ has the permissions to change the permissions back, because it is possible to lock _everyone_ out of that object.
When compared to the attribute method it is probably more robust, but has a few disadvantages: 1) Requires exclusive edit mode to change 2) Moderately more difficult to code in DXL (depending how permissions are set up). 3) Affects the entire object (including attributes) Jordan Edited: 16-May-2006 at 16:11 by Jordan Jump |
|
![]() |
Telelogic DOORS
» DXL Exchange
»
Lock an individual object
|
![]() |
FuseTalk Standard Edition v3.2 - © 1999-2009 FuseTalk Inc. All rights reserved.