Adobeでは、最新の拡張可能なデータキャプチャを使用することをお勧めします コアコンポーネント 対象: 新しいアダプティブFormsの作成 または AEM SitesページへのアダプティブFormsの追加. これらのコンポーネントは、アダプティブフォームの作成における大幅な進歩を示すものであり、優れたユーザーエクスペリエンスを実現します。この記事では、基盤コンポーネントを使用してアダプティブフォームを作成するより従来的な方法について説明します。
XFA フォームテンプレート(*.XDP
ファイル)を基にアダプティブフォームを作成することができます。この再利用により、既存の XFA フォームへの投資を保持できます。 XFA フォームテンプレートを使用したアダプティブフォームの作成方法については、「テンプレートに基づくアダプティブフォームの作成」を参照してください。
アダプティブフォーム内で XDP ファイルのフィールドを再利用できます。 これらのフィールドは、バインドされたフィールドと呼ばれます。バインドされたフィールドのプロパティ(スクリプト、ラベル、表示形式など)は、XDP ファイルからコピーされます。これらのプロパティには、値をオーバーライドできるものもあります。
AEM Formsでは、XDP ファイル内の対応するフィールドに後で変更が加えられた場合に、アダプティブフォームのフィールドを同期した状態に保つことができます。 この記事では、この同期を有効にする方法を説明します。
AEM Formsオーサリング環境では、XFA フォーム(左)からアダプティブフォーム(右)にフィールドをドラッグすることができます
この記事の情報を使用するには、次の内容について確認しておくと役立ちます。
XFA(XML Forms Architecture)
この記事の例に示されているアセットを使用するには、次のセクション「サンプルパッケージ」で説明されているとおりにサンプルパッケージをダウンロードしてください。
この記事では、サンプルを使用して、アダプティブフォームを更新された XFA フォームテンプレートと同期する方法を示しています。 例で使用しているアセットは、この記事の「ダウンロード」の節からダウンロードできるパッケージに含まれています。
パッケージをアップロードすると、これらのアセットがAEM Forms UI に表示されます。
パッケージマネージャー: https://<server>:<port>/crx/packmgr/index.jsp
を使ってパッケージをインストールします
パッケージには次のアセットが含まれています。
sample-form.xdp
:例として使用されている XFA フォームテンプレート
sample-xfa-af
:sample-form.xdp ファイルに基づくアダプティブフォームただし、このアダプティブフォームにはフィールドは含まれていません。次の手順で、このアダプティブフォームにコンテンツを追加します。
前述の手順では、XDP ファイル内のフィールドのプロパティを上書きしました。したがって、このプロパティは、XDP ファイル内の対応するプロパティが後に変更されても同期されません。
XDP ファイルまたはフラグメントに変更が生じた場合は常に、AEM Forms UI によって、その XDP ファイルまたはフラグメントに基づくすべてのアダプティブフォームにフラグが付けられます。
XDP ファイルを更新した後、変更がフラグ付けされるようにするには、その XDP ファイルを AEM Forms UI に再度アップロードする必要があります。
例として、次の手順を使って sample-form.xdp
ファイルを更新します。
https://<server>:<port>/projects.html.
に移動します。指示に従って、資格情報を入力します。
左側にある「フォーム」タブをクリックします。
ローカルマシンに sample-form.xdp
ファイルをダウンロードします。XDP ファイルが、任意のファイル解凍ユーティリティで抽出可能な .zip
ファイル形式でダウンロードされます。
sample-form.xdp
ファイルを開き、TextField1 のタイトルを Text Field から My Text Field に変更します。
sample-form.xdp
ファイルを AEM Forms UI にアップロードして戻します。
XDP ファイルが更新されると、XDP ファイルに基づいてアダプティブフォームを編集する際に、エディターにアイコンが表示されます。 このアイコンは、アダプティブフォームが XDP ファイルと同期されていないことを示します。 次の画像では、サイドバーにアイコンが表示されています。
XDP ファイルと同期していないアダプティブフォームを次回、作成用に開くと、このアダプティブフォームのスキーマ / フォームテンプレートは更新されましたClick Here
というメッセージが表示されます(新しいバージョンでリベースするために使用)。
メッセージをクリックすると、アダプティブフォーム内のフィールドが XDP ファイル内の対応するフィールドと同期されます。
この記事で使用される例では、sample-xfa-af
をオーサリングモードで開きます。メッセージが、アダプティブフォームの下部に表示されます。
XDP ファイルからアダプティブフォームにコピーされたすべてのプロパティは、作成者によってアダプティブフォーム内で(コンポーネントダイアログから)明示的に上書きされたプロパティを除き、更新されます。 更新されたプロパティのリストは、サーバーログで見ることができます。
例にあるアダプティブフォームのプロパティを更新するには、メッセージ内の「"Click Here"
」のラベルが付いたリンクをクリックします。TextField1 のタイトルが、Text Field から My Text Field に変更されます。
AF Numeric Field のラベルが変更されなかったのは、「アダプティブフォームへのコンテンツの追加」で説明したとおり、コンポーネントプロパティダイアログでこのプロパティを上書きしたためです。
元の XDP ファイルに後から追加されたフィールドは「フォーム階層」タブに表示され、新しいフィールドをアダプティブフォームにドラッグすることができます。
「フォーム階層」タブのフィールドを更新するために、エラーメッセージ内のリンクをクリックする必要はありません。
アダプティブフォームに以前にコピーされたフィールドが XDP ファイルから削除されると、そのフィールドが XDP ファイルに存在しないことを示すエラーメッセージがオーサリングモードで表示されます。 その場合は、アダプティブフォームから手動でそのフィールドを削除するか、コンポーネントダイアログで bindRef
プロパティを消去します。
次の手順では、この記事で使われている例の中のアセットに対してこの方法を使用する流れを説明します。
sample-form.xdp
ファイルを更新し、NumericField1 を削除します。
AEM Forms UI に sample-form.xdp
ファイルをアップロードします。
sample-xfa-af
アダプティブフォームを作成のために開きます。次のエラーメッセージが表示されます:このアダプティブフォームのスキーマ/フォームテンプレートは更新されました。Click Here
(新しいバージョンでリベースするために使用)。
メッセージ内の「Click Here
のラベル」が付いたリンクをクリックします。XDP ファイルにフィールドが存在しないというエラーメッセージが表示されます。
削除されたフィールドも、フィールドにエラーが存在することを示すアイコンでマークされます。
アダプティブフォームのフィールドで誤ったバインド(編集ダイアログの無効な bindRef
値)を持つフィールドも、削除されたフィールドとみなされます。作成者がこれらのエラーを修正せずにアダプティブフォームを公開した場合、フィールドはバインドされていない通常のアダプティブフォームフィールドとして扱われ、出力 XML ファイルのバインドされていないセクションに含まれます。
この記事の例に使用されているコンテンツパッケージ