Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 26 Next »

Magnolia Compatibility

5.7 5.6 5.6

The Content Synchronization Module is used to get content from a source instance into a target instance. For example, you can get content from a PRODuction environment sync'ed (i.e. pulled) into a TEST environment.

When having a full DTAP environment in place for a customer and developing nice new things and improving existing functionality, often there is the need for 'actual' content to properly test all kinds of changes. This modules will save time to have all content exported and imported manually.

To start synchronization with the app, make sure all needed workspaces and nodes are configured, enter the credentials of a user that has all needed permissions on both source and target, and then click the button 'START SYNCHRONISATION'.

This module has to be installed on both source and target instance to work. Workspaces as well as nodes can both be synchronised in one go. Configuration is stored in JCR and done in node /modules/content-synchronisation/config/.

Synchronization first removes configured workspaces/nodes on the target instance, then pulls content from source instance. After synchronization, all imported content is published. Synchronization works in a PULL manner, so it imports content to the instance where user starts it. It does NOT push anything.


This module requires Enterprise Edition of Magnolia. The module can be added as a Maven dependency in the main and webapp POM file:


Additionally a dependency from your main module descriptor is necessary:

    <version>{2/* | 3/*}</version>

Versions and compatibility table


Module VersionMagnolia Version

*Version 1.0.x is no longer supported


  •  Version 3.0.0: first public release for Magnolia 5.7.x

  • Version 2.0.22: bugfix - removal of parent pom
  • Version 2.0.21: first public release for Magnolia 5.6.x

  • Version 1.0.18: bugfix - removal of parent pom
  • Version 1.0.17: first public release for Magnolia 5.5.x


This module has to be installed on both source and target instance to work. Workspaces as well as nodes can both be synchronised in one go. Configuration is stored in JCR and done in node /modules/content-synchronisation/config/. Please remember that rest role (or any other that is going to be used) should be configured correctly and should be allowed for GET/POST in the endpoint /.rest/content-synchronization/v1*

Logger configuration

To write all module logs to separate log file, please add Log4j config to your project:

<appender name="sync-log-content-synchronization" class="org.apache.log4j.RollingFileAppender">
    <param name="File" value="${magnolia.logs.dir}/magnolia-content-synchronization.log"/>
    <param name="MaxFileSize" value="1MB"/>
    <param name="MaxBackupIndex" value="5"/>
    <param name="Append" value="true"/>
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%-5p  %d{dd.MM.yyyy HH:mm:ss} %m%n"/>
<appender name="log-content-synchronization" class="org.apache.log4j.AsyncAppender">
    <appender-ref ref="sync-log-content-synchronization"/>
<category name="" additivity="false">
    <appender-ref ref="log-content-synchronization"/>
    <priority value="INFO"/>

User credentials

The user that you use needs to have the next permissions:

  1. read/write permissions on selected workspaces/nodes of target instance
  2. read permission on selected workspaces/nodes of source instance
  3. and permission to access REST endpoint on source instance


Content Synchronization module for Magnolia CMS Copyright (C) 2018

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see

Contributions, questions or findings

Please share your ideas or questions in the comments area on this page.

If you run into a problem, you can report it here:

  • No labels