4.1. Overview of SharePoint Features
Microsoft introduced the concept of Features in WSS 3.0 to address numerous challenges presented in the previous version, as well as to provide additional functionality. The previous version of SharePoint, WSS 2.0, did not provide an easy way to define a site element such as a list template one time and reference it from multiple site templates. Instead, the list template definition had to be copied to each and every site template where it was used. This does not adhere to good code reuse practices and increases the possibility of the same template getting out of sync.
Another challenge with WSS 2.0 was adding new elements or functionality to sites already created. WSS 2.0 did not offer an easy way to incorporate new functionality into existing sites; developers were forced to craft a custom process such as a script that would add a new list template to each individual site in WSS 2.0.
The cases presented here are just two examples illustrating why Microsoft added the Feature framework to WSS 3.0. In addition to addressing WSS 2.0 challenges, Microsoft also added capabilities to the Feature framework to deploy certain custom code solutions such as event receivers, document converters, and custom workflow templates. This chapter covers the basics of SharePoint Features, although it does not include an exhaustive analysis of all the things Features can do because Features are everywhere in SharePoint and are covered throughout the book. For example, ...