こんにちは!
現在、Error "Unable to configure link to 'Auto Send Messages'. Ensure ad-blockers are disabled and try reloading the page." で行っているプラグイン開発のブロックを解除しようと取り組んでいます。
そこで、フォーム送信タイプの操作が組み込まれたプラグインの動作例があれば、非常に助かります。私たちのプラグインは、大まかに言うと次の2つの要素で構成されています。
- いくつかの設定項目
- ユーザーがテキストを入力し、「送信」して処理するフォーム
これらの機能を持つプラグインをご存知の方がいらっしゃいましたら、どのように機能するかを確認するために、リンクを教えていただけると大変助かります。
よろしくお願いします!
pfaffman
(Jay Pfaffman)
2
「いいね!」 2
FormKit は比較的新しいです。
Locations プラグインもまだ FormKit を使用するように更新していません。
(しかし、新規に始めるなら間違いなくこれを使うべきです
)
「いいね!」 1
pfaffman
(Jay Pfaffman)
4
それは非常にその通りです。新しいコードを書く人にはまだこれをお勧めします。
私はこれを使って新しい何かに取り組んでいます。(そして、そのことについてたくさん文句を言っているのが見えます!)
「いいね!」 2
@pfaffman ユーザーに4つの項目を求めるシンプルなフォームを作成したいと考えています。
- 送信者
- 受信者
- 件名
- 本文
ユーザーがこれらのフィールドに入力し、「送信」ボタンをクリックすると、メールを送信するエンドポイントがトリガーされます。
具体的には、フォームには4つの要素が含まれ、「送信」ボタンがクリックされると、メッセージを送信するためのエンドポイントが呼び出されます。
それがまさに求めているものかどうかわかりませんが、主な目標は、管理者ユーザーがテキスト(メールの件名と本文)を入力し、ボタンをクリックしてDiscourseのユーザーに送信できるようにすることです。
将来的には、ユーザーが1人の送信者から複数の受信者に複数のメッセージをトリガーできるように拡張したいと考えています。メッセージの総数や各メッセージ間の遅延などのパラメータを操作して、送信されるメッセージの数と間隔を制御したいと考えています。
pfaffman
(Jay Pfaffman)
6
もう一度一歩戻って、実際に解決しようとしている問題を説明していただけますか?
直接メールを送信したい(つまり、メッセージはDiscourse内に存在しない)ということですか、それともユーザーに送信されるPM(ほとんどの場合、メール通知が生成されます)を送信したいということですか?
PMの送信者を変えたいということですか?それが、既存のPMインターフェースに欠けている唯一のことのように思えますが、それで合っていますか?
「いいね!」 1
確認ありがとうございます! もう少し文脈を説明すると、私たちは大量のユーザーベースを抱えており、しばらくアクティブでなかったユーザーを再びエンゲージさせたいと考えています。 目標は、特定の送信者から多くのユーザーにプライベートメッセージ(PM)を送信し、いくつかのパラメータをコントロールできるようにすることです:
- 送信者:管理者ユーザがフォームに直接送信者のユーザー名を指定します。
- 件名と本文:管理者はPMの件名と本文の両方をカスタマイズできます。
- 送信数のコントロール:一度に送信するメッセージの数を制御し、ユーザーをスパムと誤認させないようにします。
- タイミング:重要なのは、メッセージの送信速度を制御できるようにし、メールドメインを圧迫したりスパムにフラグ付けされたりしないように、各メッセージ(および対応するメール)の間に遅延を設定して間隔を空けることです。
最終的には、ユーザーにプライベートメッセージを開かせる(これによりメール通知も発生します)ことを目指し、アプリに戻ってきてもらうことを狙います。
現在、我々はこのタスクを完全に動作しているシンプルなRubyスクリプトで行っています。現状では、SSHを経由してVMにアクセスし、手動でトリガーしていますが、これは少し面倒です。これを、管理者がUIを通じて簡単にトリガーできるプラグインに改良したいと考えています。設定(送信者、件名、本文、送信数、間隔など)を管理者インターフェースから直接入力できるようにしたいです。
この目的は、管理者がこれらの設定を簡単に入力し、プロセスをトリガーし、送信中のメッセージの進行状況を監視できるプラグインインターフェースを実現することです。
「いいね!」 1
pfaffman
(Jay Pfaffman)
8
それはたくさんのパーツですね。
おそらく、ユーザーをグループにまとめて、そのグループ内の全員に送信する計画を立てると思います。メッセージが送信されると、user_custom_field に値を設定し、既存のトピックをテキストと送信者として利用します。ジョブは定期的に実行され、希望するだけのメッセージを送信します。グループやカスタムフィールドの値は設定に入れておきます。
こうすれば、インターフェースや新しいルートを作成する必要はなく、既存の設定を使うだけで済みます。また、データエクスプローラーを使って何が起こったかを見ることもできるので、両方のインターフェースを開発する必要もありません。
しかし、UXにユーザーが入力するフィールドを作りたい場合は、私が既に言及したFormの仕組みをチェックすると良いでしょう。
「いいね!」 1