パーミッション
パーミッションでは、あなたがユーザに特定のケイパビリティ (能力) を付与します。
ケイパビリティ「新しいディスカッションを開始する」 (フォーラムで使用) を例に挙げます。
それぞれのロールでは、下記4つの設定値から1つのパーミッションを選択してケイパビリティに設定することができます:
- 設定なし (旧 継承)
- 一般的に、これはデフォルトの設定です。継承は中立の設定で「ユーザの既存の設定をすべて使用する」ことを意味します。このケイパビリティのパーミッションを持ったロールが誰かに割り当てられた場合 (例 コース内で)、実際に持つことになるパーミッションは、そのユーザがすでに高いレベルのコンテクストで持っているパーミッションと同じです。結局のところ、どのレベルでもパーミッションが許可されていない場合、ユーザはそのケイパビリティに関してパーミッションを持ちません。
- 許可
- この設定値を選択することで、このロールが割り当てられたユーザにこのケイパビリティのパーミッションを与えます。このパーミッションは、このロールおよびすべての「低い」コンテクストが割り当てられるコンテクストに適用されます。例えば、このロールがコースに割り当てられる学生用ロールの場合、いくつかのフォーラムがこのケイパビリティに対する抑制または禁止のオーバーライドまたは新しい割り当てを含まない限り、学生はそのコースのすべてのフォーラムで「新しいディスカッションを開始する」ことができます。
- 抑制
- このロールのユーザに高いコンテクストのパーミッションがあったとしても、この設定値を選択することで、このケイパビリティに関するパーミッションを解除します。
- 禁止
- この設定値が必要となることはほとんどありませんが、場合によっては低いコンテクストがオーバライドされないよう、ロールにパーミッションを全く与えない設定にするのも良いでしょう。あなたがこれを必要とする良い例は、管理者が1人のユーザに対して、サイト全体ですべてのフォーラムに新しいディスカッションを開始させたくない場合です。この場合、ケイパビリティに「禁止」が設定されたロールを管理者が作成し、サイトコンテクストでそのロールを当該ユーザに割り当てることができます。
パーミッションのコンフリクトの解決
「低い」コンテクストのパーミッションは、一般的に高いコンテクストからオーバライドされます (これは、「ロールのオーバライドおよび割り当て」で適用されます)。例外は、低いレベルのパーミッションをオーバライドすることができない「禁止」パーミッションです。
同じコンテクストで2つのロールが1人のユーザに割り当てられ、1つは許可されて、1つは拒否されるとします。どちらが勝つのでしょうか? この場合、Moodleはコンテクストツリーを「決定者」として参照します。
例えば、1つのロールは新しいディスカッション開始を許可し、もう一方は拒否するという2つのロールをコース内で学生が持っているとします。この場合、私たちはカテゴリおよびサイトコンテクストをチェックし、決定する手助けとして、他に定義されたパーミッションを探します。他に定義されたパーミッションが見つからない場合、パーミッションはデフォルトとして「抑制」が設定されます (2つの設定は、それぞれキャンセルされ、パーミッションが無くなるからです)。
特例
一般的にゲストユーザは、ケイパビリティが与えられたとしても、コンテンツの投稿 (例 フォーラム、カレンダーエントリ、ブログ) を禁止されていますので注意してください。