Nutzung des langsamen Modus erweitern, um den Kampf um den „Live-Chat“ zu führen

Wir lieben die Slow-Mode-Funktion und möchten ihre Nutzung erweitern. Wir wünschen uns einen dauerhaften Slow Mode für alle Kategorien – nicht nur für neue Themen, sondern auch für alle bestehenden Themen.

Zunächst möchten wir erklären, warum wir das tun möchten.

Wir haben derzeit etwa 10.000 Mitglieder und 13.000 Themen. Einige unserer Nutzer sind es nicht gewohnt, sinnvolle und durchdachte Diskussionen zu führen. Stattdessen führen sie Live-Chats und behandeln das gesamte Forum wie eine Messaging-App. Das ist nicht das, was wir sehen möchten – wir wollen sinnvolle Diskussionen in unserer Community. In den meisten Fällen sind Maßnahmen wie „Suspendieren" oder „Stummschalten" jedoch zu hart und nicht anwendbar. Hier kommt die Slow-Mode-Funktion ins Spiel. Dank dieser Funktion können wir das Tempo drosseln und verhindern, dass Live-Chats eskalieren. Soweit unser Verständnis – bitte korrigieren Sie uns, falls wir falsch liegen – gibt es zwei Möglichkeiten, den Slow Mode zu aktivieren:

  • manuelle Aktivierung für ein bestimmtes Thema, und
  • Aktivierung auf Kategorieebene: Sobald die Einstellung für eine bestimmte Kategorie aktiviert ist, wird der Slow Mode automatisch für alle NEUEN Themen unter dieser Kategorie aktiviert.

Derzeit identifizieren unsere Moderatoren „heiße Themen" (Themen, die zu Live-Chats geworden sind) und schalten den Slow Mode manuell ein. Das Problem ist jedoch, dass nicht alle bestehenden Themen im Slow Mode sind. Andere Themen, die nicht im Slow Mode sind, werden nach oben gedrückt und werden erneut zu Live-Chats. Dadurch beginnen einige Nutzer zu beschweren: „Warum werden manche Themen nach oben gedrückt, ohne dass Slow Mode (als Strafe) aktiviert wird?“, „Warum hat dieses Thema noch 4 Stunden Slow Mode, während ein anderes nur noch 1 Stunde hat?” usw. Noch schlimmer: Es gibt Verschwörungstheorien dazu, und unser Team wird stark kritisiert (wobei wir daran bereits gewöhnt sind), weil der Slow Mode so „zufällig" aktiviert wird. Und das wird sich nur verschlimmern, da wir sehr begrenzte Ressourcen haben, während die Anzahl der Nutzer und Themen weiter steigt.

Wir möchten das Problem lösen oder zumindest die Situation verbessern, indem wir folgende Ansätze verfolgen:

  1. Alle öffentlichen Themen im Slow Mode haben: Dies soll Live-Chats verhindern und sinnvolle Diskussionen fördern.
  2. Die Standard-Startseite für alle Nutzer und die gesamte Seite auf „Neu" (oder etwas anderes als „Aktuell") festlegen: Dies soll Nutzern, die an echten Inhalten interessiert sind (nicht nur an „ha ha"- und „hi"-Threads), ein besseres Erlebnis beim Besuch unserer Seite ermöglichen. Anfangs haben wir „Aktuell" als Standard-Startseite festgelegt. Wir haben festgestellt, dass dies dazu führt, dass Nutzer standardmäßig „heiße Themen" sehen. Da es zu viele solcher „heißen Themen" gibt, könnten neue Nutzer oder Nutzer mit wenig Zeit, die unsere Seite besuchen, denken, dass alle sichtbaren Themen sinnlose Chats sind, oder dass Live-Chats hier normal/akzeptabel sind – leider schadet dies unserer Community erheblich. Wir hoffen, dass die Änderung der Standard-Startseite auf „Neu" das Problem lindern kann. Zumindest sehen Nutzer standardmäßig zunächst etwas anderes als Live-Chat-Threads.

Für Punkt 1 planen wir Folgendes:

1a. Aktivierung des Slow Mode für alle Kategorien – dies kümmert sich um alle neuen Themen.

1b. Massenhaftes Aktualisieren aller bestehenden öffentlichen Themen, um den Slow Mode zu aktivieren. → Dies ist ein Schritt, bei dem wir nicht wissen, wie er umgesetzt werden soll. Wir finden im UI bei der massenhaften Aktualisierung von Themen keine Option für den Slow Mode. Eine manuelle Aktualisierung jedes einzelnen Themas über das UI kommt aufgrund unserer begrenzten Ressourcen und der großen Anzahl bestehender Themen nicht in Frage. Weiß jemand, wie wir dies bewerkstelligen können? Zum Beispiel durch eine Verbindung zur Datenbank und Änderung einiger Felder? Wir möchten nur öffentliche Themen ändern. Nachrichten sollten nicht betroffen sein. Oder wäre es sinnvoll, die Option „Slow Mode" im UI für die massenhafte Aktualisierung hinzuzufügen?

Für Punkt 2 werden wir Folgendes tun:

2a. In den Site-Einstellungen „Neu" als ersten Eintrag im oberen Menü festlegen.

2b. Massenhaftes Aktualisieren der Standard-Startseite für alle Nutzer. → Dies ist ebenfalls ein Schritt, bei dem wir Beratung benötigen, wie er erreicht werden kann.

Wir benötigen Hilfe bei 1b und 2b und würden gerne Vorschläge für bessere Lösungen erhalten. Alles, was hilfreich sein könnte, ist willkommen. Vielen Dank!

6 „Gefällt mir“

Ich denke, ich würde in den Kategorieeinstellungen etwas in dieser Richtung sehen möchten:


Ich bin der Meinung, dass du 1b lösen kannst, indem du die Themen über die Rails-Konsole änderst. Ich habe lokal getestet, ob dies so funktioniert, wie ich es erwarte, aber ich dringe dennoch darauf, dass du dies zuerst in einer Staging-Umgebung testest, bevor du es auf deinem Live-Discourse versuchst, oder du wartest auf eine Bestätigung von jemandem im Discourse-Team, dass dies eine gute Lösung ist. (Und wahrscheinlich solltest du auch dann noch in der Staging-Umgebung testen, selbst wenn sie es bestätigen.)

Unter der Annahme, dass du einen Linux-Server mit einer Standardinstallation verwendest, öffne per SSH oder auf andere Weise eine Shell auf dem Server und verwende Folgendes:

cd /var/discourse
./launcher enter app
rails c

Anschließend in der daraus resultierenden Rails-Konsole:

Topic.where.not(archetype: "private_message").update_all(slow_mode_seconds: 120)

120 ist die Anzahl der Sekunden, die vergehen müssen, bevor ein weiterer Beitrag erlaubt ist. Ersetze diese Zahl nach Belieben. Wenn du außerdem vermeiden möchtest, dies für bestimmte Kategorien festzulegen, kannst du dies mit .where.not(category_id: n) verketten. Um beispielsweise den langsamen Modus nicht für die Kategorien 3 und 4 festzulegen, würdest du den obigen Befehl wie folgt anpassen:

Topic.where.not(archetype: "private_message").where.not(category_id: 3).where.not(category_id: 4).update_all(slow_mode_seconds: 120)

Die ID einer Kategorie erhältst du, indem du die Kategorie in deinem Browser aufrufst und in der Adressleiste nach etwas wie „c/staff/3" suchst.

3 „Gefällt mir“

Vielen Dank, @Simon_Manning! Deine Antwort hat uns geholfen und uns auf einen ähnlichen Weg für 2b geführt.

So gehen wir für 2b vor (falls jemand interessiert ist): Nach dem Start der Rails-Konsole:

UserOption.update_all(homepage_id: 4)

Homepage-ID 4 steht in unserer Testumgebung für „Neu". Ich bin mir nicht sicher, ob dies aufgrund unterschiedlicher Site-Einstellungen konsistent ist. Es ist jedoch einfach zu überprüfen. Richte einfach einen Benutzer mit der Standard-Homepage „Neu" ein und prüfe in der Datenbank die homepage_id dieses Benutzers. Freundliche Anleitungen, wie man auf die Datenbank zugreift und Daten überprüft, findest du hier.

2 „Gefällt mir“

Ich bin offen dafür, dies zu automatisieren, damit Themen automatisch in den langsamen Modus gezwungen werden. Aber bitte helfen Sie mir bei der Entscheidung:

  • Woher weiß das System, wann es in den langsamen Modus wechseln soll?
  • Welche Datenpunkte betrachtet das System, um zu entscheiden, in den langsamen Modus zu wechseln?
1 „Gefällt mir“