分析表单Core concepts多重性

注意:以下翻译的准确性尚未经过验证。这是使用 AIP ↗ 从原始英文文本进行的机器翻译。

多重性

Foundry Forms旨在尽可能简化从各种来源获取信息的过程。在大多数情况下,这涉及配置一个表单,响应者填写一次并根据输入的值创建一个新的行(或Object)。这可以是简单或复杂的,但基本期望是响应者必须与表单的单个实例进行交互。

这种期望不适用于需要同一用户反复填写同一表单的应用案例。

考虑一位科学家需要记录长期实验观察数据的收集需求。

我们可以设计一个简单的表单来捕捉每次观察所需的信息:

具有单个输入字段和提交按钮的简单表单的草图示例。

然而,当有许多观察需要记录时,这种行为变得乏味和重复。在每个表单实例中重复做出相同的选择(在这种情况下,DatePrimary Category)并提交响应浪费了时间。

这些应用案例最好通过多次输入来解决。与其一次填写一个表单,用户指定哪些字段是“共享”的,哪些是每个表单实例“唯一”的:

两个单个表单字段的多次输入草图示例。

注意以下几点:

  1. 共享字段被提取并在标题中输入一次。
  2. 每个表单实例仅显示唯一的字段。
  3. 一旦所有表单完成,单次提交将使用共享和唯一值创建行(或Object)。

多次输入表单不支持Default ValueUrlParams配置。

配置一个自由多次输入表单

按照以下步骤创建一个在自由形式环境中接受多次输入的表单:

  1. 在现有字段上方或下方选择 + 以继续添加更多共享字段。
  2. 选择最后一个字段下方的 + ,然后选择插入新表
  3. 双击新表标题以打开可视化编辑器。
  4. 打开 Multiplicity config(按钮将显示为蓝色)。
  5. 从下拉菜单中选择 Free multiplicity 并根据需要调整设置。
  6. 选择绿色的 保存 按钮。
  7. 在新表标题正下方选择 + 以添加唯一字段。

配置自由形式多次输入表单的工作流程示例。

在上面的示例中,由于 MeasurementMeasurement Type 位于不同的表中,因此每个实例生成一个新条目。存在于表外的DatePrimary Category已作为每个提交创建的三个条目的共同值被捕获。

配置一个参数化多次输入表单

除了在所有表单实例中共享共同值外,参数化多次输入表单使用共享字段来确定显示多少个表单实例,并在每个实例中设置唯一值。

考虑上面的实验观察示例。如果每天都需要收集PressureDepthDensity的测量值,我们可以强制它们始终用于Measurement Type

与自由多次输入表单不同,参数化多次输入表单需要额外的配置,以连接共享字段和将捕获其唯一值的字段:

配置参数化多次输入表单的工作流程示例。

按照以下步骤创建一个在参数化环境中接受多次输入的表单:

  1. 在现有字段上方或下方选择 + 以继续添加更多共享字段。
  2. 选择最后一个字段下方的 + ,然后选择插入新表
  3. 在新表标题正下方选择 + 以添加将保存值的字段(例如,Text)。
  4. 双击新表标题以打开可视化编辑器。
  5. 打开 Multiplicity config(按钮将显示为蓝色)。
  6. 从下拉菜单中选择 Parameterized multiplicity
  7. Parameterized uri 字段中,输入表中字段的URI。
  8. 将下一个下拉菜单从 Constant 更改为 Tag
  9. 选择 No field with current tag()。可用字段将以紫色高亮显示。
  10. 选择将填充值的共享字段。
  11. 选择绿色的 保存 按钮。

要使预填充的值不可编辑,请打开接收字段的可视化编辑器并开启将此字段设为只读

高级:使用Object配置

要接收每个Object实例的一个表单,可以使用Objects Provider字段,按照以下步骤进行:

  1. 在现有字段上方或下方选择 + 并添加一个Objects Provider字段。
  2. 选择最后一个字段下方的 + ,然后选择插入新表
  3. 在新表标题正下方选择 + 并添加一个Text字段。
  4. 双击新表标题以打开可视化编辑器。
  5. 打开 Multiplicity config(按钮将显示为蓝色)。
  6. 从下拉菜单中选择 Parameterized multiplicity
  7. Parameterized uri 字段中,输入Text字段的URI。
  8. 将下一个下拉菜单从 Constant 更改为 Tag
  9. 选择 No field with current tag()。可用字段将以紫色高亮显示。
  10. 选择Objects Provider字段。
  11. 选择绿色的 保存 按钮。

Objects Provider字段可以根据另一个字段的值进行筛选。