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

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 13 Next »

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.

Smart multi-row is a new addition to ConfiForms field types and "smart fields" family in particular.  This field type enables you to create master-details forms much easier than before.

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


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