Introduction
Recently, I came across a situation, where-in I need to apply our custom theme to sharepoint site upon creation, i.e. setting our custom theme as a default one.
We generally have to go for customizing the out of box templates. In such a case, modifying the 12 hive folder is one option, but isn’t recommended as it will render the site unsupported in case of an upgrade.
In this post, I will be demonstrating how to attach a custom feature with a site template. Feature Stapling allows to staple a Feature to a site definition without modifying it in any way. To use feature-stapling, you first need the feature(s) you wish to link to the site definition - these should be created in the normal way. Then you should create a 2nd feature which does the actual stapling.
Step 1 - Create a Sample Feature
Create a sample feature, which will be activated every time a site is created with a specified template.
Recently, I came across a situation, where-in I need to apply our custom theme to sharepoint site upon creation, i.e. setting our custom theme as a default one.
We generally have to go for customizing the out of box templates. In such a case, modifying the 12 hive folder is one option, but isn’t recommended as it will render the site unsupported in case of an upgrade.
In this post, I will be demonstrating how to attach a custom feature with a site template. Feature Stapling allows to staple a Feature to a site definition without modifying it in any way. To use feature-stapling, you first need the feature(s) you wish to link to the site definition - these should be created in the normal way. Then you should create a 2nd feature which does the actual stapling.
Step 1 - Create a Sample Feature
Create a sample feature, which will be activated every time a site is created with a specified template.
- Create a Class Library project and inherit SPFeatureReceiver class
- Override FeatureActivated() method.
- Strongly name the assembly.
- Add assembly to GAC.
- Create a folder called ACMEThemeFeature inside FEATURES folder. (%ProgramFiles%\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES)
- Create a feature.xml file inside ACMEThemeFeature folder.
- Run the following command to install this feature:
C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN>stsadm -o installfeature -name ACMEThemeFeature
Step 2 - Associate a Template with Feature
After creating and installing a feature, we need to associate a template with this feature, for that purpose we will again create a feature but with scope as FARM (This is called a stapler feature).
Step 2 - Associate a Template with Feature
After creating and installing a feature, we need to associate a template with this feature, for that purpose we will again create a feature but with scope as FARM (This is called a stapler feature).
- Create a folder called ACMEThemeStapler inside FEATURES folder.
- Create Feature.xml file inside ACMEThemeStapler folder.
- Create Element.xml inside ACMEThemeStapler folder.
- FeatureSiteTemplateAssociation ID inside Element.xml is id of the ACMEThemeFeature feature.
- TemplateName is the teamplet name, you will get a list of TemplateName from Roadburn’s SharePoint 2007 blog.
- Install ACMEThemeStapler feature using below command from command prompt:
C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN>stsadm -o installfeature -name ACMEThemeStapler
Now, whenever a new site is created, ACMEThemeFeature feature will be activated and the will apply the specified theme to site.
Now, whenever a new site is created, ACMEThemeFeature feature will be activated and the will apply the specified theme to site.
1 comment:
thanks
Post a Comment