分析Formsコアの概念多重性

注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

多重性

Foundry Forms は、さまざまなソースからの情報の収集を可能な限り簡単にするように設計されています。ほとんどの場合、これには回答者が一度記入して、入力した値に基づいて新しい行(またはオブジェクト)を作成するフォームを設定することが含まれます。これは複雑さが増減するかもしれませんが、基本的な期待値は、回答者がフォームの単一のインスタンスと対話しなければならないということです。

この期待値は、同じフォームを同じユーザーが繰り返し記入しなければならないユースケースには適用できません。

長期間にわたる実験の観察結果を記録する必要がある科学者のデータ収集ニーズを考えてみてください。

私たちは、各観察についての必要な情報をキャプチャするためのシンプルなフォームを設計することができます:

単一入力フィールドと送信ボタンを持つシンプルなフォームのスケッチ例

しかし、記録する観察が多い場合、この動作は面倒で反復的になります。同じ選択(この場合、DatePrimary Category)をフォームの各インスタンスで行い、回答を送信するために時間が無駄になります。

これらのユースケースは、Multiple Entries で最もよく解決されます。一度に一つのフォームを記入するのではなく、ユーザーはどのフィールドが「共有」で、どのフィールドがフォームの各インスタンスで「ユニーク」であるかを指定します:

2つの単一フォームフィールドの複数エントリのスケッチ例

次のことに注意してください:

  1. 共有フィールドは取り出され、ヘッダーで一度に入力されます。
  2. その後、各フォームインスタンスはユニークなフィールドのみを表示します。
  3. 全てのフォームが完了したら、1つの送信が共有とユニークの両方の値を使って行(またはオブジェクト)を作成します。

多重エントリフォームは、Default Value または UrlParams 設定をサポートしていません。

自由形式の多重エントリフォームの設定

以下の手順に従って、自由形式のコンテキストで複数のエントリを受け付けるフォームを作成します:

  1. 既存のフィールドの上または下で + を選択し、より多くの共有フィールドを追加し続けます。
  2. 最後のフィールドの下で + を選択し、新しいシートを挿入 を選択します。
  3. ビジュアルエディターを開くために新しいシートヘッダーをダブルクリックします。
  4. Multiplicity config をオンにします(ボタンが青く表示されます)。
  5. ドロップダウンから Free multiplicity を選択し、必要に応じて設定を調整します。
  6. 緑の Save ボタンを選択します。
  7. 新しいシートヘッダーの直下で + を選択して、ユニークなフィールドを追加します。

自由形式の複数エントリフォームを設定するワークフローの例

上記の例では、MeasurementMeasurement Type の各インスタンスは、それらが別々のシートにあるため、バッキングスプレッドシートで新しいエントリを生成します。DatePrimary Category はシートの外に存在し、この送信から作成された3つのエントリそれぞれに共通の値としてキャプチャされています。

パラメータ化された複数エントリフォームの設定

すべてのフォームインスタンスに共通の値を共有するだけでなく、パラメータ化された複数エントリフォームは共有フィールドを使用して表示するフォームインスタンスの数を決定し、それぞれにユニークな値を設定します。

上記の実験観察の例を考えてみてください。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. 緑の Save ボタンを選択します。

事前に入力された値を編集不可にするには、受け取りフィールドのビジュアルエディターを開き、このフィールドを読み取り専用にする をオンにします。

高度な設定:オブジェクトを使用して設定

オブジェクトのインスタンスごとに1つのフォームを受け取るために、以下の手順に従って 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. 緑の Save ボタンを選択します。

Objects Provider フィールドは、別のフィールドの値に基づいてフィルター処理することができます。