Hello all,
I was wondering whether it is possible to avoid a user creating links from Objects in a Module under certain circumstances (e.g. only if a certain attribute contains a certain value). This would usually mean creating a Trigger, which I have done before, but there seem to be no Link related triggers defined (am using DOORS 9.3).
From a thread in 2009 it would appear that it's not possible, or at least not without depending on a Layout DXL column being available in the view.
I was wondering whether anyone has been able to solve this in some way, or otherwise work around this. For example, I do see in the DXL help that there is a trigger level modifier 'link'. I wonder if there's some way to put a trigger on the creation (sync'ing?) of objects in the link module (ie. links) that would contain the relevant links. I'm not sure, however, how I'd go about creating that specific Trigger. Something along the lines of 'module->"LinkModule"->link->object->all'?
Anyone have experience with this?
Thanks
M_vdLaan - Thu May 24 04:46:24 EDT 2012 |
|
Re: Trigger on link creation (revisited) llandale - Thu May 24 13:26:09 EDT 2012
I think you need a "prevent what you can and punish what you cannot" approach.
If this is your policy then surely will need some form of on-demand script that finds such illegal links. That script could easily delete them as well. It could also send repeated and annoying Emails to the violator, thus "encouraging" them to play nice.
As for prevention: I cannot think of a graceful way nor any method that could not easily be circumvented. I even tried a "clever" attr-DXL in the link-module; but it only fires when the "obj" changes which is actually the LinkSet Object in the Link Module.
You may have significant (but not perfect) luck with a pre-sync object trigger. If the "current" object (the one before you click some other object) has a just created illegal link, delete it and scold the user.
"Ungraceful" may include some clever hidden DB with a timer DBE, that checks the current object for illegal links.
-Louie
|
|
Re: Trigger on link creation (revisited) M_vdLaan - Tue May 29 03:17:18 EDT 2012 llandale - Thu May 24 13:26:09 EDT 2012
I think you need a "prevent what you can and punish what you cannot" approach.
If this is your policy then surely will need some form of on-demand script that finds such illegal links. That script could easily delete them as well. It could also send repeated and annoying Emails to the violator, thus "encouraging" them to play nice.
As for prevention: I cannot think of a graceful way nor any method that could not easily be circumvented. I even tried a "clever" attr-DXL in the link-module; but it only fires when the "obj" changes which is actually the LinkSet Object in the Link Module.
You may have significant (but not perfect) luck with a pre-sync object trigger. If the "current" object (the one before you click some other object) has a just created illegal link, delete it and scold the user.
"Ungraceful" may include some clever hidden DB with a timer DBE, that checks the current object for illegal links.
-Louie
Hi Louie,
Thanks. I was hoping perhaps someone had found a way, but was not confident.
I guess I'll stick to plan B, being the 'check and correct' way (possibly including the annoying e-mails...).
When I have more time, I'll experiment with the object pre-sync trigger; it may not be 100% fool-proof, but if it can prevent, say ,80% of 'illegal' links then that's A good step. The other 20% I can check for when opening the module (for example).
Marcel
|
|
Re: Trigger on link creation (revisited) Mathias Mamsch - Wed May 30 03:26:42 EDT 2012 M_vdLaan - Tue May 29 03:17:18 EDT 2012
Hi Louie,
Thanks. I was hoping perhaps someone had found a way, but was not confident.
I guess I'll stick to plan B, being the 'check and correct' way (possibly including the annoying e-mails...).
When I have more time, I'll experiment with the object pre-sync trigger; it may not be 100% fool-proof, but if it can prevent, say ,80% of 'illegal' links then that's A good step. The other 20% I can check for when opening the module (for example).
Marcel
We made some good experiences, with just a DXL layout column which would check for certain possible errors like:
-
Incorrect Combination of attribute values
-
Invalid object structuring
-
Invalid links
etc. We incorporated this layout column in the work views of the engineers. Most of them were pretty happy with that and it allowed them to immediately correct possible issues when the made them. For the rest you probably need annoying emails ;-) Regards, Mathias
Mathias Mamsch, IT-QBase GmbH, Consultant for Requirement Engineering and D00RS
|
|