Release notes for Magnolia 4.1
- What has changed since Magnolia 4.0
- How to update from Magnolia 4.0.2
- How to update from an earlier version of Magnolia
- Known issues
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 http://intensedebate.com. 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.
externalBLOBsparameter of PM needs to be set tofalse.- 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
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.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.- 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 theupdatenodetypes 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:
./updatenodetypes -webapp /Applications/Magnolia/apache-tomcat-5.5.25/webapps/magnoliaAuthor/
Do this for all your instances.
How to update from an earlier version of Magnolia
Known issues
Templates
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 thetemplatePath 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 commandzip -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 usingcommons-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.
Weblogic 9
The imaging module doesn't function properly due to conflict with ajavax.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.