Magnolia 6 UI ports of 5 UI field transformer classes
Magnolia 5 UI field transformer classes no longer exist in the Magnolia 6 UI framework. The transformer functionality is now distributed among different components. The following is a summary of what the components do:
-
Modify the target property name by appending a locale suffix or by prepending a field prefix. This is done by concrete
PropertySet
implementations (JcrItemPropertySet
) and/or byPropertyNameDecorator
. -
Resolve an item data source of complex fields, a functionality usually covered by item providers.
-
Manage item data sources of multi-value field entries. This is handled by
MultiFormView.EntryResolution
, which resolves the children and binds each of them to the item provider strategy.
Replacements for transformers
Default classes
info.magnolia.ui.form.field.transformer.* |
Magnolia 6 UI |
---|---|
|
Not needed. Its functions are obsolete; some are taken over by Vaadin PropertySet. |
|
Use
|
|
Use
|
Other classes
info.magnolia.ui.form.field.transformer.* |
Magnolia 6 UI |
---|---|
|
Use |
|
Not needed. |
|
Use |
|
Use
|
|
Deprecated, no automatic conversion. |
|
Deprecated, no automatic conversion. |
|
Deprecated, no automatic conversion. |
|
Use
|
|
Use
Example definition
|
Personalization transformers
Transformers with
personalization-related functions still
use the Magnolia 5 UI framework
(magnolia-personalization-compatibility
).
info.magnolia.personalization.* |
Description |
---|---|
|
Custom transformer for cookie traits. |
|
Now functions as the default trait transformer. |
|
Still exists, but is no longer needed. |
Example definitions
The following configurations in both frameworks will produce the same results.
form:
tabs:
- name: tabSwitch
fields:
- name: switchable
fieldType: switchable
options:
- name: text
value: text
- name: richText
value: richText
fields:
- name: text
fieldType: text
- name: richText
fieldType: richText
- name: tabMultiBasic
fields:
- name: multitext
fieldType: multiValue
transformerClass: info.magnolia.ui.form.field.transformer.multi.DelegatingMultiValueFieldTransformer
field:
name: text
fieldType: text
- name: tabMultiDeleg
fields:
- name: items
fieldType: multiValue
transformerClass: info.magnolia.ui.form.field.transformer.multi.DelegatingMultiValueSubnodeTransformer
field:
name: itemComposite
fieldType: composite
transformerClass: info.magnolia.ui.form.field.transformer.composite.DelegatingCompositeFieldTransformer
fields:
- name: text
fieldType: text
- name: link
fieldType: text
- name: tabMultiLex
fields:
- name: itemsLex
fieldType: multiValue
transformerClass: info.magnolia.ui.form.field.transformer.multi.MultiValueSubChildrenNodePropertiesTransformer
field:
name: itemComposite
fieldType: composite
transformerClass: info.magnolia.ui.form.field.transformer.composite.NoOpCompositeTransformer
fields:
- name: text
fieldType: text
- name: link
fieldType: text
form:
properties:
switchable:
$type: switchableField
field:
name: switchable
$type: radioButtonGroupField
datasource:
$type: optionListDatasource
options:
- name: text
value: text
- name: richText
value: richText
itemProvider:
$type: currentItemProvider
propertyNameDecorator: info.magnolia.ui.field.PrefixNameDecorator
forms:
- name: text
properties:
text:
$type: textField
- name: richText
properties:
richText:
$type: richTextField
multitext:
$type: jcrMultiField
itemProvider:
$type: currentItemProvider
entryResolution:
class: info.magnolia.ui.editor.MultiFieldEntryResolution$Definition
strict: true
field:
name: text
$type: textField
items:
$type: jcrMultiField
itemProvider:
$type: jcrChildNodeProvider
supportI18N: false
entryResolution:
class: info.magnolia.ui.editor.MultiFieldEntryResolution$Definition
strict: true
propertyNameDecorator: info.magnolia.ui.field.AlwaysEmptyPrefixNameDecorator
field:
$type: compositeField
properties:
text:
$type: textField
link:
$type: textField
itemsLex:
$type: jcrMultiField
itemProvider:
$type: jcrChildNodeProvider
supportI18N: false
entryResolution:
class: info.magnolia.ui.editor.ByLexicographicallyIndexedChildNodes$Definition
strict: true
orderHandler:
class: info.magnolia.ui.editor.LexicographicallyIndexedJcrNodeOrderHandler$Definition
field:
$type: compositeField
properties:
text:
$type: textField
link:
$type: textField