キントーン選択フィールドとアプリアクション活用
kintoneを導入して情報共有を図ろうと考えた。アプリを作って順調に進んでいると思われていたが、kintoneの情報を一部閲覧制限をかける方法は以前紹介しました。
ケースバイケースで柔軟な情報共有をkintoneで実現したいですよね?
フィールドやアクセス権の設定次第で色々と基本機能だけでできるんですよ~
ユーザー選択やグループ選択フィールドを活用する
基本的にレコードは閲覧できないが、見てもいいよとレコードごとに許可されたユーザーだけが閲覧可能とする。
1か0
アプリ内のレコードを全て閲覧可能なユーザー
アプリ内のレコードを全て閲覧不可のユーザー
見れるか見れないかの2択
レコードごとに共有したいユーザー、共有したくないユーザーが存在することって多々あります。
そこでユーザー選択やグループ選択フィールドを活用してみました。
レコードアクセス制限だけだと不便に感じる
レコードに閲覧制限をかけるのは簡単で、アプリ設定→アクセス権→レコードから設定をする。
アプリの存在は他のユーザーも知ることが出来るけど、レコードの中身は管理者(ユーザー名)しか閲覧できない様に設定したのが↓です。
アプリの存在も知られたくない場合は、アプリ自体に制限をかけることも可能です。
管理者にだけ閲覧編集削除を許可する設定だと、別のユーザー(デイケアキンボウズ)でログインすると「データがありません」という表示になります。
本当は複数レコードが登録されているのでデータはあるはず。ただ、デイケアキンボウズに閲覧許可されたレコードがないので「データがありません」って表示になる。
では、一部のレコードをデイケアキンボウズも閲覧できるように設定していきましょう。
アプリ内の全てのレコードではなく、一部のレコードだけ!!
ユーザー選択フィールドを条件に加えてみる
フォーム内にユーザー選択フィールドを配置します。
初期値を管理者(ユーザー名)としておくことで、レコード登録時に管理者がユーザーとして登録された状態でレコードを保存することが出来ます。
初期値にはログインユーザーを選択することも可能ですので、レコードを新規保存したユーザーだけが閲覧編集削除可能と設定することもできますね。
設定は簡単で、アプリ設定→アクセス権→レコードからフォームのフィールドを追加をクリックすると
- 更新者
- 作成者
- 作業者
- 閲覧ユーザー
と表示されます(他にもユーザー選択フィールドやグループ選択フィールドなどをフォームに配置している場合はそれらも表示されます)
閲覧ユーザー(ユーザー選択フィールド)で選択されたユーザーは選択されたレコードだけを閲覧可能と設定しました。
ここの表示順番は大切で、優先度順となります。
管理者(ユーザー名)を最優先にしているので、閲覧ユーザーで管理者を選択していなくても管理者はレコードの閲覧編集削除が可能となる。
管理者より閲覧ユーザーを上に配置してしまうと、閲覧ユーザー(ユーザー選択フィールド)で管理者を外すとそのレコードを確認することが出来なくなるので注意が必要です。
この方法だと、1つのアプリ情報を共有することになります。
例として、訪問リハビリテーションの情報をデイケアが見に行く。デイケアを利用予定で、本人家族の許可を得て情報を共有したとしましょう。
サービスを利用する際、結局デイケア側は情報を手入力する必要が出てきます。
訪問リハビリテーションのレコードから必要な情報だけをコピーする「アプリアクション」を試してみましょう。
kintone アプリアクションを活用する
アプリアクションを利用すると、他のアプリにレコードのデータをコピーすることが可能です。
コピーする項目やアクション実行が可能なユーザーを選択することが可能ですので、訪問リハビリテーションの情報をデイケアのアプリにコピーすることが可能。
かなり便利な機能です。
アプリアクションの設定
アプリ設定→その他の設定→アクションから設定が可能です。
コピー先のアプリを選択し、コピーしたいフィールドとコピー先のフィールドを紐づけます。
kintone アクセス制限について
2つの部署を跨いで情報を共有しようとしていますので、双方のアプリ内にある個人情報を保護しておく必要があると考えます。
(訪問リハの職員がデイケア利用中で、訪問リハと関係のない利用者さんの情報を閲覧できるという状況は避けたい)
kintoneアプリのアクセス権を設定してしまうと
訪問リハの管理者がアプリアクションを使ってデイケアのアプリに情報を登録したいと考えた場合、レコード追加の権限を扶養する必要があります。
レコード追加だけを付与して、レコード閲覧や編集のチェックを外してみましょう。
そうすると、アプリアクションでレコードを追加することはできます。ただ、追加したレコードを閲覧することはできません。結果↓みたいにエラーが表示されます。
少し情報が間違っているけど編集できない・・・ということで、こちらもユーザー選択フィールド活用してみましょう。
ユーザー選択×各アクセス制限
ユーザー選択フィールドの初期値を
- デイケア キンボウズ
- ログインユーザー
の2つを設定しました。
そして、アクセス権をアプリとレコードで設定しておきます。
デイケアキンボウズと管理者はレコード閲覧、追加、編集は可能。
レコードの条件としてデイケア キンボウズとユーザー選択で選択されたユーザーがレコードを閲覧編集することが可能。
これで、訪問リハビリテーションアプリでアプリアクションを使ってデイケアのアプリに必要な情報をコピーした状態のレコードを登録する。登録した時にログインユーザーとデイケアキンボウズの2ユーザーはレコード閲覧することが出来ます。
訪問リハで登録したレコードは訪問リハもデイケアも閲覧可能
デイケアで登録したレコードはユーザー選択で追加しない限り、デイケアしかレコード閲覧ができない
外部からは見れないが、内部からはどんな情報でも見ることが可能
時にこの状態だと問題が発生するケースもあるでしょうから、アクセス権プラスαで上手な情報共有を!!
kintoneに答えはないと思います。フィールドごとにこまかくアクセス権を設定することも可能ですしね~