Update 11-22-2009: See this blog post for the SharePoint 2010 version of this information.
MOSS 2007 ships with many predefined Templates you may use to create Site Collections and sub sites. Sometimes the out of the box site Templates will meet the needs of your project. Other times, the out of the box site Templates may need to be enhanced.
Knowing which site Template has the functionality you need to deploy, or use as a baseline for a custom Site Definition, is one of the key decisions you make when architecting a SharePoint deployment. This being said, it is important to understand the functionality the Templates WSS and MOSS come with out of the box, and what they look like.
This post will outline what functionality the site Templates WSS and MOSS come with out of the box, what they look like, and document several useful peices of information developers will find handy when working with the out of the box SharePoint site Templates.
MOSS offers some guidance by providing descriptions and preview images for each out of the box template. However, not all of these descriptions list which resources the site comes provisioned with, and the preview images are no help at all. See the image below, I think you will agree.
To better understand the inventory of out of the box site Templates, I created a Site Collection based on each out of the box site Template. After creating 23 different Site Collections, I realized it would be hard to remember what each one looked like. So, I decided to take some screenshots and document the site Templates.
Below you will find tables corresponding to the different categories the site Templates reside in. The tables list the site Template names and descriptions for each category. As I mentioned before, you will see these descriptions are a good starting point, but do not describe the various lists that are provisioned with each site.
Collaboration Category Descriptions
Meetings Category Descriptions
Enterprise Category Descriptions
Publishing Category Descriptions
If you care to see what all of the preview images look like, you can find them in the following directory on your SharePoint server:
C:Program FilesCommon FilesMicrosoft Sharedweb server extensions12TEMPLATELAYOUTS1033IMAGES
The file names for the preview images corresponding to each site Template are listed in the tables below.
A More Detailed Look
If you care to see what each of the home pages for the site Templates looks like, you can download them from this file. These images should give you a good understanding of the different Lists and layouts that come with each out of the box Template. This should save you a lot of time creating each type of site Template on your own machine!
Information developers will want to keep handy when enhancing or creating new custom Site Templates and Site Definitions.
The next table lists the WEBTEMP XML fragment file each site Template and Configuration is stored in, the file name of the preview image, and the concatenated Template and Configuration string you need when making sites with this site Template programmatically. If you wish to change the out of the box preview images I recommend backup up the existing preview images, then replacing them with your new preview images that have the same file names. Feel free to use the images I created from screenshots of each site Template’s out of the box home page to do so. You can download them here.
* You may have to perform this process again after a service pack is applied in the future. It is not supported to edit the various WEBTEMP files that come out of the box, so that is why I recommend this approach.
Buried Treasure: Crouching Tiger – Hidden Templates!
Many of the site Templates listed in the following table are left over from the last version of SharePoint and are marked obsolete. However some of them may be created programmatically. I included the list of all the hidden site Templates here for your reference.
Leverage this information to create SharePoint sites programmatically
The concatenated Template and Configuration string is used when creating sites programmatically. See the below code sample for an example, pay attention to the text in orange, to see where the concatenated string is used.
//Create a new SPSite object corresponding to your top level site
SPSite newSite = new SPSite(“http://moss/site”);
//Create a new SPWeb object from the newSite object
SPWeb newWeb = newSite.OpenWeb();
//Return the collection of sub sites
SPWebCollection subSites = newWeb.Webs;
//Create a new sub site by adding it to the sub site collection
//The new site will have the following metadata:
//Full URL once created: http://moss/newsite
//Name: New Site
//Description: This is the description for my new site.
//Local ID set to 1033 – English
//Site Template: Team Site
//Use Unique Permissions: True
SPWeb newSubWeb = subSites.Add(“newsite”, “New Site”, “This is the description for my new site.”, 1033, “STS#0”, true, false);
Important planning information related to the out of the box site Templates!
This chart shows the available site Templates one may create sub sites with, for a given parent site Template. Make sure you pick site Templates that will allow you to create the types of sub sites your functionality requirements dictate.
I hope this post comes in handy for you and saves you the time I spent digging through the SharePoint file system and creating dozens of SharePoint sites to find the information. All the information in this post comes from the RTM version of MOSS 2007 Enterprise.