Tag Group URLs

Hi all,

TL;DR: Is there a way to link to a tag group? + some extensible options.


Returning to Discourse after a few years. It’s great to be back. I’ve not come across a solution for this yet in my searching through the documentation, plugin directory, and discussions here on Meta. After grappling a bit with the “Categories or tags?” question for my use case, some experimentation and It’s Time We Talked About Tags convinced me to go the tag-centric route.

It’d be great for Discourse to generate pages like the page at https://discourse.example.com/tags (that displays all of a site’s tags as links) but exclusive to specific tag groups. The “tags listed by group” option is great for the all tags page, but with a large number of tags this page becomes a real monster.

Say I’m an admin for a car community and I’m following along with the excellent guide at Set up structured tagging with tag groups and category tag restrictions. I set up my structured tags for my car makes and models with success as instructed.

As it so happens, my community is also interested in aftermarket sponsors and the different types of automotive modifications they offer. In addition, my users love automotive history and motorsports and are interested in discussing the automotive designers, racing teams, and their drivers that make the whole industry tick. So I set up additional tag groups and sets of tags to handle these.

My users can now visit https://discourse.example.com/tags and view a page of all these tags together, which in this case is a bit… overwhelming. Neat and ordered for sure, but quite lengthy.

What I’d love to be able to do is provide my users with simple links to:

  1. Car makes only - https://discourse.example.com/tag-group/makes
  2. Car models only - https://discourse.example.com/tag-group/models
  3. Aftermarket sponsors only - https://discourse.example.com/tag-group/sponsors
  4. Aftermarket modification types only - https://discourse.example.com/tag-group/modifications
  5. Automotive designers only - https://discourse.example.com/tag-group/designers
  6. Racing teams only - https://discourse.example.com/tag-group/racing-teams
  7. Racing drivers only - https://discourse.example.com/tag-group/drivers

As a bonus, it would be even more incredible to be able to link to pages like:

  1. Car makes + models - https://discourse.example.com/tag-groups/makes+models (which, in order to display models underneath each make, would require a hierarchical/nesting mechanism for tag groups like what is allowed for tags)
  2. Car makes + racing teams - https://discourse.example.com/tag-groups/makes+racing-teams (same requirement as the preceding example)
  3. Racing drivers + car models + aftermarket sponsors + modifications - https://discourse.example.com/tag-groups/drivers+models+sponsors+modifications (which, in order to display drivers above their car models, aftermarket sponsors, and installed modification types, would require a new type of relationship mechanism for tag groups and tags)
  4. And most any sane combination of tag groups you can think of, with display options allowing you to show the relationships between them

Thanks for reading. Thoughts?

1 Like