Webアプリケーション用のアラートシステムの設計

この記事では、Webアプリケーション用のユニバーサルアラートシステムの設計方法と、最終的に何が起こったかについて説明します。 私は得られた結果が唯​​一の真のものであると主張しませんが、私はそれが非常に良いと思います。 この問題を解決した経験がある場合は、コメントで共有してください。



タスクの本質



指定:コラボレーションWebアプリケーション。 簡単にするために、これはCRMまたはタスクトラッカーであると想定します。

必須:応答が必要なアプリケーション内のイベントをタイムリーにユーザーに通知するため。



問題は何ですか?



厳密に定義された作業シナリオと固定ユーザーロールを持つ特定のアプリケーションがあれば、すべてが非常に簡単になります。 しかし、これはそうではありません。 設計プラットフォームに基づいて、ビジネスプロセスの会計および自動化のさまざまなシステムを開発しています。 また、通知システムはプラットフォームレベルで実行する必要があるため、後で任意のアプリケーションで使用できます。



最初のパンケーキ最初のクイックフィックス



最初は、最も単純なバージョンのアラートが実装されました。他のユーザーが行ったすべての変更をユーザーがアプリケーションに入力したときに表示されます。 少しの変更でこのメソッドは存在する権利がありますが、データ量とユーザー数が増えると、無限のリストが得られ、表示する必要がなくなります。







変更のリストが大きすぎることに加えて、このブロック「新機能」には他の問題があります。



これらのすべての質問に答えるには、各トランザクションに関する最も詳細な情報を保存するアクションログがあるように思われます。







ただし、実践が示すように、アクションログを使用してアプリケーション内のイベントに関する操作情報を取得するのは不便です。 原則として、変更に関するこのような詳細な情報はまれなケースで必要になります-「報告」の間にヘッドによって使用されます。 そして、リアルタイムでは、従業員は選択的な情報ほど詳細である必要はありません-興味のある変更に重点を置いています。 たとえば、「上記の例から」「ケースの仕上げ」の後、次のような情報を見たいと思います。

本日12:48 PMに、 イワノフはケースP4D1:出願書類の準備を完了しました。

Petrovには 、ケースP4D2:クライアントからの元のアプリケーションの受信 割り当てられます


これは、私がこれらのIvanovsとPetrovsのリーダーであり、可能な限りそれらを制御したい場合です。 私がペトロフの場合、このフォームでアラートを受信する方が便利です。

P4D2:クライアントからの元のアプリケーションの受信に割り当てられます 。 締め切りは2日です。


アラートは、ユーザーやイベントごとに異なるように構成する必要があることがわかりました(ありがとう、キャップ) 。 ユーザーが本当に必要とするアラートのタイミングと内容を分析します。



アラート分類



発生源別




誰に通知する必要があるか




通知方法別




賞味期限別




結果



そのため、分析ではすべてのニーズが考慮されます。 彼らは何も忘れていないようです。 ここで、アラートを生成できる設定を考え出す必要があります。 インターフェースの美しさについてはまだ考えていませんでしたが、構成構造は次のようになりました。







注意深い読者は、この設定で通知の保存期間が選択されていないことに気付くでしょう。 この設定は、個々のアラートではなく、より高いレベル(アプリケーション全体)で設定できると判断しました。 おそらくこれは一時的な解決策であり、有効期間の微調整は依然として必要です。 経験が示されます。



おわりに



記事の冒頭で既に述べたように、見つかった解決策は理想的であると主張していません。 将来的にそれが何らかの形で補足されたり、完全に変更されたりする可能性があることを除外しません。 コメントで、建設的な批判や問題を解決するためのその他のオプションを満たすことを期待しています。



All Articles