Recently I wrote an article about automating the generation of the DDF files used to package SharePoint Solutions. In my example I used a custom Visual Studio T4 template to generate the DDF file. As a scenario I used a Web Content Management (WCM) solution, which contained a lot of assets to be provisioned to SharePoint. While working with WCM solutions generating and maintaining the DDF files is not the only challenge. As all the different assets are being provisioned using Features you also have to maintain two more files: Feature.xml and Elements.xml. Once again the T4 templates can help you get the job done.
Recently I had to prepare a demo for one of our customers. Next to the regular things like provisioning sites and lists I had to provision a Wiki Pages Library with some demo pages in it. Although you might expect a Wiki Library to be a regular list it is not and programmatically creating Wiki Pages is slightly different than creating regular items.
Packaging solutions built on the SharePoint platform into WSP packages has proven to be the way to deploy your work in a structured and repeatable manner. While there are many different tools available which can support you in packaging your work, there are scenarios when they are not sufficient. As some of the tools are open source you could modify them to fit your requirements but did you know that Visual Studio can help you with creating WSP files?
In the last Web Content Management (WCM) project built on top of Microsoft Office SharePoint Server (MOSS) 2007 I’ve worked on, we’ve used a couple of new tools and development approaches. One of such things was leveraging the power of ASP.NET UserControls for developing Page Layouts and Web Parts – approach promoted by fellow SharePoint MVP Chris O’Brien.
Content Query Web Part has been around for a while now and has proven to be a great performing and a very flexible content aggregation solution. In spite of its power it has some shortcomings like for example lack of support for Lookup fields with multiple values.