How many categories can discourse support?

Is there any limitation on number of categories?

I am planning to create forum site with 500+ categories, is it possible with discourse?

2 Likes

Gotta quote Jeff here:

One thing you should do when starting is to create just a few key categories, and as your forum grows, you can create new categories, and use the search to move topics to the new category.

You can also use tags, that can separate content but are more lightweight.

7 Likes

Can someone please address the main question stated in the title:
How many categories can discourse support?

This is a valid question and very important to consider. Iā€™m well aware of tags and tag groups.

Are there performance concerns or technical issues related to having 1000 categories?
Or maybe there are well working forums with hundreds of categories?

8 Likes

We currently have 263 categories and counting and working well. Most of those however are private and locked down to various groups (approx 240)

5 Likes

Same. We hit 210 just today. Each of the categories are part of the same parent category and each of them is restricted to its very own group of 30 to 40.

Iā€™m also looking into securing conversations between a patient and a medic.
The only solution I found so far by reading the documentation is to:

  • create a category for the user via API
  • create a group for the user via API
  • assign the pationt group, the medic and the staff groups to the category

This way, the patient can and the medic can have interactions that only they can see.
Also more medics could be added to the discussion and they would see the discussions.
Staff can oversee for abuse.

This isnā€™t possible in Discourse. There is no concept of per-topic permissions. What you want is a PM between those people.

I am a bit confused.
I am considering a category per patient.
Each patient can have multiple topics in his category.
I guess, each topic would be a ā€˜visitā€™ / a different case.

Most categories would have a single topic probably.

Iā€™ll research how to do this with personal messages and groups (group messages).

However I am not comfortable with the current ( lack ) of (structured) documentation around discourse.
Topics are nice and is great to see the reasoning that lead to some features, however they have shortcomings on the following:

  • I have to read through comments that are whish-list or features that are not implemented.
  • I miss having a structured documentation that allows me to dig deep into the features I am looking for.

That being said, Discourse is awesome and the above is intended as constructive criticism.
While I am writing this I am thinking that itā€™s just me - I am not familiar enough with Discourse.

p.s. Iā€™m just listening to your interview :slight_smile:

2 Likes

It depends how many patients you plan to have. Discourse isnā€™t designed for a situation where there are 10,000 categories. Even 1000 categories will be a bit of a problem performance wise.

1 Like

Well, itā€™s for a new small project and I expect it will take ~1 year to reach 1000.
But I would like to have a solution that will allow me to grow and not have to migrate away / redo all of it.

What is the limitation with many categories ?
Is it because the UI asks/ receives for all of them by default?
If that is so, can some form of pagination be implemented to mitigate this?

Group PMs work great for the team here on Meta. In your case, it sounds like you would have a PM between

  • the patient
  • the assigned medic(s)
  • the @support_staff group

The support_staff group would benefit from our polished group inbox view, where messages can be ā€œarchivedā€ after itā€™s determined that the group has nothing more to do with the message as it stands.

2 Likes

Itā€™s been a couple of years, and Iā€™m wondering what sort of experience youā€™ve had with this? Iā€™m in the process of building a site that will potentially have thousands of categories (each with at least 2 groups attached), so Iā€™m very interested in hearing how it went for you i.e. where are the bottlenecks, what to try and avoid etc.?