I’ve been a Discourse host for a year, and I only used what other people did like plugins and themes, and I think I’m ready to start
I would be glad if you more advance users could point me some directions/clues.
Thanks in advance for your help.
I’m hosting some Discourse instances for some online communities and we would need to have two sorts of conversations:
- General conversations, with the whole community.
- Conversations with local or thematic subgroups I’m part of.
In order to differentiate these two audiences, I’d like them on two separate pages (
/subgroups or something similar). I would like those two pages to have different color/CSS so one can easily spot where they are. Switching from these two pages should be done with very big buttons which would look like the main options to choose from.
General conversations would of course be accessible for everyone, and subgroup conversations should be easily accessible if I’m part of the group or in a public-but-not-highlighted state if I’m not. Everything the group say is public, I can go see it, but I don’t want it to encumber my page because I mostly don’t care; I need to go to the category list and click the said category to access it.
For example, the first page would offer Latest, Top, Unread and Categories layouts but would filter out all the subgroups categories. The second one would display the subgroup categories I’m in (with the last posts), and would also offer the Categories layout for all the existing subgroups so I can make the effort to see what is being said elsewhere. Ideally, there would also be a button to manage my adhesions to subgroups (a link to
My best attempt so far
The main buttons switching from general and subgroups are done with the Custom Header Links plugin.
The general page is just Latest with the subgroup categories filtered out by the category setting remove this category from latest.
The subgroups categories are all subcategories of the same ‘#Subgroups’ category. For all of them, a paired group is set up (SubCat_n – Group_n). The security settings for the category is:
- Group_n: Create/Answer/Read
- All: Answer/Read
The category is public but I don’t want users not in the group to be proposed to post in that category if they are not in the group.
The subgroup page is the category Subgroups page. The category setting show subcategory list is enabled so that prints the unmuted categories first with the most recent topics. Thus, a user not in Group_n needs to mute the category SubCat_n. That’s not that hard but long story short, they don’t know how to do it. Admins are then managing the muting settings for every user that wants to join or leave a category, and that’s a boring job.
Moreover, that’s just a hack and the muting function is post-based so it does not work that much.
Thus, General mode corresponds to
/unread… and Subgroups mode to
What I would love to achieve
- I would like a Category page that would display only subcategories for which I can Create (which means I’m in the correct group). [then I won’t need to manage the muting settings]
- I would also like to add a button pointing to
/glooking like the Latest button showing up only when this Subgroup mode is selected. I know how to make the button but not how to use it so it only shows on this mode. I would also like to change the whole page CSS when I’m on this mode. Thus I would also be able to make the button General/Subgroups in the header to look selected when I’m on this mode.
Things for ongoing development if everything else works perfectly (which does not yet)
- I’d like posts from a #Subgroup subcategory to show on the General (Latest filtered) page if and only if they have some special tag (like #annual-report or something).
- I’d like
/generalto point to
/latestor the default layout the user has chosen and
/subgroupsto the Subgroup category page.
- I would prefer buttons for General/Subgroups something even more obvious and highlighted like the banner Theme/Colours/Content… in