Does anyone have an example of a working multifield with a fieldset under 6.3? | Community
Skip to main content
New Participant
March 3, 2018
Solved

Does anyone have an example of a working multifield with a fieldset under 6.3?

  • March 3, 2018
  • 12 replies
  • 5105 views

I'm working on a 6.1 to 6.3 upgrade and every custom component we've written that uses a multifield is failing under 6.3. The "add field" button works. The data gets saved to the datastore. But the data can't be retrieved on edit. Here's the cq dialog xml code.

<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:nt="http://www.jcp.org/jcr/nt/1.0"
   jcr:primaryType="nt:unstructured"
   jcr:title="Image Gallery"
   sling:resourceType="cq/gui/components/authoring/dialog">
  <content
   jcr:primaryType="nt:unstructured"
   sling:resourceType="granite/ui/components/foundation/container">
  <layout
   jcr:primaryType="nt:unstructured"
   sling:resourceType="granite/ui/components/foundation/layouts/tabs"
   type="nav"/>
  <items jcr:primaryType="nt:unstructured">
  <presentation
   jcr:primaryType="nt:unstructured"
   jcr:title="Presentation"
   sling:resourceType="granite/ui/components/foundation/container">
  <layout
   jcr:primaryType="nt:unstructured"
   sling:resourceType="granite/ui/components/foundation/layouts/fixedcolumns"/>
  <items jcr:primaryType="nt:unstructured">
  <columns
   jcr:primaryType="nt:unstructured"
   sling:resourceType="granite/ui/components/foundation/container">
  <items jcr:primaryType="nt:unstructured">
  <galleryMode
   jcr:primaryType="nt:unstructured"
   sling:resourceType="granite/ui/components/foundation/form/select"
   fieldLabel="Gallery Mode"
   name="./galleryMode">
  <items jcr:primaryType="nt:unstructured">
  <item1
   jcr:primaryType="nt:unstructured"
   text="Carousel"
   value="carousel"/>
  <item2
   jcr:primaryType="nt:unstructured"
   text="Slideshow"
   value="slideshow"/>
  </items>
  </galleryMode>
  <captionMode
   jcr:primaryType="nt:unstructured"
   sling:resourceType="granite/ui/components/foundation/form/select"
   fieldLabel="Caption Mode"
   name="./captionMode">
  <items jcr:primaryType="nt:unstructured">
  <item1
   jcr:primaryType="nt:unstructured"
   text="Overlay"
   value="overlay"/>
  <item2
   jcr:primaryType="nt:unstructured"
   text="Grey Bar"
   value="greybar"/>
  </items>
  </captionMode>
  <interval
   jcr:primaryType="nt:unstructured"
   sling:resourceType="granite/ui/components/foundation/form/numberfield"
   fieldLabel="Gallery Interval"
   fieldDescription="Interval at which gallery changes images, in milliseconds"
   defaultValue="5000"
   name="./interval"/>
  <renditionHeight
   jcr:primaryType="nt:unstructured"
   sling:resourceType="granite/ui/components/foundation/form/numberfield"
   fieldLabel="Gallery Height (px)"
   fieldDescription="Set custom rendition height for images in gallery. Defaults to 500px."
   defaultValue="500"
   name="./renditionHeight"/>
  </items>
  </columns>
  </items>
  </presentation>
  <image_list
   jcr:primaryType="nt:unstructured"
   jcr:title="Image Gallery"
   sling:resourceType="granite/ui/components/foundation/container">
  <layout
   jcr:primaryType="nt:unstructured"
   sling:resourceType="granite/ui/components/foundation/layouts/fixedcolumns"/>
  <items jcr:primaryType="nt:unstructured">
  <columns
   jcr:primaryType="nt:unstructured"
   sling:resourceType="granite/ui/components/foundation/container">
  <items jcr:primaryType="nt:unstructured">
  <images
   jcr:primaryType="nt:unstructured"
   sling:resourceType="granite/ui/components/foundation/form/multifield"
   fieldLabel="Images"
   fieldDescription="Specify images for the carousel."
   nested-multifield="">
  <field
   jcr:primaryType="nt:unstructured"
   sling:resourceType="granite/ui/components/foundation/form/fieldset"
   name="./images">
  <items jcr:primaryType="nt:unstructured">
  <column
   jcr:primaryType="nt:unstructured"
   sling:resourceType="granite/ui/components/foundation/container">
  <items jcr:primaryType="nt:unstructured">
  <path
   jcr:primaryType="nt:unstructured"
   sling:resourceType="granite/ui/components/foundation/form/pathbrowser"
   class="touchui-nested-field"
   fieldLabel="Image Path"
   rootPath="/content/dam/ourapp"
   fieldDescription="Path to image asset"
   name="./path"/>
  <caption
   jcr:primaryType="nt:unstructured"
   sling:resourceType="granite/ui/components/foundation/form/textarea"
   class="touchui-nested-field"
   fieldLabel="Caption"
   fieldDescription="Overrides metadata caption value"
   name="./caption"/>
  <credit
   jcr:primaryType="nt:unstructured"
   sling:resourceType="granite/ui/components/foundation/form/textfield"
   class="touchui-nested-field"
   fieldLabel="Credit"
   fieldDescription="Overrides metadata credit value"
   name="./credit"/>
  </items>
  </column>
  </items>
  </field>
  </images>
  </items>
  </columns>
  </items>
  </image_list>
  </items>
  </content>
</jcr:root>

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by smacdonald2008

For AEM 6.3 - use coral/granite data types. The multi-field in this article has the following fields based on Granite/Coral data types:

  • A text field based on granite/ui/components/coral/foundation/form/textfield.
  • A path field based on granite/ui/components/coral/foundation/form/pathfield.
  • A textarea picker based on granite/ui/components/coral/foundation/form/textarea.

Adobe Experience Manager Help | Creating a HTL Repeating Data Set 6.3 Component that uses Sling Models

12 replies

New Participant
March 3, 2018

Is there a specific version of ACS Commons that works? I've followed this example exactly and when I go to back into the component to configure it (after initially configuring it) no data is brought back. It's there. I can see it in CRXDE Lite, but it doesn't populate the dialogue when I try to edit it.

Vijayalakshmi_S
New Participant
March 3, 2018

Hi,

- Install ACS commons package and make sure it is in active state.

- To your existing dialog structure above -> to the fieldset node, we need to add a property named acs-commons-nested with value set as blank or JSON_STORE or NODE_STORE for storing the multifield data accordingly.

More details on this can be found at - http://www.aemcq5tutorials.com/tutorials/touchui-multifield-component-using-htl/