AEM Communities blog-how to list followers details | Community
Skip to main content
Sh1ju
Level 4
April 17, 2018
Solved

AEM Communities blog-how to list followers details

  • April 17, 2018
  • 5 replies
  • 5353 views

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.
Best answer by Rahul_Bhardwaj

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

smacdonald2008
Level 10
April 17, 2018

Checking with the product team.

Sh1ju
Sh1juAuthor
Level 4
April 17, 2018

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

Rahul_Bhardwaj
Adobe Employee
Adobe Employee
April 18, 2018

@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

Sh1ju
Sh1juAuthor
Level 4
April 22, 2018

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 ?

Rahul_Bhardwaj
Adobe Employee
Rahul_BhardwajAdobe EmployeeAccepted solution
Adobe Employee
April 23, 2018

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.