3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Pleasanterを快適に活用するためのたった1つのルール

Last updated at Posted at 2022-09-02

前置き

Pleasanterの使い方の話がメインです。
最後におまけスクリプトあり。

そのルールとは

「1レコードに記載するのは1テーマのみ」
ごくごく当たり前のことです。具体的どういうことか。

コメントの使い方

複数人が同じレコードで情報を共有し、問題を解決するような場合、コメント欄でいろいろコミュニケーションを進めることがあると思います。このコメント欄、何でもかんでも、チャットみたいにやり取りしちゃっていませんか?

スクリーンショット 2022-08-10 114341_ぼかし.png
こんな感じでスクロールしないと、コメントが表示しきれない。

コメントが大量に記載されてしまうことの弊害

Pleasanterには検索機能があります。が、コメントが大量にあると、どこに検索ワードが存在するか、検索結果から該当箇所を見つけるのが大変です。

また、往々にしてこういったレコードには、課題の結論・状況が記載されていないことが多いです。すると、後から見たときに、どんな結論になったのか?そもそもまだ解決していないのか?がわからなくなります。

コメントの流れから結論を追っかけるのは大変です

よくある、コメントが大量に記載されてしまうパターン

課題管理テーブルでのやり取りの例。課題解決後、関連する課題についても議論
例えばこんな流れ..

  1. 課題管理に課題を起票
  2. 課題に対する情報交換をコメント欄で実施
  3. その後、課題は解決、ただし追加でさらなる課題発生
  4. そのままコメント欄で追加課題について議論・・
    「関連する話題なのですが、xxxについてはどうしましょう??」 なんて続いてしまうケース

どのような結論となったのか。残タスクはあるのか?その残タスクの状況は?など、コメント欄だけで議論を進めてしまうと、後から状況を把握することが難しくなります。

じゃあ、どうするか

ということで、冒頭のルールです。
「1レコードに記載するのは1テーマのみ。」
前述の例をもとに、どう使うかの具体例を考えてみます。

課題管理の例

  1. 課題管理に課題を起票 。
  2. 課題に対する情報交換をコメント欄で実施。
  3. その後、課題は解決、ただし追加でさらなる課題発生。
  4. 新たな課題を、別レコードに起票。もともとのレコードは課題解決済としクローズする。

さらに、コメント欄でのやり取りだけではなく、課題の結論、状況(完了済)をテーブルの項目に記載したほうがよいでしょう。

まとめ

大量に記載されたコメントの流れを追っかけるのって、本当に大変なんです(読む気になれない)。
あとから、あの時こういう結論だったよね?というのを追いかけて探しても、探しきれないことも。テーブルの本来の目的を理解した上で、より効率的なコミュニケーションをとるようにしたいですね。(してくださいお願いします)

おまけ

Pleasanterのコメントが検索しにくいなら、別レコードで管理すればいいじゃん、ということで、レコードのコメントを取得・分解してリンクしている子テーブルに登録するスクリプトを作ってみました。

コメントを普通に書き込むテーブル(親)

image.png

親テーブルの詳細画面 コメント分割イメージ

image.png

分割したコメントを登録するテーブル(子)

image.png
→項目「親テーブル」にコメント分割元のテーブルをリンクします。

サンプルコード

処理概要

  1. 親テーブルの情報を$p.apiGetで取得
  2. コメントがJSONの配列形式となっているのでパース
  3. パースしたコメントを分割先の子テーブルに$p.apiCreateで登録
    ※実際に使用する場合は、functionをプロセス機能などから呼び出してください。
    ※サンプルではCreateしかしないので、細かい処理は適宜調整してください。
function DisassemblyComments(){
    //分割元のデータを$p.apiGet取得します。
    //親サイトIDを指定してください(当サンプルコードは記録テーブル想定、サイト全体のコメント取得・分割をします。)。
    //必要であれば、レコード単位で実施するなど調整してください。
    $p.apiGet({
        'id': XXXXX(親サイトID),
        'data':{
            'View':{
                'ApiDataType': 'KeyValues',
                'ApiColumnKeyDisplayType': "ColumnName",
                'GridColumns': ["ResultId","Comments"]
            }
        },
        'done': function (data) {
            //取得したデータ分繰り返し
            for (let val of data.Response.Data) {                
                if(val.Comments != null){
                    //取得したコメントをJsonパース
                    var comentsObj = JSON.parse(val.Comments);
                    //jsonの配列で取得したコメントを1件ずつ処理
                    for (let comment of comentsObj) {                        
                        //分割コメントを子サイトへ$p.apiCreateで登録します
                        //Body→コメント本文を設定
                        //ClassA→親サイトとのリンク項目、登録元のレコードID(ResultId)を設定
                        //ClassB→分割したコメントのIDを設定
                        //ClassC→コメント作成者のIDを設定
                        //DataA→コメント作成日を設定
                        $p.apiCreate({
                            id: XXXXX(子サイトID),
                            data: {
                                ApiVersion: 1.1,
                                Body: comment.Body,
                                ClassHash: {
                                    ClassA: val.ResultId,
                                    ClassB: comment.CommentId,
                                    ClassC: comment.Creator
                                },
                                DateHash: {
                                    DateA: comment.CreatedTime 
                                }
                            },
                            done: function (data) {
                                console.log(data);
                            },
                            fail: function (data) {
                                console.log(data);
                            }
                        });    
                    }
                }    
            }
        },
        fail: function (data) {
            console.log(data);
        }
    });
}
3
1
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
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?