ContributionsMost RecentMost LikesSolutionsRe: How do I get the article ID in Freemarker in a TkbArticle? phoneboy We can use the below context object to get the article ID inside the TkbMessage quilt on the TkbArticlePage. ${env.context.message.uniqueId} For article ID on TkbArticlePage. ${page.context.thread.topicMessage.uniqueId} For message/comment ID on TkbArticlePage. ${page.context.message.uniqueId} Re: Lab / Idea / Unconference Meetup? Count me in guys, I would love to meet the devs working on Khoros Platform, it's been more than 4 years now, that I have been working on the Khoros Classic Community Platform, and I just started working on the Aurora Community, would be great to share the insights and knowledge and to discuss the things we can help each other with. Re: Khoros Communities 23.12 Release "Report Inappropriate Content" message truncation issue exists on Stage and Production Instances. Hoping for a quick solution and fix to be deployed on all instances it has broken. Re: Get sub categories and group hubs using single API Hi satya You can use the below API for your use case: SELECT * FROM nodes WHERE parent.id="category:zzzzzzzz" Please replace zzzzzzzz with your category ID and let me know if you face any issues or have any further queries. If you appreciate my efforts, please give me a Kudo ↓ Accept as a Solution to help others find it faster. Re: What's the Best Practice for showing Badge Count beside Profile Pic on all posts? (Caching?) Hi Claudius, In APIv1 we can get only earned badges but in APIv2 we get earned+unearned badges which are visible on the profile page and we don't have any constraint to filter unearned badges. In other words, we also get badges that users have not yet earned in APIv2 because those badges are visible on the user profile page due to the below checkbox not being checked when creating a new badge. Screenshot: https://prnt.sc/MMbhCdIdX4oI Re: Show Recent Posts, Most Kudoed Posts and Most Viewed Posts. Hi Jk07 , Below are the APIs available in APIv2 below, Khoros always recommends using APIv2 as we can fetch specific fields required with APIv2 irrespective of APIv1: Most Recent Posts APIv2 select * from messages ORDER BY post_time DESC ~~other variation with more fields and options: select id, tags, labels, conversation.solved, conversation.last_post_time, conversation.last_post_time_friendly, user_context.read, images, board.id, board.title, board.view_href, teaser, body, post_time_friendly, subject, author.login, author.view_href, author.avatar.profile, author.rank.name, author.rank.color, author.rank.bold, post_time, view_href, kudos.sum(weight), replies.count(*), metrics.views, conversation.solved from messages where conversation.style = "forum" and depth=0 ORDER BY post_time DESC limit 999 offset 0 Most Kudoed Posts APIv2 select * from messages ORDER BY kudos.sum(weight) DESC ~~other variation with more fields and options: select id, tags, labels, conversation.solved, conversation.last_post_time, conversation.last_post_time_friendly, user_context.read, images, board.id, board.title, board.view_href, teaser, body, post_time_friendly, subject, author.login, author.view_href, author.avatar.profile, author.rank.name, author.rank.color, author.rank.bold, post_time, view_href, kudos.sum(weight), replies.count(*), metrics.views, conversation.solved from messages where conversation.style = "forum" and depth=0 ORDER BY kudos.sum(weight) DESC limit 999 offset 0 Most Viewed Posts APIv2 select * from messages ORDER BY metrics.views DESC ~~other variation with more fields and options: select id, tags, labels, conversation.solved, conversation.last_post_time, conversation.last_post_time_friendly, user_context.read, images, board.id, board.title, board.view_href, teaser, body, post_time_friendly, subject, author.login, author.view_href, author.avatar.profile, author.rank.name, author.rank.color, author.rank.bold, post_time, view_href, kudos.sum(weight), replies.count(*), metrics.views, conversation.solved from messages where conversation.style = "forum" and depth=0 ORDER BY metrics.views DESC limit 999 offset 0 Please give me Kudos if you think my post is helpful and Accept as Solution if this answers your query Re: Get All Labels using API v1 call. Jk07 , No, we don't have any page_limit parameter in the API, also the maximum value allowed in the page_size parameter is 1000 only. we cannot specify any greater value, although you can specify any lesser value like 500 but then pagination will be recreated and you need to hit 8 API calls for 3800 labels. so the best hit is 1000 page_size which is the maximum. Re: Get All Labels using API v1 call. Hi Jk07 , You can get all the community labels using below APIv1 call: https://[Community Domain]/restapi/vc/labels?page=1&page_size=1000 where you can change the page_size limit parameter or change the page parameter to get other labels available on other pages. For example, if you want to get all labels of a community having a total label count of 3800 labels then you need to hit below 4 API calls. https://[Community Domain]/restapi/vc/labels?page=1&page_size=1000 https://[Community Domain]/restapi/vc/labels?page=2&page_size=1000 https://[Community Domain]/restapi/vc/labels?page=3&page_size=1000 https://[Community Domain]/restapi/vc/labels?page=4&page_size=1000 Kindly give kudos and mark this as an accepted solution if this post helped you in any way. Re: Badges upload Hi ionyema , We have two options to bulk upload assets in Khoros Classic Communities: Community SDK Plugin but it will be a time-consuming process to install it completely and then pushing the assets. "Lithium Bulk Uploader" Google Chrome Extension which allows us to upload assets in bulk with a cool drag and drop feature. The extension is currently unlisted from Google Chrome Store but you can download it from the below link: https://extpose.com/ext/73439 Give kudos if you find my post helpful or mark solution if it answers your query Re: Community API Hi Jk07 , As per my understanding and experience with Khoros, below are my observations and understanding: Khoros started with API v1 and has all GET and POST calls for it, like getting new messages/posts, boards, categories, users, etc., and then we have POST calls for creating new posts, replies, Kudo, etc. In APIv1, we get messages/boards/categories data in a preset format in XML with all the fields mentioned in that format and we cannot get any specific fields from it. In APIv2, it majorly introduced LIQL GET calls where we can hit API for specific fields for example getting only user emails for all the users, or getting only message subjects from all the messages. In APIv2, we get POST calls for a user object, message object, etc. where we can consume POST calls with APIv2 which is more effective and efficient, for example moderating messages with APIv2 works better than APIv1. So as a recommendation, we should always use APIv2 for whichever things are available and if any API is not available in APIv2 then we can go ahead with APIv1, in my opinion, APIv2 is always better than APIv1 in terms of speed and versatility. For more details, documentation link below: https://developer.khoros.com/khoroscommunitydevdocs/reference/khoros-communities-platform-apis Do like my comment if you think it helped you in any way.