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
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’:
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…
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.
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.
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.