Any sub-reddit like feature?

I plan to put Discourse inside iframe on a “problem-solving” community website. The idea is: for each problem there will be Discourse iframe (the main frame is for problem description page). The iframe is set to display only existing Discourse topics belongs to the problem. Each topics should talk about different idea on how to resolve the problem.

Is there a way to accomplish this using Discourse? The closest solution I can think of is “sub reddit” concept: one problem -> one sub reddit

2 Likes

It sounds bit crude, but I guess you could create one category per ‘problem’ and embed a listing of related topics to that one ‘problem’ via category URL: /category/CATEGORY_NAME
Missing piece in this approach is that you need to create a new category each time your app creates new ‘problem’:

https://meta.discourse.org/t/creating-new-categories-topics-from-outside-of-discourse/18752

1 Like

Sounds workable. But in that case there will hundreds or thousands of categories. Furthermore, when creating new topic (i.e solution), users still need to manually select the category, don’t they? Using this approach, the topic could be misplaced by user to wrong category…

Thousands of categories may be a problem (search for thousands of categories here on meta).

Not sure if the tagger plugin would be a better or worse fit, but perhaps that would be a starting point to customize something to meet your needs.

1 Like

Is this even the way Reddit works? I see a lot more “problems” than one per sub-reddit…

1 sub reddit is only for one problem. Inside 1 sub reddit, there will be multiple “ideas”/topic on how to tackle the problem.

The use case is actually more like Facebook comment/Disqus plug in which can be attached to a page, but with much better way for discussion. The problem with those two plug ins (especially Facebook comment): people write comment, leave, and seldom come back. While I think Discourse is more suitable for idea sharing and discussion.

Hm… this ‘comment replacement’ sounds a lot like functionality provided by Wordpress Plugin.
The difference is that WP plugin would create one topic per ‘problem’ and different ideas to solve it would be in separate posts (example).

Aha. Reddit-like functionality seems like overkill for your needs then, at least until you hit massive scale.

You should try out Tagger like @mcwumbly suggested. Each problem would be given a unique tag which would in turn be applied to all new threads addressed to that problem.

Agree, “reddit-like” functionality is overkill term. One problem would probably only have a few solution :smile:

In that case, @lidel’s solution may be the best to start with, until you see a real need for multiple topics with tags.

Or… Is it possible to set multiple homepage with isolated topics list?

Kind of duplicating Discourse instance in a lightweight manner. So, there will be 1.mydiscourse.com, 2.mydiscourse.com, 3.mydiscourse.com (or mydiscourse.com/1, mydiscourse.com/2, mydiscourse.com/3) where the number refers to the “problem” id. Those instances have different set of topics but use the same set of any other data (e.g. user data)

The problem with @lidel’s solution is that, the tags are still coming from users input. While in my case, the tag should be predefined by the system. Furthermore, users should not be able to navigate to different tags.

If those cases are not supported and I need to customize the code myself, what is the easiest (& doesn’t deviate too much from the main code base) patch?

In case someone want to implement the same thing, let me share my solution:

I made * subdomain for each problem, e.g. 1.mydiscourse.com, 2.mydiscourse.com, etc.
Then, Discourse code was modified a bit to parse the subdomain & filter the topics accordingly. The topics Model was also appended with problem_id column.

https://github.com/fikriauliya/discourse/commit/c2654fa8a76edc10209c5ea1bebab9aa344aeadc

Quite minor change, but the downside is that I need to maintain this fork. Would be better if can create plug in (which I am still not sure how).

1 Like

Reddit does not allow new users to create subreddits. They have to first spend some time on their website, enough to understand how it works. I still think that discourse should have (as an option) a future that allow users to create their own space based on interest.

1 Like

That’ll be awesome!!