Release notes for Magnolia 4.5.1
- What has changed since Magnolia 4.4.6
- New features
- Technical improvements
- Licensing changes and CE/EE differences
- Complete change log
- Released modules
- Contributions
- How to migrate from Magnolia CMS 4.4.6
- Known issues
What has changed since Magnolia 4.4.6
Magnolia CMS 4.5.1 introduces several new features and changes the API and templating mechanism significantly. It is mandatory to update to Magnolia CMS 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 CMS 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
- Magnolia CMS is now based on Java 6 and JCR 2.0, and ships with Jackrabbit 2.4
- Repository and content access and APIs are simpler and more intuitive.
- Activation is secured using public-key cryptography. No password is transferred between instances.
- Security is now handled at JCR level.
- Inversion of control (IoC) is a mechanism that helps Magnolia's own codebase but also makes module development simpler. See Guice implementation.
- Servlet API is upgraded to version 2.5.
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 CMS 4.4.6
How to migrate your project 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.propertiesfile must be configured in a new propertyjndi.ldap.configinmagnolia.properties. - Using
java.naming.security.principalas the identity of the principal to be authenticated is no longer mandatory. - New properties
adminUserDNandadminUserPassworddefine an admin user who has permissions to perform an initial search against the LDAP server. - Specifying a realm or
jdni.ldap.configwhen adding the LDAP authentication module as a requisite login module is no longer needed. - In your user manager configuration, replace the old
classnode valueinfo.magnolia.cms.security.ExternalUserManagerwithinfo.magnolia.jaas.sp.ldap.LDAPUserManagerorinfo.magnolia.jaas.sp.ldap.ADUserManager. - In your user manager configuration, add a new data node
realmNameand set its value toexternal.
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 themagnolia.app.rootdirproperty, 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 CMS 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 CMS 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.