Upgrade Episerver Relate to CMS 11
Describes how to upgrade Episerver Relate to Optimizely Content Management System (CMS 11).
Prerequisite: If you do not have one, set up a Relate 7.5 website. See Relate+ 7.5 documentation.
- Use Visual Studio to open the website.
- Press Ctrl+Shift+S to save the solution.
- Change the Target Framework to 4.6.1.
- Install the following Optimizely NuGet feed packages:
- Remove solution references to EPiServer.BaseLibrary.dll and EPiServer.Implementation.dll.
- From the \b__in folder, delete EPiServer.BaseLibrary.dll, EPiServer.Implementation.dll, and EPiServer.WorkflowFoundation.__dll.
- Fix the following obsolete or missing API functions:
- Error CS0115Â 'PropertyClubAssociation.CreatePropertyControl()': no suitable method found to override EPiServer.Templates.RelatePlus
- Error CS0115Â 'PropertyForumAssociation.CreatePropertyControl()': no suitable method found to override EPiServer.Templates.RelatePlus
- Remove CreatePropertyControl ()Â functions and replace RelateInitializationModule.cs with the attached file.
- Replace the following methods and properties:
Old | New |
Common.EPiServerCommonEventArgs | EPiServer.Common.EPiServerCommonEventArg |
Common.Uri.UriProvider | EPiServer.Common.Uri.UriProvide |
Common.EntityStatus.Approved | EPiServer.Common.EntityStatus.Approved |
Common.Security.IUser | EPiServer.Common.Security.IUser |
Common.Settings | EPiServer.Common.Settings |
Common.Sorting | EPiServer.Common.Sorting |
Common.Visits | EPiServer.Common.Visits |
AccessControlList: Exists | AccessControlList:Contains |
-
Fix the compile error in Templates\__RelatePlus\InitializationModules\CmsIntegrationModule.cs by replacing it with the attached file.
-
In RouteTable.Routes.GetVirtualPathForNonContent, change
var currentLanguage = Globalization.ContentLanguage.PreferredCulture.Name;
to
var virtualPath = UrlResolver.Current.GetVirtualPathForNonContent(entry, currentLanguage, null);
-
In Configuration.Settings.Instance.SiteDisplayName, update EPiServer.Web.SiteDefinition.Current.Name.
-
In StripHtmlFilterRules, update using EPiServer.HtmlParsing.Internal;.
-
In EPiServer.Web.PermanentLinkMapStore.TryToMapped, update Web.Routing.UrlResolver.Current.TryToPermanent(responseItem.Uri.ToString(), out mappedUrl) .
-
Change
PermanentContentLinkMap pplm = PermanentLinkMapStore.Find(pageEntity.PageGuid) as PermanentContentLinkMap;
toPermanentLinkMap pplm = ServiceLocator.Current.GetInstance<IPermanentLinkMapper>().Find(pageEntity.PageGuid);
-
Regarding the function
VersioningFileSystemSearchHandler:
temporarily ignore it. To do so, comment it and return zero (0).
-
In the EPiServerFramework.config file, run Update-epidatabase or add an
updateDatabaseSchema\="true"
attribute to the episerver.framework tag. -
Press Ctrl+F5 to browse the website.
-
Convert the database to UTC by opening Package Manager Console and running the cmdlet Convert-EPiDatabaseToUtc.
-
Open RelatePlus.Master.Designer.cs. Within that file, change protected global::System.Web.UI.HtmlControls.HtmlGenericControl HtmlElement; to protected global::System.Web.UI.HtmlControls.HtmlElement HtmlElement;.
-
Open ClubMasterPage.Master.Designer.cs. Within that file, change protected global::System.Web.UI.HtmlControls.HtmlGenericControl HtmlElement; to protected global::System.Web.UI.HtmlControls.HtmlElement HtmlElement;.
-
Open SearchRelatePlus.Master.Designer.cs. Within that file, change protected global::System.Web.UI.HtmlControls.HtmlGenericControl HtmlElement; to protected global::System.Web.UI.HtmlControls.HtmlElement HtmlElement;.
-
Rebuild the project.
-
Copy the IMAP4.Net.dll and Parse.Net.dll (attached files) to the /bin folder.
-
Press Ctrl+F5 to browse the website.
-
If you want to send email in a Relate+ site, open the file EPiServerMail\MasterPages\Mail.Master, and replace
<%= Page.DojoConfig(false, true) %>
with
<%= Page.ConfigureDojo(false, true, false) %>
Updated 5 months ago