Hey @mcwumbly, thanks for a detailed and thoughtful description.
What you describe is indeed close to what I have in mind, with a few differences.
From running a single instance for a course over around 5 years, I realized that it’s a lot less effort to hide or move obsolete discussions than to recreate a course instance from scratch. So in practice the discourse space for a course is fixed, but most topics have an end of life.
I mostly imagine that the course teams will need to manage a course rather than set it up.
Our courses have circa 200 students and a course team of around 10 including TAs. This warrants at least several categories:
- Content Q&A (students post, course team answers)
- Course organization (same as above, but purely organizational matters)
- Announcements (course team posts, students may reply)
- Grading questions (Students post, only course team can see and reply).
This one I plan to address using Private Topics Plugin and Assigning based on post content. - Course team discussion (only visible by the course team)
I believe using subcategories will cover this need.
I realize that one may create an instance-wide grouping of the above, similar to what you describe, but it seems to be more reasonable to put all those into a single category.
All in all, I think that the current discourse capabilities fit this use case well, except for the purely frontend feature of needing to provide a feeling to a course team member or a student that they are looking at a single course, rather than at all the courses at once.
The documentation theme component is a bit similar in that it allows the user to “enter” a category, but it doesn’t allow to easily “stay” inside a category.