After seeing the templateID detail (http://blogs.msdn.com/dwinter/archive/2006/07/07/659613.aspx) varkalav wanted to know since there is no SPSPORTAL folder in the 12\TEMPLATE\SiteTemplates folder, how does it map... Here is my response:Just follow the path that the product does. When we load, we deserialize all of the information in the webtemp*.xml files. This truely is the starting point for templates. Let's follow the path together for the item in question:\12\TEMPLATE\1033\XML\webtempsps.xml:================================<Template Name="SPSPORTAL" ID="47"> <Configuration ID="0" Title="Collaboration Portal" Type="0" Hidden="FALSE" ImageUrl="/_layouts/1033/images/template_corp_intranet.png" Description="A starter site hierarchy for an intranet divisional portal. It includes a home page, a News site, a Site Directory, a Document Center, and a Search Center with Tabs. Typically, this site has nearly as many contributors as readers and is used to host team sites." ProvisionAssembly="Microsoft.SharePoint.Publishing, Version=22.214.171.124, Culture=neutral, PublicKeyToken=71e9bce111e9429c" ProvisionClass="Microsoft.SharePoint.Publishing.PortalProvisioningProvider" ProvisionData="SiteTemplates\\WebManifest\\PortalWebManifest.xml" RootWebOnly="TRUE" DisplayCategory="Publishing" VisibilityFeatureDependency="97A2485F-EF4B-401f-9167-FA4FE177C6F6"> </Configuration> </Template>The key item here is to notice the ProvisionData attribute. So lets take a look at \12\TEMPLATE\SiteTemplates\WebManifest\portalwebmanifest.xml:=================================================<portal xmlns="PortalTemplate.xsd"> <web name="Home" siteDefinition="SPS" displayName="$Resources:spscore,PortalManifest_Home_DisplayName;" description="$Resources:spscore,PortalManifest_Home_Description;"> <webs> . . .It then goes on to define the subwebs, but what you'll see here is that the root is actually defined with the SPS site definition. That is why you don't see a SPSPORTAL folder--because we are using the SPS folder. Do keep in mind however that as we have ProvisionData, we also have a ProvisionClass driving the provisioning of this definition. So its not as simple as "we just use the SPS Site definition. In Microsoft.SharePoint.Publishing.PortalProvisioningProvider, there is specific internal code driving many other actions that take place as a part of provisioning a SPSPORTAL site.