Searching for a plugin which should count Number of likes and comments

I'm looking for a plug-in whcih should count number of likes and comments added in each page.

Preferably I'm looking for a free plug-in.

Thanks in advance

Vijay Krishna

2 answers

Hey Vijay,

I made a research on our marketplace and over the internet but I did not found a plugin that fully matched the criterea you want.

The onyl plugin I found was the Global Usage Activity which is bundled in confluence and it's disabled by default.

The pros of Above plugin:

  • It shows all the likes of the most popular spaces (not pages).
  • It's free

The Cons:

  • Will only count the likes after the plugin is activated.
  • I'ts know to cause performance problems on long term use on large instances.

Another option I found to achieve the end you want is trough SQL queries in your database:

Number of likes per Page:

select count (*) as Likes, CONTENTID as PageID 
from LIKES
group by CONTENTID;

Number of Comments per Page

select count (*) as Comments, CONTENTID as PageID 
from CONTENT
where CONTENTTYPE = 'COMMENT'
and CONTENT_STATUS = 'current'
group by CONTENTID;

The above you return the page ID which you can use in the end of below URL so you can navigate

to the target page (replace 12345 with the PAGE ID of above querries):

http://YourConfluenceURL/pages/viewpage.action?pageId=12345

It's not a optimal solution but at least you will be able to know which pages have the most number of likes and comments.
Hope it helps.
Thanks and Regards,
David|Confluence Support Engineer

Servus Vijay,

try this in a UserMacro

## @param Content:title=Content|type=confluence-content|required=true|desc=Select a page
#set($containerManagerClass = $content.class.forName('com.atlassian.spring.container.ContainerManager'))
#set($getInstanceMethod     = $containerManagerClass.getDeclaredMethod('getInstance',null))
#set($containerManager      = $getInstanceMethod.invoke(null,null))
#set($containerContext      = $containerManager.containerContext)
#set($pageManager           = $containerContext.getComponent('pageManager')) 
#set($likeManager           = $containerContext.getComponent('likeManager'))

	#if($paramContent)
		#set($parts = $paramContent.split(":"))
		#set($spaceKey = "")
		#set($pageTitle = "")
		#set($valueCount = 0)

		#foreach($part in $parts)	
			#if($valueCount == 0)
				#set($spaceKey=$part)
			#else
				#set($pageTitle=$part)	
			#end
			#set($valueCount=$valueCount+1)
		#end

		#if($valueCount <= 1)
			#set($pageTitle=$spaceKey)
			#set($spaceKey=$space.getKey() )		
		#end

		#set($page = $pageManager.getPage($spaceKey,$pageTitle))
	#end

#set($likes = $likeManager.getLikes($page).size() )
#set($comments = $page.getComments().size() )

LIKES: $likes<br>
COMMENTS: $comments<br>

Hope that helps

Wolfgang

Thanks Wolfgang,

It's working but I want to have the likes and comments count in each page of a space.

Is there any poosibility like If i give the apce name.It should print all the count of likes,comments in each page of that space.

Thanks

Vijay

Suggest an answer

Log in or Sign up to answer
Community showcase
Published Oct 09, 2018 in Confluence

Introducing Praecipio Consulting, an Atlassian Solution Partner

Hey there Community!  My name is Vannya Vallejo, the Channel Communication Specialist at Atlassian and I want to help Atlassian users like you learn about our Solution Partners and how they c...

364 views 0 9
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you