Foundry Forms is designed to make the intake of information from a variety of sources as easy as possible. In most cases, this involves configuring a form where a respondent will fill it out once and create a single new row (or object) based on the values entered. This can be more or less complex, but the basic expectation is that the respondent must interact with a single instance of the form.
This expectation does not work for use cases where the same form must be filled out repeatedly by the same user.
Consider the data collection needs for a scientist who needs to record observations on a long-running experiment.
We can design a simple form to capture the necessary information about each observation:
This behavior becomes tedious and repetitive, however, if there are many observations to record. Time is wasted making the same selections (in this case,Date
and Primary Category
) for each instance of the form and submitting responses.
These use cases are best resolved with Multiple Entries. Rather than filling out one form at a time, the user specifies which fields are "shared" and which are "unique" for each instance of the form:
Notice the following:
Multiple entry forms do not support Default Value
or UrlParams
configuration.
Follow the steps below to create a form that takes multiple entries in a free-form context:
In the example above, each instance of Measurement
and Measurement Type
generates a new entry in the backing spreadsheet because they are in separate sheets. Date
and Primary Category
, which exist outside of the sheets, have been captured as a common value for each of the three entries created from this submission.
In addition to sharing common values across all form instances, parameterized multiple entry forms use a shared field to determine how many form instances to display and set a unique value in each one.
Consider the experiment observations example from above. If measurements need to be collected for Pressure
, Depth
, and Density
every day, we can enforce that these are always the values used for Measurement Type
.
Unlike free multiple entry forms, parameterized multiple entry forms need additional configuration to connect the shared field with the fields that will capture its unique values:
Follow the steps below to create a form that takes multiple entries in a parameterized context:
Text
) that will hold the value.To make the prefilled values uneditable, open the Visual Editor for the receiving field and toggle on Make this field read only.
To receive one form per instance of an object, you can use the Objects Provider
field following the steps below:
Objects Provider
field.Text
field.Text
field.Objects Provider
field.The Objects Provider
field could be filtered based on the value of another field.