The DDR doesn't report which TOs are used as the context for Privilege Level calculations
Operating system version
Mac OS 10.6.5
Description of the issue
The DDR doesn't include any information on the context Table when you have a calculated value for the "Limited" setting for Custom Record Level access. This causes all sorts of issues with the output data if the context is deleted or altered in such a way as to no longer have a relationship to the values used.
Steps to reproduce the problem
Create a new file with two related Tables, ie Table1 and Table2. Make sure there is a field in each and that they're related to each other by one field or another.
Go to Manage Security and create a new Privilege Set, set the Record Level access to Custom.
For each of the View, Edit and Delete settings, put in a calculation with some variation of the 2 Tables above. ie :
1 ) Context of Table1, only local fields used.
2 ) Context of Table1, related field from Table2 used.
3 ) Context of Table2, local fields used.
4 ) Context of Table2, field from Table1 used.
Accept the changes and exit Manage Security. Go into Manage Database, and delete one of the Tables.
The first issue is that this doesn't present any warning dialogs about the Table being in use. It allows you to delete without any issue.
Now run the DDR for that file.
It should warn you when deleting a TO that is in use in the Privilege Set.
It should show the context TO in the DDR in the same way as the rest of the system does.
And it should be more consistent in it's treatment of errors so you can determine problems from the DDR.
For example if you delete Table1 in the examples above you get the following behaviour :
1 ) There is no indication that the context is missing, and the field reference from the Chunk node type has changed to a "NoRef" type instead.
2 ) The calculation is still accurate, but there are no references produced in the DisplayCalculation node any more. It's completely empty. All the references should be valid, it's just the context that is missing. There is no indication at all that the problem is that the context is missing.
3 ) Still works.
4 ) The field is listed as missing in the calc, and no references are produced ( which is consistent the rest of the DDR and what it does for calcs ), but there is no mention of the context that is still valid.
Exact text of any error message(s) that appear