分析表单Core concepts多重性

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

多重性

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

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

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

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

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

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

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

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

注意以下几点:

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

多次输入表单不支持Default Value或UrlParams配置。

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

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

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

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

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

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

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

考虑上面的实验观察示例。如果每天都需要收集Pressure、Depth和Density的测量值,我们可以强制它们始终用于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字段可以根据另一个字段的值进行筛选。