Preventing provisioning duplicate Web Parts instances on Feature reactivation

Recently I wrote about various approaches to provisioning Web Part instances in a structured and repeatable way. One of the approaches I have mentioned was using the AllUsersWebPart element within Feature manifest. While being manageable and flexible this approach has one big downside: it causes provisioning duplicate instances after the Feature has been reactivated (either by Activate-Deactivate-Activate or Activate using the -force parameter). In this article I present some possible approaches to prevent it and make your Feature provision always only one instance of each Web Part.

Accessibility Kit in MOSS - Is it really accessible?

Mark Harrison has just posted a little notice about the fact that the United Nations office is using the Accessibility Kit with MOSS. Wondering about the result I took a look at the United Nations site.

Inconvenient PublishingStartDate and PublishingEndDate

Recently, while working on a custom content aggregation solution, I stumbled upon another inconvenience in SharePoint 2007 WCM. While trying to sort the query results on PublishingStartDate I got an exception that there is no such field. I found it quite odd since the Content Type of which the pages I was querying definitely had the PublishingStartDate. I have even triple checked it in the Content Type definition, in the SharePoint Web UI and using the Imtech Fields Explorer. However, while looking at the Pages Library I have noticed that while the Content Type has been bound correctly, both the PublishingStartDate and PublishingEndDate weren't there. After deleting and binding the Content Type again I have confirmed that while both these fields exist in the Content Type they are not getting added to the Pages Library. What's more, I wasn't even able to add these fields manually!

Preserving Rich Text Formatting in non edit-in-place scenario's

SharePoint 2007 allows content editors to edit the web content using either the in place editing or the Edit Forms knows from WSS List Items. Many of the content editors prefer the in place editing mode as it's more intuitive and user friendly.