0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Pleasanter Tips: コメントにメンション(みたいな機能)を付けてみた

Posted at

はじめに

Pleasanterのサポートをしているとお客様からいろいろな希望を聞くことが有ります。その中で今回あったのが「Pleasanterにメンションが有りませんよね~」この一言で何かいい方法が無いかと考えてみました。
今回はコメントにメンションのような機能を付けてみました。
メンションは「送信する相手を明確にしてメッセージができる機能」という点を実装しています。
コメントはPleasanterの通知機能(メール)を使用して送信しています。

テーブルの準備

image.png
コメントを入力した際に、新しいコメントのみ送信するように数値Aを追加し、コメントIDを保存するようにしました。

サーバスクリプト

image.png

model.NumA = 0;
let Comments = model.Comments;
Comments = JSON.parse(Comments.toString());
if( Comments.length != 0 ){
  if( Comments[0].CommentId > model.NumA ){
    let result = String(Comments[0].Body).match(/(^\/\/.*)/gm);
    let result1 = String(String(result).substr(2)).split(/\s/gm);
    for(let c=0; c<result1.length; c++){
      let notification = notifications.New();
      notification.Address = result1[c];
      notification.Title = '【通知】' + model.Title;
      notification.Body = Comments[0].Body + '\n' + Comments[0].CreatedTime;
      notification.Send();
    }
  }
  model.NumA = Comments[0].CommentId;
}

メンションの付け方

メンションは行の先頭に//を付けた行になります。
送信先の指定方法はPleasanterの通知のアドレスと同じです。
https://pleasanter.org/manual/table-management-notification
コメント部に下記の通り入力するとmail@hogehoge.comに送信されます。

コメントです。
//mail@hogehoge.com

他の方法として
[User1]...ユーザーID1に送信します。
[Group1]...グループID1に送信します。
[Dept1]...組織ID1に送信します。
グループIDの1と10に送信する場合は下記の通りです。

//[Group1] [Group10]

送信先の間にスペースを入れてください。

問題点

現在の方法はIDやアドレス指定なので相手が明確に判りません。また、アクセス権の無いユーザーや使用できない人にも送信できます。

最後に

とりあえずメンションらしき機能はできましたが、使い勝手はいまいちです。改善方法があればご指導お願いします。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?