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
- 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.
externalBLOBsparameter of PM needs to be set to
- 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.
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
Please note these few small API changes:
.getValues()will now return an single-value array instead of throwing an exception for such cases. See MAGNOLIA-2773 for details.
info.magnolia.debug.DerbyTestPersistanceManagerwas 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.
.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
.flushByUUID(String, String, Cache)was added to allow extending flush policies to flush multiple cache entries based on their relation to content UUID.
Update the nodetypes definitions: execute the
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
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.
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.
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
setDomainEnv.sh 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.
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.