Using discourse as a Comic review/discussion platform

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?

1 Like

Long story short: yes, that is the way to go.

1 Like

Can I force the usage of tags in each post? Because Ideally, the forum shouldn’t contain anything that does not belong to any of the comics.

1 Like

See the Category - Tags settings:

image

3 Likes

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.

Something like this:

const formData = new FormData();
formData.append("file", Buffer.from("the-tag-name,an-optional-tag-group"), {
  contentType: "text/csv",
  filename: "tags.csv",
});
const { data } = await axios.post(`${process.env.DISCOURSE_URL}/tags/upload.json`, formData, {
  headers: {
    ...formData.getHeaders(),
    "Api-Key": process.env.API_KEY,
  },
});
2 Likes

I see, is it possible to see how tags.csv looks like?

See What CSV format is needed for importing tags?

2 Likes

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.

edit: posted a feature request for this: Add a data-tag-group attribute for tags

1 Like

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?

You can’t pin a topic to a tag from the default pin modal. Two options I’m aware of:

2 Likes

The second option looks like the exact solution I am looking for. Is it possible to programmatically set these banner topics for each tag via any API?

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.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.