Moodle 1.9における問題エンジンの変更
Moodle 1.9
UIおよびコードに関する一般的なクリーンアップ
- 問題に関するコードの多くの部分がクリーンアップされました。小テスト/問題のUIが改善されました - カテゴリ編集ページは「並び替えなし」リストに入れ替えられ、カテゴリ編集のコントロールが改善されました。
- もはや問題コードは、ブラウザセッションに依存していません。以前は、あなたが1つ以上のブラウザを開いて、小テストおよび問題を編集すると、予測できないエラーが発生した場合がありました。しかし、現在は1度に複数のブラウザを開いて、小テストおよび問題を編集することができます。
- 他のモジュールから問題バンクの問題にアクセスできるようにするため、小テストモジュールから問題バンクを分離させる開発を完了しました。
問題内からリンクされたファイルの管理に関する改善
異なるコンテクストレベルの異なるカテゴリ階層に問題を分ける
Moodle 1.9以前の小テストの問題は、常に1つのコースと関連付けられていました。また、公開することで、別のコースで小テストの問題を「共有」することができていました。Moodle 1.9以降の小テストの問題は、活動、コース、コースカテゴリまたはシステム全体で共有できます。これら異なるレベルでの共有は、Moodle「コンテクスト」と呼ばれます。詳細は、問題コンテクストをご覧ください。
アップグレードでは :
- 共有されていたカテゴリは、現在システムコンテクスト内にあります。また、カテゴリ名にはコース名が付加されます。
- 共有されていなかったカテゴリは、アップグレードでコースコンテクスト内に入れられます。
- 唯一の例外は、#サブカテゴリから選択されたランダム問題のケースです。
さらに細かなケイパビリティ
Moodle 1.9より、私たちは小テストの問題へのアクセスおよび利用に関する詳細なケイパビリティを作成しました。詳細は、問題パーミッションをご覧ください。現在、問題パーミッションは、小テストの問題が共有されるコンテクストでテストされています。詳細は、問題コンテクストをご覧ください。
アップグレード
アップグレードにおいて、古いバージョンのMoodle問題ケイパビリティは、自動的に割り当てられます。
バージョンアップ前に「moodle/question:manage」ケイパビリティを持っていたロールには、 以下のケイパビリティが割り当てられます :
- moodle/question:add
- moodle/question:editmine / editall
- moodle/question:viewmine / viewall
- moodle/question:usemine / useall
- moodle/question:movemine / moveall
上記割り当ては、バージョンアップ前にコースレベルで問題を共有するパーミッションを持っていたユーザに対して、効果的に同じパーミッションを割り当てます。
アップグレードに関する潜在的な問題
コース外の共有カテゴリにある問題にアクセスする
コースレベルより上で共有される小テストの問題は、コース教師は利用することができません。通常、教師ロールはコースレベルで割り当てられるため、教師ケイパビリティは教師ロールが割り当てられるコース内のみを対象としています。あなたは、新しいロールを定義して、コースレベルより上で小テストの問題を共有を望むすべてのユーザに対して、そのロールを割り当てる必要があります。これは、以下の方法で新しいロールを割り当てることができます :
- adminとしてログインします。
- 「サイト管理 > ユーザ > パーミッション > ロールの定義」に移動します。
- 「新しいロールを追加する」ボタンをクリックします。
- 新しいロール「共有問題作成者」を定義します。
- ロールに以下のパーミッションを与えます:
- そして、以下のパーミッションも与えます :
「共有問題ユーザ」ロールを作成することもできます:
- adminとしてログインします。
- 「サイト管理 > ユーザ > パーミッション > ロールの定義」に移動します。
- 「新しいロールを追加する」ボタンをクリックします。
- 新しいロール「共有問題ユーザ」を定義します。
- ロールに以下のパーミッションを与えます:
システムレベルでロールを割り当てることで、システムコンテクストおよびすべてのコースカテゴリにおいて「共有問題ユーザ / 共有問題作成者」パーミッションをユーザに与えることができます。ユーザに割り当てられたロール (例 教師 /学生等) のパーミッションをオーバーライドしない限り、すべてのコースおよび活動において、ユーザは同様のパーミッションを持ちます。低いコンテクストレベルで「抑制」パーミッションを設定した場合、システムまたはコースカテゴリレベルで「許可」パーミッションをオーバーライドします。「サイト管理 > ユーザ > パーミッション > システムロールの割り当て」にて、あなたはシステムレベルのロールを割り当てることができます。
また、あなたは「サイト管理 > コース > コースの追加/編集」へ移動後、コースカテゴリ名をクリック、画面右上に表示される「ロールの割り当て」リンクをクリックすることで、コースカテゴリレベルのロールを割り当てることができます。ここで割り当てたロールは、そのコースカテゴリに含まれるすべてのコースカテゴリおよびコース / 活動に適用されます。
サブカテゴリから選択されたランダム問題
通常のアップグレードにおいて、共有されている小テストの問題はシステムコンテクスト内のカテゴリに移動されます。 共有されていない問題は、コースコンテクスト内に保持されます。
次のケースでは、前述の小テストの問題のカテゴリ移動が適用されず、いくつかの小テストの問題の共有ステータスが変更されます :
- あなたは、サブカテゴリから選択されたランダム問題を持っています。
- そして、ランダム問題が選択されたサブカテゴリは、他のサブカテゴリと異なる共有ステータスを持っています。例) 「あなたは共有されていないカテゴリにランダム問題を持っています。そして、小テストの問題を選択したいくつかのカテゴリは共有されていません」 または 「あなたは共有されたカテゴリにランダム問題を持っています。そして、小テストの問題を選択したいくつかのカテゴリは共有されています」
このケースのため、環境チェックコードに特別チェックがあります。同時に特別adminレポートもあります。
問題バンクに上記ランダム問題が見つかった場合:
- ランダム問題より下位にあるサブカテゴリには、ランダム問題のカテゴリと同じく「共有」ステータスが設定されます。
- 別のランダム問題がサブカテゴリの1つに含まれている場合、すべてのサブカテゴリは同じステータスに設定されます。
すでに小テストに含まれている問題は、引き続き同じように動作します。
「サブカテゴリからランダム問題を選択する」ことに関して、潜在的な問題をチェックする環境チェック機能があります。スクリーンショットをご覧ください。
あなたのシステムの「サイト管理 > レポート > 問題」で問題が発生した場合、環境チェックメッセージに詳細が表示されます。環境チェックおよび問題adminレポートは、最新のMOODLE_18_STABLEにバックポートされました。
Moodle 1.9における問題エンジンの変更に関する詳細情報は、下記ページにてご覧いただけます。
次のパーミッションは、Moodle 1.9で新たに追加されました (これらは、ケイパビリティ「moodle/question:manage」と入れ替えられ、さらに詳細なコントロールができるようになりました) :
- moodle/question:add
- moodle/question:editmine / editall
- moodle/question:viewmine / viewall
- moodle/question:usemine / useall
- moodle/question:movemine / moveall
そして、以下のケイパビリティは廃止されました: