Try our conversational search powered by Generative AI!

Inconsistent behavior of translated page when project mode enabled

Found in

EPiServer.Labs.LanguageManager 1.5.1.9000

Fixed in

EPiServer.Labs.LanguageManager 2.0.0

(Or a related package)

Created

Mar 10, 2016

Updated

Jul 06, 2016

State

Closed, Fixed and tested


Description

Precondition:

  • Enable Projects is checked in Admin > Config > System Settings > Editing.
  • The Languages gadget is added to the Edit View.

Steps to reproduce
1. Create a project at the project mode bar (for example, Project1).
2. Create a page in English (for example, Page1) => Page1 is a part of Project1.
3. On the Languages gadget, select 'Create' link in Swedish.
4. Select 'Auto-translate from English' or 'Duplicate English content.'
=> A draft Swedish version created.

Expected: The Swedish page is part of Project1.
Actual: The Swedish page is not a part of Project1.

NOTE: If you select 'Start with a blank page' at 4th step, the Swedish page is part of Project1.

Bugfix raises a breaking change:
Introduce new methods in interface ILanguageBranchManager and its implementation LanguageBranchManager. The difference comparing with old methods is that we return newly created content as an out paramenter (createdContentLink):

bool CopyDataFromMasterBranch(ContentReference contentReference, string fromLanguageID, string toLanguageID, Func<object, object> transformOnCopyingValue, out ContentReference createdContentLink, bool autoPublish = false);
bool CreateLanguageBranch(ContentReference contentLink, string languageID, out ContentReference createdContentLink);
bool TranslateAndCopyDataFromMasterBranch(ContentReference contentReference, string fromLanguageID, string fromTwoLetterLanguageName, string toLanguageID, string toTwoLetterLanguageName, out ContentReference createdContentLink, bool autoPublish = false);

Following methods are obsoleted and will be removed later:

bool CopyDataFromMasterBranch(ContentReference contentReference, string fromLanguageID, string toLanguageID, Func<object, object> transformOnCopyingValue, bool autoPublish = false);
bool CreateLanguageBranch(ContentReference contentLink, string languageID);
bool TranslateAndCopyDataFromMasterBranch(ContentReference contentReference, string fromLanguageID, string fromTwoLetterLanguageName, string toLanguageID, string toTwoLetterLanguageName, bool autoPublish = false);

Depend on new packages: EPiServer.CMS.Core 9.8, EPiServer.CMS.UI 9.5.0