すべてのフォームは特定の目的用に設計されますが、ほとんどのフォームには、いくつかの共通するセグメントがあります(例:名前と住所、家族の詳細、収入の詳細などの個人情報などを入力するためのセグメント)。フォームの開発者は、新しいフォームを作成するたびに、こうした共通セグメントを作成する必要があります。
アダプティブフォームには、パネルやフィールドグループなどのフォームセグメントを 1 回だけ作成するための便利な機能が用意されています。作成したフォームセグメントは、アダプティブフォームで再利用することができます。この再利用可能なスタンドアロンのセグメントは、アダプティブフォームフラグメントといいます。
アダプティブフォームフラグメントは、最初から作成することも、パネルを既存のアダプティブフォーム内にフラグメントとして保存することもできます。
AEM Forms オーサーインスタンス(https://[hostname]:[port]/aem/forms.html)にログインします。
作成/アダプティブフォームフラグメントをクリックします。
フラグメントのタイトル、名前、説明、タグを指定します。
フラグメントには一意の名前を指定します。同じ名前を持つ別のフラグメントが既に存在する場合、フラグメントの作成は失敗します。
「フォームモデル」タブをクリックして開き、「次から選択」ドロップダウンメニューから、フラグメントに対して次のいずれかのモデルを選択します。
選択したフォームテンプレート内でフラグメントとしてマークされたサブフォームも表示されます。ドロップダウンリストから、アダプティブフォームフラグメントのサブフォームを選択できます。
さらに、ドロップダウンボックスでサブフォームのための SOM 式を指定することで、フォームテンプレート内でフラグメントとしてマークされていないサブフォームを使用したアダプティブフォームフラグメントを作成することもできます。
ドロップダウンボックスから選択されたスキーマにある complexType を選択することで、アダプティブフォームフラグメントを作成することもできます。
「作成」をクリックし、次に「開く」をクリックして、編集モードでデフォルトテンプレートを使ってフラグメントを開きます。
編集モードでは、AEM サイドキックから任意のアダプティブフォームコンポーネントをフラグメントにドラッグアンドドロップできます。アダプティブフォームコンポーネントについて詳しくは、「アダプティブフォームの作成について」を参照してください。
さらに、フラグメントのフォームモデルとして、XML スキーマまたは XDP フォームテンプレートを選択していた場合は、フォームモデル階層を示す新しいタブがコンテンツファインダーに表示されます。これにより、フォームモデルエレメントをフラグメントにドラッグアンドドロップできます。追加されたフォームモデルエレメントはフォームコンポーネントに変換されますが、関連の XDP または XSD からの元のプロパティは保持されます。
アダプティブフォームフラグメントとして保存するパネルが含まれているアダプティブフォームを開きます。
パネルツールバーで、「フラグメントとして保存」をクリックします。フラグメントとして保存ダイアログが開きます。
フラグメントとして保存しているパネルに子パネルが含まれている場合、生成されるフラグメントにはこれらの子パネルが含まれます。
フラグメント作成ダイアログで、次の情報を指定します。
名前:フラグメントの名前。デフォルト値はパネルのエレメント名です。このフィールドは必須です。
フラグメントには一意の名前を指定します。同じ名前を持つ別のフラグメントが既に存在する場合、フラグメントの作成は失敗します。
タイトル:フラグメントのタイトル。デフォルト値はパネルのタイトルです。
説明:フラグメントの説明。
タグ:フラグメントのタグメタデータ。
ターゲットパス:フラグメントが保存されるリポジトリーパス。パスを指定しない場合、フラグメントと同じ名前を持つノードが、アダプティブフォームを含むノードの横に作成されます。フラグメントはこのノードに保存されます。
フォームモデル:アダプティブフォームのフォームモデルに応じて、このフィールドには「XML スキーマ」、「フォームテンプレート」、または「なし」が表示されます。このフィールドは編集できません。
フラグメントモデルルート:XSD ベースのアダプティブフォームにのみ表示されます。フラグメントモデルのルートを指定します。ドロップダウンリストから / または XSD 複合タイプを選択できます。フラグメントを別のアダプティブフォームで再利用できるのは、複合タイプをフラグメントモデルルートとして選択した場合のみです。/ をフラグメントモデルルートとして選択した場合、ルートからの完全な XSD ツリーは、「アダプティブフォームデータモデル」タブに表示されます。複合タイプのフラグメントモデルルートの場合、選択した複合タイプの子孫のみが、「アダプティブフォームデータモデル」タブに表示されます。
XSD 参照:XSD ベースのアダプティブフォームにのみ表示されます。XML スキーマの場所を表示します。
XDP 参照:XSD ベースのアダプティブフォームにのみ表示されます。XDP フォームテンプレートの場所を表示します。
フラグメントとして保存ダイアログボックス
「OK」をクリックします。
パネルがリポジトリー内の指定した場所またはデフォルトの場所に保存されます。アダプティブフォームでは、パネルがフラグメントのスナップショットによって置き換えられます。以下に示すように、「一般情報」パネルとその子パネル、個人情報、アドレスは、フラグメントとして保存されます。
フラグメントを編集するには、パネルツールバーで「アセットを編集」をクリックします。フラグメントが新しいタブまたはウィンドウ上に編集モードで開きます。
アダプティブフォームに挿入したフラグメントはすべてプレースホルダーの画像として表示されます。プレースホルダーには、フラグメント内の子パネルのタイトルが最大 10 個まで表示されます。AEM Forms を設定することにより、プレースホルダーの画像の代わりにすべてのフラグメントを表示することができます。
次の手順を実行して、フォームのフラグメントをすべて表示します。
AEM Web コンソールの設定ページ(https:[host]:[port]/system/console/configMgr)に移動します。
アダプティブフォームとインタラクティブ通信の web チャネル設定を検索およびクリックして、編集モードで開きます。
「フラグメントの代わりにプレースホルダーを有効にする」チェックボックスを無効にして、プレースホルダーの画像の代わりにすべてのフラグメントを表示します。
作成したアダプティブフォームフラグメントは、AEM コンテンツファインダーの「アダプティブフォームフラグメント」タブに表示されます。アダプティブフォームフラグメントをアダプティブフォーム内に挿入するには、次の手順を実行します。
アダプティブフォームフラグメントを挿入するアダプティブフォームを編集モードで開きます。
サイドバーの「Assets 」をクリックします。アセットブラウザーで、ドロップダウンリストから「アダプティブフォームフラグメント」を選択します。
すべてのアダプティブフォームフラグメントを表示することも、あるいはフォームモデル(フォームテンプレート、XML スキーマ、またはベーシック)に基づいてフィルタリングすることもできます。
アダプティブフォームフラグメントをアダプティブフォームにドラッグアンドドロップします。
アダプティブフォーム内で、アダプティブフォームフラグメントをオーサリング用として使用することはできません。また、JSON ベースのアダプティブフォームで XSD ベースのフラグメントを使用することも、XSD ベースのアダプティブフォームで JSON ベースのフラグメントを使用することもできません。
アダプティブフォームフラグメントは、アダプティブフォーム内の参照により挿入され、スタンドアロンのアダプティブフォームフラグメントと同期されます。このことは、アダプティブフォームフラグメントが更新されるとその変更がフラグメントが使用されているすべてのアダプティブフォーム内に反映されることを意味します。
次のサンプル画像に示されているように、追加されたフラグメントのパネルツールバー上にある「アセット: <fragmentName> を埋め込む」ボタンをクリックすることで、アダプティブフォームフラグメントをアダプティブフォームに埋め込むことができます。
埋め込まれたフラグメントは、スタンドアロンのフラグメントとリンクされなくなりました。埋め込まれたフラグメント内のコンポーネントは、アダプティブフォーム内から編集できます。
入れ子のアダプティブフォームフラグメントを作成できます。このことはフラグメント内に別のフラグメントをドラッグアンドドロップし、入れ子のフラグメント構造を構築できることを意味します。
アダプティブフォームフラグメントパネルのコンポーネントの編集ダイアログ内でフラグメントアセットを選択プロパティを使用することで、アダプティブフォームフラグメントを別のフラグメントで置き換えたり変更したりできます。
FXA フォームテンプレートまたは XSD 複合タイプを使用してアダプティブフォームフラグメントを作成しフラグメントをアダプティブフォームにドラッグアンドドロップすると、XFA フラグメントまたは XSD 複合タイプは、フラグメントモデルルートが XFA フラグメントまたは XSD 複合タイプにマッピングされている対応アダプティブフォームフラグメントによって自動的に置換されます。
コンポーネントの編集ダイアログから、フラグメントアセットとその連結を変更できます。
また、AEM コンテンツファインダーのアダプティブフォームフラグメントライブラリからバインドされたアダプティブフォームフラグメントをドラッグアンドドロップし、アダプティブフォームフラグメントパネルのコンポーネントの編集ダイアログから正しいバインド参照を与えることもできます。
AEM Forms UI を使用して、アダプティブフォームフラグメントに対して複数の操作を実行できます。
https://[hostname]:'port'/aem/forms.html
にアクセスします。
AEM Forms UI ツールバーで「選択」をクリックし、アダプティブフォームフラグメントを選択します。ツールバーには、選択されているアダプティブフォームフラグメントに対して実行できる次の操作が表示されます。
操作 |
説明 |
次を開きます: |
選択されているアダプティブフォームフラグメントを編集モードで開きます。 |
プロパティを表示 |
プロパティパネルを開きます。プロパティパネルから、プロパティを表示し編集したり、プレビューを生成したり、選択したフラグメントのサムネイル画像をアップロードしたりできます。詳しくは、「メタデータの管理」を参照してください。 |
コピー |
選択されているフラグメントをコピーします。貼り付けボタンがツールバーに表示されます。 |
ダウンロード |
選択されているフラグメントをダウンロードします。 |
プレビュー |
フラグメントを HTML でプレビューするか、あるいは XML ファイルからのデータをフラグメントとマージしてカスタムプレビューを生成するかのオプションが与えられます。詳しくは、「フォームのプレビュー」を参照してください。 |
レビューの開始/レビューの管理 |
選択されているフラグメントのレビューを開始したり管理したりできます。詳しくは、「レビューの作成と管理」を参照してください。 |
辞書の作成 |
選択されているフラグメントをローカライズするための辞書を生成します。詳しくは、「アダプティブフォームのローカライズ」を参照してください。 |
公開/非公開 |
選択されているフラグメントを公開/非公開します。 |
削除 |
選択されているフラグメントを削除します。 |
アダプティブフォームフラグメントを含むアダプティブフォームをローカライズするには、フラグメントとフォームを別々にローカライズする必要があります。考え方としては、フラグメントを一度ローカライズし、それを複数のアダプティブフォーム内で再利用します。
フラグメント内のローカリゼーションキーは、アダプティブフォームの XLIFF ファイル内には表示されません。
127.0.0.1 <Host machine>
ホストマシン:AEM Forms がデプロイされている Apple Mac マシン。フォームを作成するために使用できるリファレンスアダプティブフォームフラグメントが提供されています。詳しくは、リファレンスフラグメントを参照してください。