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