【kintone業務改善】複数の人がアプリを同時編集して困っています!

 kintoneで同じページ(レコード)を複数のユーザーが同時に開いている時、「編集中である事」や「編集しているユーザーの表示」、または「同時編集をできないようにする事」は可能でしょうか。

みなさんこんにちは。プロジェクト・アスノート代表の松田です。

上のような質問をいただきました。

残念ながら、編集中という状態は、ブラウザーの中でしか認識されていません。保存するときに誰が更新したのかという情報は記録されますが、編集中のユーザーは把握することができません。
なので、レコードの同時編集はできてしまいます。

同じレコードを同時に編集しているAさんとBさんが、それぞれデータを修正して保存しようとした場合、編集ボタンを押したタイミングではなく、保存ボタンを押したタイミングが早いほうが優先されて保存されてしまいます。
あとから保存しようとした方には、図のようなエラーメッセージが出て保存できません。

 

アクセス権設定を駆使してできる対応を考える

複数の人が同じレコードを編集する用途がある場合は、これはもうどうしようもありません。なんとか競合を避けるためにできる対応を考えてみましょう。

kintone標準機能で持っている「プロセス管理」を使った対応方法です。

プロセス管理を有効にすると、レコードの「ステータス」を定義することができます。また「レコードのアクセス権」の設定では、ステータスを条件としたアクセス権設定を行うことができます。

これを応用して、以下のような設定をしてみます。

プロセス管理の設定

  1. 「未処理」以外に「公開中」と「編集中」の2つのステータスを定義します。
  2. プロセス管理の設定で、以下の3つのルートを設定します(下の図を参照)
    1. 「未処理」→(保存・公開する)→「公開中」
    2. 「公開中」→(編集するボタン)→「編集中」
    3. 「編集中」→(公開するボタン)→「公開中」

 

アクセス権の設定

次に設定したプロセス管理と合わせて、レコードのアクセス権の設定を行います。

  • 優先順位1:ステータスが「編集中」のとき、Everyoneは「閲覧」のみ。更新者は「閲覧、編集」可とする。
  • 優先順位2:ステータスが「公開中」のとき、Everyoneは「閲覧」のみ可とする。

この設定によって、レコードを新規作成(ステータス:未処理)し、保存し公開すると(ステータス:公開中)、誰も編集できなくなります。そして、ステータスが「編集中」になったときは、そのレコードの「更新者」のみが編集をすることができる、という設定内容になります。

 

 

ポイント
  • アクセス権の設定は、各行の並び順が優先順位となり、上にある条件が優先されるので、設定に注意すること。

 

検証してみる

ステータス:公開中

新しいレコードを作成して保存します。そして「保存・公開する」ボタンを押して、ステータスを「未処理」から「公開中」に進めます。このときにこのレコードの詳細画面を開くと、下図のようになっています。

  • ステータスは「公開中」
  • 「編集する」ボタン(プロセス管理のアクションボタン)が表示されている
  • 「編集ボタン」は表示されていない(レコードのアクセス権で編集権限は切っているため)

 

ステータス:編集中

「編集する」ボタンを押してステータスを移動します。

ステータスが「編集中」になり、「編集ボタン」も表示されました。
ステータス変更のアクションボタンを押したことにより、自分が「更新者」になります。なので、先ほど設定したレコードのアクセス権(ステータス:編集中のときは、更新者のみ編集可能)が有効になって「編集ボタン」が表示されます。

 

さらに、この状態(ステータスが編集中)のときは、更新者以外(Everyone)は閲覧も編集もできなくなっていますので、他のユーザーはこのレコードを閲覧したり、編集したりすることができなくなります。

誰かが編集中の時に、他のユーザーが閲覧できなくなる、という制約は発生しますが、こうすることで同時編集によるトラブルを防ぐことが可能になります。

今回の振り返り
  • プロセス管理とアクセス権の設定を合わせることで、複数ユーザーの同時編集をできなくすることができました

今回行ったように、kintoneでやりたい事を実現するためには、複数の機能をうまく組み合わせて使うこともあります。なんか、頭の体操みたいですね。でもこうやっていろいろ考えて検証してみることで、物事をロジカルに考えるトレーニングになったり、ひいては業務自体を見直すキッカケになる場合もあります。

また、このような実際にアプリを作りながら、手を動かして検証することで、より深くkintoneを理解することにつながります。kintoneには無料で使える開発環境もありますので、自社のkintone環境以外にこの開発環境を持っておくことをオススメします。

kintone導入・活用のご相談はこちら!

こんな悩みを抱えていませんか?

◇ kintone導入がなかなか進まない
◇ アプリが思ったような動きをしてくれない・・・
◇ カスタマイズやプラグインをどう選んだらいいの??
◇ 業務改善の進め方がよくわからない

kintone認定アプリデザインスペシャリスト 松田正太郎があなたの相談相手になります。
★初回打合せ(2時間程度を想定)は無料で対応します。
/* ページリンク */