Features in Office SharePoint Server 2007


Feature framework is an innovation to enhance modular provisioning. It works by grouping logical elements into scenario-driven “features”.

l Features can be add to and reused across site definitions

l New features can be activated in existing site to add functionality

l Features scoped at web, site ,web application and farm.

l Features need to be installed before they can be activated, via stsadm.exe or custom code using SharePoint API

l Once installed, a user can activate or deactivated feature in context of site or site collection


Features are composed of XML files and .aspx files


l Features have ID, name, scope

l Features are composed of elements

l Generate GUID using Visual Studio 2005


Feature Dependencies

Features can be designed with dependencies: Allows one feature to assume another feature is present Example: Feature B might depend on feature A.


l B should be written with activation dependency on A

l Activating B forces A to be activated as well

l Deactivating B results in deactivation of A


Features can be defined as hidden; this will hide the feature from users in administration pages, however it can still be activated via dependencies


Features and Site Definitions

Features add modularity to site definitions: Site definitions can include feature references, e.g. Lists, document libraries, content types, etc.


Activating Features via the UI

Feature elements can add commands to WSS 3.0 UI:

l Extensible to site settings, action actions, menus, ECB, etc.

l Performed using SiteActions menu elements with Url Action

l ECB menu associated by list type, content type or file type


Feature Site Template Associations a.k.a. Feature Stapling

l Enables you to include a specific feature as part of a site definition when you provision sites through the site definition

l Preserves original out of the box definitions

l Keeps customer environment in a supported state

l Makes it easier to manage customizations in customer environments

l Reduces development and deployment time


Examples of where SharePoint can be extended using Features (based on scope):

Farm Elements

l Item Custom Actions

l Site Settings Links

l Admin Custom Actions

Web Application elements

l Item Custom Actions

l Site Settings Links

l Admin Custom Actions

Site Elements

l Site Settings Links

l Site Web Part Definitions

l Workflow Definitions

l Site Content types

l Site columns

l Files [provisioned to root web]

l List Instances [provisioned to rootweb]


Web Elements

l List Definitions + Forms + Views

l List Instances

l List Item Events

l Item Custom Actions

l Web Admin Custom Actions

l Files