Using Discourse as a Comic Review/Discussion Platform
A user (attj) is considering using Discourse to host a discussion platform for 5000-7000 comics. They want to create a separate topic for each comic, but are concerned about server and client-side load. Instead of using categories, RGJ suggests using tags, which can be enforced in each post (attj).
To programmatically populate tags, renato recommends using the batch tags upload feature, which can create tags and custom topics. They provide a code example using the Discourse API.
Additionally, nolo discusses the limitations of tags and proposes a feature request to store tag groups in a data attribute. They also suggest two options for “pinning” a topic to a specific tag: using tag descriptions or a custom component (nolo).
Key Takeaways:
Use tags instead of categories for organizing comic discussions
Enforce tag usage in each post
Use the batch tags upload feature to programmatically populate tags
Consider using a custom component to “pin” topics to specific tags
Be aware of potential performance issues with rendering topics on every page
I have a bit of a specific use case that I am not sure whether Discourse is the right medium for.
I would like to host a discussion platform around 5000-7000 Comics. However, I don’t want all the discussions under a single topic since it is hard to trace different topic of discussions under the same Comic. Hence I thought I can create a “Category” for each Comic and there can be seperate topics underneath. Moreover, I read that this can create a load on both Server and Client side.
Note that navigation is not an issue, each Comic has a unique identifier that the community members are aware of so no-one would be browsing around the categories. The user will just type the identifier to find the category.
Is there a better way of accomplishing a similar functionality? Would using tags help?
Can I programmatically populate tags? One idea I had was to create a topic for each tag (I guess it is the only way of creating a tag) but I couldn’t find much information about procedurally generating topics.
That’s exactly what I do on my board game community: whenever a board game is added to (or renamed on) my database, a tag and two custom topics are created/updated.
IIRC when I worked on this, there’s not a specific endpoint for creating a single tag (you can add a new one when creating a topic though), but I was able to use the batch tags upload to do this.
I was exploring a similar us case with tags from one tag group being required and practically used as top-level structure (replacing categories).
Right now tags only have their name stored in a data attribute. It would be great if their group would also be stored in an attribute. So we could distinguish tag groups on the ux.
Sorry to ask many questions but I wonder another functionality related to tags and topics.
Is it possible to “pin” a topic to a specific tag such that when the tag is selected, the first thing the users will see in the topics list is the pinned topic?
I wouldn’t know how to do that. One thing to mind is that it seems a bit slow to render. I’m not enough of a developer to explain or even understand why, but it might slow down your forum if you use it for every page.