Skip to end of metadata
Go to start of metadata

What has changed since Magnolia 4.0

This is the first official and complete release in the 4.1 line. This is a major release, which brings a number of changes and bundles quite a few new modules, too! The main improvements include, but are not limited to, new features in Standard Templating Kit, and the integration of more modules in the STK.

This is also the first version when the minimal required Java version is 1.5. As from Magnolia 4.1, Java 1.4 is not supported anymore.

  • New features in STK: grouped teasers, sliding "carousels", news and events overview (calendars), category overview, glossary, FAQ.
  • New modules: some of these modules existed before, but we're finally pushing them forwards and using STK as an integration "platform" for their functionalities. A few of these modules: RSS (aggregation and consumption), commenting, newsletter, public user registration, forum, imaging, categorization, ...
  • More integration between modules and STK: most of the new modules above are now also providing their own extensions and goodies to STK: categorization (EE only), RSS aggregation and consumption, ...
  • Pluggable Digital Asset Management (DAM): provides a control that allows one to select assets (images, videos, ...) from various sources using one single control. Currently supported: DMS, simple upload. STK uses this feature extensively, Magnolia OnAir adds its own extra provider, and you can also integrate it with your own backend !
  • Imaging module: this module provides a flexible API to generate and filter images. Current features cover various resize and cropping strategies, as well as text overlay. It is meant to be very extensible, and it should be easy to implement your own special filters! It is also able to delegate to 3rd party libraries, and is bundled with such a library that provides tons of effects, from the regular blurs and rotates, to fancy flares and texture generators! This module is currently only available with the Enterprise Edition; STK provides integration to give you neatly resized images without a sweat. (EE only)
  • Commenting: STK provides out-of-the-box integration with IntenseDebate. For EE users, we went much further, and comments happen directly in Magnolia, using the new commenting module !
  • Clustering: JackRabbit clustering features are now verified to work well with Magnolia and are therefore fully supported, if the following conditions are met:
    • File system or database based journal is configured.
    • Same database is used for data storage.
    • Each cluster node uses unique ID (such ID can be configured either in JackRabbit configuration file or by -Dorg.apache.jackrabbit.core.cluster.node_id= startup parameter).
    • Used Persistence Manager needs to be transactional, and need to support concurrent access from multiple processes. When using JackRabbit, one option is to use a database persistence manager, and use a database that does support concurrent access. The file system based persistence managers in JackRabbit are not transactional and don't support concurrent access; Apache Derby doesn't support concurrent access in the embedded mode.
    • externalBLOBs parameter of PM needs to be set to false.
    • By default journal synchronization is performed every 5 sec. This can be changed by configuring syncDelay (in ms) parameter in JackRabbit configuration file.
    • For further details on JackRabbit clustering configuration please see JR Clustering Documentation.

As usual, the *complete list of changes* for Magnolia itself can be found on our Jira. Each module has it's own change log, though, so you might be interested in checking those out too.

The Magnolia team would also like to thank everyone who reported issues or contributed patches to this release. Your continuous interest helps us make Magnolia better.

How to update from Magnolia 4.0.2

Simply follow the  general update procedure , with the following additional steps:

Please note these few small API changes:

  • DefaultNodeData .getValues() will now return an single-value array instead of throwing an exception for such cases. See MAGNOLIA-2773 for details.
  • info.magnolia.debug.DerbyTestPersistanceManager was renamed to DerbyTestPersistenceManager (typo in the name). This was never published nor documented, so it's very unlikely that you'll be impacted by this.
  • Cache .getName() was added to allow each cache instance to be easily identifiable.
  • CachePolicy has new methods to retrieve keys for cache entries based on UUID or AggregationState .
  • AbstractListeningFlushPolicy .flushByUUID(String, String, Cache) was added to allow extending flush policies to flush multiple cache entries based on their relation to content UUID.

Node Types

Update the nodetypes definitions: execute the updatenodetypes or updatenodetypes.bat script from the add-ons/magnolia-tools/bin folder of Magnolia Enterprise Edition application server bundle. On a typical setup, you'll only need to pass it the -webapp argument, like for example:

Do this for all your instances.

How to update from an earlier version of Magnolia

(warning) Please read all release notes concerning the versions you're skipping, and follow the above procedure, along with any additional step mentioned in the release notes of the versions you're skipping.

Known issues


When updating from a Magnolia version older than 4.0, there is a known issue related to the update of templates, for which you will need to manually fix the templatePath property. After an update from Magnolia 3.6.x, these are incorrectly moved under a parameters subnode. Please see MAGNOLIA-2809 for details.

JBoss 5

There is an unfortunate issue, specifically when deploying under JBoss *5*: you will need to remove the Xerces jar from the Magnolia webapps: if deploying using war files, you can remove it from the archive, or with the following Unix command zip -d path-to-magnolia.war WEB-INF/lib/xercesImpl-2.8.1.jar. If deploying using an exploded directory, simply remove the WEB-INF/lib/xercesImpl-2.8.1.jar file. See MAGNOLIA-2577 for technical details.

If you get exception messages such as org.jboss.xb.binding.JBossXBException: Failed to create a new SAX parser and/or java.lang.ClassCastException: org.apache.xerces.parsers.XIncludeAwareParserConfiguration, this is the issue you're hitting.

Weblogic 10

When deploying on Weblogic 10, there is a version conflict while using commons-lang. While Weblogic-10 is distributed with commons-lang-2.3.jar, JackRabbit and Magnolia need at least commons-lang-2.4.jar. To resolve this issue, modify of Weblogic and add commons-lang-2.4.jar to the PRE_CLASSPATH. Since version 2.4 of commons-lang doesn't remove any methods, but only adds new API and fixes known bugs, there is no adverse effect from this change to the Weblogic installation.

Weblogic 9

The imaging module doesn't function properly due to conflict with a javax.imageio plugin bundled with this version of Weblogic. There is currently no known workaround for the issue.

Please see the list of known issues in the administration section for more details.