- デフォルトでは、カテゴリの自動クローズ設定は新しく作成されたトピックにのみ適用されます。
- 既存のトピックは、設定を保存した直後には自動的にクローズされません。明示的に適用しない限り、開いたままになります。
- 既存のトピックに自動クローズタイマーを適用するために、サーバーコンソールから実行できる専用スクリプト(
rake topics:apply_autoclose)があります。このスクリプトは、資格のあるトピック(設定に基づいて十分古いもの)をサイレントにクローズし、通知を最小限に抑えます。
- スクリプトを使用して、一度にすべての古いトピックに設定を適用することは、バックグラウンド操作です。コミュニティが非常に大きく、古いトピックが多い場合、時間がかかることがありますが、サーバーサイドで実行されます。パフォーマンスへの影響は、ホスティングとトピック数によって異なりますが、Rakeタスクはバルクアクション用に設計されており、正常で適切にプロビジョニングされたDiscourseサイトに深刻な影響を与えるべきではありません。
- 同様の議論はこちらで行われています:
- 自動クローズ時間を変更しても、既にクローズされたトピックは再オープンされません(つまり、クローズは元に戻されません)。
- クローズされたトピックを一括で再オープンするための組み込みのユーザーインターフェースオプションはありません。
- ただし、スクリプトまたはRailsコンソールコマンドを使用して、トピックを一括で再オープンできます。
Topic.where(closed: true).where("created_at < 'your_date'").find_each do |topic|
topic.update_status('closed', false, Discourse.system_user)
end
「いいね!」 3