What has changed since Magnolia 4.4.6

Magnolia 4.5.1 introduces several new features and changes the API and templating mechanism significantly. It is mandatory to update to Magnolia 4.4.6 before upgrading to 4.5.1. You also need to migrate your projects to comply with the new configuration and templating features.

New features

  • Page editing is friendlier and more intuitive. Areas now have their own toolbars so editors can see where they are. Potential areas have visual placeholders. Native drag-and-drop of components within an area is supported.
  • New templating API. Lessons learned from Standard Templating Kit have been incorporated into the core templating mechanisms, including area management. The new API is much easier to learn, use and maintain and will reduce the time it needs to create new projects. Start learning with the Introduction to templating tutorial and download the Template Migration Reference (.pdf).
  • Channels facilitate the delivery of content in a variety of forms and formats.
  • Mobile devices such as smartphones are served the same content as desktop browsers. As a demonstration case, channels are used to serve content to desktop browsers and smartphones in different formats. The content is formatted and optimized to match the device's capabilities. There is no need to create mobile-specific versions of pages.
  • Device Detection module provides a best practice solution to managing the complexity of mobile environments. The module detects mobile devices and resolves their capabilities. When you combine it with the new channel functionality, you can deliver tailored content for any device class.
  • HTML5 video player allows you to upload different formats of video like MP4, WebM, and MOV. If the requesting browser does not support the HTML5 video element, a Flash player is used as a fallback.
  • CMIS exposes documents stored in the DMS repository to other systems. This means you can access and edit documents using a consumer application such as Microsoft SharePoint.
  • Secure Activation. Activation is authenticated using public-key cryptography to make the activation process more secure.
  • Standard access to content. With our move to JCR 2.0 we now support secure access of content, right through the standard JCR API, no matter if you want to access content from within Magnolia or externally. Use any tools adhering to JSR-283 (or JSR-170) to manipulate content in an access-secured way. The old content API is being phased out.
  • Blossom 2.0 Spring integration framework has been rewritten to reflect all the things we learned in the last four years. It now supports the newest templating concepts such as areas via annotations in Spring.

Technical improvements

Licensing changes and CE/EE differences

  • Subscribers : You can only have one subscriber in CE. EE supports multiple subscribers.
  • STK is now licensed under GPL. This means you don't have to display an attribution to Magnolia or a Magnolia logo on your site anymore. Of course, an attribution and link back is always more than welcome! We hope this yields a broader STK user base and ecosystem.
  • Imaging module is now available in CE. The license is GPL, the code is open source and it is bundled with STK. This means you can have automatically resized images with CE.
  • Commenting module is now also available in CE. You still have the choice to use external commenting if you wish. The Commenting module depends on the Forum module which is already in CE.

Complete change log

An aggregated change log for 4.5 and 4.5.1 can be found in our issue tracker.

Released modules

In addition to all "core" modules released with version number 4.5.1, this release includes the following new module versions:

  • Magnolia CMIS Module 1.0
  • Magnolia Categorization Module 1.2.1 (now in CE - licensed with GPL/MNA)
  • Magnolia Commenting Module 1.2.1 (now in CE - licensed with GPL/MNA)
  • Magnolia Content Dependencies Module 1.0.4
  • Magnolia Content Translation Support 1.0.4
  • Magnolia DMS Module 1.6.1
  • Magnolia Data Module 1.7.1
  • Magnolia Device Detection Module 1.0.1
  • Magnolia Diff Module 1.1.1
  • Magnolia Extended Templating Kit 2.0.1
  • Magnolia Form Module 1.4.1
  • Magnolia Forum Module 1.3.1
  • Magnolia Google Analytics 1.1.1
  • Magnolia Groovy Module 1.2.1
  • Magnolia Imaging Module 2.2.1 (now in CE - licensed with GPL/MNA)
  • Magnolia In-place templating Module 1.3
  • Magnolia LDAP support 1.5.1
  • Magnolia Migration
  • Magnolia Public User Registration 1.4.1
  • Magnolia RSS Aggregator Module 1.3.1
  • Magnolia Resources Module 1.5.1
  • Magnolia Scheduler Module 1.5.1
  • Magnolia Soft Locking Module 2.0.1
  • Magnolia Standard Templating Kit 2.0.1
  • Magnolia XA Activation 1.3.1

Contributions

The Magnolia team would also like to thank everyone who reported issues, contributed patches, or simply commented on issues for this release. Your continued interest helps us make Magnolia better. Special thanks go to: Arjan Van Bentem, Bert Leunis, Brad Kazazes, Brian Bowman, Christian Strappazzon, Craig Blake, Danilo Ghirardelli, David Pronk, Diana Racho, Diego Schivo, Fabrizio Giustina, Frank Bosma, Frank Sommer, Giancarlo Berner, Harold Capitaine, Hay Kranen, Igor Klimchynski, Jörg Schaible, Kimmo Björnsson, Luca Boati, Manuel Molaschi, Marco Glur, Matt Dertinger, Mingfai, Nickolaus Wing, Nils Breunese, Orlando Warren, Richard Unger, Rico Jansen, Rory Gibson, Ruth Stocks, Sean McMains, Stefan Baur, Steve Pugh, Sven Damm, Thomas Kalmar, Thomas Martin, Tomas Brimor, Vincent Gombert, Vit Kroutil, Vivian Steller, Vychtrle, Will Scheidegger, Wolfgang Habicht, and Zam6ak.

How to migrate from Magnolia 4.4.6

Migration is your starting point. Understand that migration is not a simple update but an effort that needs to be planned ahead.

If you are using the LDAP Connector module

LDAP Connector module requires configuration changes:

  • The path to your ldap.properties file must be configured in a new property jndi.ldap.config in magnolia.properties.
  • Using java.naming.security.principal as the identity of the principal to be authenticated is no longer mandatory.
  • New properties adminUserDN and adminUserPassword define an admin user who has permissions to perform an initial search against the LDAP server.
  • Specifying a realm or jdni.ldap.config when adding the LDAP authentication module as a requisite login module is no longer needed.
  • In your user manager configuration, replace the old class node value info.magnolia.cms.security.ExternalUserManager with info.magnolia.jaas.sp.ldap.LDAPUserManager or info.magnolia.jaas.sp.ldap.ADUserManager.
  • In your user manager configuration, add a new data node realmName and set its value to external.

See LDAP Connector documentation for details.

Activation key pair

You will need to add a magnolia.author.key.location in your magnolia.properties file(s), with a value pointing to a file that can be created/written by the process running your Magnolia instance.
Example:

magnolia.author.key.location=${magnolia.home}/magnolia-activation-keypair.properties

magnolia.properties

A few new properties have been added:

  • magnolia.home - not mandatory, but can be useful. By default, its value is that of the the magnolia.app.rootdir property, which is the root of where the webapp is deployed. Typically, you'll set this single property to a folder of your choice, to store repositories, caches, logs, temp files, etc outside of the webapp.
  • magnolia.author.key.location - a new property which indicates where Magnolia should store the key pair file. See details above.
  • magnolia.service.contact - an optional property that lets you set a contact string which will be displayed on login pages, so users who can't login to their Magnolia instance know what to do and who to contact.

Known issues

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 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 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.

#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))