Release notes for Magnolia 4.3
- What has changed since Magnolia 4.2.3
- How to update from Magnolia 4.2.3
- How to update from an earlier version of Magnolia
- Known issues
What has changed since Magnolia 4.2.3
Magnolia 4.3 brings many new features, improvements and bugfixes; here are some highlights:
- Multi-domain support (via the Extended Templating Kit (ETK) module)
- i18n support is enhanced: i18nAuthoringSupport now allows switching languages while editing content.
- Groovy support (via the Groovy Module): provides a Groovy "shell" or console, allows editing scripts in the repository, and allows using Groovy classes as templating models or any other Magnolia component !
- Introducing the Magnolia Store: you can now see which of your modules need upgrading… as well as new modules you could use !
- Configuration items can now inherit from others. This can help avoiding a lot of duplication in configuration nodes, for instance when configuring dialogs or multiple sites. See MAGNOLIA-2994 for details.
- Various improvements to the cache: it's now locale-, host- and parameters- aware.
- Publication date can now be specified from the "activate" dialog; workflow definitions can now be edited directly within Magnolia.
- Users can be arranged in folders for easier maintenance.
- Paragraphs can be rendered independently via the URL; opens door for integration with other systems by allowing to get and render content snippets. (Ajax, REST, ...)
- Preliminary support for JCR 2.0 and Jackrabbit 2.0.
- The Jackrabbit shipped with Magnolia has been updated to the 1.6.1 version.
- Unicode support in node names: the previous limitation on the characters that could be used to name pages, nodes and properties has been removed. See MAGNOLIA-3009 for details.
- A couple of libraries used by Magnolia have been updated to newer versions. See MAGNOLIA-2912 for details.
- Many, many more! See the change logs.
- The order of filters has changed slightly: the
multipartfilter is now before the
i18nfilter is now before the
info.magnolia.objectfactory: we refactored the (now deprecated)
ClassUtilclasses into this new package. For most common usages, you can now use
Classes, respectively. This new API will possibly change in future versions, however we expect the
Classesclasses to remain stable.
- Observed components are now returned as a proxy: you can get a component once and for all, with the guarantee that its methods and properties will reflect the latest state of the corresponding node in the repository. (Previously, you had to fetch that component from
FactoryUtilto get an updated instance). See MAGNOLIA-2553 for details.
- The content API (
NodeData) has been refactored and cleaned up. See MAGNOLIA-3015 and sub-tasks for details. A few methods have been deprecated but the changes should otherwise be transparent for most cases.
- The various wrapper classes for content (
NodeDataWrapper) have been improved. We introduced a couple more useful wrappers, too. See MAGNOLIA-3020 for details.
ModuleRegistry.get*methods now throw exceptions for unknown modules; a new
isModuleRegistered()method was added to cover cases where the previous behaviour was needed. See MAGNOLIA-2762. Module instances can also be retrieved by class rather than by name.
- FreeMarker shared variables can now be configured. This allows exposing of objects to templates without having to have a specific renderer, for example.
- Generics have been introduced in a bunch of classes. See MAGNOLIA-2927 for details.
- A few classes or methods that have been deprecated since 4.0 or earlier have been removed. See MAGNOLIA-2995 and linked issues for details.
Lastly, we've started a preview/proposal module which prefigures a few reviewed templating mechanisms which we're hoping to finalize for Magnolia 5.0. Some details are available at MAGNOLIA-2993, on Greg's blog, and on our wiki. (to be updated)
The Magnolia team would like to thank everyone who reported issues or contributed patches to this release. Your continued interest helps us make Magnolia better.
How to update from Magnolia 4.2.3Please refer to the general update procedure page.
How to update from an earlier version of MagnoliaPlease refer to the release notes for Magnolia 4.2.3. The procedure is identical.
Please see the release notes pages for update instructions specific to each version following the version you are updating from; if you're updating from a fictional 1.2.3 to 1.2.6, for example, please read all release notes concerning the versions you are skipping (1.2.4 and 1.2.5 in this example).
JBoss 5There 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.jarfile. See MAGNOLIA-2577 for technical details. If you get exception messages such as
org.jboss.xb.binding.JBossXBException: Failed to create a new SAX parserand/or
java.lang.ClassCastException: org.apache.xerces.parsers.XIncludeAwareParserConfiguration, this is the issue you're hitting.
Weblogic 10When 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.shof Weblogic and add
PRE_CLASSPATH. Since version 2.4 of
commons-langdoesn'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 9The imaging module doesn't function properly due to conflict with a
javax.imageioplugin 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.