Marrying groups and categories

I am slowly working on adapting Discourse as a communication solution for the school community of a progressive education school.

In contrast to the mostly informal communities for which Discourse seems optimized, this community is based on a very formal structure.

This requires a number of adjustments.

Roughly speaking, due to the formal setting (all areas are restricted) as opposed to the informal setting (almost all areas are freely accessible), there is a weakening of Discourse’s highly valued expectation of clear separation between private and public topics/messages in favor of better integration of the areas into a unified interface.

At this point, I would appreciate a discussion on the following topic:

We have created a separate private category for almost every group.
Information for this group is posted in that category.
It is very convenient to define who can write in the category.
However, it is not possible to address multiple groups at once this way.

Furthermore, the ability to assign permissions for posting information via groups is missing (in the case of groups, communication rights can only be set using the properties “moderator,” “owner,” and “member”).

Although this can be realized through group messages, topics posted there are inconveniently found in another place on the interface.

Therefore, I dream of an adaptation that combines the advantages of both approaches:

  • Writing permissions for groups (who is allowed to mention the group) should also be definable via groups.

  • Messages to groups should be displayed in the designated category.
    Messages to multiple groups would then appear in all addressed groups (potentially in multiple categories simultaneously).

Has anyone already tried or thought about something like this?

2 Likes

I may be misunderstanding your ask, but writing permissions for groups is definable via groups as per

Or are you referring to setting up a list of which groups another group is allowed to mention via that interface?

This would break the more normal use case though – e.g. I belong to lots of groups here and if a post was published to all categories that are accessible to groups I belonged to, it’s going to be all over the forum.

We are reconsidering the way that groups and categories work, but this seems like a pretty bespoke requirement.

I would prefer that every right could also be configured using all other groups, handling other groups identical to “owners”, “members”,“moderators” but would be happy also with a solution if every “Who is allowed to do something” would be followed with a “Which groups are allowed to do something”.

With “designated category” I was thinking about an option in the category admin interface to configure a category as an “outlet” for one [1] special group. Without such configuration, nothing should change.

I tried above to describe a fundamentally different need for using Discourse in formal settings.

In informal communities, categories are organized thematically.

Formal communities are most likely represented in such a way that the category structure corresponds to the structure of the community.

In the case of our school, there are categories for individual learning groups, grade levels, and grade groups, which are then further divided into areas for parents alone and areas for parents and teachers.

For collaboration between these different groups or collaboration with individual experts, only private messages are available. However, these are not displayed in the categories (i.e., in the view that is usual for all other information).

The already complex interface of Discourse thus becomes even more confusing with an additional layer of group and private messages.

I want to integrate this layer optionally into the category view.


  1. There might be use cases to allow more than one group, at least, as long as group arithmetic is not implemented. ↩︎

And it would only work for categories that are private or not crawled, because I think it’ll have an impact on SEO having duplicate content (at least it used to when I last understood the landscape). I can’t see us building this TBH, but if it’s a popular feature you never know.

Having thought about this feature for roughly two years, I still believe it would be an organic extension in our community.

Let’s shape the metaphor using Nextcloud patterns: A category (or area, as we call them in our instance) should be a home folder for a special group, enabling otherwise disallowed users to share information with that group. Shared messages should be visually marked as a special case: some other groups or users are allowed to share information with that group (for example our school principal). For shared topics, group messages are the established pattern in Discourse.
But having them as a second-class citizen hides shared information from the users (in our case), since most of them are not aware of this special location at all. Showing them alongside the messages they are used to reading would be the ideal location in the user interface.

As wished here, a special “category” for “own stuff and stuff shared with me” as a custom category would extend this pattern to “find every information in the category view”.
I hope, helped by an LLM, I will be able to implement at least a mockup to test this scenario.

1 Like