User and UGC Management Service in AEM Communities user-and-ugc-management-service-in-aem-communities
AEM Communities exposes APIs out-of-the-box to manage user profiles and bulk manage user generated content (UGC). Once enabled, the UserUgcManagement service allows the privileged users (community administrators and moderators) to disable user profiles, and bulk delete or bulk export UGC for specific users. These APIs also enable controllers and processors of customer data to comply with the European Union’s General Data Protection Regulations (GDPR) and other GDPR inspired privacy mandates.
For further information see the GDPR page at the Adobe Privacy Center.
To put these APIs to use, you need to enable the /services/social/ugcmanagement
endpoint by activating the UserUgcManagement service. To activate this service, install the sample servlet available on GitHub.com. Then, hit the endpoint on publish instance of your communities site with appropriate parameters using an http request, similar to the following:
http://localhost:port/services/social/ugcmanagement?user=<authorizable ID>&operation<getUgc>
However, you can also build a UI (user interface) to manage user profiles and user generated content in system.
These APIs enable perform the following functions.
Retrieve the UGC of a user retrieve-the-ugc-of-a-user
getUserUgc(ResourceResolver resourceResolver, String user, OutputStream outputStream)
helps export all the UGC of a user from the system.
- user: authorizable ID of a user.
- outputStream: result is returned as output stream, which is a zip file including the user generated content (as json file) and attachments (which include images or videos uploaded by the user).
For example, to export the UGC of a user named Weston McCall, who uses weston.mccall@dodgit.com as authorizable ID to log in to communities site, you can send an http GET request similar to the following:
http://localhost:port/services/social/ugcmanagement?user=weston.mccall@dodgit.com&operation=getUgc
Delete the UGC of a user delete-the-ugc-of-a-user
deleteUserUgc(ResourceResolver resourceResolver, String user) helps delete all the UGC for a user from the system.
- user: authorizable ID of the user.
For example, to delete the UGC of a user having authorizable ID weston.mccall@dodgit.com through http-POST request, use the following parameters:
- user= weston.mccall@dodgit.com
- operation= deleteUgc
Delete UGC from Adobe Analytics delete-ugc-from-analytics
To delete user data from the Adobe Analytics, follow the GDPR Analytics workflow; as the API does not delete user data from Adobe Analytics.
For Adobe Analytics variables mappings used by AEM Communities, refer the following image:
Disable a User Account disable-a-user-account
deleteUserAccount(ResourceResolver resourceResolver, String user) helps disable a user account.
- user: authorizable ID of the user.
For example, to delete the profile of a user having authorizable ID weston.mccall@dodgit.com through http-POST request, use the following parameters:
- user= weston.mccall@dodgit.com
- operation= deleteUser