メインコンテンツまでスキップ

同じグループのメンバーが作成したコンテンツのみ表示・編集を可能にする

概要

コンテンツ定義の編集権限設定で閲覧・編集可能なグループを制限することができますが、 「自分と同じグループ」のような動的な設定の場合はトリガーを使ったカスタム処理で実装します。

本チュートリアルではコンテンツの表示(管理画面)のトリガーを使用して、同じグループのメンバーが作成したコンテンツのみ表示・編集が可能となる制限をコンテンツ定義に設定します。

学べること

以下の手順で、同じグループのメンバーが作成したコンテンツのみ表示・編集が可能となる制限を設定します。

カスタム処理を設定する

[オペレーション] -> [カスタム処理]をクリックします。

Image from Gyazo

[追加]をクリックします。

Image from Gyazo

以下のカスタム処理を設定します。

項目
タイトルfiter_members_of_the_same_group
識別子fiter_members_of_the_same_group
トリガコンテンツの表示(管理画面)/対象のコンテンツ定義IDを指定
処理以下の内容
fiter_members_of_the_same_group
loading...

Image from Gyazo

入力ができたら[追加する]をクリックしてカスタム処理を追加します。

動作を確認する

動作の確認をするため、検証用のメンバーとグループを以下のように準備します。

メンバーグループ
Diverta HanakoTester
Diverta JiroEditor
Diverta TaroEditor

Image from Gyazo

次に、それぞれのメンバーでログインをして、コンテンツを1つずつ作成します。

Image from Gyazo

備考

コンテンツの表示(管理画面)のトリガーは「スーパーユーザー」以外でログインしている場合に実行されるため、スーパーユーザーからは全てのコンテンツが確認できます。

最後にそれぞれのメンバーでログインをして、一覧に表示されるコンテンツを確認します。
同じグループのメンバーが作成したコンテンツだけが表示されることが分かります。

Diverta Hanakoでログイン

Image from Gyazo

Diverta Jiroでログイン

Image from Gyazo

Diverta Taroでログイン

Image from Gyazo

注意

上記のサンプルコードの場合、

  • Aさんは、幹部 グループと 社内釣り愛好会 グループに所属
  • Bさんは、平社員 グループと 社内釣り愛好会 グループに所属
  • Aさんがトップシークレット文書 を作成する

とすると、Bさんは トップシークレット文書 を編集可能になります。

1人のメンバーは1グループのみに所属する運用にする。カスタム処理内に例外の処理を追加する。などプロジェクトに合わせて調整してください。

ヒント

さらに、コンテンツのバリデーション前のトリガーを追加することで、同じグループのメンバーが作成したコンテンツだけ表示されるが、編集はできないといった実装も可能です。

関連ドキュメント


サポート

お探しのページは見つかりましたか?解決しない場合は、問い合わせフォームからお問い合わせいただくか、Slackコミュニティにご参加ください。