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

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.

MGNLUI-5976

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.

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

MGNLEESOLR-143

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.

MGNLUI-5956

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"

(info) 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

MGNLSYNC-40MGNLSYNC-43

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:

<dependency>
  <groupId>info.magnolia.content</groupId>
  <artifactId>magnolia-content-importer</artifactId>
  <version>1.0.3</version>
</dependency>

MGNLCI-22

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.

MAGNOLIA-7781MAGNOLIA-7809

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.

MTE-115DOCU-2032

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.

MGNLPER-97

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

Changelog

See the 6.2.2 changelog for all the changes.

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:

<dependency>
  <groupId>info.magnolia.content</groupId>
  <artifactId>magnolia-content-importer</artifactId>
  <version>1.0.3</version>
</dependency>

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.

  • No labels