「ロールFAQ」の版間の差分

提供:MoodleDocs
移動先:案内検索
編集の要約なし
133行目: 133行目:
#「デフォルトのフロントページロール」を学生 (Student) に設定してください。
#「デフォルトのフロントページロール」を学生 (Student) に設定してください。


==Why do I not have my Course creator role when I also have a student role in my course?==
==私のコースで学生ロールを持っている場合、どのようにすればコース作成者ロールを持たないようにできますか?==


If a user has two roles assigned for a course the system will default to the lowest level role, in this case the Student Role. The best advise is to hold only one role.  If you want to see things from the student perspective use the switch roles to function or create a phantom student.
If a user has two roles assigned for a course the system will default to the lowest level role, in this case the Student Role. The best advise is to hold only one role.  If you want to see things from the student perspective use the switch roles to function or create a phantom student.
 
 
==When defining roles, what is the difference between Prevent and Not set?==
==When defining roles, what is the difference between Prevent and Not set?==



2011年7月24日 (日) 05:14時点における版


再作成中です - 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) に設定してください。

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

If a user has two roles assigned for a course the system will default to the lowest level role, in this case the Student Role. The best advise is to hold only one role. If you want to see things from the student perspective use the switch roles to function or create a phantom student.

When defining roles, what is the difference between Prevent and Not set?

Short answer: When defining roles, you almost always want to use Allow or Not set. Prevent is for special occasions.

If the permission for capability X is 'Not set', then having the roles does not let you do X, but something else might.

If the permission for capability X is 'Prevent', then having that role actively prevents you from doing X. (Unless a more specific 'Allow' exists.)

Some examples: Suppose you are in a course, and you have role Student in the course, and role Authenticated user in the site, so the Student role is more specific in this course.

  • If Student has Not set, and Authenticated user has Not set, then you are not allowed to do X.
  • If Student has Not set, and Authenticated user has Allow, then you are allowed to do X.
  • If Student has Prevent, and Authenticated user has Allow, then you are not allowed to do X.
  • If Student has Allow, and Authenticated user has Prevent, then you are allowed to do X.

For the full story, see How permissions are calculated.

How can I prevent a user from changing their own password?

To prevent a user from changing their own password, you must make sure they do not have moodle/user:changeownpassword (in Moodle 1.9 onwards) = Allow in the System context. The Authenticated user role (which is assigned to users in the System context) has moodle/user:changeownpassword = Allow by default, so you have two choices:

  1. Edit Authenticated user, setting moodle/user:changeownpassword = Not set
  2. Create a new role CannotChangeOwnPassword with moodle/user:changeownpassword = Prevent and all other permissions Not set and assign the role to selected users in the System context (Site administration -> Users -> Permissions -> Assign system roles).

Choice (1) will prevent all users from changing their passwords (except for the administrator, who can do anything). To selectively allow selected users (say teachers) to change their passwords, you could create a new role CanChangeOwnPassword with moodle/user:changeownpassword = Allow and all other permissions not set and assign the role to selected users in the System context (Site administration -> Users -> Permissions -> Assign system roles).

Choice (2) allows you to be selective, but if you have a lot of users that you want to prevent (say, all students), you will have to make a lot of role assignments in the System context. There is currently no convenient way to do this, so you might consider choice (1).

Note that you MUST deal with this permission in the System context.

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.

See also