Experience Pages Translations
Introduction
Goal
Configure translation support for Experience Pages.
Background
In a Bloomreach Experience Manager project configured for translated channels, Experience Pages can be translated like normal documents, provided that the Experience Page Layouts and Folders are set up in a specific way. There are also some limitations.
Configuration
Experience Page Layouts
For Experience Pages to be 'translatable' from one channel to another, the target channel must have the same Experience Page Layouts as the source channel with the exact same hippo:identifier values.
The best way to achieve this is to make sure both channels inherit from the same 'common' configuration (as in the example in Add a Translated Channel) and define the Experience Page Layouts within the common configuration.
Example configuration:
/hst:myproject/hst:configurations/common/hst:xpages: jcr:primaryType: hst:xpages jcr:uuid: 10edaa6b-7ac2-41f2-8c6a-5975469196ca /experience-page: jcr:primaryType: hst:xpage jcr:uuid: e4b7b977-b811-41c0-9e1c-1afdef0e3d6c hst:label: Experience Page hst:referencecomponent: hst:abstractpages/base /main: jcr:primaryType: hst:containercomponent jcr:uuid: 3816c438-24eb-4aa4-8b6f-c7e2472405a6 hippo:identifier: b7ee33fd-a625-449a-8b9c-156d9030e7cf hst:xtype: HST.vBox /content: jcr:primaryType: hst:containeritemcomponent jcr:uuid: 400c260a-9259-48d9-9554-3046b186ba24 hst:componentclassname: org.onehippo.cms7.essentials.components.EssentialsContentComponent hst:label: Content hst:template: contentpage-main
Experience Page Folders
For Experience Pages to be 'translatable' from one channel to another, the target channel must have the exact same root Experience Page Folder as the source channel and they must be linked to each other as translations (i.e. have the same hippotranslation:id).
Example configuration:
Experience Page Folder in English content root (/content/documents/myproject):
/content/documents/myproject/experience-pages: jcr:primaryType: hippostd:folder jcr:mixinTypes: ['hippo:named', 'hippostd:cmxpagefolder', 'hippostd:xpagefolder', 'hippotranslation:translated', 'mix:versionable'] jcr:uuid: de290994-7564-4557-bf2d-806fe6780ba2 hippo:name: experience pages hippostd:channelid: myproject hippostd:foldertype: [new-translated-folder, new-document] hippotranslation:id: e10ae0b7-e85d-4f9b-8578-c11f03d4da81 hippotranslation:locale: en
Experience Page Folder in French content root (/content/documents/mon-projet):
/content/documents/mon-projet/experience-pages: jcr:primaryType: hippostd:folder jcr:mixinTypes: ['hippo:named', 'hippostd:cmxpagefolder', 'hippotranslation:translated', 'mix:versionable'] jcr:uuid: bd3178d8-eae9-4dd4-807d-4c71511f2df3 hippo:name: experience pages hippostd:channelid: mon-projet hippostd:foldertype: [new-translated-folder, new-document] hippotranslation:id: e10ae0b7-e85d-4f9b-8578-c11f03d4da81 hippotranslation:locale: fr
Note that the folder node names and hippotranslation:id property values are identical between the two Experience Page Folders in the two channels.
Limitations
When creating a new translation of an Experience Page Document of which the component configuration contains references to documents using a relative content path within the channel, those references will be broken in the translated copy of the Experience Page Document. The document references must be reconfigured after creating the translation.