Features in Office SharePoint Server 2007


Features


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  XML in CAML


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