Khoros Atlas Logo

Highlighted
Occasional Advisor
Occasional Advisor

Knowledge Base Badges

We are looking to gamify our Knowledge Base. Specifically we want to recognize all the user that are contributing to our Knowledge Base articles. This will essentially promote users to contribute and share great information. It will not only recognize the user who nominates a post to be a Knowledge Base article, but also anyone who comments useful information to be included. We have recognized that there is often more than one user who participates (see image)

 

Contributors.JPG

 

The problem we are facing is that there does not seem to be an API for us to easily automate this process. When setting up our Knowledge Base we were led to believe that this would be an option but we cannot seem to get it to work. 

 

Obviously there is some API that we are missing if Lithium provides our community the ability to see the "Top Contributors" for each section of our Knowledge Base (see image).

 

Top Contributors.JPGTop Contributors in TKB

 

The question really is how do we call on the number of contributions and automate that to initiate a badge when they hit certain amount of contributions. 

 

Any help would be great. This will really help to ensure the community participation on TKB articles and give those users recognition when they are authoring the right kind of posts. All fantastic gamification reasons!

0 Kudos
3 Replies 3
Honored Contributor
Honored Contributor

Re: Knowledge Base Badges

@ComcastJessie - If you say about top contribution which one following do you mean? 

 

1. Posting the most numbers of replies in the knowledgebase.

2. Highest Kuoded author. 

As lithium does show the highest kuoded author as top contributor SS below.  Which is also for some specific time e.g one month, one year etc.

http://prntscr.com/j6ol1j

 

I assume you want to get the users who posted highest numbers of replies in the knowledgebase. According to that, you want to give them a badge. 

For both approaches, you just need to  get if the user has reached to the given number and assign them a different role e.g 

 

Fetch the number of replies

 

SELECT count(*) from messages where depth > 0 AND author.id = '<author.id>'

If a user has reached to the number of selected replies, you can assign them a role 

 

http://community.lithium.com/community-name/restapi/vc/roles/id/[id] /users/add

https://community.lithium.com/t5/Developer-Documentation/bd-p/dev-doc-portal?section=commv1&leaf-id=...

 

 

For the badge assignment rule, you can select that role as badge requirement. Once the user will get that role, a new badge will be automatically assigned. 

http://prntscr.com/j6os4j

 

<#if repliesCount &gt; 10>

  <!-- assign role 1 -->

<#elseif repliesCount &gt; 20>

  <!-- assign role 2 -->

<#elseif repliesCount &gt; 50>

  <!-- so on -->

<#if>

 

Give kudos if you find my posts helpful or mark solution if it answers your query.
Tariq
Reply
Loading...
Occasional Advisor
Occasional Advisor

Re: Knowledge Base Badges

@TariqGrazitti,

 

Sorry for the confusion. We do not want to badge the user with the most replies on a TKB article or the user with the most kudos. We would like to only acknowledge the users that are specifically listed as a contributor on a TKB article.

 

In our community all registered users have the ability to post and reply. Only our Experts (Superusers) and Official Employees have the ability to nominate a post to be "turned" into a TKB article. When authoring said TKB article (only done by Community Admins) we like to acknowledge all users involved in this process by manually adding them as "Contributors" on said TKB (see image). This list of Contributors can include the original poster, the user with the marked "Solution" on that post, the user who recognized that the post would make a good TKB and nominated it, and the Community Admin that helps author. 

 

Contributors1.JPGAdding contributors on a TKB

 

 

We believe it is important to recognize these users for participating in the community in the right ways and want to do so in an incremental fashion. This means the first time they are added as a contributor, they would receive their first TKB contributor badge. Once they have been added to 5 articles as a contributor, they would receive the 5 TKB contributor badge, and so on (see image).

 

TKB Badge.pngTKB Contributor Badge Image 

 

We know that in our TKB section there is already a widget counting the users that are being added as contributors to TKB articles because it keeps a full list of all contributors for that area of our TKB (see image). 

 

Top Contributors.JPG

 

Again, we want to be able to automatically award badges to users who have hit those incremental milestones by being added to a TKB as a contributor a certain number of times. 

 

Thanks in advance for any help you can provide. 

 

 

 

0 Kudos
Reply
Loading...
Honored Contributor
Honored Contributor

Re: Knowledge Base Badges

@ComcastJessie - 

 

Thanks for the clarification on this.  I couldn't find any API which can get you the count of the TKBs where a user is being added as contributors.  

Something similar API I found is,

 

SELECT count(*) FROM messages WHERE participants.id = '<user-id>' AND depth = 0

However, it was returning all the TKBs where a user has posted a reply which might be different from your need. 

 

 

I suggest you should post an idea  here and request a rest API call e.g 

SELECT count(*) FROM messages WHERE contributor.id = '<user-id>' AND depth = 0

Or create a workaround which stores the number of times a user has been added as a contributor. 

 

Give kudos if you find my posts helpful or mark solution if it answers your query.
Tariq
0 Kudos
Reply
Loading...