I've moved my blog to!. Please update your links. This blog is no longer in use--you can find all posts and comments at my new blog; I will no longer be posting to this site and comments have been disabled.

Thursday, July 3, 2008

Web Part Page History CodePlex Project

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:  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).


Nirmal Chidambaram said...

Garry, I wasnt able to find sourcecode at codeplex.

Are webparts are imported and stored in hidden list trapping ItemCheckedIn event?

BTW Thanks for all stsadm utils !

Gary Lapointe said...

The source code can be found under the source code tab. There's a download link for the latest change set. And yes, I'm saving history on the ItemCheckedIn event.