1 of 9

限定管理コンテンツ2�※Form mode、Field Permissionsの応用

Drupal Meetup 羽田 #34 – 2021年9月24日

萩原高行

合同会社ユビキタスライフスタイル研究所

※この資料はwww.ulslab.com経由で見つけられます

2 of 9

コンテンツ公開軸

ドラフト→公開

Content Moderation

執筆公開対象の限定

Group

コンテンツの一部のアクセス制御

Form mode、Field Permissions

3 of 9

Form mode manager

  • Form mode managerを利用すると、作成・編集Formを変更可能
    • ユーザー情報
      • 一般ユーザーがユーザー名変更をできないようにする�Social Loginを利用する時は、パスワードを収集したくない
      • 一般ユーザーが編集できない属性(有償会員区分等)を設定可能
    • コンテンツタイプ
      • 一般ユーザーが編集できない属性(スタッフのみがタグ付けする等)を設定可能

4 of 9

デモシナリオ(ユーザー)

  • ユーザー属性にmembership(tag)フィールドを設定
    • guest, normal, VIPを値としてもつTaxonomyを事前に設定
  • 役割:staffを追加
    • 「ユーザーの管理」権限を付与(Content Moderationの各権限も付加)
  • Form modeの設定
    • ディスプレイモードからデフォルトとadminの2種を定義
    • アカウントの設定のフォームの表示管理で各Form modeを定義
    • 一般、staff、管理者の権限付与

5 of 9

デモシナリオ(記事)

  • 記事コンテンツタイプのタグはstaffが設定する
    • ワークフローでstaffが承認時に設定する
    • 記事コンテンツにForm modeを適用することで実現する
  • Form modeの設定
    • ディスプレイモードからデフォルトとstaff用の2種のForm modeを定義
    • 記事コンテンツタイプのフォームの表示管理で各Form modeを定義
    • 一般、staff、管理者の権限付与

6 of 9

設定後

7 of 9

代替手法:Field Permissions

  • Field Permissionsでフィールド単位の権限設定が可能になる
    • コンテンツに関しては、Form modeより便利
      • 権利の限定と権限付与がフィールド管理一箇所でできる
      • デモ:記事コンテンツでタグの付与を管理者だけに限定
    • Field Permissionsではできないこともある
      • フィールドの管理の対象となるものしか扱えない
        • Userに関しては「ユーザー名とパスワード」は扱えない
        • コンテンツに関しては、「コンテンツの管理」の対象フィールドを扱えない
          • 例えばForm modeで限定的に権限移譲が可能になる(権限を緩めてフォームで限定)

8 of 9

Form mode、Field Permissionsまとめ

  • Userやコンテンツのフィールド単位の権限を設定できる
  • 多くのユーザーによるコンテンツ作成の管理が高度化できる
  • ユーザー定義フィールドの権限管理だけならField Permissionsの方が便利(Userの場合も同様)

9 of 9

ご清聴ありがとうございました

本資料はCC-BY-SAの扱いとします