Sort topics (within category) in alphabetical order by default

I know that the issue has been discussed before and some progress has been made (and that many disagree that alphabetic sorting on topic title is useful), but to me it is. I am experimenting with Discourse to see if I can use it to replace NeuroDSS.com which contains neurosurgical classification and grading systems. The option that users can add their own classifications (and more) and discuss them on site is a great side benefit. Primarily however, I want users to go to categories easily and find the content they are looking for.

I managed to get the categories view first when accessing NeuroMind.cc, and modified @sam’s Minimal Topic List Design to allow the user to sort topics in alphabetical order by changing this piece in the header :

<script type='text/x-handlebars' data-template-name='topic-list-header.raw'>
    {{raw "topic-list-header-column" sortable='true' order='topic.title' name='topic.title'}}

This works, but the user still has to perform the sorting manually. How can this be done as a default setting when the category is opened?

Side note: I also changed

{{raw "topic-list-header-column" sortable='true' number='true' order='replies' forceName='Replies'}}

(in the original post it said order='posts' and it gave some side effects, guess that is a typo)

Any help would be greatly appreciated!

Pieter

5 Likes

I think if you “need” to sort by title there is something wrong with your approach. As in, you should be using categories or tags for that information rather than embedding it in the title as a string.

That depends, I guess… If someone wants to “browse” through a certain category it may be helpful if the content is sorted. Otherwise a topic may be at a different position everytime.

I realize this is not the main purpose of Discourse, but to me the lack of it is currently holding me back of proceeding. Fortunately you also offer categories as JSON in which I can do sorting to create some mobile version myself, but I prefer not to. :wink:

3 Likes

It would probably be easy enough to sort by title except for one problem - endless scroll.

So do an alpha sort in batches of 30?

Wouldn’t it be better to use Search?

2 Likes

Depends… for very large categories, yes. But if a specific category is restricted regarding adding new content, no.

1 Like

We have a category explaining terms; a dictionary. Here alphabetic sorting would be handy to quickly scroll to the right term.
Why is endless scrolling a problem…? Couldn’t you just start with ‘A’ and load ‘B’ as the user scrolls down?

Or is the problem that the list can’t be made because to the browser not all topics are known yet, before the user scroll down?

3 Likes

I think using Tags would be the far easier way to present alphabetically grouped lists, else The Search feature.

It looks like this idea isn’t going to happen but just to share my use case - we have voting enabled for topics & want to enable users to vote for the stocks that they’d like us to add to our service so that they can invest in them (we’re a stockbroker).

The names of each topic within the dedicated category is the name of the stock.

Unless I’m missing something, it seems like the most useful way to order the list, within the category view, would be in alphabetical order, to make finding stocks that others have already requested easier.

I don’t think Tags would be right for this, as we’d only use each Tag once - one Tag for each of the stocks. And as we all know, a large proportion of users don’t use search.

3 Likes

My use case: One of the categories in my Discourse is a User Guide for a website. In the User Guide category I have Topics like “About”, “Getting Started”, “Searching”, etc. These Topics should be ordered in a specific way, rather than by last update or some other metric. If I could sort the Topics alphabetically, I could rename them to “1. About”, “2. Getting Started”, etc.

4 Likes

Can we please have this already? There have been a lot of requests with various usages explained that affect people. I understand the whole philosophy of encouraging good practices, but this has had at least 4 topics I’m aware of and plenty of replies requesting it … arguing that we’re doing it wrong is kind of telling us we’re all stupid at this point :slight_smile:

At least please allow it with query strings in the url (?sort=title) so you don’t waste time on GUI extras, but please don’t oppose it to the point of almost preventing it.

I don’t need it by default. I just want to be able to do it.

In my case, we add integers to post titles as a “rank”, which we change over time as we review the topic’s importance and add new topics. Integers are not necessarily consecutive and their value matters too. It’s a private forum where each topic is a piece of (important) info, from which we need to pick the best N as a last step. The rank reviewing process requires seeing all of them in in one page, and also seeing the integer, then resort, review again, and so on, as we keep working and adding topics with various ranks in-between existing ranks.

We can’t use tags or other ugly categorization, because that would remove a subset of titles from view. Search doesn’t help either.

Currently we copy paste the titles into excel and do the whole thing there, then come back and re-edit, etc … which is stupid. Discourse should have sorting by title. It’s pretty basic.

p.p.s. So far I know of

2 Likes

So we needed another topic about this? If you feel so strongly about it, offer a bounty in #marketplace, or sign up for an enterprise hosting plan at discourse.org