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

Localization and import/export breaking changes

Breaking changes to the localization system, import/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.