We are using AEM 6.2, Communities FP3, SP1. for our project. Our project has a requirement to customize OOTB “AEM Community Members Component”. We got a recommendation from Adobe to overlay the Community Members Component.
We have overlaid two components
1) /apps/social/group/components/hbs/communitygroupmemberlist
2) /apps/social/group/components/hbs/communitygroupmember
For inviting new users /libs/social/messaging/components/hbs/userchooser is being used which returns user list in json format ( URL is
http://localhost:4502/content/we-retail/community/en/groups/jcr:content/content/primary/communitygro...userlist.social.0.20.json)
The response is
{"id":"/content/we-retail/community/en/groups/jcr:content/content/primary/communitygroups/userlist","properties":{"searchLastName":"true","jcr:lastModifiedBy":"admin","jcr:created":1425503455434,"jcr:createdBy":"admin","jcr:lastModified":1425503537087,"jcr:primaryType":"nt:unstructured","searchMiddleName":"true","showUsers":"true","searchGivenName":"true","searchDisplayName":"true","searchEmail":"true"},"editable":true,"totalSize":-1,"items":[{"id":"/social/authors/testuser","name":"Test User","type":"user","profilePath":"/home/users/testuser/profile","admin":false,"superSizeAvatarUrl":"/etc/designs/default/images/social/avatar.png","disabled":false,"numberOfPosts":0,"avatarUrl":"/etc/designs/default/images/social/avatar.png","largeAvatarUrl":"/etc/designs/default/images/social/avatar.png","path":"/home/users/testuser","authorizableId":"testuser","resourceType":"social/console/components/hbs/users/user","url":"/social/authors/testuser.social.json","friendlyUrl":""}],"resourceType":"social/messaging/components/hbs/userchooser","url":"/content/we-retail/community/en/groups/_jcr_content/content/primary/communitygroups/userlist.social.json","friendlyUrl":"/content/we-retail/community/en/groups.html"}
We have a requirement where profile image is stored in Mongo and need to have different profile url customized for our application.
In order to extend backedn APIs I could not find AbstractUserChooserCollection and UserChooserSocialComponentFactory class for the component /libs/social/messaging/components/hbs/userchooser which returns a userlist.social.0.20.json.
As per Adobe's documentation in order to extend backend APIs the overlaid component has to extend One Abstract Class and SocialComponentFactory.
For example if I need to extend Community Comments Component then the two class available for extending are AbstractCommentCollection and CommentSocialComponentFactory
I could not find any Abstract class and SocialComponentFactory in the documentation to Extend
"The Adobe AEM Quickstart and Web Application."
Reference JSON response of we-retail website which I want to change
/content/we-retail/community/en/groups/jcr:content/content/primary/communitygroups/userlist.social.0.20.json
Checking with AEM communities experts!!
Views
Replies
Total Likes
Any update Kautuk?
Views
Replies
Total Likes
We should hear back on Mon - the Office in that location was closed on Fri.
Views
Replies
Total Likes
Hi
Do you think you have similar requirement as this - Extend the User Profile Information in Communities Components
-Ashok
Views
Replies
Total Likes
I could not find any Abstract class and SocialComponentFactory in the documentation to Extend
"The Adobe AEM Quickstart and Web Application."
Reference JSON response of we-retail website which I want to change
/content/we-retail/community/en/groups/jcr:content/content/primary/communitygroups/userlist.social.0.20.json
Also I could not find any Abstract class and SocialComponentFactory in the documentation to Extend for below components
1) social/group/components/hbs/communitygroupmemberlist
2) social/group/components/hbs/communitygroupmember
Views
Replies
Total Likes
Hi Ashok
Comments, Updates and Notfications are showing the profile image based on the implementation of the link which you had provided.
Extend the User Profile Information in Communities Components
But in my case it does not go through that class.
Thanks
Views
Replies
Total Likes
There are few extensions of AbstractUser which comes OOTB to cater specific needs of features more related to user administration via group members or console members UI ( on author instance) . e.g. CommunityGroupUser , CommunityMemberUser and may not pick updated avatar URL from custom implementation. Implementing these interfaces is also possible but can be very extensive customization. Usual avatar images on publish side where UGC is being created and consumed can be extended via the approach given on thread I shared earlier.
Hi Ashok
For customizing Comments Component below are the classes/interfaces available
1) com.adobe.cq.social.commons.comments.api.AbstractCommentCollection - This can be used for creating a Collection Class.
2) com.adobe.cq.social.commons.comments.api.CommentSocialComponentFactory - This can be used for Component Factory class.
Community Members Component has two components
1) social/group/components/hbs/communitygroupmemberlist
2) social/group/components/hbs/communitygroupmember
For Customizing Community Members Component We would require Collection class and ComponentFactory classes to extend the backend. Currently we don't have these classes as part of maven dependancies.
Also the implementation of the below classes are not part of AEM maven dependancies and are not exposed as Collection and ComponentFactory class
1) com.adobe.cq.social.group.client.impl.CommunityGroupUserImpl
2) com.adobe.cq.social.group.client.impl.CommunityGroupMemberListComponentImpl
3) com.adobe.cq.social.group.client.impl.CommunityGroupMemberListComponentFactory
Also there are another two components( social/messaging/components/hbs/userchooser and social/console/components/hbs/userlist ) which is used to invite or add members to community group.
These two components are used within the community members component and these also don't have classes, which can be extended.
Since these classes are not available we are not able to extend the functionality for eNet project to have custom profile URL, get custom profile image path, which is stored in Mongo and also
display administrators of the community group in the front end.
Please let us know.
Views
Replies
Total Likes