I would like to use several Shape Data fixed lists on my shapes, but keep the list store in a centralized 'configuration shape'.
I can easily accomplish this by setting Format in all the shapes to point to the Format field in the centralized shape, like this formula:
=ConfigurationShape!Prop.Row_1.Format
Please note for this use case I don't mind that the shapes break when copied to another page that does not have the configuration shape. (I do a lot of verification in code on the shapes).
(I can verify if a shape is copied, which invalidates the lookup data as these lists may be different and lead to incorrect results).
Another issue is the user changing the list in the configuration shape (via Define shape data) and invalidating all the lookup values in the other shapes.
So the lookup will actually be something like:
=ConfigurationShape!User.LookUpX.Format
So the user can no longer use Define shape data. I will add a custom WinForm editor that does validation on the changes to the lookup list. (forcing the user to add a unique ID in a separate field that I add to the beginning of the lookup's text)
The configuration shape cannot be deleted without the user going in to the Developer Tab. (as far as I know that is the only way to remove delete protection).
One problem is still that the user can change the Format (lookup list) in each shape, is there a way I can block editing the settings of (a particular) shape data field?
Thank you for sharing your insights!