Upgrade Site Collection which is created in SharePoint 2010 using custom site definition when using template ID 10000.

This post is a contribution from Aravinda Devagari, an engineer with the SharePoint Developer Support team

· First convert the 2010 classic mode web application to claims web application by following the steps below.

$webapp = "https://sp:29616"

$wa = Get-SPWebApplication $webapp

$wa.UseClaimsAuthentication = $true

$wa.Update()

$account = "contoso\administrator"

$account = (New-SPClaimsPrincipal -Identity $account -IdentityType 1).ToEncodedString()

$wa = Get-SPWebApplication $webapp

$zp = $wa.ZonePolicies("Default")

$p = $zp.Add($account,"PSPolicy")

$fc = $wa.PolicyRoles.GetSpecialRole("FullControl")

$p.PolicyRoleBindings.Add($fc)

$wa.Update()

$wa.MigrateUsers($true)

$wa.ProvisionGlobally()

· OR follow https://technet.microsoft.com/en-us/library/gg251985(v=office.15).aspx to convert the web application afterwards in 2013 environment, but the above should be easier.

· Backup the database from 2010 and copy it over to 2013 SQL environment.

· Create a new web application on 2013 and delete the default content database created.

· Restore the backed up database to 2013 SQL instance.

· Import the 2010 solution to VS 2012 or 2013 and deploy it to 2013 environment as a farm solution.  Before deploying to 2013 environment, ensure that you change the template ID from 10000 to 11111[ You can take any other number greater than 10000]

· Copy the original webtemp*.xml and the site definition folder to the corresponding locations on the 2013 server but in 14 hive. [Note: this webtemp*.xml will have the template ID as 10000]

· Then create a UDF with a definition as shown in sample below.  In relation to your custom site definition, the highlighted statements below are the ones that are important.

<?xml version="1.0" encoding="utf-8"?>

<Config xmlns="urn:Microsoft.SharePoint.Upgrade">

<WebTemplate

ID="10000"

LocaleId="*"

FromProductVersion="4"

BeginFromSchemaVersion="0"

EndFromSchemaVersion="3"

ToSchemaVersion="5">

<AppliedWebFeatures>

<Feature ID="FAF00902-6BAB-4583-BD02-84DB191801D8" /> </AppliedWebFeatures>

<Lists>

<List FromTemplateId="301" ToFeatureId="FAF00902-6BAB-4583-BD02-84DB191801D8" />

<List FromTemplateId="302" ToFeatureId="FAF00902-6BAB-4583-BD02-84DB191801D8" />

<List FromTemplateId="303" ToFeatureId="FAF00902-6BAB-4583-BD02-84DB191801D8" />

</Lists>

<Files>

<File FromPath="SiteTemplates\CustomSiteDef\default.aspx"

ToPath= "SiteTemplates\CustomSiteDef\default.aspx"/>

</Files>

</WebTemplate>

<FeatureUpgrade>

<DeprecateSimpleFeature Id="B3FC9CB5-74E2-49cf-9AD5-63916F6368DF" Scope="Farm"/>

<DeprecateSimpleFeature Id="F1C63C7A-7AE5-449C-A04D-2366641A6FE1" Scope="Web"/>

<DeprecateSimpleFeature Id="5709298B-1876-4686-B257-F101A923F58D" Scope="Site"/>

<DeprecateSimpleFeature Id="738250BA-9327-4dc0-813A-A76928BA1842" Scope="Site"/>

<DeprecateSimpleFeature Id="893627D9-B5EF-482d-A3BF-2A605175AC36" Scope="Site"/>

<DeprecateSimpleFeature Id="8DFAF93D-E23C-4471-9347-07368668DDAF" Scope="Site"/>

<DeprecateSimpleFeature Id="FA5DC6A5-921C-4b01-A7CA-A2F91A636D1C" Scope="Site"/>

<DeprecateComplexFeature Id="0C504A5C-BCEA-4376-B05E-CBCA5CED7B4F" Scope="Site"/>

<DeprecateComplexFeature Id="1663EE19-E6AB-4D47-BE1B-ADEB27CFD9D2" Scope="Site"/>

<DeprecateComplexFeature Id="3D433D02-CF49-4975-81B4-AEDE31E16EDF" Scope="Site"/>

<DeprecateComplexFeature Id="B3DA33D0-5E51-4694-99CE-705A3AC80DC5" Scope="Site"/>

</FeatureUpgrade>

</Config>

 

· Save this UDF as “WssUpgrade_SiteDefinitionProject1.xml” to the following path C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\CONFIG\UPGRADE\WSSUpgrade_CustomSideDef.xml.

· Issue a Test-SPContentDatabase command through SharePoint 2013 Management Shell as shown below and ensure the output is what you see below.

image

· Then issue the Mount-SPContentDatabase command as shown below:

image

· This should upgrade the content database and attach it to the empty web application.

· Post this when you browse to the site, you will see it’s in 2010 mode as shown in below.

image

· But after you click the “Start now” link in the light red status bar above or navigate to Site Actions àSite Settings àSite collection upgrade and click on Upgrade this Site Collection and then click the “I’m ready” button, the site collection should be upgrade to 2013 look and feel.

image

image

· For the sites upgraded the Template ID would continue to be 10000, but the site that are going to be created with this custom site definition will have the new template id.