再作成中です - Mitsuhiro Yoshida

... の定義は?

ロール
コンテクスト内でのユーザの識別子です。例えば、教師、学生、フォーラムモデレータがあります。
ケイパビリティ
ユーザが利用できるMoodleの機能の種類です。例えば、moodle/blog:createがあります。
パーミッション
ケイパビリティの設定です。
コンテクスト
コース、活動モジュール、ブロック等、Moodleにおける「空間」です。

なぜ私のロール変更が反映されないのですか?

ロールの変更は、ユーザの次回ログイン時に反映されます。新しいロールのテストに関する情報は、ロールの管理をご覧ください。

また、ロールが割り当てられているコンテクストも確認してください。例えば、moodle/user:updateのようなケイパビリティは、システムコンテクストのみに適用されます。ですから、このケイパビリティをコースコンテクストに割り当てたとしても、変更が反映されないことになります。

なぜ新しいコースが作成される時に自動的に参加者が追加されるのですか?

サイト/システムまたはコースカテゴリコンテクストのロールにユーザが割り当てられた場合、ユーザはコンテクスト内のすべてのコースでこのロールを持つことになります。従って、ユーザがカテゴリレベルで学生または教師の場合、そのカテゴリ内のすべてのコースで参加者として表示されます。

「サイト管理 > ユーザ > パーミッション > グローバルロールの割り当て」およびコースカテゴリページの「ロールの割り当て」を確認して、必要に応じてユーザの割り当てを解除してください。

なぜすべての学生がすべてのコースに受講登録されるのですか?

  • コースコンテクストではなく、サイト/システムコンテクスト内でユーザに学生ロールが割り当てられている (上記FAQ参照)

または、

  • 「サイト管理 > ユーザ > パーミッション > ユーザポリシー」で、「すべてのユーザのデフォルトロール」 (defaultuserroleid) が認証ユーザ (Autheticated user)ではなく、学生 (Student) に割り当てられている

と考えられます。

なぜコース参加者として一覧表示されるユーザとコース内でロールを割り当てられたユーザには違いがあるのですか?

例えば、コースカテゴリコンテクストでユーザに割り当てられる教師ロールのように、高いコンテクストでユーザにロールを割り当てた場合、コース参加者一覧にそのユーザが表示されることになります。ディスカッション「Discrepancies between Assign Roles lists and Participants list - 英語」で、さらに詳細な説明をご覧いただけます。

どのようにしたらコース参加者一覧から管理者を除外できますか?

管理者に対して管理者ロール以外のロールが割り当てられていないか確認してください。

なぜ非表示のロール割り当てが見えたままなのですか?

非表示のロール割り当ては、管理者または教師からは隠されません。例えば、viewhiddenassigns capabilityケイパビリティのあるユーザに対して非表示のロールは表示されます。

パーミッションは、どこから継承されるのですか?

パーミッションは、高いレベルのコンテクストで割り当てられたロールのケイパビリティで設定されたパーミッションより継承されます。パーミッションがどのコンテクストでも許可されていない場合、ユーザはそのケイパビリティに関するパーミッションを持つことはありません。

例えば学生に、継承された「サイト設定を変更する moodle/site:config」パーミッションが与えられているとします。しかし、管理者以外のコンテクストには「サイト設定を変更する moodle/site:config」パーミッションが与えられていないため、学生ロールのユーザはサイト設定を変更することはできません。

パーミッションの階層とは何ですか?

パーミッションの階層は、どのパーミッションが勝つか、または明白なコンフリクト (衝突) がある場合にどのパーミッションが影響を及ぼすか決定します。例えば、サイトで学生すべてにフォーラム投稿を許可している場合、教師は特定のコースでその権限を抑制することができます。パーミッションの階層では、学生に対して1つのコースでフォーラムへの投稿を許可し、他のコースでは許可しない設定を行うことも可能です。

Moodle 1.7と1.8のロールに違いはありますか?

Moodle 1.8

多くのロール修正および改良 (Trackerのロール改善を参照) に加えて、Moodle 1.8では「サイト」コンテクストを「システム」コンテクストから分離しました。

Moodle 1.8のサイトコンテクストは、「フロントページコース」およびその活動です。「サイト管理 > フロントページ > フロントページロール」にて、サイトコンテクストにロールを割り当てることができます。

コース説明の名称「教師」を変更するには?

  • 「サイト管理 > ユーザ > パーミッション > ロールの定義」で「教師」を他の名称にリネーム。

または

  • 教師ロールを別名で複製して、コースコンテクスト内でユーザを必要に応じて割り当ててください。「サイト管理 > アピアランス > コース管理者」で、あなたがコース説明に表示したい教師別名を選択してください。機能要望「Ability to assign or display custom title for role of person in course - 英語」でさらに詳細な説明をご覧いただけます。

教師がロールをオーバーライドできるようにするには?

  1. 「サイト管理 > ユーザ > パーミッション > ロールの定義」にアクセスしてください。
  2. 教師 (teacher) ロールを編集して、ケイパビリティ「moodle/role:override」を「許可」に変更してください。
  3. 「変更を保存する」ボタンをクリックしてください。
  4. 「サイト管理 > ユーザ > パーミッション > ロールの定義」画面の「ロールのオーバーライド許可」タブをクリックしてください。
  5. 教師が学生ロールをオーバーライドできるよう、適切なチェックボックスをチェックしてください。
  6. 「変更を保存する」ボタンをクリックしてください。

コース内でどのようにしたら、教師が他の教師を割り当てることができますか?

これはデフォルトで無効にされています。以下の方法で教師が他の教師を割り当てることができるようになります。

  1. 「サイト管理 > ユーザ > パーミッション > ロールの定義」にて「ロールの割り当て許可」タブをクリックしてください。
  2. 教師 (Teacher) と教師 (Teacher) が交わる部分のチェックボックスをチェックしてください。
  3. 「変更を保存する」ボタンをクリックしてください。

なぜ、コース内でコース作成者に対して、「ロールを切り替える ...」がで正しく動作していないのですか?

この機能は、「コースが学生にどのように表示されるか」を教師が確認することを目的としています。また、コースの外では正常に動作しません。

この機能に関する詳細は、ロールの切り替えおよびロールの管理ページの新しいロールのテストをご覧ください。

ロールのサンプルは、ありますか?

はい、以下のページをご覧ください:

  • 監査 - すべてのコースを受講登録なしで閲覧することができる外部監査人に割り当てます。
  • - 「子/メンティー/チューティー」の活動レポート、評定、ブログエントリ、フォーラム投稿等を「親/メンター/チューター」が閲覧できるパーミッションを与える場合に使用します。
  • デモ教師 - ユーザがパスワードおよびプロファイルを変更できないデモンストレーション教師アカウントを提供するため使用します。
  • フォーラムモデレータ - フォーラム投稿の編集および削除、ディスカッションの分離および他のフォーラムへの移動に関するパーミッションをユーザに与える場合に使用します。
  • キー保持者 - コース登録キーの保持者を設定します。
  • カレンダー編集者 - カレンダーへのイベント追加のパーミッションをユーザに与えます。

ログインユーザがサイトニュースを閲覧できません。どうしたらよいですか?

  1. 「サイト管理 > フロントページ > フロントページロール」にアクセスしてください。
  2. 「パーミッションのオーバーライド」タブをクリックしてください。
  3. 「認証済みユーザ (Authenticated user)」をクリックしてください。
  4. 「フォーラム」へスクロールダウンしてください。
  5. ケイパビリティ「mod/forum:viewdiscussion (ディスカッションを表示する)」を「許可」に変更してください。
  6. ページ下部にある「変更を保存する」ボタンをクリックしてください。

どのようにしたらログインユーザがフロントページの活動に参加できますか?

  1. 「サイト管理 > フロントページ > フロントページロール」にアクセスしてください。
  2. 「パーミッションのオーバーライド」タブをクリックしてください。
  3. 「認証済みユーザ (Authenticated user)」をクリックしてください。
  4. すべての必要な活動のケイパビリティを「許可」に変更してください。 例) 投票を記録する、投稿に返信する
  5. ページ下部にある「変更を保存する」ボタンをクリックしてください。

この設定を有効にするには、すべてのユーザのデフォルトロールを「認証済みユーザ (Authenticated user)」にする必要があります。これは、新しいバージョンのMoodleのデフォルトです。以前のバージョンのMoodleでは、デフォルトロールがゲスト (guest) に設定されていますので、設定を変更してください。「サイト管理 > パーミッション > ユーザポリシー」で設定変更することができます。

または、

  1. 「サイト管理 > フロントページ > フロントページロール」にアクセスしてください。
  2. 学生 (Stuednt) をクリックしてください。
  3. 「潜在的なユーザ」のすべてのユーザを選択した後、左矢印ボタンをクリックして、「割り当て済みユーザ」に追加してください。

Moodle 1.9

または、Moodle 1.9以降の場合、

  1. 「サイト管理 > フロントページ > フロントページ設定」にアクセスしてください。
  2. 「デフォルトのフロントページロール」を学生 (Student) に設定してください。

私のコースで学生ロールを持っている場合、どのようにすればコース作成者ロールを持たないようにできますか?

コース内で2つのロールがユーザに割り当てられている場合、システムは低いレベルのロールをデフォルトで割り当てます。この場合、学生ロールが割り当てられることになります。1つのロールのみ割り当てることをお勧めします。あなたが学生の視点でコースを閲覧したい場合、ロールの切り替え機能を使用するか、テスト用学生アカウントを作成してください。

ロールを定義する場合、「抑制」と「設定なし」の違いは何ですか?

簡単な答え: ロールを定義する殆どの場合、あなたは「許可」または「設定なし」を使うでしょう。「抑制」は特別な場合に使用します。

ケイパビリティ「X」のパーミッションが「設定なし」の場合、あなたは他のことはできますが、「X」をすることができません。

ケイパビリティ「X」のパーミッションが「抑制」の場合、そのロールは積極的にあなたが「X」できないようにします (さらに「許可」が存在しない場合)。

例: あなたはコース内にいて、そのコースの学生ロール、それからサイト内の認証ユーザロールを持っているとしましょう。この場合、このコースにおいて、学生ロールがコース固有のロールとなります。

  • 学生ロールのパーミッションが設定なし、そして認証ユーザのパーミッションが設定なしの場合、あなたは「X」をすることを許可されません
  • 学生ロールのパーミッションが設定なし、そして認証ユーザのパーミッションが許可の場合、あなたは「X」をすることができます
  • 学生ロールのパーミッションが抑制、そして認証ユーザのパーミッションが許可の場合、あなたは「X」をすることを許可されません
  • 学生ロールのパーミッションが許可、そして認証ユーザのパーミッションが抑制の場合、あなたは「X」をすることができます

パーミッションの詳細に関して、どのようにパーミッションは計算されるのかをご覧ください。

どのようにすればユーザによるパスワードの変更を不可にできますか?

ユーザがパスワードを変更できないようにするには、システムコンテクスト内でケイパビリティ/moodle/user:changeownpassword (Moodle 1.9以降) = 「許可」にしないでください。認証ユーザロール (システムコンテクスト内でユーザに割り当てられる) ではデフォルトで「moodle/user:changeownpassword = 許可」にされています。ですから、あなたには以下の2つの選択肢があります:

  1. 認証済みユーザの設定を「moodle/user:changeownpassword = 設定なし」にする。
  2. 「moodle/user:changeownpassword = 抑制」、その他のパーミッションを「設定なし」にした新しいロール「CannotChangeOwnPassword」を作成して、そのロールを選択したユーザにシステムコンテクスト内 (サイト管理 > ユーザ > パーミッション > システムロールの割り当て) で割り当てる。

選択肢 (1) では (何でもできる管理者を除いて) 「すべて」のユーザによるパスワードの変更を防ぎます。選択的にユーザ (例 教師) にパスワードの変更を許可するには、あなたは「moodle/user:changeownpassword = 許可」および他のパーミッションを「設定なし」にした新しいロール「CanChangeOwnPassword」を作成して、そのロールをシステムコンテクスト内で割り当てることができます (サイト管理 > ユーザ > パーミッション > システムロールの割り当て)。

選択肢 (2) 選択的にユーザによるパスワードの変更を防ぐことができますが、パスワード変更を拒否したいユーザ (例 学生) の数が多い場合、あなたはシステムコンテクスト内で多くのロール割り当てをする必要があります。現在のところ、この処理を簡単に実施できる方法がないため、あなたは選択肢 (1) を考えた方が良いでしょう。

あなたはこのパーミッションをシステムコンテクスト内で処理する必要がある点に留意してください。

How can I prevent a user from editing their own profile?

See How can I prevent a user from changing their own password? The answer to this question is the same if you substitute edit their own profile for change their own password and moodle/user:editownprofile (in Moodle 1.9 onwards) for moodle/user:changeownpassword.

Do roles have an inheritance relationship?

No. Roles are completely independent.

  • When you create a new role by copying an existing role, it is just like copying a file: the original and the copy are identical at the outset, but the copy has no ongoing relationship with the original. Changes to the original do not affect the copy and vice versa.
  • When you create a new role and select a value such as LEGACY:Student from the Legacy role type dropdown, you are not "inheriting" from the Student role. You are simply indicating that you want your role to have the same defaults as Student.
  • Course creator does not "inherit" from Teacher (a common misconception). As with all roles, the two roles are completely independent. Course creator is actually a very simple role that can basically only create courses and not much else. However a user who creates a course is automatically assigned the role of Teacher in the newly-created course. This is how a course creator gets her teaching abilities within a course.
  • Since roles are independent of each other, ordering roles at Site Administration > Users > Permissions > Define roles does not have any impact on capabilities or permissions. The only effect of ordering roles is how they are displayed in each context.

How do I copy a custom role from one Moodle site to another

There is no import and export facility for roles, but it can be achieved nearly as easily using backup and restore.

  1. Create an empty course with all the default settings
  2. Assign anybody to your custom role (or roles) within the course
  3. Backup the course (all defaults are fine)
  4. Download the backup file
  5. Upload the backup file to the site files of the target Moodle
  6. Restore the course (all defaults are fine)
  7. Delete the course.

You will find that the custom roles have been recreated in the target site.

What is the difference between the capabilities moodle/role:override and moodle/role:safeoverride?

The capability moodle/role:safeoverride was added to Moodle 1.9.3 onwards, as a way of enabling teachers to override permissions safely. The capability moodle/role:override allows a user to override all permissions, whereas moodle/role:safeoverride only allows a user to override capabilities that do not have major risks attached to them.

I locked myself out of the Administrator role. What do I do?

If all else fails download the adminfix.php script. The instructions are in the comments at the top of the file. Note, that this is a big hammer and should only be used if you are truly stuck.

How can I prevent students from editing their profile?

If you only want students to be prevented from editing their profile, and not all users, you can create a new role, such as Restricted user as described in the Demo teacher role, with moodle/user:editownprofile set to prevent, and assign it to all students in the system context.

Alternatively, you could change moodle/user:editownprofile to not set for the Authenticated user role, then create a new role for teachers with moodle/user:editownprofile set to allow.

What is new in roles in Moodle 2.0?

See Roles 2.0.

関連情報