HomeDev GuideRecipesAPI Reference
Dev GuideAPI ReferenceUser GuideGitHubNuGetDev CommunityOptimizely AcademySubmit a ticketLog In
Dev Guide

Localization and import or export breaking changes

Breaking changes to the localization system, import or export functionality, and enterprise transfer features in CMS 13.

This article covers localization and import or export breaking changes in CMS 13.

Localization provider for /lang folder

CMS no longer automatically registers a localization provider for the /lang folder. You should move to embedded language files instead.

EPiServer.Framework.Localization.LocalizationService

  • LocalizationService checks the invariant culture when configured as the FallbackCulture. Configure FallbackBehavior to skip checking fallback culture completely.
  • The abstract LoadString and GetAllStringsByCulture methods now take a ReadOnlyMemory<char>[] parameter instead of string[]. These methods are abstract.
  • The NormalizeKey method returns ReadOnlyMemory<char>[] and has replaced the NormalizeKeyAsMemory method.
  • The MissingMessageFormat field was removed. Use the GetMissingMessage method to format a missing message string.

EPiServer.Framework.Localization.LocalizationProvider

  • The abstract GetString and GetAllStrings methods with string[] parameter were replaced with their equivalent methods taking a ReadOnlyMemory<char>[] parameter instead. These methods are abstract.

EPiServer.Framework.Localization.ProviderBasedLocalizationService

  • No longer implements IConfigurableModule and no longer registers as an InitializableModule.

EPiServer.Framework.Localization.ResourceKeyNormalizedEventArgs

  • The type of the NormalizedKey property and constructor argument was changed from string[] to ReadOnlyMemory<char>[].

EPiServer.Framework.Localization.CultureInfoExtensions

  • The class with extension methods to CultureInfo was removed.

EPiServer.Framework.Localization.LocalizationService (additional removals)

  • Two protected virtual TryGetStringByCulture overloads (with string[] key parameters) were removed. Use the overloads with ReadOnlyMemory<char>[] parameters instead.

EPiServer.Framework.Localization.ResourceKeyHandler (additional removals)

  • Method NormalizeKey (returning string[]) was removed. Use NormalizeKeyIntoMemory instead.

EPiServer.Enterprise

Export changes

  • EPiServer.Enterprise.ExportEventArgs – Property ExportContext was removed because only one export type exists. Constructor accepting Type argument that was used for ExportContext was removed.

  • EPiServer.Enterprise.ExportEventArgs.ContextOfExport – Enum removed because there is only one type of export after the remaining mirroring functionality was removed.

  • EPiServer.Enterprise.ContentExportingEventArgs – Constructor accepting Type argument that was used for ExportContext was removed.

Import changes

  • EPiServer.Enterprise.IImportStatus – Three new properties were added: Content, Blueprints, and DisplayTemplates. DynamicPropertyDefinitions was removed because it is no longer supported.

Transfer context

  • EPiServer.Enterprise.Transfer.ITransferContext

    • A new DisplayTemplates property was added.
    • DeleteContent, DeleteContentLanguages, DeleteChildrenGuids, and MoveContent were removed as mirroring is no longer supported.
    • Property DynamicPropertyDefinitions was removed. Dynamic Properties are no longer supported.
  • EPiServer.Enterprise.Transfer.TypeOfTransferMirroringImporting and MirroringExporting were removed as mirroring is no longer supported.

Dynamic Data Transfer

  • EPiServer.Enterprise.DynamicDataTransferHandler – No longer implements the IConfigurableModule interface.

Dynamic Properties in export/import

  • EPiServer.Enterprise.IDataExplorer.AddDynamicProperty – Removed. Dynamic Properties are no longer supported.
  • EPiServer.Enterprise.IExportStatus.DynamicPropertyDefinitionsCount – Removed. Dynamic Properties are no longer supported.

EPiServer.LinkAnalyzer

  • EPiServer.LinkAnalyzer.LinkAnalyzerInitialization – No longer implements the IConfigurableModule interface. Services are registered using the AddCmsLinkAnalyzer() service collection extension method.