Live Copy helps you manage complex multisite installations that share similar content. It allows you to create live copies of master sites. The live copies are automatically updated when you make changes to the master. This means you only have to manage the master content and push it to the live copy pages. You do not need to manually copy similar pages to multiple locations in order to perform updates. Components on live copy pages can be changed individually and protected from master content changes.
Maven is the easiest way to install the module. Add the following dependencies to your webapp. All the other necessary dependencies will be brought in automatically:
<dependency> <groupId>info.magnolia.livecopy</groupId> <artifactId>magnolia-livecopy</artifactId> <version>3.1</version> </dependency>
Pre-built JARs are also available for download. See Installing a module for help.
This module is located in the
addons.releases repository and requires additional changes to your Maven settings file.
In order to access the incubator repository, you must make some changes to your Maven settings file.
Live Copy works by creating a copy of a master website. The master can be an entire site, a sub-tree or just a single page.
As a lot of content can be copied and linked, a single wrong action can have a negative impact on a big part of your website. Plan your content structure in detail before using Live Copy.
Give the rights to execute Live Copy actions to privileged users with sufficient instructions only.
Creating a live copy
To create a live copy:
- Open the Pages app.
- Select the site/tree/page you want to copy.
- Click Create live copy in the action bar.
- Choose a location for the live copy in the dialog.
- Finally, create a matching site definition for your freshly created live copy site.
In the Livecopy column of the Pages app, the two sites are indicated using an icon:
Note that the newly created live copy site follows the same naming conventions as the standard copy action. For example, if your master site is named
travel, then the new live copy site is named
travel0. We recommend you rename the live copy site.
You can copy just a sub-tree or a single page instead of a whole site. You have to move the copy to the correct location afterward in the choose.
Typically your master site contains links that are internal to the master site. The links in your newly created live copy site will still point to that master content. This can be desirable in some situations. However, there may be scenarios where the links should point to pages in the live copy site.
To automatically change the links to your live copy site you can use the Relink all pages to live copy pages action. Rewritten links are automatically protected from being overwritten when new content is pushed from the master.
Pushing content from master to live copy pages
When you change content on your master page and want to push this content to the matching live copy page, use the Push master content changes or Push master content changes incl. subnodes actions.
The content in the live copy page is updated as follows:
- Content including personalized content.
This includes page properties, component ordering, added and/or removed components.
- Page position.
- If the master page is moved to a different location, then the live copy page is moved to the equivalent position.
If the master page does not exist, then the page stays in the same location.
If you have added a new page to the master site, you must create a live copy of the new page to create it in the copied site before you can push master content changes to it. Newly created pages are not added automatically upon pushing master content changes.
Protecting content from master content changes
Components within a live copy page are marked with an extra icon:. This helps you to differentiate between live copy content and unlinked content.
You may not want all the content in your live copy pages to be overwritten when master content is pushed. You can protect the content in:
- Full pages – To protect a full page, select the live copy page and click Disable updates from master. The page is marked with an unlinked icon:
- Single components – To protect a component, edit the page, select the component, and click Disable updates from master. The component is marked with an unlinked icon:
- Single fields in your component – To protect a field within a component, edit the component then select the fields that should not be overwritten on the next content push from your master content:
The red icon in the screenshot above indicates that the field is not linked to the master content. The grey and white icon indicates that the field is linked to the master content.
Breaking and reattaching
You can break the link of the live copy pages. The linking of live copy pages to master content is done using a page property called
masterContentIdentifier. This is visible through the JCR Browser or via content export. To break this link, select a page and click Disable updates from master. After confirmation, the page no longer receives updates from the master page.
Breaking the link to master content is achieved through a page property called
liveCopyReferenceDropped. When this flag is set to true, the linking of content is turned off. However, the
masterContentIdentifier still remains and the content can be re-linked at any time. To reattach the live copy content to the master content, click Enable updates from master.
For single-tree multi-language websites, there is
info.magnolia.liveCopy.i18n.LiveCopyI18nContentSupport to be used in the Live Copy's site definition. This class introduces a
masterLocale property which holds the fallback language from the master copy.