Issue
If you edit a TGML graphic whose parent folder has had its authority changed from the default, bindings and links on the graphic may not work any more.
Say you have a graphic that you only want to make accessible via a link on another graphic i.e. it should be invisible in the Folder View. The graphic has dynamic elements that must update, setpoints that must be adjustable, and links to other graphics.
One way to achieve this is to give the Authority of the parent folder an Access level of 'None' for Everyone, thereby hiding the folder and its contents. You then grant individual users or groups - 'System' for example - an Access level of 'Change' as you want to be able to select the graphic to edit it after it has been created. The bindings and links on the graphic must always have a 'Change' Access level for them to update dynamically.
You log on as System to create the folder structure, graphics, bindings, links etc. - all with the default authority Access level ('Change'). You then edit the Authority for the parent folder of your graphic, giving it an Access level of 'None' for Everyone. You leave the two checkboxes, 'Change access level on subunits' and 'Change access level on existing objects', unticked as you do not want to change the access level of the folder contents.
This works as expected. Log on as 'Field', for example, and the folder and its contents are not visible in the Folder View. The hidden graphic can be opened via a link from another graphic. Once open, dynamic values update, setpoints can be adjusted and links to other graphics work.
Log back on as System to modify the graphic. As System you are able to select the graphic from the Folder View and launch the TGML Editor. Modify an object on the graphic (it could be some static text, not necessarily a dynamic object). Save the graphic. At this point the TGML editor crashes with a COMException error 'Access denied'. The changes have been saved, however.
But now, if you log on as System, Field or any other user the modified graphic does not work. Dynamic values are not updated and any attempt to select a dynamic value or link produces an 'Access denied' error.
Environment
TAC Vista 5.1.6
Windows 7, XP 32 bit and 64 bit
Cause
Bindings and links to graphics are saved in the database as hidden object types TGML_DYN and TGML_LINK in the same folder as the graphic they belong to. However, when they are created they inherit the authority settings of the parent folder, not the graphic. These settings can be changed, but a peculiarity of Vista means that when the graphic is saved the authority settings of the bindings and links revert to those currently existing for the parent folder. If this happens to be Access level 'None' the graphic will not work for any user.
Resolution
Log on as System.
Before editing the graphic, change the authority access level of the parent folder, including its subunits and existing objects, to 'Change' for Everyone and System.
Edit the graphic, save and close the TGML editor.
Change the authority access level of the parent folder, but not its subunits and existing objects, back to 'None' for Everyone.