New UI Forms
Magnolia 6.4 UI is based on front-end technology (React) and a custom front-end design system built from the ground up for accessibility.
Magnolia’s New UI Forms and design system support equal access for everyone. They offer a modern design and help you build more readable, consistent, performant, and usable forms. Furthermore, it preserves your current features and improves their accessibility.
Viewing New UI Forms
New UI Forms use the existing Magnolia form definitions but don’t support every field or every property.
When a form definition is fully supported, the new form is displayed.
Otherwise, the system will fall back to the standard Vaadin form.
In this case, problems are shown in the Definitions app to indicate which features aren’t supported in the new UI.
Set the new Problem type filter to UNSUPPORTED
or IGNORED
to see them.
Support for more fields is in development, but not all of the current behavior will be supported. To streamline the product, we’ll remove some rarely used features. See Current and planned support for more details.
Migrating to New UI Forms
You can always choose not to use the New UI Forms by adding the
|
Quick checklist before upgrading:
-
Check form compatibility in the Definitions app (Problems subapp).
-
Fix or replace unsupported fields or properties.
-
Test forms in a development environment to confirm behavior and fallback handling.
To identify compatibility issues:
-
Open the Definitions app and use the Problems subapp.
-
Filter by Problem type:
-
UNSUPPORTED
— fields that cause the form to fall back to Vaadin. -
IGNORED
— properties that the New UI Forms will ignore.
-
Behavior details:
-
Fallback: If any Vaadin field in a form lacks a New UI Forms equivalent, the whole form will render using Vaadin.
-
Partial support: New UI Forms will render when all fields are supported; otherwise Vaadin is used as a safe fallback.
-
Diagnostics: Use the Problems subapp to locate the specific field(s) or properties that require attention.
Migration guidance and notes:
-
Not all Vaadin fields and properties have New UI Forms equivalents. Expect to update some form definitions.
-
Update custom field implementations to provide New UI counterparts where possible, or replace usages with supported fields.
-
Test complex or decorated forms (subapps, decorated definitions). Decorations can introduce unsupported fields.
Example: Tours app - Detail subapp
This model definition, together with one decoration from the travel-demo-content-tags
module (to add a TagsField
), creates the Tours subapp you can see on the online demo.
model:
nodeType: mgnl:content
properties:
- name: name
required: true
- name: description
i18n: true
- name: isFeatured
type: Boolean
- name: image
required: true
type: asset
- name: tourTypes
multiple: true
type: reference:tourCategory
- name: destination
multiple: true
type: reference:tourCategory
- name: location
- name: date
type: Date
- name: duration
options:
2-days:
name: 2-days
value: 2
7-days:
name: 7-days
value: 7
14-days:
name: 14-days
value: 14
21-days:
name: 21-days
value: 21
type: Long
- name: author
- name: body
i18n: true
type: richText
If you add a Slider field definition to the form definition of the detail subapp, the whole form falls back to Vaadin fields.
...
detail:
form:
properties:
name:
i18n: true
slider: (1)
$type: sliderField
label: Percentage
defaultValue: 50
stepSize: 5
displayStepSize: 25
valueFormat: PERCENTAGE
1 | Unsupported slider field definition. |
In 6.4 Switchable fields,
setting If you rely on this property in your templates, see the migration information on page Migrating the removePreviouslySelected property. |
Possible issues
Determine why a form is displayed as a Vaadin form
Are you seeing Vaadin forms instead of the New UI Forms?
-
Open the Definitions app, and switch to the Problems subapp.
-
Use the new Problem type filter and choose
UNSUPPORTED
. -
You will now see the problems causing the form to display the Vaadin form.
See Current and planned support for details on which features we still plan to support in the future.
Check which properties are being ignored
Open the Definitions app, and switch to the Problems subapp.
Use the new Problem type filter and choose IGNORED
.
If it’s important for you that these properties are used in the form and not ignored, you can force a form to be displayed in Vaadin by setting the $type
of the form to vaadinForm
.
...
detail:
label: My App detail
form:
$type: vaadinForm
properties:
...
See Current and planned support for a full list of which properties are ignored.
Current and planned support
This section outlines which standard Magnolia fields and related features are supported in the new UI.
Standard form fields supported
The standard fields are described in the Field definition section of the Magnolia documentation.
Supported fields | Fields not yet fully supported |
---|---|
jcrMultiLinkField (renders as jcrMultiField) |
|
tokenField (renders as comboBoxField) |
|
twinColSelectField (renders as comboBoxField) |
|
The fields from the Magnolia Extensions and custom fields are not yet supported. |
Features not yet supported
For the standard fields, several features aren’t supported yet:
-
Editing multi-language content.
-
Page editor dialogs.
-
Reordering items in a multiField.
-
Supplying a custom fieldType.
-
Tabs.
-
The richTextField editor doesn’t have Magnolia plugins.
Form layouts are not supported as they lack the flexibility of previous versions and therefore are not even planned for future development. |