同じグループのメンバーが作成したコンテンツのみ表示・編集を可能にする
概要
コンテンツ定義の編集権限設定で閲覧・編集可能なグループを制限することができますが、 「自分と同じグループ」のような動的な設定の場合はトリガーを使ったカスタム処理で実装します。
本チュートリアルではコンテンツの表示(管理画面)のトリガーを使用して、同じグループのメンバーが作成したコンテンツのみ表示・編集が可能となる制限をコンテンツ定義に設定します。
学べること
以下の手順で、同じグループのメンバーが作成したコンテンツのみ表示・編集が可能となる制限を設定します。
カスタム処理を設定する
[オペレーション] -> [カスタム処理]をクリックします。

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

以下のカスタム処理を設定します。
| 項目 | 値 |
|---|---|
| タイトル | fiter_members_of_the_same_group |
| 識別子 | fiter_members_of_the_same_group |
| トリガ | コンテンツの表示(管理画面)/対象のコンテンツ定義IDを指定 |
| 処理 | 以下の内容 |
loading...

入力ができたら[追加する]をクリックしてカスタム処理を追加します。
動作を確認する
動作の確認をするため、検証用のメンバーとグループを以下のように準備します。
| メンバー | グループ |
|---|---|
| Diverta Hanako | Tester |
| Diverta Jiro | Editor |
| Diverta Taro | Editor |

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

コンテンツの表示(管理画面)のトリガーは「スーパーユーザー」以外でログインしている場合に実行されるため、スーパーユーザーからは全てのコンテンツが確認できます。
最後にそれぞれのメンバーでログインをして、一覧に表示されるコンテンツを確認します。
同じグループのメンバーが作成したコンテンツだけが表示されることが分かります。
Diverta Hanakoでログイン

Diverta Jiroでログイン

Diverta Taroでログイン

上記のサンプルコードの場合、
- Aさんは、
幹部グループと社内釣り愛好会グループに所属 - Bさんは、
平社員グループと社内釣り愛好会グループに所属 - Aさんが
トップシークレット文書を作成する
とすると、Bさんは トップシークレット文書 を編集可能になります。
1人のメンバーは1グループのみに所属する運用にする。カスタム処理内に例外の処理を追加する。などプロジェクトに合わせて調整してください。
さらに、コンテンツのバリデーション前のトリガーを追加することで、同じグループのメンバーが作成したコンテンツだけ表示されるが、編集はできないといった実装も可能です。
関連ドキュメント
サポート
お探しのページは見つかりましたか?解決しない場合は、問い合わせフォームからお問い合わせいただくか、Slackコミュニティにご参加ください。