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 internals 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 please 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. Despite the transport layer is still using the HTTP protocol, publishing allows to 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 please read:
Upgrading from activation to publishing
The bundles and webapps in the 5.6 branch are shipped with publishing by default. If you are migrating from a pre-5.6 Magnolia branch and intend to use publishing, please see the Publishing vs Activation and custom commands section on the Upgrading to Magnolia 5.6.x page.
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.
#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))