Making Site Definition Templates for MOSS 2007

  1. Go to C:Program FilesCommon FilesMicrosoft Sharedweb server extensions12TEMPLATESiteTemplates
  2. Copy SPSTOPIC or SPSTOC and rename it as you would like
  3. Open your custom template in your favorite XML browser (in my case it would be VS.NET 2005)
  4. Collapse NAVBARS, LIST TEMPLATES and DOCUMENT TEMPLATES section (Means don’t do any change in them)
  5. In the lists section of Configuration Element make this entry

<List Title="Your Title" Description="Your Description" Url="Document Library" Type="XXXX" FeatureId="XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX"></List>  


  • Where Feature ID is the GUID of your Custom Feature.
  • Type is the feature type mentioned in ElementMainfest.xml file of the feature
  • URL is the URL for this list

 You can write as many list tag as you would like.

NOTE: If you want two instances of same feature you should make two entries in ElementManifest.xml file of that feature and make one entry hidden so that it wont appear in Create Lists page of your custom site.

6. Under WebFeatures Element under this <Feature ID="00BFEA71-4EA5-48D4-A4AD-7EA5C011ABE5" /> tag mention your custom features by copying this default feature tag (Don’t delete it… Its Team Collab Feature which is new in MOSS 2007 which has all build in features like Announcements, Links List, Tasks etc)

 7. In the file section under module element make this entry (If you wish to see your custom list appear on default page when you create a site)

 <View List="XXXX" BaseViewID="1" WebPartZoneID="MiddleRightZone" WebPartOrder="3"/>


  • Where Value XXXX should be same given above for Type attribute
  • Mention the zone and order in which you want to show it

 8. Don’t forget to make its entry in WEBTEMPSPS.xml file which is in folder C:Program FilesCommon FilesMicrosoft Sharedweb server extensions12TEMPLATE1033XML

<Template Name="SITE DEFINITION FOLDER NAME" ID="10042"><Configuration ID="0" Title="Any Title" Type="0" Hidden="FALSE" ImageUrl="/_layouts/images/stsprev.png" Description="Any Description" DisplayCategory="Any"></Configuration></Template>


  • ID should be greater than 10000 for custom templates
  • Name should be same as folder name of custom site definition

Restart IIS, make a new site and enjoy!!!



Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: