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

On the surface, the modules and apps associated with publishing and activation serve the same purpose: publish content from an author instance to a public instance:

Nevertheless, the internal workings of this process are different.

Activation is an older implementation inherited from the 5.5 branch. Activation can still be used instead of publishing, but it is structurally and also partly functionally inferior to the newer publishing implementation.
For more information about activation, read: 

Publishing is a refactored version of activation. The original Activation module has been broken into multiple submodules, see the module structure. The driving decision was to have a set of maintainable and extensible components. Another reason was to remove deprecated code. The core activation concepts remain the same. The transport layer is still using the HTTP protocol, but you can now easily plug in any type of transport layer. The new publishing implementation also allows you to define and use custom publishing operations with which you can publish content to something that is not a Magnolia public instance, for example to a custom API or a Content Delivery Network.
For more information about publishing, read: 

Upgrading from activation to publishing

Bundles and webapps are shipped with publishing by default. If you are migrating from a pre-5.6 Magnolia branch and intend to use publishing, you have to:

  • Remove both the activation modules.
  • Add all modules from the magnolia-publishing-parent to your bundle, either manually as pre-built jars or as dependencies.
  • Check that after the upgrade the subscribers were correctly migrated from /server/activation to /modules/publishing-core/config/receivers.
  • (warning) Rewrite your custom activation commands to be compatible with the modules of the new publishing module pack.

Replacing publishing with activation

Using activation is still possible, but only after replacing the Publishing module and the Publishing Transactional module with the Activation module and the Transactional Activation module, respectively. You can do this in two ways:

  • Remove all the publishing JARs from the ../WEB-INF/lib folders of your author and public instances. Add the activation JAR files in their place.
  • Exclude the publishing dependencies from the POM and add the old activation dependencies.


  • No labels