Ich habe früher eine Kategorie für alle Benutzer standardmäßig stummgeschaltet, aber dann festgestellt, dass keiner von ihnen die Kategorieliste ansieht und die Kategorie stummgeschaltet. Nachdem ich die Standardeinstellung entfernt hatte, begannen neue Benutzer, zur Kategorie beizutragen, die alten Benutzer (etwa die Hälfte) wussten immer noch nicht, wo sie die Kategorie stummgeschaltet deaktivieren konnten. Ich habe versucht, ein angeheftetes Thema zu verwenden, um zu erklären, wie das geht, hat aber nicht gut funktioniert.\n\nIst es also möglich, die Benachrichtigungsebene für sie zu aktualisieren?
Sie sollten sich die Einstellungen der Gruppe Standardkategorien ... in Ihrem Admin-Dashboard ansehen. Wenn Sie die Kategorien aus den Website-Einstellungen Standardkategorien stummgeschaltet entfernt haben, könnten Sie möglicherweise eine der anderen Website-Einstellungen Standardkategorien ... verwenden, um die Änderungen rückwirkend anzuwenden.
Hierfür stehen die Website-Einstellungen Standardkategorien beobachten, Standardkategorien verfolgen und Standardkategorien regulär zur Verfügung, die retrospektiv funktionieren.
Ich habe versucht, diese Einstellung zu verwenden, um die Kategorie stummzuschalten, aber es wird angezeigt, dass nur 8 Benutzer aktualisiert werden. Wenn ich jedoch den Daten-Explorer überprüfe, gibt es ungefähr 1100 Benutzer, die diese Kategorie stummgeschaltet haben (aufgrund meiner vorherigen Einstellungen).
Macht es auch einen Unterschied, ob die Kategorie zuvor für eine Gruppe standardmäßig stummgeschaltet wurde, zwischen der Standardgruppenkategorie und der globalen Einstellung?
Eine Lösung, wenn es eine gemeinsame Nachrichtenkategorie gibt. Erstellen Sie einen Beitrag, der erklärt, wie Sie eine Kategorie abonnieren, und stellen Sie Links zu jeder Kategorie mit einer Beschreibung bereit.
Ich habe das auch versucht, aber es funktioniert nicht wie erwartet… wäre es möglich, in der Konsole eine Massenaktualisierung durchzuführen?
Das bin ich mir nicht sicher. Ich stelle mir vor, dass es vielleicht in der Kommandozeile möglich wäre. Ich bin mir jedoch nicht sicher, wie das gehen würde, falls es möglich ist.
Ich denke, es sollte eine Funktion geben, um Massenänderungen für alle Benutzer oder nur für Benutzer in einer Gruppe vorzunehmen.
Soweit ich das verstehe, wird die Gruppeneinstellung nur angewendet, wenn ein Benutzer der Gruppe beitritt. Ein Ansatz zur Anpassung besteht daher darin, eine Gruppe mit den gewünschten Einstellungen zu erstellen und die Personen, die geändert werden sollen, dieser Gruppe hinzuzufügen.
Sie können dies auch mit der API tun.
Haben Sie ein Beispiel, wie das über die API gemacht werden kann?
Ich tue es tatsächlich, ja.
category_notifications = {'muted_category_ids': [54],
'regular_category_ids': [],
'tracked_category_ids': [],
'watched_category_ids': [],
'watched_first_post_category_ids': [61],
}
api(config, f\"u/{username}.json\", method='put',
json=category_notifications)
… wobei api() eine dünne Abstraktionsschicht um das Python-Modul Requests ist und nur ein HTTP-PUT an /u/whateverusernameyouarechanging.json auf Ihrer Discourse-Site durchführt, und die Nutzlast sind einfach die Kategorien, die Sie ändern möchten. (Sie können alle überspringen, die Sie nicht ändern möchten.)
Beachten Sie, dass Sie die numerischen Kategorie-IDs benötigen – Namen funktionieren nicht. Und natürlich müssen Sie den Benutzer zuerst lesen, wenn Sie die bereits vorhandenen Daten zusammenführen oder beibehalten möchten.