You can’t really call it a bug. It appears to be doing what it is supposed to be doing. But it stil totally sucks.

The Problem:

We are working on a Podcasting Kit for SharePoint solution in our development environment. At some point as we are making changes to the pages, we check a page in and all of the Web Parts dissapear. They are gone forever… never to be seen again. They’ve taken their last trip down the inter-tubes, their bits scattered in the wind.

The Other Problem:

Some times when we open a page in SharePoint Designer it tells us that it cannot find the Master Page. The only problem is, the Master Page is right where it should be. At this point, any editing of the page has to be done all in the code view. Have you ever written out a Data View Web Part by hand? Its not easy, because SharePoint won’t tell you where you’ve messed up, just that it doesn’t work.

Why it is all my fault:

Turns out that while I was able to make all our changes easily, I probably messed everything up. It all started when I checked out the Master Page that is installed with PKS and made some changes to it. This caused it to be changed from the Site Definition. It even had a nice little blue icon next to it with an “i” in it. I though this was to remind you that it had been customized… turns out it is a warning of impending doom!

Once the Master Page was customized, some of the Pages got confused about which version to look at. Since they couldn’t figure out what to do, they never loaded the correct Layout Page. Here is where it all ties together… when a page loads, if there is a Web Part that is defined in a specific zone and that zone isn’t present – SharePoint deletes the Web Part. I’m sure this saves all sorts of bad things from happening. And of course, the page at least still loads instead of giving off an error message. But the Web Parts are gone forever. You can’t restore them. All you can do is add new ones to the page and set them up again.

I seriously think this has taken a year off my life. I need those years! I already smoke!