I am working on a project that lets authenticated users create content on a set of pages and I want them to be able to personalize the controls on those pages; the personalization has to be visible to unauthenticated users as well when they view those pages on a per account basis.
I thought I could use the profile storage to store each control's properties that I want to personalize, extract it in the PreInit event of each page base on the Account Id in the query string and apply the property changes to each control.
The problem is that I would have to build the complete UI for each control on each page.
I also could use web parts and the PropertyGrid Editor in shared mode, as it already has lots of the UI needed, the problems are:
It it seems that it works only for custom WebPart controls, not built in controls. Do I have to derive controls from the built in controls to expose some of their properties to the PropertyGrid Editor ?
How can I extract the personalization per account when anonymous users view the pages?
Or is there an altogether better way of doing this?