SharePoint site template reference

When working with SharePoint data from STSADM operations, PowerShell cmdlets or when programming against the SharePoint object model it won’t be long until you need to deal with the internal names for site templates.

I’ve pulled together the default templates that are installed with SharePoint 2010 and 2007 in the following reference:

SharePoint Foundation 2010

Template Name
BLOG#0 Blog
MPS#0 Basic Meeting Workspace
MPS#1 Blank Meeting Workspace
MPS#2 Decision Meeting Workspace
MPS#3 Social Meeting Workspace
MPS#4 Multiple Meeting Workspace
SGS#0 Basic Group Work Site
SGS#1 Blank Group Work Site
STS#0 Team Site
STS#1 Blank Site
STS#2 Document Workspace
WIKI#0 Wiki

SharePoint Server 2010

Template Name
ACCSRV#1 Assets Web Database
ACCSRV#3 Charitable Contributions Web Database
ACCSRV#41 Contacts Web Database
ACCSRV#5 Projects Web Database
BDR#0 Document Center
BICENTERSITE#0 Business Intelligence Center
BLANKINTERNET#2 Publishing Site With Workflow
BLANKINTRANETCONTAINER#0 Publishing Portal
CMSPUBLISHING#0 Publishing Site
ENTERWIKI#0 Enterprise Wiki
OFFILE#1 Records Center
SPSMSITE#0 Personalization Site
SPSMSITEHOST#0 My Site Host
SRCHCEN#0 Enterprise Search Center
SRCHCENTERFAST#0 FAST Search Center
SRCHCENTERLITE#0 Basic Search Center
VISPRUS#0 Visio Process Repository

Windows SharePoint Services 3.0

Template Name
BLOG#0 Blog
MPS#0 Basic Meeting Workspace
MPS#1 Blank Meeting Workspace
MPS#2 Decision Meeting Workspace
MPS#3 Social Meeting Workspace
MPS#4 Multiple Meeting Workspace
STS#0 Team Site
STS#1 Blank Site
STS#2 Document Workspace
WIKI#0 Wiki

SharePoint Server 2007

Template Name
BDR#0 Document Center
BLANKINTERNET#0 Publishing Site
BLANKINTERNET#1 Press Releases Site
BLANKINTERNET#2 Publishing Site with Workflow
BLANKINTERNETCONTAINER#0 Publishing Portal
CENTRALADMIN#0 Central Admin Site
CMSPUBLISHING#0 Publishing Site
GLOBAL#0 Global Template
OFFILE#1 Records Center
OSRV#0 Shared Services Admin Site
PROFILES#0 Profiles
SPS#0 SharePoint Portal Server Site (Obsolete)
SPSCOMMU#0 Community Area Template (Obsolete)
SPSMSITE#0 Personalization Site
SPSMSITEHOST#0 My Site Host
SPSNEWS#0 News Site (Obsolete)
SPSNHOME#0 News Site
SPSPERS#0 SharePoint Portal Server Personal Space
SPSPORTAL#0 Collaboration Portal
SPSREPORTCENTER#0 Report Center
SPSSITES#0 Site Directory
SPSTOC’#0 Contents Area Template (Obsolete)
SPSTOPIC#0 Topic Area Template (Obsolete)
SRCHCEN#0 Search Center with Tabs
SRCHCENTERLITE#0 Search Center
SRCHCENTERLITE#1 Search Center

Other than the native site templates there are also a few others which I’ve frequently encountered in SharePoint environments.

Microsoft Project Server integrates with SharePoint and creates sites based on the Project Workspace (PWS#0) template.

And finally… after the release of WSS 3.0 Microsoft made available a number of additional templates called the Fabulous 40 Application Templates.

Fabulous 40 Application Templates

Template Name
Board#0 Board of Directors
BPR#1 Business Performance Reporting
CASE#0 Case Management for Government Agencies
CLASSROOM MANAGEMENT#0 Classroom Management
CLINIC#0 Clinical Trial Initiation and Management
CAS#1 Competitive Analysis Site
DISCUSSION DATABASE#0 Discussion Database
DIM2#1 Disputed Invoice Management
3#1 Employee Activities Site
BENEFITS#0 Employee Benefits Site
FINAL#1 Employee Training Scheduling and Materials
EQUITY2#0 Equity Research
GCHAN_MAN#0 Manufacturing Process Management
IMC2#1 Integrated Marketing Campaign Tracking
NEWSTORE#0 New Store Opening
PRODUCT#1 Product and Marketing Requirements Planning
RFP V2#0 Request for Proposal
SPORTS#0 Sports League
TEAM ROOM SITE#0 Team Work Site
APP#0 Timecard Management
Advertisements

Site Templates and custom Features

SharePoint 2007 allows administrators the ability to save a site as a Site Template using the Site Actions > Site Settings > Save this site as a template option. This creates an STP file that is added to the Site Templates gallery of the Site Collection. This is useful if you want to create more Sites in the Site Collection that are based on the same configuration.

Now if you look carefully at STSADM however you will notice that there is a command (addtemplate) which allows an administrator to add a Site Template to the farm template gallery. This allows you to create Site Collections based on the uploaded Site Template.

When you save a Site Template from a site that makes use of custom Features the following needs to be considered when deploying your solution:

  1. In order to create a Site Collection you need to make sure that your custom Features are deployed to the Web Application for Central Admininistration (typically hosted on the Application Server).
  2. In order to create a Sub Site you need to make sure that your custom Features are deployed to the Web Application hosting the Site Collection where you are creating your Site.

If your custom Features are not available in the environment that you are attempting to create your Site Collection or Site you will receive the following error message:

The template you have chosen is invalid or cannot be found

To troubleshoot which custom Features are causing the issue you can do the following:

  1. Change the extension of your Site Template file from STP to CAB.
  2. Open the manifest.xml file in the CAB.
  3. Find the SiteFeatures and WebFeatures nodes.
  4. Search the Features Folder* for the GUIDs listed in the above nodes.
  5. Any GUIDs missing from the Features Folder means that you have features which have not been deployed to the appropriate server.

* c:\program files\common files\microsoft shared\web server extensions\12\template\features

Alternatively download a copy of STP inspector to make troubleshooting much less tedious.

Record Center is not properly configured for this request

I’ve been troubleshooting some inter-farm record declaration problems recently and ran into an annoying generic exception.

"The Records Center is not properly configured for this request"

My configuration has two SharePoint 2007 farms. Farm A hosting "collaboration" sites (e.g. team sites, my sites) and Farm B hosting a site collection based on the Record Center site template. Each farm has it’s own set of service accounts and I am using Kerberos authentication.

When attempting to declare records from Farm A I was getting the exception and the matching event log entry in the Application log of the web front end server in Farm A:

Event 7022 - The Records Center is not properly configured for this request

The following seem to be the most common causes of this generic exception:

The URL to the OfficialFile web service is incorrectly entered in Central Administration > Application Management > External Service Connections > Record center on Farm A.

The Record Center site is created as a sub-site as opposed to a top-level site.

The service account for Farm A is not a member of the Record Center Web Service Submitters group in the Record Center site collection on Farm B.

And finally a bug with documents that have date fields and non-US date regional settings for which a hotfix was made available 26 August 2008.

Long running jobs in SharePoint

As part of a solution that I’m putting together at the moment I had a requirement that went something like this:

We want an export button on the search results page that allows us to save all the search results to the desktop

Designing "bulk actions" like export that affect a large set of SharePoint items as a single operation is a challenge. Using a custom SharePoint timer job allows us to keep these potentially very costly operations outside of the user context.

The design follows this basic flow:

  1. User selects a number of items (from search results) to process
  2. Selected items are "tagged" for attention from the timer job
  3. User is notified that the operation is "scheduled"
  4. Timer job runs and identifies "tagged" items
  5. Items are processed
  6. Report is generated
  7. User is notified of completion