![]() |
Telelogic DOORS (steve huntington) | ![]() |
new topic :
profile :
search :
help :
dashboard :
calendar :
home
|
||
Latest News:
|
|
Topic Title: Unspecified Failure Topic Summary: Internal bug report? Created On: 7-Aug-2007 16:17 Status: Post and Reply |
Linear : Threading : Single : Branch |
![]() |
![]()
|
![]() |
|
DOORS is throwing alot of surprises at me these days. One of our modules was being modified by our software group, and they locked down all access rights so only two people had any rights beyond read access. They have since copied the module to create a new module with similar wording and links. However, now I am trying to give the correct people access, including myself, and I am running into issues. I have added access rights for the module, so now I can get in exclusive edit. Now I am locked out of most of the objects. I ran the "Set access to inherit.dxl" to make all the objects "inherit from parent". I can open the module in exclusive, edit on object, and them I am locked out of all others from that point on. The inherit from parent box is not checked and no users show in the access rights box. When I manually check inherit from parent, it inherits the incorrect list of users. Additionally, when I access the properties of an object, it says, "Internal error, please submit a problem report." and another dialogue box opens and says:
-R-E- DXL: <Line:2> An unexpected error has occurred: Unspecified Failure -R-E- DXL: <Line:2> Please submit a bug reportAnybody experience this? It happens in both the original and copied modules. |
|
![]() |
|
![]() |
|
When you change access of an object from specific to inherited it will 'inherit' its parent's object's rights. That's confusing enough but much worse if there is a sort or filter on since you cannot tell which other objet is the parent.
Any script that sets rights needs to be run by a user that has full RMCDA rights. For modules with access issues that almost always means you must run the script as the Administrator. In order to edit an object-attr value you must have access to the object, open the module exclusive or open shared and lock that object's section, and also must have at least RM access to the Attr Value. - Louie |
|
![]() |
|
![]() |
|
I ran the script using the Administrator login and it appeared to work at first. When I logged in with my username, that is when I ran into the issue where I could edit one object, and then it would lock up and no longer allow me to edit. No sort or filter is on....is there a way to tell what the parent object is? I assumed it would inherit the access rights from the module.
|
|
![]() |
|
![]() |
|
No, top level 1 objects inherit from the module; all other leveled objects inherit from the parent object (one level up).
All this sort of work should be done with "Object Level' displayed in a column. If so, the 'parent' is the first object encountered 'up' whose level is one less than the current object. |
|
![]() |
|
![]() |
|
I found the culprit DXL that is messing the module up. It was a DXL attribute that was apparently used as some sort of sort function. When used in the view that it was designed for, everything works great. I deleted the attribute and the module was back to normal. When I tried to create the attribute and insert the DXL code, DOORS disappeared when I clicked OK. I don't know if there is a way to fix this so we don't have this issue again...any ideas?
Corey |
|
![]() |
|
![]() |
|
I guess "Local_Category" happens to be displayed in column 4, which creates an infinite recursion, which causes DOORS to silently disappear.
Peter |
|
![]() |
|
![]() |
|
I still don't quite know how this DXL works. No matter how the view is arranged, or where the attribute is placed, it still displays the same results every time. I still can't figure out why it seems to conflict with the rest of the module.
|
|
![]() |
|
![]() |
|
Sorry to be picky, and don't take this personally, but I really must comment on your code snippet. This is very dangerous DXL for three reasons.
First, you have used a "magic number" to get a handle on the column. If the column does not exist or the column contains a value that is not compatible with the attribute then you will have undefined behaviour. Second, you are explicitly stating the attribute name in the attribute DXL. You should use obj.attrDXLName instead. This makes the DXL portable between attributes and also means it won't break if you change the name of the attribute. Third, why are you getting the value from the column, when you should be getting it from the attribute directly? ------------------------- Tony Goodman http://www.smartdxl.com |
|
![]() |
|
![]() |
|
Tony, good comments. The good news is that I didn't create the DXL, one of the software engineers did. I figured out the trick to the code yesterday. It takes the values from a layout DXL and displays them in the attribute DXL, and the end result was the ability for the user to sort on values from another module. I solved this simply by converting the layout DXL to an attribute DXL. Now there are no errors or quirks, and the user can sort with ease.
And thanks to everybody who repsonded on this one...case closed!
|
|
![]() |
|
![]() |
|
The other replies to this snippette are good replies. To which I add [] Check for a null column before using it [] Null attrDXL values should be saved as a space instead, since a null value is a flag to DOORS to recalculate the value, which throws DOORS into a busy-tissy as it constantly recalculates the null value. [] attrDXL does not work well when its tied to a view; as you noticed this DXL has no meaning unless Column 4 actually displays what you expect.
Try this. [1] Go to that col 4 of that view, which I presume is a Layout DXL, and insert that DXL into this dxl. Then use the following in your AttrDXL. If the layout has a single Display line then the new DXL does this: >> string DisplayedValue = the value that was 'display'ed in the Layout If the layout had a loop or multiple Display values, then do this: Buffer bufResults = create >>bufResults += display value of every display, plus "\n" >> at the end: string DisplayedValue = stringOf(bufResults); delete(bufResults) Now set the value; this sort of code is routine for all attrDXL: if (null DisplayedValue) DisplayedValue = " " // Change null to a space obj.attrDXLName = DisplayedValue - Louie |
|
![]() |
Telelogic DOORS
» General Discussion
»
Unspecified Failure
|
![]() |
FuseTalk Standard Edition v3.2 - © 1999-2009 FuseTalk Inc. All rights reserved.