Have you ever been working with a web part page (either a standard web part page or a publishing page) and made a bunch of changes to your web part configurations and content over a period of time only to realize sometime down the road that you need to revert to a previous version? You then go to the version history for the page and find the one you want, do the revert and then return to the page only to find that none of your web parts were affected by the revert? If you haven’t already encountered this “feature”, don’t worry, you eventually will 🙂

The problem is that SharePoint stores its web part configurations differently than item level (meta data, page fields, whatever) data. So there is no ability to roll back to a previous version of your web part changes.

In order to address this deficiency I decided to put together my first “real” CodePlex project. Of course I have my STSADM extensions that have been quite popular but for the time being I’m not ready to open that project up for collaboration. For this new project, however, I’m much more open to the idea – mainly because I simply can’t test it and there may be lots of ways in which people way smarter than me may be able to improve upon what I started (note that initially I’ll be very selective as to who can directly contribute but please don’t hesitate to share any improvement ideas).

You can find the project here: http://www.codeplex.com/wph. I’ve also created a reasonably details document that explains how to use the project and how it works. The initial release is very much an alpha release – I’ve done enough testing to know that it works for simple cases. My goal was to get something, even if it’s rough, out to the public so that I can get a sense of what people think of the approach and if there’s even a need for it (if you think there is please share your feedback so I know that my time on this was worth it).