Release notes for Magnolia CMS 6.2.2

LTS release • Delivered on July 15, 2020 • Changelog: 11469

Magnolia CMS 6.2.2 is a bug-fixing and security release that delivers a number of improvements to the UI layout. This release also comes with the following:

  • Asynchronous synchronization over a dedicated REST API

  • Bootstrapping content for content types on instance startup

  • Profile-based configuration of property files

See below for more details on these and other changes.

Improved layout of complex fields in dialogs

For dialogs that contain multi fields and composite fields, we have introduced a new stacked layout and row outliner that greatly improve user experience. These functionalities are provided by two new classes:

  • StackedLayoutProducer arranges fields in a vertical layout. It is the default layout for composite fields and differs from FormLayoutProducer in that it places captions above the respective components. This means that more horizontal space is allocated to the components themselves.

  • FormRowOutliner helps apply additional styles to form rows that contain certain complex fields.

Custom Solr fields supported in Magnolia 6 UI

The deprecated custom Solr fields ClientSelectField and FacetSelectField now work in Magnolia 6 UI. For this, we have added a new submodule called magnolia-solr-ui to the Solr Search Provider module (released in version 5.5). If you define those fields, they will be automatically converted to comboBoxField using solrClientDatasource and solrFacetDatasource respectively.

More changes to the Solr Search Provider module are expected with MGNLEESOLR-145.

Optional wide property reinstated for dialogs

You can use the optional wide property in DialogDefinition if you want the dialog to use all available horizontal space.

Asynchronous synchronization over a dedicated REST API

Previously, when invoking a synchronization process from a headless environment via the REST Command API, you had to keep a request open for the process to run. If the process took longer, the REST call would time out and the process would be interrupted.

With version 1.9 of the Synchronization module, a dedicated REST API for synchronization is now available. The API provides support for asynchronous synchronization and allows you to send the following request types:

  • POST .rest/synchronization/v1/trigger: starts synchronization of content on a Magnolia public instance (the module’s beta versions use /.rest/synchronization/v1/synchronize).

  • GET .rest/synchronization/v1/reset: resets and flushes all synchronizations.

  • GET .rest/synchronization/v1/status/{syncId}: returns the status of a synchronization request.

Example synchronization request sent using the curl command:

curl -u superuser:superuser http://localhost:8080/magnoliaAuthor/.rest/synchronization/v1/trigger --data '
{"url" : "http://localhost:8080/magnoliaPublic", "workspace": "website", "fromPath" : "/", "fromDate" : "2012-03-29T10:05:45-06:00"}
' --header "Content-Type: application/json"
Notes:
  • Version 1.9 of the Synchronization module depends on version 1.0.6+ of the Publishing Transactional module.

  • If a beta version is installed and then updated to version 1.9, you will encounter the following:

    2020-06-25 15:10:19,851 WARN magnolia.transformer.ClassPropertyBasedTypeResolver:
    Encountered the 'class' property but failed to resolved the type from its value:
    [info.magnolia.synchronization.commands.RestSynchronizationCommand]

    The warning is harmless. You only need to remove the following node manually from the JCR configuration:

    /modules/synchronization-rest/commands
  • If version 1.9-beta3 is installed and then updated to version 1.9, you will need to remove the following node manually from the JCR configuration:

    /modules/synchronization-core/commands/synchronization/synchronize/synchronizationSenderClass

Bootstrapping content for content types on instance startup

From this release, if you supply a content type definition and bootstrap files, the bootstrapped files will also be loaded on instance startup. With the new magnolia.content.bootstrap.pattern property, you can specify which filenames will be imported and observed in the content bootstrap directory.

For example:

magnolia.content.bootstrap.pattern=*/bootstrapDir/*.xml

If you change the content of any of the bootstrapped files after startup, a workflow task will be created to import the modified content.

Note

Content Importer module 1.0.3 is not bundled in Magnolia CMS 6.2.2. DX Core users should upgrade it manually:

Profile-based configuration of property files

This release introduces profile-based configuration as a way to resolve property files. The previous configuration style, which was based on the host name, webapp name and context path, is now deprecated and will be removed in future versions.

A profile is a folder under /WEB-INF/config/ containing Magnolia property files. With this release, you can configure a profile through MAGNOLIA_PROFILE either as an environment variable or as a system property.

Example

In addition to being part of the default profile, magnolia-empty-webapp is distributed with the develop profile (see Bundles and webapps). To use this profile, set MAGNOLIA_PROFILE to develop so that the following configuration parameters can be applied:

magnolia.resources.dir=${magnolia.home}/../../src/main/magnolia
magnolia.repositories.home=${magnolia.home}/../../repositories
magnolia.develop=true
magnolia.ui.sticker.environment=${MAGNOLIA_PROFILE}
magnolia.ui.sticker.color=red

If no profile value is specified, Magnolia will fall back to configuration based on the server name, webapp name and context path. If you set the value to a profile that does not exist, an error message will be logged and Magnolia will fail to start. Note that no such check is performed when the magnolia.initialization.file context attribute is set to a custom value.

Redirect template in Pages app

The Redirect template is a new light module for the Pages app. It replaces stkRedirect of the Standard Templating Kit module, which is no longer part of the Magnolia bundle.

For more information, see the revised 6.2 version of Templates in MTK.

Find Bar supports searching by path

In the Find Bar, you can now search by entering a path. This allows you to reach a target node more quickly than by checking an app’s node tree or by browsing search results supplied for a less specific keyword or phrase.

Search results

Updates in Blossom module

The Blossom module is released in version 3.4.3, building on the improvements integrated in 3.4.2 (BLOSSOM-272). The new release adds support for dialogs both in custom Magnolia 5 UI content apps and in the Pages app in both UI frameworks. For more details, see our Blossom module release notes.

Third-party library updates

This release comes with third-party library updates to fix some security and compatibility issues as well as improve performance. The following are the most notable updates:

We keep the details of security-related fixes private in line with our security policy. Contact our Support team if you need more information.

Notable bug fixes

The following issues have been resolved where:

  • In the Publishing Transactional module, the executeOperation method caused a synchronization issue because it did not use the getReceivers method (EEPUBLISH-27).

  • In the Synchronization module, synchronizing the same node more than once failed because the target node was locked on the public instance (MGNLSYNC-42).

  • In the Tasks app, performance slowed down as more tasks were added. To improve performance, you need to reindex the tasks workspace using the new task-specific indexing configuration (TASKMGMT-41).

  • In the UI module, an exception was thrown when using the asset type as a content type (MGNLUI-5873).

Others

Known issues

If you are upgrading from an earlier version, read the Upgrading to Magnolia 6.2.x page first and check the Known issues page.

Documentation screenshot updates

Some of the screenshots in the documentation still show the legacy Magnolia 5 UI. Please bear with us as we work to update them.

Updated modules

  • Barebones Tomcat Bundle 1.2.1

  • Blossom 3.4.3

  • Community Edition 6.2.2

  • Contacts App 1.8.1

  • Content Importer 1.0.3 *

  • DAM 3.0.2

  • DX Core 6.2.2

  • Image Recognition 1.2.2

  • Language Bundles 1.1.1

  • Magnolia 6.2.2

  • Mail 5.5.5

  • Pages 6.2.2

  • Periscope 1.2.2

  • Personalization 2.0.2

  • Publishing Transactional 1.0.6

  • REST Framework 2.2.1

  • Solr Search Provider 5.5

  • Synchronization 1.9

  • Task Management 1.2.8

  • Templating Essentials 1.5.1

  • Text Classification 1.1.2

  • Third-party library BOM 6.2.2

  • UI 6.2.2

  • Vaadin Compatibility Addons 1.3.4

  • Workflow 6.0.1

  • Content Importer module 1.0.3 is not bundled in Magnolia CMS 6.2.2. DX Core users should upgrade it manually:

Acknowledgements

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 Stefan Baur, Steve Hartley, Sönke Schmidt and Tom Wespi.

Feedback

DX Core

×

Location

This widget lets you know where you are on the docs site.

You are currently perusing through the DX Core docs.

Main doc sections

DX Core Headless PaaS Legacy Cloud Incubator modules