Discourse als Plattform für Comic-Rezensionen/Diskussionen nutzen

Ich habe einen etwas speziellen Anwendungsfall, bei dem ich mir nicht sicher bin, ob Discourse das richtige Medium dafür ist.

Ich möchte eine Diskussionsplattform für etwa 5000-7000 Comics hosten. Allerdings möchte ich nicht, dass alle Diskussionen unter einem einzigen Thema stattfinden, da es schwierig ist, verschiedene Diskussionsthemen unter demselben Comic zu verfolgen. Daher dachte ich, ich könnte für jeden Comic eine „Kategorie“ erstellen und darunter separate Themen haben. Außerdem habe ich gelesen, dass dies sowohl den Server als auch den Client belasten kann.

Beachten Sie, dass die Navigation kein Problem darstellt. Jeder Comic hat eine eindeutige Kennung, die den Community-Mitgliedern bekannt ist, sodass niemand durch die Kategorien stöbern würde. Der Benutzer gibt einfach die Kennung ein, um die Kategorie zu finden.

Gibt es eine bessere Möglichkeit, eine ähnliche Funktionalität zu erreichen? Würden Tags helfen?

1 „Gefällt mir“

Kurz gesagt: Ja, das ist der richtige Weg.

1 „Gefällt mir“

Kann ich die Verwendung von Tags in jedem Beitrag erzwingen? Denn idealerweise sollte das Forum nichts enthalten, das nicht zu einem der Comics gehört.

1 „Gefällt mir“

Siehe die Einstellungen für Kategorie - Tags:

3 „Gefällt mir“

Kann ich Tags programmatisch befüllen? Eine Idee, die ich hatte, war, für jedes Tag ein Thema zu erstellen (ich schätze, das ist der einzige Weg, ein Tag zu erstellen), aber ich konnte nicht viele Informationen über das prozedurale Erstellen von Themen finden.

Das ist genau das, was ich in meiner Brettspiel-Community mache: Immer wenn ein Brettspiel zu meiner Datenbank hinzugefügt (oder umbenannt) wird, werden ein Tag und zwei benutzerdefinierte Themen erstellt/aktualisiert.

Wenn ich mich richtig erinnere, gab es damals keinen spezifischen Endpunkt zum Erstellen eines einzelnen Tags (man kann jedoch einen neuen beim Erstellen eines Themas hinzufügen), aber ich konnte den Batch-Tag-Upload verwenden, um dies zu tun.

So etwas in der Art:

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 „Gefällt mir“

Ich verstehe, ist es möglich zu sehen, wie tags.csv aussieht?

Siehe What CSV format is needed for importing tags?

2 „Gefällt mir“

Ich habe einen ähnlichen Anwendungsfall mit Tags aus einer Tag-Gruppe untersucht, die erforderlich sind und praktisch als oberste Struktur (anstelle von Kategorien) verwendet werden.

Derzeit werden nur die Namen der Tags in einem Datenattribut gespeichert. Es wäre großartig, wenn auch ihre Gruppe in einem Attribut gespeichert würde. So könnten wir Tag-Gruppen auf der Benutzeroberfläche unterscheiden.

Bearbeiten: Habe hierfür eine Funktionsanfrage gepostet: Add a data-tag-group attribute for tags

1 „Gefällt mir“

Entschuldigen Sie die vielen Fragen, aber ich frage mich nach einer weiteren Funktionalität im Zusammenhang mit Tags und Themen.

Ist es möglich, ein Thema an ein bestimmtes Tag zu “heften”, so dass, wenn das Tag ausgewählt wird, das erste, was die Benutzer in der Themenliste sehen, das angeheftete Thema ist?

Sie können ein Thema nicht über das Standard-Pin-Modal an ein Tag anheften. Mir sind zwei Optionen bekannt:

  • Tags haben Beschreibungen, die Sie mit der Tag-Banner-Komponente anzeigen können
  • Ich habe vor einiger Zeit eine Komponente erstellt, mit der Sie Themen auf beliebigen Pfaden rendern können. Könnten Sie es ausprobieren: Topic Banners component
2 „Gefällt mir“

Die zweite Option scheint genau die Lösung zu sein, nach der ich suche. Ist es möglich, diese Banner-Themen programmatisch für jedes Tag über eine API festzulegen?

Das wüsste ich nicht, wie das geht. Eine Sache, die man bedenken sollte, ist, dass es etwas langsam zu rendern scheint. Ich bin kein Entwickler genug, um zu erklären oder auch nur zu verstehen, warum, aber es könnte Ihr Forum verlangsamen, wenn Sie es für jede Seite verwenden.

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