Magnolia CORE 5.5.4 delivers the following changes and improvements for authors and developers.
Changes for authors
Improved ZIP folder upload in the Assets app
When you upload a ZIP file to the Assets app, the name of the parent folder no longer has a .zip extension.
You can also omit the parent folder by selecting the Extract here option in the dialog.
The new Location field is defined at
/modules/ui-framework/dialogs/importZip/form/tabs/import/fields/extractLocation. You can change the default value there if required.
The assets are imported like this:
|Extract into new folder||Extract here|
Fixed Pages app for Firefox 52 and Chrome 57 on hybrid devices
The issues causing limited editing capabilities when using the Pages App with the latest Mozilla Firefox 52 and Google Chrome 57 on hybrid devices have been fixed.
Icons in tabs of sub apps instead of action names
To save space and increase readability, sub app tabs now display icons instead of labels. For example, instead of "EDIT /about" label we use a pencil iconfollowed by the path of the item.
This change applies to the following apps: Pages, Assets, Contacts, Tours, Tour Categories, Personas, Segments, Sitemaps, Categories, Feeds, Resource Files, Groovy, Marketing Tags, Content Translation, and more.
Warning when deleting nodes with modified children
You are now warned before you delete a parent tree or page that has previously published and then modified subnodes.
This warning has been added to avoid the result of the following scenario:
- Move a published subpage from one location to another location in a different subtree.
- Delete the parent page of the new location (or a higher level page).
- Publish the deletion of the parent page.
The result is an inconsistency between the pages in the author and public instances. On the public instance, the page still exists in the original location because the move was not taken into account.
This is because the publication of deletions is only possible non-recursively. Parent pages are deleted but children are not handled.
A knock-on effect of this behaviour was that the child page could then no longer be removed by a normal author, because it did not exist in the author instance anymore.
Order of items in content apps stays correct upon publication
Previously, the order of items in content apps containing different node types (for instance folders and assets in the Assets app) changed when published. This led to a different order of nodes on the public instance compared to the author instance. This issue has been fixed.
Archived tasks not displayed in the Pulse
The About app now provides more information about the status of the license. For example, you can now see if your license has expired, belongs to a different user or a different Magnolia version, or if the license is broken:
Changes for developers
YAML for JCR bootstraps
You can now bootstrap JCR data with YAML files as an alternative to XML. Compared to XML, YAML bootstrapping offers better:
- Human readability
- Diff and merge
YAML export in apps and JCR Tools
The import and export commands used in many content apps (such as Pages app, Assets app, Contacts app, Categories app and so on) and in the JCR Tools app have been replaced and now support both XML and YAML.
The commands are defined in
You can now filter the results of the export action when exporting to either YAML or XML.
Filters are applied per JCR workspace.
By default, Magnolia now applies a filter to the
configuration workspace (regardless of export format) to remove the following properties:
Because of this new default filter, data exported from the
configuration workspace is now slightly different when compared to exports from earlier Magnolia versions.
You can reconfigure the default filter so that all the properties are still exported from the configuration workspace if you so require.
Ehcache 3 replaces Ehcache 2
The Magnolia Ehcache module has been updated to the 3.x line of Ehcache and brings all the important changes and improvements of this line such as full compatibility with
javax.cache API (JSR-107), off-heap storage capabilities, a revamped API, persistence by default, improved performance over Ehcache 2.x and much more.
With this replacement, the following files are removed:
The following files are added:
Blossom can be used together with personalization
You can now configure the
BlossomFormDialogPresenter in the Blossom module using the
formDialogPresenterClass property. This change enables component personalization with Blossom.
Security-related changes, updated third-party libraries, modules and dependencies
Apache Tika 1.14
Apache Tika has been updated to the latest stable release which is 1.14. Be aware that we also keep track of the versions of some of the transient third-party module dependencies of Tika and have also raised the version for some of them.
eTag HTTP hashed with SHA1
The values of the eTag HTTP header fields are now "hashed" using the SHA1 of what the previous value used to be.
and its related classes were moved to a separate module. If you rely on legacy apps, you need to install the module
magnolia-core-compatibility (5.5.4 or higher) and enable all disabled servlets at
/server/filters/servlets with the Configuration app.
This release also comes with a number of other bug fixes and improvements. An aggregated changelog for 5.5.4 contains all the changes.
This release is a recommended update for all users of Magnolia 5.
- Activation 5.5.3
- Blossom 3.1.4
- Cache 5.5.4
- Community Edition 5.5.4
- Contacts 1.5
- Content Dependencies 1.7
- Content Translation Support 2.1.8
- DAM 2.2.4
- Enterprise Edition 5.5.4
- Google Sitemap 2.4.3
- Jcr Tools 1.1
- Magnolia 5.5.4
- Marketing Tags Manager 1.2.5
- Pages 5.5.4
- Personalization 1.4.4
- Resources 2.5.3
- Task Management 1.2.2
- UI 5.5.4
- Workflow 5.6.3
How to update from earlier versions
Updating to 5.5.x from any pre-5.5 version
- Please be aware that depending on the number of versions in the version workspace, the update to 5.5.x from any version below 5.5 may take from 20 to 30 minutes since all of the versions have to migrate to a new structure.
- Since the default JCR persistency layer in our bundles has changed to H2 Database Engine with the 5.5 release, please make sure that you keep the
magnolia.repositories.jackrabbit.configproperty in the
magnolia.propertiesfile set to the database you used before updating. For example, for Derby set the property as follows:
Generally, follow the standard update procedure.
- Please check Important changes for Magnolia 5.2 and 5.3 users.
- Please check how to update from Magnolia 5.2 and earlier if required.
- Please check how to update from Magnolia 4.5 and earlier if required.
Changes for 5.4.x users
The following changes apply only to the users running Magnolia 5.4 (major release) and maintenance releases 5.4.1 to 5.4.3.
CE and EE users
Add the following lines in your
magnolia.properties file. They configure a directory for loading file system resources and the file types Magnolia should observe in the classpath and reload on-change:
If you had EE Pro 5.4.x or previous and are installing EE Pro 5.5.4
Due to component personalization bringing in new features to the page editor, you must replace the widgetset in the
magnolia.properties file. Either replace or add (depending on the update path):
Derby vs. H2
If you used a previous version of Magnolia with an Apache Derby database, make sure you keep your
magnolia.repositories.jackrabbit.config setting in your
Magnolia bundles now ship with the following default setting:This setting may not be compatible with your setup.
Important changes for Magnolia 5.2 and 5.3 users
If you had STK installed
If you continue to work with STK, use the new
magnolia-enterprise-pro-stk-bundle as a basis for your project. It includes Enterprise Pro, STK and the old demo project. You get all STK functionality out of the box. Exclude the demo-project if it's in your way.
In order to enable getting an HTML excerpt in a query result, you should update the configuration files of your Jackrabbit instances. Add the two
<param/> directives within your
Add the log configuration for org.reflections
How to update from Magnolia 5.2 and earlier
To update your project, follow the standard update procedure, then make the following changes:
- Update your content apps with the content app upgrade task. It automatically takes care of the following:
Using the content connector.
Updating configuration of availability rules and default rule classes
Updating selected action definitions with node-type based availability
- If you used the DAM:
- If you have a custom jBPM workflow:
- In the
info.magnolia.module.workflow.jbpm.JbpmWorkflowManager#completeWorkItemmethod, checking for present parameters is obsolete and refers to publication related workitems. The method is no longer used for completing a workitem in the new human task context. It is still valid in the context of completing service tasks, however.
Stop using the
info.magnolia.module.workflow.jbpm.JbpmWorkflowManager#getWorkItemmethod. It was used to complete a work item for human tasks. Furthermore, the wrapper we initialize only holds the
The previously hardcoded
mgnlDataparameter is now configurable in
- In the
- If you have custom widgets or Vaadin add-ons:
- Magnolia's default widgetset was relocated to
- Update your webapps's
- Otherwise Magnolia will automatically fall back to the new widgetset but will issue warnings during upgrade, and whenever a user logs in to Magnolia.
- Magnolia's default widgetset was relocated to
How to update from Magnolia 4.5 and earlier
Posting a comment does not work
Due to the removal of deprecated code, the Commenting module does not work. We will release a new version of it soon: MGNLFORUM-296 - Getting issue details... STATUS .
The Show action in the Configuration app doesn't open the correct location
When selecting properties in a definition that are actually extended from another node in the config workspace, opening the definition in the Configuration app will not work correctly, as the underlying node/property doesn't exist. For example,
points to config:/modules/site-app/apps/site/subApps/browser/actions/addFolder/icon
but all the actions are inherited from
/modules/ui-admincentral/apps/configuration/subApps/browser via extends.
Allocate more JVM memory
Magnolia 5.5.4 ee-bundle may require you to allocate more memory the Java Virtual Machine (JVM). If you see a
java.lang.OutOfMemoryError in the startup log or the system stops responding during installation, increase the Java heap size. The default maximum heap size is 512M. Try a higher amount such as 1024M. We are working on uncovering the root cause for the increased memory need.
See: Java out of memory
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: Daniel Lipp, Tobias Mattsson, Diana Racho, Pierre Sandrin, Frank Sommer, Nicole Stutz, Mohan Sundararajan, Andreas Weder and Fadi Wissa.