I've been having an issue with my webparts for some time now, i'll try and explain it as best as i can:
- ASP.NET website using webparts and forms authentication.
- Multiple custom webparts built using ascx and extending the webpart class.
- User settings stored in Personalisation database.
- Using the WebPartManager in Microsoft.Web.Preview
- Using a custom derived CatalogZone
The issue is that i have a webpart derived from the webpart class called "Documents", this webpart is available to all users from the Catalog. However once the webpart has been added to a users page settings i have no way to go in and upgrade it. If for example i go in and change the title of the Documents webpart in the Catalog, this doesn't affect the users webpart that they have already added.
I know that these precise details are stored in the aspnet_PersonalizationPerUser table of my Personalization database but the page settings column contains hex so i can't safely edit it.
That means that when i want to make a change like this and push it out to all users i have to fist change the 'Default' user account. And then clear all the user settings for that page, thus forcing their page to return to the Default next time they login, which obviously means they lose ALL the settings to ALL the webparts on that page.
So how can i ensure that changes made to a webpart are propagated to all users with that webpart, or how can i force these changes by decoding the hex in the aspnet_PersonalizationPerUser table?
Thanks for any suggestions and if you need more detail please do let me know.
Andy