Release notes for Magnolia CMS 6.3.1

LTS release • Delivered on November 8, 2024 • Page updated on November 15, 2024 • Changelog: 13181

Magnolia CMS 6.3.1 is the first maintenance release in the 6.3 branch. This update focuses on improving search experience in apps, enhancing workflow, UX, and publishing actions, as well as on fixing bug and security issues.

This minor release introduces changes that aren’t backward-compatible. See the section on search improvements below.

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

Announcements

Modules

  • CLI version 5, a plugin-based version, was released on October 16, 2024.

    Whether it’s FreeMarker or headless projects, version 5 simplifies project setup, automates tasks, and speeds up your workflow. In version 5, you can also create your own CLI plugins and framework prototypes.

    For more information, see Magnolia CLI.

Extensions

  • Live Copy 4.0.1 was released on October 16, 2024.

    For more information, see the 4.x changelog.

  • SSO 4.0.1 was released on October 18, 2024.

Improvements

Search experience

The search experience improvements introduce potentially breaking changes.

We continue to improve the Magnolia search experience by propagating in-app search to all apps. In 6.3.1, in-app search and filter functionality becomes the default for all browser subapps as part of the standard workbench definition.

The filteringWorkbench, introduced in 6.3.0 for the Pages and Assets apps, is deprecated in 6.3.1 and later.

This change has the following impact on your apps:

  • Combobox fields are converted into default dropdown filters.

  • All text fields, such as Text field, are converted into the default search field.

  • If you have customized browser subapps, you must adapt your configuration by updating your custom data provider.

Below is an example (migration of the Resource Files app) of how to adapt your configuration.

  1. In the info.magnolia.resources.app.data.ResourceFilteringDataProvider class, the filtering logic is unwrapped.

    Click to see the diff

    Bitbucket diff of changes made to the ResourceFilteringDataProvider to unwrap filters

  2. In the resources/resources-app/apps/resources.yaml definition, shown in the tabs, the filterComponent properties under contentViews are removed and replaced by filters under workbench.

    Click to see the tabs

    • 6.3 Resource Files app definition

    • 6.2 Resource Files app definition

    ...
        workbench:
          filters:
            - name: overridden
              icon: icon-logs-settings
              $type: dropdown
              visible: true
              datasource:
                $type: optionListDatasource
                options:
                  true:
                    value: true
                  false:
                    value: false
            - name: origin
              icon: icon-language-app
              $type: dropdown
              filterOperator: STARTS_WITH
              textInputAllowed: true
              emptySelectionAllowed: true
              visible: true
              datasource:
                class: info.magnolia.resources.app.data.ResourceOriginDataSourceDefinition
            - name: status
              icon: icon-spinner-full
              $type: dropdown
              filterOperator: STARTS_WITH
              textInputAllowed: true
              emptySelectionAllowed: true
              visible: true
              datasource:
                $type: optionListDatasource
                options:
                  - name: 0
                    label: Not activated
                    value: 0
                  - name: 1
                    label: Modified
                    value: 1
                  - name: 2
                    label: Activated
                    value: 2
          contentViews:
            - name: views
              $type: treeView
              rowStyleGenerator: info.magnolia.resources.app.row.ResourceStatusRowStyleGenerator
              multiSelect: false
              columns:
                name:
                  class: info.magnolia.resources.app.column.ResourceNameColumnDefinition
                overridden:
                  class: info.magnolia.resources.app.column.IsOverridingColumnDefinition
                  editor:
                    field:
                      $type: checkBoxField
                origin:
                  class: info.magnolia.resources.app.column.ResourceOriginColumnDefinition
                type:
                  class: info.magnolia.resources.app.column.ResourceTypeColumnDefinition
                status:
                  class: info.magnolia.resources.app.column.ResourceStatusColumnDefinition
    ...
    ...
        workbench:
          contentViews:
            - name: views
              $type: treeView
              rowStyleGenerator: info.magnolia.resources.app.row.ResourceStatusRowStyleGenerator
              multiSelect: false
              columns:
                name:
                  class: info.magnolia.resources.app.column.ResourceNameColumnDefinition
                  filterComponent:
                    $type: textField
                overridden:
                  class: info.magnolia.resources.app.column.IsOverridingColumnDefinition
                  editor:
                    field:
                      $type: checkBoxField
                  filterComponent:
                    $type: checkBoxField
                origin:
                  class: info.magnolia.resources.app.column.ResourceOriginColumnDefinition
                  filterComponent:
                    $type: comboBoxField
                    emptySelectionAllowed: true
                    textInputAllowed: true
                    filteringMode: STARTSWITH
                    datasource:
                      class: info.magnolia.resources.app.data.ResourceOriginDataSourceDefinition
                type:
                  class: info.magnolia.resources.app.column.ResourceTypeColumnDefinition
                  filterComponent:
                    $type: textField
                status:
                  class: info.magnolia.resources.app.column.ResourceStatusColumnDefinition
                  filterComponent:
                    $type: comboBoxField
                    emptySelectionAllowed: true
                    datasource:
                      $type: optionListDatasource
                      options:
                        - name: 0
                          label: Not activated
                          value: 0
                        - name: 1
                          label: Modified
                          value: 1
                        - name: 2
                          label: Activated
                          value: 2
    ...
  3. Don’t forget to add the i18n properties for your filters.

    Click to see an example

    ...
    # filters
    resources.browser.filters.overridden.label = Overrides
    resources.browser.filters.overridden.options.true = True
    resources.browser.filters.overridden.options.false = False
    resources.browser.filters.origin.label = Origin
    resources.browser.filters.status.label = Status
    ...
Magnolia has adapted the customized Definitions, JCR Browser, Marketing Tags, and Resource Files apps to use the default configuration. The following apps remain unchanged: Campaign Publisher, Content Translation, Groovy, Configuration, and Passwords apps.
  • CFGUI-196 Migrate Definitions app to use updated search and filters

  • MGNLDAM-1561 Adjust Assets app to no longer use deprecated filteringWorkbench

  • MGNLRES-418 Migrate Resource Files app to use updated search and filters

  • MGNLUI-8963 Migrate content type apps to use updated search and filters

  • MGNLUI-9034 Migrate JCR content apps to use updated search and filters

  • MGNLTAGS-126 Migrate Marketing Tags app to use updated search and filters

  • PAGES-1657 Adjust Pages app to no longer use deprecated filteringWorkbench

Better workflow

This release continues to improve and homogenize the deletion workflow as part of our ongoing efforts to improve user experience.

  • MGNLWORKFLOW-505 In the four-eye workflow, rename the Delete permanently action label to Request permanent deletion

  • MGNLWORKFLOW-512 Unify in one step and improve the narrative of the deletion workflow

  • MGNLWORKFLOW-513 In the four-eye workflow, add a success notification popup after deletion requests

Default columns

The Assets app and External DAM apps now display additional default columns. These default columns also appear in the asset chooser dialog to provide more context to users when they’re selecting items. A search box is also available in the chooser dialog.

  • MGNLDAM-1517 Add default columns in the Assets app and asset chooser dialog

Other improvements

  • EEPUBLISH-73 Enhance logs with publishing UUID for tracking purposes

  • PUBLISHING-342 Add ability to detect and counter linkerD proxy connection failures

  • PUBLISHING-345 Enhance logs with content node UUID or publish UUID for tracking purposes

Bug fixes

  • MAGNOLIA-9468 Microprofile configuration not picked up

  • MAGNOLIA-9473 Audit log doesn’t log when a page template is changed

  • MGNLCACHE-383 Cache miss when using ServeUntilRecachedCachePolicy

  • MGNLCACHE-386 Cached redirects not working with redirect template

  • MGNLCACHE-392 Concurrent requests with the same cache key can block the cache

  • MGNLUI-8961 App with two browsers pointing to the same workspace holds onto selection state

  • PAGES-1653 JcrPagesDeliveryEndpoint ignores logged user ACLs

  • PUBLISHING-350 Publishing error notifications are not meaningful when displayed to the editor

Miscellaneous

  • MGNLEE-863 Remove Report an issue feature in About app

  • MGNLPER-250 Support StartsWith criteria in search queries

  • MGNLTOMCAT-47 Update org.apache.tomcat:tomcat to 9.0.96

Third-party library updates

This release comes with a number of third-party library updates, see the Magnolia Third-party library BOM 6.3.1.

Notable updates

Updated modules

  • Admincentral 6.3.1

  • Barebones Tomcat Bundle 1.2.31

  • Cache 6.0.1

  • Community Edition 6.3.1

  • Content Editor 3.0.1

  • Content Types 2.0.1

  • DAM 4.0.1

  • DX Core 6.3.1

  • Definitions App 3.0.1

  • Demo Projects 6.3.1

  • Magnolia 6.3.1

  • Marketing Tags Manager 3.0.1

  • Pages 6.3.1

  • Periscope 2.0.1

  • Personalization 3.0.1

  • Publishing Transactional 2.0.1

  • Publishing 2.0.1

  • Resources 4.0.1

  • SiteMesh 2.0.1

  • Third-party library BOM for Extensions 6.3.1

  • Third-party library BOM 6.3.1

  • UI 6.3.1

  • Vaadin Compatibility Addons 1.3.18

  • Workflow 7.0.1

Acknowledgements

The Magnolia team would also like to thank everyone who reported issues, contributed patches or simply commented on issues for this release.

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