[CONTEDIT-182] Stories app (fields), a MultiValue containing a Composite field cannot be saved Created: 13/Apr/18  Updated: 25/May/21  Resolved: 17/Mar/21

Status: Closed
Project: Content Editor
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Neutral
Reporter: Gernot Fussan Assignee: Unassigned
Resolution: Won't Fix Votes: 3
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

demoauthor.magnolia-cms.com


Attachments: File stories_snippet_new_multivalue_field.yaml    
Issue Links:
relation
is related to CONTEDIT-180 Stories app (fields), the MultiValueF... Closed
Template:
Acceptance criteria:
Empty
Task DoD:
[ ]* Doc/release notes changes? Comment present?
[ ]* Downstream builds green?
[ ]* Solution information and context easily available?
[ ]* Tests
[ ]* FixVersion filled and not yet released
[ ]  Architecture Decision Record (ADR)
Bug DoR:
[ ]* Steps to reproduce, expected, and actual results filled
[ ]* Affected version filled
Date of First Response:
Visible to:
Frank Sommer, Joerg von Frantzius, Karsten Martin, Sebastian Bauch, zzz_Philipp Güttler

 Description   

When I customize the Stories app YAML config by adding a new field, which is a MultiValueField, which itself contains a CompositeField, editing is fine. However, the field's value cannot be saved, as there is only a property node ('leaf'), not a content node to store the composed value. In fact, even no property node is created, the edited content will get lost when closing the edited story.

While creating the field definition, I followed the configuration schema mentioned here:

https://documentation.magnolia-cms.com/display/DOCS56/Transforming+field+values#Transformingfieldvalues-MultiValueSubChildrenNodePropertiesTransformer

and here:

https://documentation.magnolia-cms.com/display/DOCS56/Multivalue+field#Multivaluefield-Multivaluecontainingacompositefield

Please find attached a snippet with the failing field definition. You can paste it right below the "relatedContent" field definition.



 Comments   
Comment by Ervin Vystup [ 13/Apr/18 ]

Additional testing configurations -> results are below every test case

        # customer's configuration (Collapsible -> Multivalue -> Composite)
        thumbnailVariants:
          class: info.magnolia.editor.app.field.CollapsibleCompositeFieldDefinition
          collapsed: true
          fields:
            thumbnails:
              class: info.magnolia.ui.form.field.definition.MultiValueFieldDefinition
              transformerClass: info.magnolia.ui.form.field.transformer.multi.MultiValueSubChildrenNodePropertiesTransformer
              buttonSelectAddLabel: field.link.select.add
              field:
                class: info.magnolia.ui.form.field.definition.CompositeFieldDefinition
                transformerClass: info.magnolia.ui.form.field.transformer.composite.NoOpCompositeTransformer
                layout: vertical
                fields:
                  - name: source
                    class: info.magnolia.editor.app.field.ExpandingLinkFieldDefinition
                    targetWorkspace: dam
                    appName: assets
                    buttonSelectNewLabel: Browse
                    buttonSelectOtherLabel: Browse
                    identifierToPathConverter:
                      class: info.magnolia.dam.app.assets.field.translator.AssetCompositeIdKeyTranslator
                    contentPreviewDefinition:
                      contentPreviewClass: info.magnolia.dam.app.ui.field.DamFilePreviewComponent
                  - name: altText
                    class: info.magnolia.ui.form.field.definition.TextFieldDefinition
                  - name: caption
                    class: info.magnolia.ui.form.field.definition.TextFieldDefinition
        # this configuration ^^ doesn't save the value


        # multivalue containing composite field from docu (https://documentation.magnolia-cms.com/display/DOCS56/Multivalue+field#Multivaluefield-Multivaluecontainingacompositefield)
        test1:
          class: info.magnolia.ui.form.field.definition.MultiValueFieldDefinition
          label: Test1
          transformerClass: info.magnolia.ui.form.field.transformer.multi.MultiValueSubChildrenNodePropertiesTransformer
          field:
            name: compositeField
            class: info.magnolia.ui.form.field.definition.CompositeFieldDefinition
            transformerClass: info.magnolia.ui.form.field.transformer.composite.NoOpCompositeTransformer
            fields:
              - name: title
                class: info.magnolia.ui.form.field.definition.TextFieldDefinition
                label: Title
              - name: date
                class: info.magnolia.ui.form.field.definition.DateFieldDefinition
                label: Date
        # this configuration ^^ doesn't save the value


        # test1 in COLLAPSIBLE field
        test2:
          class: info.magnolia.editor.app.field.CollapsibleCompositeFieldDefinition
          collapsed: true
          fields:
            thumbnails2:
               class: info.magnolia.ui.form.field.definition.MultiValueFieldDefinition
               label: Test2
               transformerClass: info.magnolia.ui.form.field.transformer.multi.MultiValueSubChildrenNodePropertiesTransformer
               field:
                 name: compositeField
                 class: info.magnolia.ui.form.field.definition.CompositeFieldDefinition
                 transformerClass: info.magnolia.ui.form.field.transformer.composite.NoOpCompositeTransformer
                 fields:
                   - name: title
                     class: info.magnolia.ui.form.field.definition.TextFieldDefinition
                     label: Title
                   - name: date
                     class: info.magnolia.ui.form.field.definition.DateFieldDefinition
        # this configuration ^^ doesn't save the value


        # test1 but with DELEGATING transformers
        test3:
          class: info.magnolia.ui.form.field.definition.MultiValueFieldDefinition
          label: Test3
          transformerClass: info.magnolia.ui.form.field.transformer.multi.DelegatingMultiValueFieldTransformer
          field:
            name: compositeField
            class: info.magnolia.ui.form.field.definition.CompositeFieldDefinition
            transformerClass: info.magnolia.ui.form.field.transformer.composite.DelegatingCompositeFieldTransformer
            fields:
              - name: title
                class: info.magnolia.ui.form.field.definition.TextFieldDefinition
                label: Title
              - name: date
                class: info.magnolia.ui.form.field.definition.DateFieldDefinition
                label: Date
        # this configuration ^^ doesn't save the value


        # anothere test configuration (with delegating trans.class) from docu (https://documentation.magnolia-cms.com/display/DOCS56/Transforming+field+values#Transformingfieldvalues-DelegatingCompositeFieldTransformer)
        test4:
          class: info.magnolia.ui.form.field.definition.MultiValueFieldDefinition
          label: Test4
          transformerClass: info.magnolia.ui.form.field.transformer.multi.DelegatingMultiValueFieldTransformer
          field:
            class: info.magnolia.ui.form.field.definition.TextFieldDefinition
            name: shoppingitem
        # this configuration ^^ doesn't save the value
            

        # simple Multivalue field properties configuration from docu (https://documentation.magnolia-cms.com/display/DOCS56/Multivalue+field#Multivaluefield-Multivaluefieldproperties)
        test5:
          class: info.magnolia.ui.form.field.definition.MultiValueFieldDefinition
          label: Test5
          field:
            name: linkField
            class: info.magnolia.ui.form.field.definition.LinkFieldDefinition
            targetWorkspace: category
            appName: categories
            identifierToPathConverter:
              class: info.magnolia.ui.form.field.converter.BaseIdentifierToPathConverter
        # THIS ONE ^^ SAVES THE VALUE CORRECTLY!!!
        

        #  test5 in COLLAPSIBLE field
        test6:
          class: info.magnolia.editor.app.field.CollapsibleCompositeFieldDefinition
          collapsed: true
          fields:
            thumbnails2:
               class: info.magnolia.ui.form.field.definition.MultiValueFieldDefinition
               label: Test6
               field:
                 name: linkField
                 class: info.magnolia.ui.form.field.definition.LinkFieldDefinition
                 targetWorkspace: category
                 appName: categories
                 identifierToPathConverter:
                   class: info.magnolia.ui.form.field.converter.BaseIdentifierToPathConverter
        # THIS ONE ^^ SAVES THE VALUE CORRECTLY!!!
        

        # multivalue field containing single field from docu (https://documentation.magnolia-cms.com/display/DOCS56/Multivalue+field#Multivaluefield-Multivaluecontainingasinglefield)
        test7:
          class: info.magnolia.ui.form.field.definition.MultiValueFieldDefinition
          label: Test7
          field:
            class: info.magnolia.ui.form.field.definition.TextFieldDefinition
            label: Title
        # THIS ONE ^^ ALSO SAVES THE VALUE CORRECTLY BUT THE CONTROLS LOOK STRANGE -> SUPPORT-8543
        

        # test7 in COLLAPSIBLE field
        test8:
          class: info.magnolia.editor.app.field.CollapsibleCompositeFieldDefinition
          collapsed: true
          fields:
            stories:
              class: info.magnolia.ui.form.field.definition.MultiValueFieldDefinition
              label: Test8
              field:
                class: info.magnolia.ui.form.field.definition.TextFieldDefinition
                label: Title
        # THIS ONE ^^ ALSO SAVES THE VALUE CORRECTLY BUT THE CONTROLS LOOK STRANGE -> SUPPORT-8543
Comment by Aymeric Levaux [ 21/Nov/19 ]

is there an update on this ticket ? Expected resolution time ?

We are experiencing this issue right now during our implementation project of the Stories app.

Comment by Richard Gange [ 17/Mar/21 ]

It's doubtful that we'll be supporting a configuration with transformers. It's mentioned here that support has been dropped https://docs.magnolia-cms.com/product-docs/Upgrading-to-Magnolia/Magnolia-6-UI-ports-of-5-UI-field-transformer-classes.html.

Generated at Mon Feb 12 00:17:53 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.