フォームポータル | ユーザーデータの処理 forms-portal-handling-user-data
AEM Formsポータルは、AEM Sitesページ上のアダプティブフォーム、HTML5 フォーム、その他のFormsアセットのリストを表示するために使用できるコンポーネントを提供します。 さらに、ログインしたユーザーのためにドラフトや送信済みのアダプティブフォームおよび HTML5 フォームを表示するように構成することもできます。Forms Portal について詳しくは、「ポータルでのフォーム発行の概要」を参照してください。
ログインしているユーザーがアダプティブフォームをドラフトとして保存したり送信したりすると、それらはフォームポータルの「ドラフト」タブと「送信」タブに表示されます。 ドラフトまたは送信済みのフォームのデータは、AEMのデプロイメント用に設定されたデータストアに保存されます。 匿名ユーザーのドラフトと送信は、フォームポータルページに表示されません。ただし、データは設定済みのデータストアに保存されます。 詳細情報に関しては、ドラフトと送信に使用するストレージサービスの設定を参照してください。
ユーザーデータとデータストア user-data-and-data-stores
Forms portal では、次のシナリオでドラフトフォームと送信済みフォームのデータを保存します。
- アダプティブフォームに設定された送信アクションが Forms Portal 送信アクション である。
- Forms Portal 送信アクション 以外の送信アクションでは、「Forms Portal にデータを格納」オプションが、アダプティブフォームコンテナの 送信 プロパティで有効になっている。
ログインしたユーザーと匿名ユーザーのドラフトおよび送信済みフォームごとに、フォームポータルには次のデータが保存されます。
- フォーム名、フォームパス、ドラフト ID または送信 ID、添付ファイルパス、ユーザーデータ ID などのフォームメタデータ
- データバイトとしてのフォームの添付ファイル
- データバイトとしてのフォームデータ
設定されたデータストアの永続性に応じて、ドラフトと送信済みのフォームのデータは、次の場所に保存されます。
ユーザーデータへのアクセスと削除 access-and-delete-user-data
設定済みのデータストアで、ログインしたユーザーと匿名ユーザーのドラフトおよび送信済みのフォームデータにアクセスし、必要に応じて削除することができます。
AEMインスタンス aem-instances
ログインしたユーザーおよび匿名ユーザーの AEM インスタンス(作成者、発行またはリモート)のすべてのドラフトと送信済みフォームのデータは、該当する AEM リポジトリの /content/forms/fp/
ノードに格納されます。ログインしたユーザーまたは匿名ユーザーがドラフトを保存するかフォームを送信するたびに、draft ID
または submission ID
、user data ID
、および各添付ファイルのランダム ID
(該当する場合)が生成され、ドラフトまたは送信に関連付けられます。
ユーザーデータにアクセス access-user-data
ログインしているユーザーが下書きを保存したり、フォームを送信したりすると、そのユーザー ID を使用して子ノードが作成されます。 例えば、ユーザー ID が srose
である Sarah Rose のドラフトデータと送信データが AEM リポジトリの /content/forms/fp/srose/
ノードに格納されるとします。このユーザー ID ノード内では、データが階層構造で整理されます。
以下の表は、srose
を使用して作成されたすべてのドラフトのデータが、どのように AEM リポジトリに格納されるのかを説明しています。
drafts
と同一の構造が srose
に送信されたフォーム用に /content/forms/fp/srose/submit/
ノード下にレプリケートされます。anonymous
ユーザーによるすべてのドラフトと送信済みフォームは、/content/forms/fp/anonymous/
ノードに格納されます。このノードでは、匿名ユーザーのすべてのドラフトと送信済みフォームが、draft
ノードと submit
ノードによって整理されます。/content/forms/fp/srose/drafts
/content/forms/fp/srose/drafts/attachments/
/content/forms/fp/srose/drafts/attachments/<ID>
/content/forms/fp/srose/drafts/metadata/
/content/forms/fp/srose/drafts/metadata/<draft ID>
/content/forms/fp/srose/drafts/data/
/content/forms/fp/srose/drafts/data/<user data ID>
ユーザーデータの削除 delete-user-data
AEM システムで、ログインしたユーザーのドラフトおよび送信済みフォームに含まれるユーザーデータを完全に削除するには、特定ユーザーの user ID
ノードを作成者ノードから削除する必要があります。該当するすべての AEM インスタンスから手動でデータを削除する必要があります。
すべての匿名ユーザーのドラフトデータと送信データは、共通の drafts
ノードと submit
ノード内に格納されます。これらのノードは、/content/forms/fp/anonymous
にあります。特定の匿名ユーザーのデータを検索する方法は、何らかの識別情報がわかっている場合を除きます。この場合、AEMリポジトリ内の匿名ユーザーを識別する情報を検索し、該当するすべてのAEMインスタンスからそのノードを手動で削除して、AEMシステムからデータを削除できます。 ただし、すべての匿名ユーザーのデータを削除する場合は、anonymous
ノードを削除することで、すべての匿名ユーザーのドラフトデータと送信データを削除できます。
データベース database
データをデータベースに格納するようにAEMが設定されている場合、フォームポータルのドラフトと送信データは、次のデータベーステーブルに、ログインしたユーザーと匿名ユーザーの両方に格納されます。
- data
- メタデータ
- additionalmetadata
ユーザーデータにアクセス access-user-data-1
データベーステーブル内のログイン済みユーザーと匿名ユーザーのドラフトと送信データにアクセスするには、次のデータベースコマンドを実行します。 クエリで、logged-in user
を、アクセスするデータのユーザー ID または匿名ユーザーの anonymous
と置き換えます。
select * from metadata, data, additionalmetadatatable where metadata.owner = 'logged-in user' and metadata.id = additionalmetadatatable.id and metadata.userdataID = data.id
ユーザーデータの削除 delete-user-data-1
ログインしたユーザーのドラフトと送信データをデータベーステーブルから削除するには、次のデータベースコマンドを実行します。 クエリで、logged-in user
を、削除するデータのユーザー ID または匿名ユーザーの anonymous
と置き換えます。匿名ユーザーのデータをデータベースから削除するには、識別可能な情報を使用してデータを検索し、その情報が含まれるデータベーステーブルからデータを削除する必要があります。
DELETE FROM metadata, data, additionalmetadatatable USING metadata INNER JOIN data ON metadata.userdataID = data.id INNER JOIN additionalmetadatatable ON metadata.id = additionalmetadatatable.id WHERE metadata.owner = 'logged-in user'