AEM Communities blog-how to list followers details | Community
Skip to main content
Sh1ju
Level 4
Apr 17, 2018 5:51 PM UTC
Solved

AEM Communities blog-how to list followers details

We can list items(Blogs,Authors,Tags and Archives) under a particular blog category with the help of DefaultSocialGetServlet(using selector social).Please tell me how to list the details of persons following a blog.

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Rahul_Bhardwaj
Rahul_BhardwajAccepted solution
Employee
Apr 23, 2018 6:55 AM UTC

AFAIK, there is no direct API but you can access social:rootCommentSystem property of the blog id using your logged in user.
e.g for blog id '/content/usergenerated/asi/jcr/content/we-retail/us/en/community/blog/jcr:content/content/ primary/blog/layer-it-on'

social:rootCommentSystem is

/content/we-retail/us/en/community/blog/jcr:content/content/primary/blog

The blog site url will be this path till jcr:content and add .html to render it. i.e. /content/we-retail/us/en/community/blog.html will render the blog site for you.

Alternatively, you can also access top level resource of a blog id by commentObj.getTopLevelResource() , which will essentially give you same as social:rootCommentSystem and than you can proceed as above.

The blog site URL path is also present in basePageURL. This property will be available to you while rendering blog id and you can see this in the entry_topic.hbs. If you have to use it while rendering the blog id only, this will be your best bet. Overlay hbs file and use basePageUrl, wherever you want to use,

I want to add that if you have to use this, overlay or extend(preferrably) blog instead of doing in OOTB components.

5 replies

Rahul_Bhardwaj
Rahul_BhardwajAccepted solution
Employee
Apr 23, 2018 6:55 AM UTC

AFAIK, there is no direct API but you can access social:rootCommentSystem property of the blog id using your logged in user.
e.g for blog id '/content/usergenerated/asi/jcr/content/we-retail/us/en/community/blog/jcr:content/content/ primary/blog/layer-it-on'

social:rootCommentSystem is

/content/we-retail/us/en/community/blog/jcr:content/content/primary/blog

The blog site url will be this path till jcr:content and add .html to render it. i.e. /content/we-retail/us/en/community/blog.html will render the blog site for you.

Alternatively, you can also access top level resource of a blog id by commentObj.getTopLevelResource() , which will essentially give you same as social:rootCommentSystem and than you can proceed as above.

The blog site URL path is also present in basePageURL. This property will be available to you while rendering blog id and you can see this in the entry_topic.hbs. If you have to use it while rendering the blog id only, this will be your best bet. Overlay hbs file and use basePageUrl, wherever you want to use,

I want to add that if you have to use this, overlay or extend(preferrably) blog instead of doing in OOTB components.

Translate
Sh1ju
Sh1juAuthor
Level 4
Apr 22, 2018 2:45 PM UTC

Thanks for sharing valuable information.

How can we get blog site url from a blog id ?For example ,one of we-retail  bog id is '/content/usergenerated/asi/jcr/content/we-retail/us/en/community/blog/jcr:content/content/primary/blog/layer-it-on' .Is there any API to get blog url from this blog id ?

Translate
Rahul_Bhardwaj
Employee
Apr 18, 2018 8:05 AM UTC

@Sh1ju - No, that's not possible and there is no such api as well.
You can use [0], to get all subscriptions of a user but can't get all followers to a particular component. You can try modifying code snippet [1] as follows -

List<String> list = new ArrayList<String>();

String type = map.get(TYPE).toString();

//Add to result if the

if(type.equals(substype)) {

if(map.get(EDGE_END).equals({path of your blog}) {

     list.add(map.get(EDGE_START).toString());

}

and see if that works

[0] - aem-communities-extensions/aem-communities-subscription-management at master · Adobe-Marketing-Cloud/aem-communities-ext…

[1] - https://github.com/Adobe-Marketing-Cloud/aem-communities-extensions/blob/master/aem-communities-subscription-management/bundle/aem-communities-subscription-management/src/main/java/com/adobe/aem/communities/subscriptionManagement/impl/servlets/UserSubscriptionsServlet.java#L119-L124

Translate
Sh1ju
Sh1juAuthor
Level 4
Apr 17, 2018 7:03 PM UTC

Do we have any out of the box reporting feature to list down subscribers/followers to a blog ? We are using ASRP for storage.

Translate
smacdonald2008
Level 10
Apr 17, 2018 6:43 PM UTC

Checking with the product team.

Translate