I'm wondering if anyone has any idea of how to "fix" this. On our home page we have a "Top Authors" widget that shows the people that get the most kudos. However, since we enabled kudos in our Idea Exchanges, the "Top Authors" shown are mostly people that have submited an idea and the idea has a lot of kudos. 😕 Our # 1 "Top Author" has only posted 1 topic, 0 replies, and has only logged in to our system 6 times.
Do you have any suggestions on how to block Idea Exchange kudos from being recognized in the Top Poster widget?
Hi kgroneman,
There is no admin setting to restrict Kudos from a specific node (such as an idea node) to appear in the top level Kudos Leaderboards. What you can do is take a look at the XML for the Community Page and scope that Top Kudoed Authors component to a specific interaction style.
<component id="kudos.widget.authors-leaderboard" mode="wide" interactionStyle="forum" />
You can use either a "slim" or "wide" mode and you can set the interaction style variable to any discussion style. The possible values: forum, blog, tkb, idea, qanda, review, contest, and group.
Thanks. Good info. Can you scope it to more than one node type? For example forums and blogs?
Unfortunately, it is not possible. It can only scope to one specific interaction style. It is useful for filtering out ideas but that is the downside currently.
I would love to see that in the platform and I don't see a current idea for that in our idea exchange. I highly recommend submitting an idea for that in our Idea Exchange!
Argh. We're using a custom component for this, written before anyone here became involved. In looking at this code, is there an obvious way to limit the widget to forums? If not, I'll have to rethink this widget:
<#include "message-macros" /> <#include "user-macros" /> <#include "pillar-macros" /> <#assign isPillar = isPagePillar() /> <#assign msgCount = 3 /> <#if coreNode.nodeType == "category" && !isPillar> <#assign call_path = "/categories/id/${coreNode.id}" /> <#assign category_path = "/category-id/${coreNode.id}" /> <#else> <#assign call_path = "" /> <#assign category_path = "" /> </#if> <#assign timerange = settings.name.get("profile.kudos_user_leaderboard_time", "all") /> <#assign author_list = rest(call_path + "/kudos/authors/leaderboard?max_age=${timerange}&page_size=${msgCount}&page=1").users.user /> <@displayComponentTop titleKey="label.top-authors" /> <#if author_list?size gt 0> <div class="top-authors"> <#list author_list as author_id> <#assign qry = "SELECT id, login, view_href, rank.name, kudos_received.sum(weight) FROM users WHERE id = '${author_id.id}'" /> <#assign authors = executeLiQLQuery(qry) /> <#if authors?? && authors?size gt 0> <div class="top-author"> <div class="avatar-wrapper"> <#assign avatarUrl = getAvatarUrl(authors[0].id, "message") /> <img src="${avatarUrl}" alt="" class="avatar"/> </div> <div class="detail"> <div class="username"><a href="${authors[0].view_href}" class="profile-link">${authors[0].login}</a></div> <div class="rankname">${authors[0].rank.name}</div> </div> <div class="kudos-received">${authors[0].kudos_received.sum.weight}</div> </div> </#if> </#list> <#--<div class="lia-view-all"><a href="#" class="lia-link-navigation view-all-link">${text.format("label.view-all")}</a></div>--> </div> <a href="/t5/forums/kudosleaderboardpage${category_path}/timerange/${timerange}/page/1/tab/authors" class="lia-link-navigation view-all-link">${text.format("label.view-all")}</a> </#if> <@displayComponentBottom />
One hacky option could be to increase the number of users you fetch from the API ("msgCount"), then as you're looping through the users, check some metric (i.e. number of posts) and decide if you want to include them on the leaderboard.
Another possible option is in admin you can exclude certain roles from the leaderboards. You could play with that and possibly exclude new users (depending on your current role/rank structure).
Otherwise, there is no way to determine where the kudos came from.
I wish I were a developer. ...... Thanks for the responses guys. Now to see what's the best way to deal with it.
Welcome to the Technology board!
Curious about our platform? Looking to connect on social technology? You've come to the right place!