Creating parameterized Deployment Steps for Visual Studio SharePoint development tools

One of the extensibility points of the new Visual Studio SharePoint development tools are the Deployment Steps: tasks that are executed during the Deployment Process in Visual Studio. The tools allow you not only to specify different Deployment Configurations using available Deployment Steps but also to create your own steps like for example executing a PowerShell script. While creating custom Deployment Steps isn’t difficult.aspx), it can get challenging when you want to make them support user definable parameters.

Working with Site Definitions using the Visual Studio SharePoint development tools

One of the new capabilities of the new Visual Studio SharePoint development tools is support for creating Site Definitions. Using the Site Definition SharePoint Project Template you can create and test Site Definition. In order to fully benefit of the new tools there are a couple of things you have to keep in mind.

Extending Lookup Fields with “Add new item” option

How many times were you working with Lookup Fields and just when you were about to pick a value, you found out that it’s not there. How many clicks did you have to make to get to the Lookup List, add the new Lookup Item, get back to where you were first and add your item? While it sounds trivial, it’s the only way things can be done in out of the box SharePoint. You could of course create a whole new Custom Field Type which would contain an “Add new item” link, but there is an easier way to get this done.

Generate your own SPBuiltInFieldId class

SharePoint ships with the SPBuiltInFieldId class which allows you to access the ID’s of all the out-of-the-box available fields using intellisense. This is very important in scenarios when your solution heavy relies on custom development and working with list items. The SPBuiltInFieldId class makes working with Content Types and Columns easier: instead of typing the names you can use the Properties of the SPBuiltInFieldId and get to all the standard SharePoint fields using intellisense.