Feature Proposal: Customizations based on primary group membership, a.k.a. tenancy ‘lite’
A feature has been proposed to allow customizations based on primary group membership. trudat suggests adding a ‘Customize’ section to the Group > Manage interface, which would enable administrators to:
Display a different UI theme for primary group members
Display a different site logo
Hide specific topic categories for primary group members
Set a custom home page for primary group members
However, pfaffman and pfaffman point out that some of these features already exist as plugins, such as the ability to watch categories for group members and select a custom home page. Stephen suggests that using Multisite might be a more effective solution, allowing for separate Discourse instances with different site settings and sign-on. pfaffman agrees with this suggestion, noting that it would also allow for a single user database.
A user on my forum wants their own separate forum for their group (within the larger institution) so that the experience is customized to their content. I can’t support multiple forums and it defeats the purpose of Discourse, but it gave me this idea for a way to implement pseudo-tenancy. Maybe this already exists in some form?
Feature description
In the Group > Manage interface add a new section called Customize. Here are the settings to include there.
[checkbox] Display a different UI theme for users who are primary members of this group.
[select] Select which theme to display. (Pull all available themes from admin > customize)
[file] Display a different site logo.
[group multi-select] Exception. Primary group members who are also members of this group, e.g. admin, are exempted from this setting.
[category multi-select] Hide these topic categories for primary members of this group. They will never see those topics.
[group multi-select] Exception. Primary group members who are also members of this group, e.g. admin, are exempted from this setting.
[category select] The home page (after logging in) for primary group members will be this category.
That would work sure. But after reading your reply I updated the original post, realising that the feature is about more than just the theme, it’s perhaps more about filtering content.
That’s already user selectable too, though I think with the categories on/off you might not need it. You could probably add changing that to the plugin as well.
If you’re hosted, you’d need to be on a plan that allows such plugins.
Why not Multisite? Running a separate discourse database and front end within the same footprint? It’s going to be much easier to support a partition at that level than it is to embark on any of the above.
When you get to the point that you’re separating the theme, front end and content you’re effectively talking about separate Discourse instances. That’s pretty much why multisite exists. The added benefit is that they can make use of different site settings and sign-on.
New plugins and code changes aren’t just adding stuff to accommodate a new forum with the above, you’re adding complexity and a big risk of blowback onto your existing customers.