Hi @matthew_cowan If you have an access to your message list component in Studio (we have a customized one), then you should see there how the message list is sorted. Usually, it is something like: <assign dataForMessageList = takeData + orderIt + andLimitIt> takeData will be the "take this and that data from this part". For example: <#assign takeData = "SELECT id, subject, body, metrics.views, tags, labels, images, post_time, post_time_friendly, conversation.last_post_time, moderation_status, conversation.last_post_time_friendly, author.login, author.avatar.message, view_href, author.view_href, read_only, author.rank.name, author.rank.color, author.rank.icon_left, author.rank.bold, author.rank.icon_right, author.online_status,board.id, author.avatar.profile, board.view_href, board.title, replies.count(*), kudos.sum(weight), conversation.solved, user_context.read FROM messages WHERE depth = 0 AND board.id = '${coreNode.id}' " /> "orderIt" is the part you are looking for, for the filtering. It can look something like this: <#switch sorting>
<#case "kudos">
<#assign orderIt = "ORDER BY kudos.sum(weight) DESC " />
<#break>
<#case "views">
<#assign orderIt = "ORDER BY metrics.views DESC " />
<#break>
<#case "replies">
<#assign orderIt = "ORDER BY replies.count(*) DESC " />
<#break>
<#case "post_time">
<#assign orderIt = "ORDER BY post_time DESC " />
<#break>
<#case "unaswered">
<#assign orderIt = "AND replies.count(*)=0 ORDER BY post_time DESC " />
<#break>
<#case "no_solution">
<#assign orderIt = "AND conversation.solved=false ORDER BY post_time DESC " />
<#break>
<#default>
<#assign orderIt = "ORDER BY conversation.last_post_time DESC " />
<#break>
</#switch> So adding three new filtering modes (post_time, no_solution, and unanswered) was for us just the case of adding the different logics of sorting data to the code and then later adding it to the dropdown menu. What kind of sorting you'll use is all up to you. Our users were looking for an easy way of finding questions without answers or accepted solutions, so this was important for us to make their experience of helping others in the forum as easy as possible. <select id="community-activity-sorted-by">
<option value="recent" <#if sorting == 'recent'>selected</#if>>${text.format("theme-lib.community-activity.recent")}</option>
<option value="views" <#if sorting == 'views'>selected</#if>>${text.format("theme-lib.community-activity.views")}</option>
<option value="replies" <#if sorting == 'replies'>selected</#if>>${text.format("theme-lib.community-activity.replies")}</option>
<option value="kudos" <#if sorting == 'kudos'>selected</#if>>${text.format("theme-lib.community-activity.kudos")}</option>
<option value="post_time" <#if sorting == 'post_time'>selected</#if>>${text.format("New questions")}</option>
<option value="unaswered" <#if sorting == 'unaswered'>selected</#if>>${text.format("Unanswered questions")}</option>
<option value="no_solution" <#if sorting == 'no_solution'>selected</#if>>${text.format("Without solution")}</option>
</select>
... View more