SharePoint 2010 Team Site Wiki Implementation

SharePoint 2010 changed the way team sites worked.  Now the home page is more of a WIKI implementation that allows you to intermingle content and web parts together in a rich text area.  In my opinion this is a good thing.  You will notice that the home page for the team site template is sitepages/home.aspx.  But the default.aspx page is still there.  If you navigate to a team site that was created in the SharePoint 2010 environment and append default.aspx to the end of the url,  https://<your domain>/sites/teamsite / default.aspx, you will notice it takes you to a page very much like the previous 2007 version of SharePoint.

The part that makes all this work is a new feature that was added in 2010 that creates the home.aspx page as part of the site provisioning process and then sets it as the welcome page.  Looking at the site definition for a team site in SharePoint 2010 you will notice a feature in the <WebFeatures> section called WikiPageHomePage feature.  See the XML snippet below.

    1: <WebFeatures>
    2:     <!--  TeamCollab Feature --> 
    3:     <Feature ID="00BFEA71-4EA5-48D4-A4AD-7EA5C011ABE5" /> 
    4:     <!--  MobilityRedirect --> 
    5:     <Feature ID="F41CC668-37E5-4743-B4A8-74D1DB3FD8A4" /> 
    6:     <!--  WikiPageHomePage Feature --> 
    7:     <Feature ID="00BFEA71-D8FE-4FEC-8DAD-01C19A6E4053" /> 
    8: </WebFeatures>

 

That’s the feature that makes it all work.  Looking at the feature in the 14\TEMPLATE\FEATURES folder shows us that it is a Feature Receiver.  So behind the scenes there is some coding going on to load the page and change the welcome page for the site.  Also notice that there is a feature dependency here with the WebPageLibrary feature.  This feature creates the SitePages document library to host pages within the site.  This is the library for the home.aspx page and why the url to the home page is /sitepages/home.aspx.

    1: <Feature Id="00BFEA71-D8FE-4FEC-8DAD-01C19A6E4053" 
    2:     Title="$Resources:core,WikiPageHomePage;" 
    3:     Description="$Resources:core,WikiPageHomePage_Desc;" 
    4:     Version="1.0.0.0" 
    5:     Scope="Web" 
    6:     Hidden="FALSE" 
    7:     ReceiverAssembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" 
    8:     ReceiverClass="Microsoft.SharePoint.SPWikiPageHomePageFeatureReceiver" DefaultResourceFile="core" xmlns="https://schemas.microsoft.com/sharepoint/">
    9:     <ActivationDependencies>
   10:         <!--  WebPageLibrary Feature --> 
   11:       <ActivationDependency FeatureId="00BFEA71-C796-4402-9F2F-0EB9A6E71B18" /> 
   12:     </ActivationDependencies>
   13: </Feature>