How many times have you tried to generate a short preview out of a Rich HTML field using the Content Query Web Part (CQWP)? How many times did you end up making your customers using the Description field instead just because the CQWP doesn’t provide an out of the box mechanism for removing HTML markup? Guess what: it does.
Programmatically provisioning Web Part instances is an important piece of structured and repeatable deployment of SharePoint solutions. Preferably you would like to be able to deploy preconfigured Web Parts at particular places in your SharePoint solution. In order to do that you need two at least things: the target location where do you want to deploy the Web Part instance and the preconfigured Web Part itself. SharePoint Web UI allows you to export Web Parts. While it’s definitely doable to export a couple of them manually, wouldn’t it be better if we could automate the process?
Content Query Web Part (CQWP) is one of the coolest web parts available out of the box in MOSS 2007. Using nothing more than the standard functionality you can aggregate content available within your Site Collection. Additionally you can extend the CQWP by introducing new XSLT parameters and functions, what allows you to create pretty complex data presentation including paging.
Today, while working on a brand new SharePoint Web Content Management (WCM) solution, I’ve faced quite a challenge: I needed to provision a Content Query Web Part (CQWP) which would query subsites of the current site using a custom Site Definition. Each time user would create a site using that Site Definition, he would get on the home page an aggregation of the content from all underlying sites. It’s more challenging than it sounds and you won’t know it unless you had to do it yourself once.
Stsadm is highly extensible and Gary Lapointe is one of the guys who could tell you everything about it. In order to support the deployment and administration of SharePoint solutions, Gary has created more than 130 custom STSADM commands. One of them – setwebpartstate has recently took my attention. I kept getting errors while importing a subclassed Content Query Web Part (CQWP) – until now…