フォームが数百以上のフィールドを持ち大きく複雑になると、エンドユーザーはフォームが表示されるときに長い時間を待たされることになります。この応答時間を最小にするために、アダプティブフォームでは、フォームを複数の論理的なフラグメントに分解し、これらのフラグメントが表示される必要な時が来るまでそれらの初期化や読み込みを遅延するように設定できます。これを遅延読み込みと呼びます。さらに、遅延読み込みが設定されたフラグメントは、ユーザーがフォーム内の他のセクションに移動し、そのフラグメントが表示されなくなると、アンロードされます。
まず最初に、遅延読み込みを設定する前に、要件と準備手順を説明します。
アダプティブフォーム内のフラグメントの遅延読み込みを設定する前に、フラグメントを作成し、スクリプトで使用されたり他のフラグメントで参照されたりする値を特定し、遅延読み込みされたフラグメントの表示をコントロールするためのルールを定義するといった、戦略を定義することが重要です。
フラグメントの識別と作成遅延読み込みを設定できるのは、アダプティブ
フォームフラグメントのみです。フラグメントは、アダプティブフォームの外部に存在し、フォーム間で再利用できるスタンドアロンセグメントです。 遅延読み込みを実装する最初の手順は、フォーム内の論理セクションを識別してフラグメントに変換することです。 フラグメントは、最初から作成することも、既存のフォームパネルをフラグメントとして保存することもできます。
フラグメントの作成について詳しくは、アダプティブフォームフラグメントを参照してください。
グローバルな値を特定しマークを付ける フォームベースのトランザクションでは、ユーザーからの適切なデータを取得しそれを処理してフォーム記入体験を簡素化するための動的な要素が関与します。例えば、フォームのフラグメント X 内にフィールド A があり、その値が別のフラグメント内のフィールド B の有効性を決定するとします。この場合、フラグメント X が遅延読み込みに対してマーク付けされた場合、フィールド A の値は、フラグメント X が読み込まれていないときでも、フィールド B を検証するために必要となります。これを実現するには、フィールド A をグローバルとしてマーク付けし、これによりその値が、フラグメント X が読み込まれていないときでもフィールド B の検証のために使用できるようになります。
フィールド値をグローバルにする方法については、遅延読み込みの設定を参照してください。
フィールドの表示をコントロールするルールを作成する フォームには、必ずしもすべてのユーザーや条件に適用されないフィールドやセクションがいくつか含まれます。フォームの作成者や開発者は、ユーザーの入力に基づいでその表示をコントロールするために表示/非表示ルールを使用します。例えば会社住所フィールドは、フォームの職業ステータスで無職を選択したユーザーには表示されません。ルールの作成について詳しくは、ルールエディターの使用を参照してください。
遅延読み込みされたフラグメント内で表示ルールを活用して、条件付きフィールドを必要なときのみ表示させることができます。また、条件付きフィールドをグローバルとしてマーク付けして、遅延読み込みフラグメントの表示式内でそれを参照することもできます。
次の手順を実行して、アダプティブフォームフラグメントに対して遅延読み込みを有効にします。
遅延読み込みを有効にしたいフラグメントを含むアダプティブフォームをオーサリングモードで開きます。
アダプティブフォームフラグメントを選択し、をタップします。
サイドバーで、「フラグメントを遅延読み込み」を有効にし、「完了」をタップします。
フラグメントは遅延読み込みが有効になりました。
遅延読み込みフラグメント内のオブジェクトの値をグローバルとしてマーク付けすることで、これらの値は、そのフラグメントが読み込まれていなくてもスクリプトで使用できるようになります。以下の操作を実行してください。
アダプティブフォームフラグメントをオーサリングモードで開きます。
値をグローバルにするフィールドをタップし、をタップします。
サイドバーで、遅延読み込み中に値を使用を有効にします。
この値はグローバルとして設定され、そのフラグメントが読み込まれていないときでもスクリプト内で使用できるようになります。
遅延読み込みを使用する際に留意しておかなければならない制限事項、推奨事項、および重要な点を以下に示します。
遅延読み込みパネル用のスクリプト作成時に留意しておかなければならない重要な点は次のとおりです。