Discourse のメール毎日サマリープラグイン

:information_source: 概要 すべての新規投稿を 1 日 1 回または週 1 回の更新で送信
:hammer_and_wrench: リポジトリリンク https://github.com/thoka/discourse-mail-daily-summary
:open_book: インストールガイド Discourse へのプラグインのインストール方法

機能

discourse-mlm-summary のフォーク。追加・変更された動作:

  • 指定した時刻に日次/週次の要約を送信
  • 要約または完全な投稿のいずれかを送信
  • 設定とトラブルシューティングをサポートするためのオプションの診断出力
  • ユーザーグループに対して日次要約を強制可能:mail_daily_summary_auto_enabled_groups
  • カテゴリ(すべてのサブカテゴリを含む)に日次要約を絞り込み可能:mail_daily_summary_enabled_categories
  • 最終実行時刻を mail_daily_summary_last_run_at に記憶。設定されている場合、送信時刻と mail_daily_summary_last_run_at の間のメッセージが要約に含まれます。それ以外の場合は、過去 24 時間/7 日間の更新が送信されます。
  • オプションで全ユーザーに対して有効化可能(オプトアウト方式)
  • メッセージテンプレートは現在の(2024-04-30 時点の)ダイジェストテンプレートに基づいています
  • 配信停止リンクの追加

設定

mail_daily_summary_at が設定されていない場合、要約は初めてログインした時刻と同じ時刻にログインしたユーザーに対して毎時間送信されます。

mail_daily_summary_at が設定されている場合、すべてのメッセージは設定された時刻に達すると 1 日 1 回キューに追加されます。

mail_daily_summary_last_run_at 以降の投稿は、要約に含まれます(事故防止のため最大 14 日前まで)。

注意

  • このプラグインは「メーリングリストモードを無効化」の設定を無視します

TODO

  • 購読しているカテゴリのみ通知するオプションの追加
  • グループを除外する設定オプションの追加
  • カテゴリを除外する設定オプションの追加
  • メールで個別のトピック/投稿に返信する機能の追加
  • スペックの追加

メンテナンス

このプラグインは Communitec で使用されています。
:folded_hands: @RGJ が新しい Discourse バージョンとの互換性を維持する責任を負っています。

「いいね!」 8

素晴らしい仕事です!!!

頻度を設定可能にしていただけませんか?

例えば、日曜日の夕方に前週分を送信したいです。

「いいね!」 1

グローバル設定としてかなり実現可能と思われます。
どのようなオプションが必要ですか(毎日、毎週、毎月)?
さらに曜日/月、負の場合は末尾から数えるのですか?

「いいね!」 1

いくつかの方法で対応できるでしょう。

簡単な始め方としては、適用する曜日を尋ねる別の設定を追加することです。

月の週も考慮に入れるかもしれませんが、変動があるため少し複雑になります。

「いいね!」 1

Eメールはユーザーごとに作成されるのですか、それとも1つのEメールが全ユーザーに送信されるのですか?Eメールが個別に送信される場合、送信時期や頻度の設定は理想的にはユーザーごとに設定できるはずです(グローバル設定について言及されていますが、それはデフォルト値になるでしょう)。

各ユーザーに個別のメールが送信されます。
ただし、個別のスケジュールを管理するには、グローバル設定と比較してはるかに多くの作業が必要になります。

「いいね!」 2

週次サマリーが可能になりました。

「いいね!」 3

非常に興味深いプラグインです! 1つ質問があります…

このプラグインの設計方法では、すべてではなくトップの新しい投稿を取得することは可能でしょうか? Discourseコアのこの機能リクエストの代替として:Option to always receive Activity Summaries even when you've been on the forum

「いいね!」 1

プラグインを最近インストールしたのですが、設定した時間にダイジェストが送信されたので、うまくいくように見えました。しかし、送信されたのは56人のうち22人だけで、次は2人、その次は2人だけでした。

フォーラムには50人強のユーザーがいますが、なぜ全員に送信されないのか、問題が全くわかりません。送信されたのは、フォーラムに1日から50日の間に最後にアクセスしたユーザーで、レベル0とレベル1の信頼レベルが混在していました。

申し訳ありませんが、このプラグインはもう使用しておらず、近い将来デバッグを手伝う時間もありません。

あなたのスクリーンショットは、デイリーサマリーではなく、ダイジェストメールを表示しているようです。

このコアコミットにより、環境設定属性の保存方法が変更されました。
その変更により、プラグインは環境設定 - メールでエラーを発生させます。

問題を修正し、PRをオープンしました。マージしていただけますでしょうか?

「いいね!」 2

ありがとうございます。マージされました。

プラグインを更新する人は、Discourseも更新すると仮定できますか?そうでない場合、壊れますか?

あなたがプラグインを使用しているように見えるので、使用をやめた場合、さらなる通知があるまで「未メンテナンス」ステータスを更新すべきでしょうか?

「いいね!」 1

それはかなり安全な想定だと思います。

いくつかのクライアントが使用しているので、さらなる通知があるまでは、メンテナンスを行う準備ができています、はい👍🏼
そのタグは削除しました。

「いいね!」 2

追加オプションの導入、設定のモダン化、およびPRの作成を行いました

  • 全文ではなく抜粋を使用するオプションの追加(mail_daily_summary_min_excerpt_length、通常の digest_min_excerpt_length と同様に動作)
  • トピックごとの投稿数を制限するオプションの追加(mail_daily_summary_max_posts_per_topic
  • 日次サマリーに /admin/email/preview-digest 機能を再利用するオプションの追加(mail_daily_summary_preview_uses_daily_summary

機能を維持し、さらに追加してくださりありがとうございます。

「いいね!」 1