Child pages
  • ConfiForms Smart Multi-row - what it offers and how to use it

This is the documentation for ConfiForms Server/Data Center app

However, this might also work for ConfiForms cloud and in most cases it does. But please see this page to understand the differences between server and cloud versions of the ConfiForms app.

It has been introduced as beta in 2.21.1 - Release Notes#Version2.21.1 and as a GA in version 2.24.7 - Release Notes#Version2.24.7

ConfiForms Smart Multi-row Feature: Overview and Usage

The ConfiForms Smart Multi-row feature simplifies the management of complex form relationships by allowing multiple records to be added to a referenced form in one action. This is especially helpful in scenarios where master-detail relationships are required, such as linking participants to specific events. The feature streamlines data entry and display, supporting various field types. However, it does not support nesting of "smart multi-row" fields.

Configuration

As with all the "smart" fields in ConfiForms this field is about linking forms together, but with one important difference - it allows you to ADD new records into the referenced form directly and in "one go"

Here is what we mean

Consider a simple form with 2 fields named "participantsForm"

  • Name (text) - required
  • Mark (numeric)

And another form that we want to use as a database to store our tests - "testsForm"

This form will have 3 fields: 

  • Test name (text) - required 
  • Test document (file) - required
  • Participants (smart multi-row linked to "participantsForm" form)


This will allow us to manage data in "participantsForm" by filling in the form in "testsForm". See below

Configuration of a "participantsForm" form

Confluence editorStorage format

<ac:structured-macro ac:macro-id="5a980275-b7c8-4daa-a464-2772e73126de" ac:name="confiform" ac:schema-version="1">
  <ac:parameter ac:name="formName">participantsForm</ac:parameter>
  <ac:rich-text-body>
    <p>
      <ac:structured-macro ac:macro-id="74824740-c126-410e-a294-67ff7b66afaf" ac:name="confiform-field-definition" ac:schema-version="1">
        <ac:parameter ac:name="fieldName">Name</ac:parameter>
        <ac:parameter ac:name="fieldLabel">Name</ac:parameter>
        <ac:parameter ac:name="type">text</ac:parameter>
      </ac:structured-macro>
    </p>
    <p>
      <ac:structured-macro ac:macro-id="abffe50a-f465-4885-9620-838887290f9b" ac:name="confiform-field-definition" ac:schema-version="1">
        <ac:parameter ac:name="fieldName">Mark</ac:parameter>
        <ac:parameter ac:name="fieldLabel">Mark</ac:parameter>
        <ac:parameter ac:name="type">number</ac:parameter>
      </ac:structured-macro>
    </p>
    <ac:structured-macro ac:macro-id="bd59ea30-96e8-4f31-aa95-df2e8567c87a" ac:name="confiform-entry-register" ac:schema-version="1">
      <ac:rich-text-body>
        <p>
          <br/>
        </p>
      </ac:rich-text-body>
    </ac:structured-macro>
  </ac:rich-text-body>
</ac:structured-macro>

Configuration of a "testsForm"

Confluence editorStorage format

<ac:structured-macro ac:macro-id="7c29b98e-f2f7-4eb4-9548-792f0c424efc" ac:name="confiform" ac:schema-version="1">
  <ac:parameter ac:name="formName">testsForm</ac:parameter>
  <ac:rich-text-body>
    <p>
      <ac:structured-macro ac:macro-id="5bb451e5-4b48-411b-bb37-b01032cb7f60" ac:name="confiform-field-definition" ac:schema-version="1">
        <ac:parameter ac:name="fieldName">testName</ac:parameter>
        <ac:parameter ac:name="fieldLabel">Test name </ac:parameter>
        <ac:parameter ac:name="type">text</ac:parameter>
        <ac:parameter ac:name="required">true</ac:parameter>
      </ac:structured-macro>
    </p>
    <p>
      <ac:structured-macro ac:macro-id="e035cc8e-7ba3-490b-8aee-b54bc061d654" ac:name="confiform-field-definition" ac:schema-version="1">
        <ac:parameter ac:name="fieldName">testDoc</ac:parameter>
        <ac:parameter ac:name="fieldLabel">Test document</ac:parameter>
        <ac:parameter ac:name="type">file</ac:parameter>
        <ac:parameter ac:name="required">true</ac:parameter>
      </ac:structured-macro>
    </p>
    <p>
      <ac:structured-macro ac:macro-id="1165010b-7d19-4df8-8f38-096f231b262d" ac:name="confiform-field-definition" ac:schema-version="1">
        <ac:parameter ac:name="fieldName">participants</ac:parameter>
        <ac:parameter ac:name="fieldLabel">Participants</ac:parameter>
        <ac:parameter ac:name="values">[93390017:participantsForm]Name,</ac:parameter>
        <ac:parameter ac:name="type">smartmultirow</ac:parameter>
      </ac:structured-macro>
    </p>
    <ac:structured-macro ac:macro-id="3c9f51d5-1f4a-45f4-9226-70ac7dd28c1d" ac:name="confiform-entry-register" ac:schema-version="1">
      <ac:rich-text-body>
        <p>
          <br/>
        </p>
      </ac:rich-text-body>
    </ac:structured-macro>
  </ac:rich-text-body>
</ac:structured-macro>  

With configuration of a "participants" smart multi-row field done like this

This will built as a form as follows:

Allowing us to add multiple rows for participants

Which will be stored in the "participantsForm" for us automatically and also conveniently rendered for us through the "testsForm" form

You may use ANY number of fields for your ConfiForms Smart multi-row - and any field type, except another "smart multi-row" field. (In other words - no nesting of "smart multi-row" fields is supported at the moment)



  • No labels