Release notes for Magnolia CMS 6.2.2
LTS release • Delivered on July 15, 2020 • Changelog: 19920
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.
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:
-
AWS SDK updated to 2.13.41 (BUILD-393)
-
Bouncy Castle Provider updated to 1.64 (MAGNOLIA-7827)
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 thegetReceivers
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.
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
|