I need to create one additional level of categorization for our forum for Code.org. I’d like people to click a category (High School Computer Science), and see a list of our courses (Course 1, Course 2, Course 3), then click Course 1 and see a list of units in the course (Unit 1, Unit 2, Unit 3). Under each unit, there would be topics.
I know that this isn’t supported out of the box for discourse, so I’m willing to fork discourse and do some hackery on my own. I see a couple of ways of doing this
Add a method to the list controller - like parent_category_category_subcategory here and add appropriate routing to it.
Use tags. People who post topics have their posts tagged with the appropriate unit (somehow - don’t know how yet). Then I add a route for something like c/:parent_category/:category/:tag that loads topics in a given category with a given tag. I’ll also have to change the category view to render tags as subcategories.
Are either of these solutions plausible? Is there a third way I should be considering?
I agree. It seems like a cool idea to fork a project and make it your own and include all the things you want but unless you have a whole team that is willing to work on it long term - and they don’t just have short term enthusiasm for it - it’s going to turn into a nightmare.
Clicking lesson 1 would take the user to a url like forum.code.org/c/ecs/unit1/t/lesson1 - Essentially all topics in the unit1 subcategory that have been tagged with lesson 1