EBt のユーザー間メッセージ処理について
EBt を複数ユーザーで協調して使用する場合、ユーザー間でのメッセージ処理がとても重要になります。
この記事では、EBt でどのようにメッセージ処理を行っているかを解説します。
基本的な概念
メッセージ本体は、実はメモそのもので実現しています。だから、送信したメッセージは全てメモの形で DB 内に保存されています。
メッセージは時系列での繋がりと考え、時系列でメモを並べることが出来るスレッドという概念を新たに追加しました。誰かとの間でメモをやりとりする場合、このスレッドを利用するということが、メッセージ処理の基本となります。
メッセージの送信
ここは、あえて普通のメッセージングツールに似せて作ってあります。つまり、スレッドに登録したユーザーに対して、メッセージを送付するという I/F です。
特に違和感なく使えるかと思います。
但し、メッセージ自体はメモとして実現されていますので、メッセージをメモとして開くと普通の EBt のメモと全く同じように使うことが出来ます。
普通のメモと同じなので、当然のようにリンクを貼ることも出来ます。つまり、添付する書類などはメモに保存しておいて、それをメッセージにリンクするという形で実現します。
スレッドの考え方
スレッドはいわゆるトピックごとに立てるものだと思ってください。参加者は、スレッドに対して書き込む権限を持っている人であれば自由に追加できます。
ただ、スレッドに参加していても、発言者が参照を許可していないユーザーに対してはメッセージは表示されません。権限については、ちょっと厳しめに実装しています。ですので、スレッドでメッセージのやりとりをする場合、以下の設定が必要となります。
スレッドへの参加
スレッド参加者へのアクセス権限の付与(読み込み権限で良い)
もちろん、スレッド参加者の一部に対して権限を与えないということも出来ますが、その場合は、別途参加者を減らしたスレッドを立てた方が良いでしょう。
スレッドに追加したメッセージは時系列情報として管理されます。内容を修正してもメッセージの作成時刻は変わらないので注意してください。
また、過去に投稿したメッセージとの間にリンクを張ることも出来ますので、スレッドを中心としたネットワークを構成することも可能です。
新しいスレッドが必要になった場合、新規にスレッドを立てる以外に、スレッドの分岐ということも可能です。分岐した場合、分岐の起点となったメモは複数のスレッドに所属している形になります。
リンク機能を使って、柔軟にスレッドを活用するようにして下さい。
メッセージの通知
メッセージが届くと、Notion という名前の通知が画面左下に表示されます。現時点では音が鳴ったりすることはありませんが、メッセージのやりとりの参考にして下さい。
おわりに
今の時点では基本的な機能しか持っていないのですが、メッセージ自体がメモなので、じつはメッセージとして送れるデータは EBt で扱うデータと同等と考えて良いです。
これはかなり柔軟かつ強力な機能となりますので、うまく組み合わせて使っていただければと思います。