以前は、すべてのユーザーに対してデフォルトでカテゴリをミュートしていましたが、誰もカテゴリリストを見てミュートを解除しないことがわかりました。デフォルト設定を削除した後、新しいユーザーがカテゴリに貢献し始めましたが、古いユーザー(約半分)はまだカテゴリのミュート解除方法がわかりません。ミュート解除方法を説明するために固定トピックを試しましたが、うまくいきませんでした。
そのため、これらのユーザーの通知レベルを更新することは可能でしょうか?
以前は、すべてのユーザーに対してデフォルトでカテゴリをミュートしていましたが、誰もカテゴリリストを見てミュートを解除しないことがわかりました。デフォルト設定を削除した後、新しいユーザーがカテゴリに貢献し始めましたが、古いユーザー(約半分)はまだカテゴリのミュート解除方法がわかりません。ミュート解除方法を説明するために固定トピックを試しましたが、うまくいきませんでした。
そのため、これらのユーザーの通知レベルを更新することは可能でしょうか?
管理ダッシュボードの default categories ... の設定グループを確認してください。default categories muted のサイト設定からカテゴリを削除した場合、他の default categories ... のサイト設定を使用して、変更を遡って適用できる可能性があります。
ここでは、遡って機能する default categories watching、default categories tracking、default categories regular のサイト設定を使用できます。
この設定を使用してカテゴリのミュートを解除しようとしましたが、更新されるユーザーは8人だけだと表示されます。しかし、データエクスプローラーで確認すると、(以前の設定により)約1100人のユーザーがこのカテゴリをミュートしています。
また、以前はこのカテゴリはグループに対してデフォルトでミュートされていましたが、デフォルトのグループカテゴリとグローバル設定では違いがありますか?
一般的なニュースカテゴリがある場合の1つの解決策。カテゴリを購読する方法を説明する投稿を作成し、各カテゴリへのリンクと説明を提供します。
これも試しましたが、期待どおりに動作しません…コンソールで一括更新することは可能でしょうか?
それは確信がありません。コマンドラインでは可能かもしれませんが、想像できます。しかし、可能であればその方法については確信がありません。
すべてのユーザーまたはグループ内のユーザーに対して一括変更を行う機能があるはずだと思います。
理解している限りでは、グループ設定はユーザーがグループに参加したときにのみ適用されます。したがって、これを調整する1つのアプローチは、変更したい設定を持つグループを作成し、変更したい人をそのグループに追加することです。
APIを使用してこれを行うこともできます。
API経由での実施例はありますか?
はい、実際にはそうです。
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)
ここで api() は、Requests Python モジュールをラップした薄いラッパーであり、Discourse サイトの /u/whateverusernameyouarechanging.json に対して HTTP PUT を実行するだけで、ペイロードは変更したいカテゴリのみです。(変更したくないものは省略できます。)
数値のカテゴリ ID が必要であることに注意してください。名前では機能しません。もちろん、既存のものをマージまたは保持したい場合は、まずユーザーを読み取る必要があります。