Upgrading Episerver Relate sites to CMS 10

  1. Use Deployment Center to create a Relate website (if you do not have the running site).
  2. Use Visual Studio to open the recently created website, and press Ctrl + Shift + S to save the solution.
  3. Change the target framework to 4.5.2.
  4. Install the following packages from the NuGet feed:
  5. Remove solution references to:
    • EPiServer.BaseLibrary
    • EPiServer.Implementation
  6. Delete these DLL files in the bin folder:
    • EPiServer.BaseLibrary.dll
    • EPiServer.Implementation.dll
    • EPiServer.WorkflowFoundation.dll
  7. Build the solution. Fix the obsoleted and missing functions/APIs with these hints:
    1. Change 
      PermanentContentLinkMap pplm = PermanentLinkMapStore.Find(pageEntity.PageGuid) as PermanentContentLinkMap; 
      to
      PermanentLinkMap pplm = ServiceLocator.Current.GetInstance<IPermanentLinkMapper>().Find(pageEntity.PageGuid);
    2. Change 
      AccessControlList: Exists() 
      to 
      Contains()
    3. StripHtmlFilterRules was moved to Internal namespace, add this: 
      using EPiServer.HtmlParsing.Internal;
    4. Change 
      EPiServer.Web.PermanentLinkMapStore.TryToMapped
      to  
      Web.Routing.UrlResolver.Current.TryToPermanent(responseItem.Uri.ToString(), out mappedUrl)
    5. Change 
      RouteTable.Routes.GetVirtualPathForNonContent 
      to 
      var currentLanguage = Globalization.ContentLanguage.PreferredCulture.Name; 
      var virtualPath = UrlResolver.Current.GetVirtualPathForNonContent(entry, currentLanguage, null);
    6. Temporarily ignore this function: VersioningFileSystemSearchHandler; comment it and replace with return 0;.
    7. Change 
      Configuration.Settings.Instance.SiteDisplayName
      to 
      EPiServer.Web.SiteDefinition.Current.Name
    8. Compile error in Templates\RelatePlus\InitializationModules\CmsIntegrationModule.cs; replace it with file Relate_Patch_For_CMS10.zip. Download the zip file here.
  8. Open the Package Manager Console, and run update-epidatabase cmlet, or add updateDatabaseSchema="true" attribute to the episerver.framework tag in EPiServerFramework.config. (To view EPiServerFramework.config, click show all files in the Solution Explorer.)
  9. Press Ctrl + F5 to browse the website.
  10. Open the Package Manager Console, and run Convert-EPiDatabaseToUtc.
    To convert the database to UTC, see the Episerver CMS Developer Guide topic Storing UTC date and time in the database.
  11. Open RelatePlus.Master, make any change (for example, insert a blank line) and save to disable template caching.
  12. Redo step 11 for ClubMasterPage.Master and SearchRelatePlus.Master.
  13. Rebuild the project.
  14. Copy IMAP4.Net.dll and Parse.Net.dll (included in the zip file you downloaded in step 7) to the bin folder.
  15. Press Ctrl + F5 to browse website.
  16. Open the web.config file, and change bindingRedirect of System.Web.Mvc:
      <dependentAssembly>
    
            <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" />
    
            <bindingRedirect oldVersion="0.0.0.0-4.0.0.1" newVersion="4.0.0.0" />
    
          </dependentAssembly>

  

 

Last updated: Dec 13, 2016