Magnolia 6.1 reached end of life on March 31, 2021. This branch is no longer supported, see End-of-life policy.
DEVELOPER PREVIEW
This page covers the changes in version 6.1 of the Magnolia UI project released with Magnolia 6.1.
The Magnolia UI project version 6.1 is currently available as a developer preview. The full version is still under development.
To provide backward compatibility, it contains all previously existing classes. It also delivers refactored frameworks and new functions. Please try it out and feel free to send us your feedback and suggestions based on your experience.
We are working to finalize the module as soon as possible.
Magnolia UI 6.1 comes with a completely resurfaced UI featuring the new Find Bar at its core. We have also rewritten selected parts of the UI framework, particularly the content-app framework. We generally adhere to the same concepts as before, but we have developed better implementations by using Vaadin 8.
The new implementations simplify app mechanics and configuration and use less custom Vaadin code, thus enabling cleaner and faster customization.
Magnolia UI 6.1 contains both the UI framework used in Magnolia 5.7 (referred to as Magnolia 5 UI) and the Magnolia 6 UI framework. You can use:
All UI components from both implementations are rendered with the new resurfaced theme design.
The main reasons for rewriting some of the UI components include:
The resulting implementations are easier to maintain for us and cleaner and faster to customize for you.
In Magnolia UI 6.1, the functions and frameworks known from version 5.7 and earlier remain. By preserving class names and Magnolia module names, we keep runtime backward compatibility of custom modules with custom classes extending Magnolia classes.
Class and package names of the classes existing in Magnolia 5.7 have not changed and are still available in Magnolia UI 6.1. You can use these classes or extend them in your custom code.
A Magnolia module defines dependencies to other Magnolia modules and many other tasks. A Magnolia module can be defined with one file (i.e. a module descriptor). The Magnolia module descriptors of the UI project reside in Maven modules.
In Magnolia UI 6.1, no Magnolia module has been removed. The names of the Magnolia modules are still the same.
All previously known Magnolia modules still exist with the same name and provide the same functions. However, the module descriptor files defining those Magnolia modules may have been relocated due to changes in the composition of the Maven modules.
The magnolia-ui-framework-compatibility
Maven module contains the module descriptors for the ui-framework
, ui-contentapp
and ui-mediaeditor
Magnolia modules. The magnolia-ui-framework
Maven module defines the new ui-framework-core
Magnolia module.
The whole UI has been resurfaced to provide a modern, state-of-the-art user experience. At its core, the UI features the new Find Bar. All components of Magnolia 5 UI and Magnolia 6 UI are rendered using the new resurfaced theme design.
How to use the Magnolia 5 legacy UI in 6.1
If you want to access Magnolia 6.1 with the legacy 5.x look and feel, add a -m5
suffix to your instance URL after "admincentral". For example:
http://localhost:8080/magnoliaAuthor/.magnolia/admincentral-m5
This is a useful workaround if you have display issues with custom apps for example.
Note that this legacy UI mode is not fully functional and will not be supported indefinitely. Please make sure you let us know how we can improve the 6.1 UI so that we can fix any issues properly.
From version 5.7 and earlier, we have removed eight Maven modules. The classes of these modules are not lost. Instead, they have been relocated to the new magnolia-ui-framework-compatibility
module or to the still existing magnolia-ui-framework
module. New implementations have been added to the new magnolia-ui-framework-jcr
module.
magnolia-ui-actionbar
magnolia-ui-contentapp
magnolia-ui-dialog
magnolia-ui-form
magnolia-ui-imageprovider
magnolia-ui-mediaeditor
magnolia-ui-vaadin-integration
magnolia-ui-workbench
We have created Maven relocations for these modules. This ensures backward compatibility for compile-time dependencies.
magnolia-ui-framework-jcr
magnolia-ui-framework-compatibility
Magnolia UI 6.1 brings, among others, the following new features:
dataSource
replacing contentConnector
for subappsSee Magnolia 6 UI documentation for more information.
In Magnolia 6, Magnolia 5 UI has been relocated to the magnolia-ui-framework-compatibility
module. Many Magnolia apps still rely on this old framework. The fully qualified class names have not changed, which ensures runtime compatibility for older custom components based on the classes from the Magnolia 5 UI framework.
In the Magnolia 6 UI framework, the core components of the UI are located in the magnolia-ui-framework
module inherited from Magnolia 5.7. The new magnolia-ui-framework-jcr
module is also part of Magnolia 6 UI.
The Magnolia 6 UI framework has been released as a developer preview since its API may still change. Nevertheless, feel free to try it out.
For more information on the Magnolia 6 UI modules, refer to UI module.
The API changes are marginal. We provide backward compatibility at both runtime and compile-time levels.
All classes from Magnolia UI 5.7 are also available in Magnolia UI 6.1. They have kept their fully qualified class names, which provides binary compatibility. Compiled custom modules (JAR files) built with Magnolia 5.7 also work in Magnolia 6.1 with the 6.1 UI.
Magnolia Maven module names are still the same. You do not have to change Magnolia module dependencies.
The binary compatibility together with the same-named Magnolia modules ensures runtime backward compatibility.
Module and submodule structures have been reorganized (see module changes). We have created Maven relocations for the removed modules. This ensures that you do not have to update the Maven module dependencies within the custom modules that depend on Magnolia UI modules.
Make sure you upgrade your entire Magnolia bundle, not just the UI modules.
For general information on upgrading your Magnolia projects, read Upgrading to Magnolia 6.1.x.
Make sure to set the version for the Magnolia UI project to 6.1.
If you have a custom bundle based on a preconfigured Magnolia bundle, set the magnoliaBundleVersion
property to 6.1. The Magnolia bundle will manage the UI version accordingly. For an example, see Upgrading to Magnolia 6.1.x: Updating Maven-managed webapps.
The composition of the submodules of the UI project has changed. Some modules have been removed, and their classes have been relocated to the magnolia-ui-framework-compatibility
module. See What has changed: Maven modules.
Since we have created Maven relocations for the removed modules, you do not have to change the dependencies to them within your custom modules.
However, to reflect the actual dependencies and to improve the readability of your POM files, you may want to replace the dependencies to the removed modules with the new compatibility module:
magnolia-ui-actionbar
magnolia-ui-contentapp
magnolia-ui-dialog
magnolia-ui-form
magnolia-ui-imageprovider
magnolia-ui-mediaeditor
magnolia-ui-vaadin-integration
magnolia-ui-workbench
magnolia-ui-framework-compatibility
. If you choose to do this manually, make sure you upgrade the entire bundle and not just the UI modules. Please follow the instructions on Upgrading to Magnolia 6.1.x: Updating manually.
Maven
| Function | Magnolia module name(s)1 |
---|---|---|
| Parent reactor | — |
| The primary module/SDK for Magnolia app development This provides (among others) the content app framework, IoC support for UI components and scopes, Vaadin 8 data-binding facilities and UI view/state management. It also offers convenience builders for selected Magnolia UI components (for example, alerts and dialogs).
| ui-framework-core |
| This defines some core components for the UI such as Action, App, SubApp, Message and others. | — |
| JCR implementation of the Magnolia 6 UI framework (developer preview) | ui-framework-jcr |
| Magnolia 6 AdminCentral, an OS-like web application running Magnolia apps. This is where authors enter, preview, and publish content and where administrators configure Magnolia.
| admincentral |
| Magnolia 6 Vaadin theme based on Valo | — |
| Magnolia's custom Vaadin/GWT components and extensions This module contains mainly former Magnolia 5 widget implementations. For Magnolia 6, most of the components have been re-implemented with plain Vaadin. Consequently, this module may be split and partially deprecated in any future version. | — |
Magnolia stock apps | ||
| About Magnolia app | about-app |
| JCR browser app | jcr-browser-app |
| Messages app | messages-app |
| Sample app | sample-app |
| Security app | security-app |
| Task management app | tasks-app |
Magnolia 5 compatibility | ||
| Magnolia 5 AdminCentral Accessible via
|
|
| This module brings support for running Magnolia 5 content apps in Magnolia 6. In particular, it contains former Magnolia 5 content-app components such as the workbench, forms and dialogs or image provider. It also provides JCR implementations of the deprecated Vaadin 7 Data API (for example,
The Media Editor may be re-instated as part of the |
|
| Magnolia 5 Vaadin theme | — |
1) Magnolia modules that belong to the given Maven submodule