フォームポータル | ユーザーデータの処理 forms-portal-handling-user-data
AEM Forms ポータルには、アダプティブフォーム、HTML5 フォームおよびその他のフォームアセットを一覧表示するために使用できるコンポーネントが、AEM Sites ページに用意されています。さらに、ログインしたユーザーのためにドラフトや送信済みのアダプティブフォームおよび HTML5 フォームを表示するように構成することもできます。Forms ポータルについて詳しくは、「ポータルでのフォーム発行の概要」を参照してください。
ログインしたユーザーがアダプティブフォームをドラフトとして保存したり送信したりすると、それらは Forms ポータルの「ドラフト」タブと「送信」タブに表示されます。ドラフトおよび送信済みフォームのデータは、AEM デプロイメント用に設定されたデータストアに格納されます。匿名ユーザーのドラフトと送信は、Forms ポータルページに表示されませんが、データは設定済みのデータストアに格納されます。ドラフトと送信に使用するストレージサービスの設定を参照してください。
ユーザーデータとデータストア user-data-and-data-stores
Forms ポータルは、次のシナリオでドラフトフォームと送信済みフォームのデータを格納します。
- アダプティブフォームに設定された送信アクションが Forms ポータル送信アクション である。
- Forms ポータル送信アクション 以外の送信アクションでは、「Forms ポータルにデータを格納」オプションが、アダプティブフォームコンテナの 送信 プロパティで有効になっている。
ログインしたユーザーと匿名ユーザーのドラフトおよび送信済みフォームごとに、Forms ポータルは次のデータを格納します。
- フォーム名、フォームパス、ドラフトまたは送信 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 がデータベースにデータを格納するように構成されている場合、Forms ポータルのドラフトと送信データは、ログインしたユーザーまたは匿名ユーザーを問わず、次のデータベーステーブルに格納されます。
- 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'