Microsoft Office SharePoint Server 2007 is a new web development platform of Microsoft. Its rich framework supports both collaboration features and designing, creating and delivering Web Content Management solutions. Many of these are targeted to become Internet-facing portals and websites. With this shift some new challenges appeared among which the accessibility and compliance with web standards of Internet facing WCM solutions based on SharePoint 2007.
For each solution we develop for our customers we reuse a set of internal components we have developed – a kind of baseline library. As we use it we fix some errors and add some new functionality. To distinguish the different releases we modify the version of the assembly containing all the logic and the feature version as well. While working on several projects at the same with different project teams we found it quite difficult to check the assembly version each time you want to be sure you are using the latest version. That’s when I have decided to modify the page displaying Site and Site Collection feature and extend it with displaying the version of each feature stored within the feature.xml file.
Managing SharePoint 2007 Solutions programmatically isn’t a daily-matter: some of you might even participate on quite a few projects without even coming close to it. As I have worked with it recently a bit I would like to share my findings with you.
A while ago I've published the 18.104.22.168 version of Imtech Solution Setup - a small tool which allows you to add the selected solution to the Solution Store and deploy it to Web Application of your choice - and all that using a Windows GUI. Today, while using the tool for a release of a Solution of one of our products for a demo we gave for Microsoft, I’ve found out that the Solution Setup doesn’t work properly. In spite of updating the Solution package it still deployed the old version of it.
Provisioning Content Type’s fields is quite straight forward when using Solutions: using Element Manifests you can define your own Content Types and their properties among which fields. Unfortunately there is one serious con to the solution Microsoft has offered: you simply cannot provision any Lookup Field using the Element Manifest.