Going to create multiple categories plugin - Advice needed


Hello. Our client is demanding functionality that a topic can be attached to more than one category. And then this topic should be repeatedly visible in all different categories pages that it is attached to.

I saw a big discussion here about this issue and I understand that this feature is not a part of Discourse forum and there are no plans to add it. Also we have considered tags, but it is far from perfect.

So we are left with the only option - to write a multiple categories plugin ourselves. As I have no experience in Ruby it means we will need to hire Ruby developer.

Can you write your opinion what can be the scope of this project, how difficult is it? Approximately how many hours it can take to develop a simple multi categories plugin for discourse?

(Sam Saffron) #2

Use tags its a solved problem.


Hi Sam. As I have written in my original post, tags are not the required solution. We have already experimented with that.

(Sam Saffron) #4

If it is far from perfect I would recommend you refocus efforts on adding the missing features you need to tags.

If I needed to add support for multi categories per topic it would probably take me 3-6 months of work full time and end up being very hacky (not that I would even consider doing that)


Can it really be that hard? Adding extra categories field in starting new topic view and then mirroring the created topic in selected categories…

(Sam Saffron) #6

yes, there is a lot of code that depends on the concept that each topic has only 1 category.


Thank you for the clarification.


Do you think it would be possible to hide categories altogether, make all topics without categories by default and use only tags (at least 1 tag is required per topic)? Then on the main page instead of categories drop down menu there would be tags drop down menu.

We are using the official discourse tags plugin. How difficult it would be to modify it so that it would function as described above?

(Sam Saffron) #9

Sure, this is a practical possibility, as long as you don’t need custom security per tag.


Great, thanks!!!