Page tree
Skip to end of metadata
Go to start of metadata

Magnolia 5.4.10 delivers a number of fixes and enhancements. It is an important and recommended update for all Magnolia 5.4.x users.

What has changed?

Backup module refactoring

The Backup module has been completely refactored and streamlined. The new module uses Apache's RepositoryCopier API which is independent of the underlying data storage. The new implementation is stable and respects the file store threshold.

However, be aware that backups made with Backup module version 1.6 and earlier cannot be restored with the new implementation. Therefore version 2.0 of the module is not bundled in this release, but rather available as an option. Version 1.6 is bundled with this release.

MGNLBACKUP 98MGNLBACKUP 99MGNLBACKUP 102  

Search for nodes by path

You can now search for a node in a workbench by entering an absolute path in the search box. The absolute path is case-sensitive. For example, contrary to modules, searching for /modules will return just one result since it is an absolute path.

MGNLUI-3464

Personalization improvements

  • You can now add an optional switch wrapOnlyPersonalizedNodes (default is false) to /server/filters/cms/variantResolver to disable the deep wrapping of pages with PersonalizationNodeWrapper
    MGNLPN-336
  • PersonalizationNodeWrappers are now stored in a request-scoped cache to improve the performance of personalized content.
    MGNLPN-344

Improved response times when browsing content

The version history of a content node is now accessed only once per request. This is an interim solution to mitigate excessive access to JCR version storage while browsing through content.

MGNLUI-4020

Symbolic link to light module directory recognized

Resources in a light-module directory that has been created as a symbolic link in the file system are now registered and observed correctly by DirectoryWatcherService.

MAGNOLIA-6846

Language support: Korean

A Korean language pack has been added to the system (/server/i18n/system/languages/ko) and the webapps.

MAGNOLIA-6800, MAGNOLIA-6801

URL connection closed

Any call to info.magnolia.resourceloader.classpath.service.impl.production.ProductionModeClasspathFile#getLastModified() is concluded by closing the URL connection, which should avoid the "Too many open files" error from appearing in the logs of the production mode.

MAGNOLIA-6781

 

This release also comes with a number of other changes, bug fixes and several security improvements in module configurations.

An aggregated changelog for 5.4.10 contains all the changes.

Updated modules

This release includes the following new module versions:

  • Activation 5.4.5
  • Advance Cache 1.8.1
  • Backup 2.0
  • Community Edition 5.4.10
  • Content Importer 1.0.1
  • Demo 1.0
  • Enterprise Edition 5.4.10
  • Groovy 2.4.7
  • Language bundles 1.0.8
  • Magnolia 5.4.10
  • Magnolia Templating Essentials 1.0
  • Pages 5.4.9
  • Personalization 1.3.1
  • Resources 2.4.8
  • SiteMesh 1.0.4
  • UI 5.4.10

How to update from earlier versions

Change for 5.4.x

The following change only applies to users running Magnolia 5.4 (major release) and maintenance releases 5.4.1 to 5.4.3.

magnolia.properties file

Add the following lines:

magnolia.resources.dir = ${magnolia.home}
magnolia.resources.classpath.observation.pattern=.*\\.(ftl|yaml)$

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.

Jackrabbit configuration

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

<SearchIndex>
  <!-- more params here -->

  <!-- needed to highlight the searched term -->
  <param name="supportHighlighting" value="true"/>
  <!-- custom provider for getting an HTML excerpt in a query result with rep:excerpt() -->
  <param name="excerptProviderClass" value="info.magnolia.jackrabbit.lucene.SearchHTMLExcerpt"/>
</SearchIndex>

log4j.xml addition

Add the log configuration for org.reflections

...
 <category name="org.apache.jackrabbit">
    <priority value="WARN" />
  </category>
 <!-- Reflections library spoils logs with hundreds of harmless warnings; tries to look into native libs but none of its DefaultUrlTypes can handle them. -->
  <category name="org.reflections">
    <priority value="ERROR" />
  </category>
  <category name="com">
    <priority value="WARN" />
  </category>
...

How to update from Magnolia 5.2 and earlier

To update your project, follow the standard update procedure, then make the following changes:

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

  2. If you used the DAM: 
    • Replace DamManager with AssetProviderRegistry.
    • See DAM and the STK and DAM templating on how to use assets in your templates.
    • The DAM changes have no impact on the STK. There is no need to modify Freemarker scripts because the new DAM API is abstracted from STK.
  3. If you have a custom jBPM workflow:
    • In the info.magnolia.module.workflow.jbpm.JbpmWorkflowManager#completeWorkItem method, 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#getWorkItem method. It was used to complete a work item for human tasks. Furthermore, the wrapper we initialize only holds the mgnlData map.

    • The previously hardcoded mgnlData parameter is now configurable in /modules/workflow/commands/workflow/activate/activate/parameterMapName.

  4. If you have custom widgets or Vaadin add-ons:
    • Magnolia's default widgetset was relocated to info.magnolia.widgetset.MagnoliaWidgetSet.
    • Update your webapps's magnolia.properties file.
    • Otherwise Magnolia will automatically fall back to the new widgetset but will issue warnings during upgrade, and whenever a user logs in to Magnolia.

How to update from Magnolia 4.5 and earlier

Are you running on Magnolia 4.5 or earlier? It’s time to move to 5. Contact us for migration support and look at the migration process.

Known issues

Allocate more JVM memory

Magnolia 5.4.10 ee-bundle may require you to allocate more memory to 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 value such as 1024M. We are working on uncovering the root cause for the increased memory need.

See: Java out of memory

Processed Resources app conflict

If you upgrade to Magnolia 5.4.10 from 5.4.2 or earlier then you will experience UUID conflict if you try to also install the new Processed Resources app during the upgrade.

java.lang.RuntimeException: Error importing config.modules.processed-resources-app.dialogs: a node with uuid a53f308a-0d6a-4bb9-a5f8-6f11ff68504d already exists!

To work around this issue complete the upgrade before installing the Processed Resources app.

Acknowledgments

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: Thim Anneessens, Philipp Bärfuss, Nils Breunese, Jordie Diepeveen, Florian Fuchs, Michael Matzke, Teresa Miyar, Jessica Nash, Frank Sommer, Vivian Steller, Richard Unger, Bence Vass, Tom Wespi and Nickolaus Wing.

  • No labels