BradCray
(Brad Chamberlain)
2020 年 9 月 1 日午後 8:30
1
Discourse のエキスパートの皆様へ
当サイトでは、テスト結果や新規ユーザーからの問題報告などのプロジェクトイベントを自動的に追跡するために、Discourse カテゴリ宛てにメールを生成するスクリプトをいくつか運用しています。以前は、同じ件名(例えば「linux64 テスト」)のメールが 2 通届いた場合、それらは自動的に同じトピックにまとめられるものだと単純に考えていました。しかし、実際にはそのようなメール 1 通ごとに別々のトピックが作成されてしまっているようです。(もちろん、メールでトピックに返信すれば、そのトピックに維持されるのは当然の動作です)
この件についてフォーラムを少し検索したところ、「同じタイトルを持つトピックを許可する」と「カテゴリが異なる場合に同じタイトルを持つトピックを許可する」という設定項目についての言及を見つけました。驚いたことに、当サイトではこれらの設定はどちらもチェックされていませんが、これらのスクリプトによって同じタイトルを持つトピックが存在してしまいます。これらの設定は、Web インターフェースから作成されたトピックにのみ適用され、メールからは適用されないのでしょうか?
いずれにせよ、特定の件名で特定のカテゴリ宛てに送信されたメールが、メール 1 通ごとにトピックが作成されるのではなく、自動的に 1 つのトピックにマージされるように Discourse サイトを設定することは可能でしょうか?(同じ件名で 2 人のユーザーがメールでトピックを作成した場合、多少の混乱を招く可能性はありますが、それは許容できるトレードオフだと考えています)
よろしくお願いいたします。
-Brad
「いいね!」 2
BradCray
(Brad Chamberlain)
2020 年 9 月 9 日午前 4:01
2
もう少し試してみたところ、「重複する同じタイトルのトピックを許可する」設定は、ウェブサイト経由で作成されたトピックにのみ適用され、メールで受信されたトピックには適用されないようです。そのため、同じタイトルのトピックが多数作成されるのを防ぐため、メールの件名が既存のトピックのタイトルと一致する場合にトピックを拡張する機能リクエストを ここ に提出しました。
Stephen
(Stephen)
2020 年 9 月 9 日午前 5:02
3
サイトを見ていないなら、タイトルがすでに使われているかどうかはどうやってわかりますか?
BradCray
(Brad Chamberlain)
2020 年 9 月 9 日午後 5:13
4
サイトを見ていなければ、タイトルが既に使われているかどうかどうやってわかりますか?
質問の意図を正しく理解しているか確信が持てません(繰り返しになってしまうことを懸念しています)が、推測して回答します:
この質問が私たちの Discourse サイトで提起された背景にあるシナリオは、スクリプトによって投稿が生成されるケースです。これらのスクリプトは予測可能な件名(例:「linux64 testing」)を使用し、それらを単一のトピック内でグループ化することを意図しています。このようなスクリプトにとっては、タイトルが既に使用されているかどうかは問題ではなく、重要なのは「その件名のタイトルを持つトピックが既に存在すれば、メールはそのトピックに返信を追加し、存在しなければその件名をタイトルとして新しいトピックを作成する」という動作が保証されることです。
より仮定的な話になりますが、セキュリティ環境内で作業し、直接ウェブサイトと対話することが許可されていないが、システム管理者が関心のあるウェブサイトの内容を自環境に反映させて読み取り専用で閲覧できるようにしているユーザーを想像してみてください。特定のトピックの件名を知っていれば、そのようなユーザーは、そのトピックに関するメールが受信トレイに届いていなくても、メールを通じてそのトピックに新しい投稿を追加することができます。
もし私の理解が誤っていたら、お知らせください。
「いいね!」 1
Stephen
(Stephen)
2020 年 9 月 9 日午後 8:53
5
それは、全体の動作を変更することを求める非常に特定のユースケースですね。
メッセージ配信に SMTP 以外の手段を検討されたことはありますか?
BradCray
(Brad Chamberlain)
2020 年 9 月 9 日午後 9:48
6
SMTP 以外のメッセージ配信方法を検討したことはありますか?
検討したことはありませんが、それがベストプラクティスとされるのであれば、もちろん検討できます。私の理解が正しいか確認させてください。スクリプトが人間のように HTML を介してウェブサイトと対話して Discourse に投稿することを提案されているのでしょうか?それとも、Discourse サイトにはスクリプトが直接ターゲットにできる API が存在するのでしょうか?もしアプローチ方法に関するヒントや例があれば、非常に役立ちます。Discourse の管理についてはまだ非常に初心者です。
あるいは、メールヘッダーに何か別の工夫を施して、Discourse が既存のトピックに返信を追加し、新しいトピックを作成しないようにできないかと考えていました。「Re: linux64 testing」という件名にするだけでは不十分だと想定していますが、返信が既存のトピックに追加され、新しいトピックが始まるかどうかを決定するのは Reply-to: アドレスやメールヘッダーのメタデータではないでしょうか?(もしそうであれば、考えられるすべてのスクリプトの件名に対してカテゴリごとにトピックを手動で作成し、そのメタデータを特定してスクリプトに埋め込むことも可能ですが、すでに件名でメールを既存のトピックに自動マージする方法がある場合、特に時間の経過とともに新しい件名を生成する可能性があるスクリプトの場合、かなり手間がかかるように感じます)。
それは、全体の動作を変更するよう求める非常に特定のユースケースです。
確かにその通りかもしれませんが、公平を期すために言えば、元の投稿(OP)では、私たちが望むことを達成する方法があるかどうかを尋ね、同じタイトルを持つ複数のトピックが作成されていることに混乱を覚えていたことを述べるだけでした。「重複トピックの作成を許可」設定がオフになっているにもかかわらずです。これが期待される動作であることを示すドキュメントは見つからず、Discourse が「その件名は文のようではない」など、さまざまな理由でメールを拒否することから、もし「そのトピックタイトルはこのカテゴリ内に既に存在します」といったバウンスメッセージが返ってきたら、少なくとも一貫性があるように思えたでしょう(もちろん、それが私を happier にするわけではありませんが、チェックボックスのタイトルと整合性が取れるように思えたのです)。
しかし、この動作変更の要求自体がそれほど奇妙だとも思いません。Discourse サイトがメールによる投稿を受け入れることができるのは、非常に優れていて強力な機能だと考えています。私たちの場合、スクリプトが既存の Discourse トピックを更新するための良い解決策の 80% を達成するものです。また、この機能リクエストは、Discourse-meta で実装された他のリクエストと似ているように思えます。多くのプロジェクトがメールを生成するスクリプトを持っているという点で明らかに有用であり、Discourse の哲学と本質的に矛盾するものではないように思えました(ただし、私たちは管理側のことはまだ初心者ですが)。これが簡単な判断だと言っているわけではありませんが、質問を投げかけることが不合理だとは、私には明らかではなかったのです。
riking
(Kane York)
2020 年 9 月 9 日午後 11:17
8
ユーザーがサイトとやり取りする場合、すべての内容を同じトピックに保つために使用されるのは、メール返信キーです。ここでは、返信キーをセキュリティ環境に取得するためにメーリングリストモードを使用することになります。
「メール受信」機能(「メールによる返信」とは区別されます)は、現在ではトピックの作成のみを行い、既存のトピックに追加することはありません。
「いいね!」 3
BradCray
(Brad Chamberlain)
2020 年 9 月 15 日午後 9:54
9
@riking さん、@Stephen さん、こんにちは。
先週、この件についてご投稿いただいた内容から、Discourse の現在の状態は以下のように理解していました(「仕様上、メール送信機能で送信された場合は、'重複トピックの許可’設定のステータスに関わらず、重複するタイトルが受け入れられる。サイト側で他に何ができるのか明確ではないため」)。しかし、今日、私たちのスクリプトが特定のメールに対して以下のようなバウンス通知を受け取ったため、混乱しています。
Title has already been used
私の理解が間違っていたのか、それとも先週以降に貴社側で何らかの変更があったのでしょうか。
私たちの側で以下の変更があり、これが挙動の変化を説明している可能性があります。
スクリプトが既知のユーザーになったため、匿名ユーザーがこのカテゴリに投稿する機能を無効化しました。
貴社側で何も変更がないと仮定すると、登録ユーザーは匿名ユーザーよりも「重複タイトルでのメール送信」に対して厳格な基準が適用されるのでしょうか?また、その選択にはどのような根拠があるのでしょうか?(一般的には、登録ユーザーの権限は匿名ユーザーよりも優れていると期待されます)。
ご教示いただけますと幸いです。
「いいね!」 1