Moodle3.1,3.4(2017.04.18)
非常勤先生より、小テスト機能の拡張提案がありました。2017.4.17に以下をMoodle3.1系に導入してみました。正答が複数ある問題も作成できるようになりました。
Moodle2.7系を使っています。利用者からの要望によりMoodleソースを少し変更した情報を残します。
- 要望:課題一括ダウンロード後のzipファイルを展開すると利用者姓名などが含まれており、ファイル名を処理したいときにやりにくい
- 変更:課題のzipファイル作成箇所を変更し、姓名情報を除き学生番号(本学ではidnumberに学生番号が含まれている)を追加した。但しidnumberが未定義の場合は、オリジナルの名前の付け方にした。
- 箇所:/mod/assign/locallib.php
- 変更前
- if ($this->is_blind_marking()) {
- $prefix = str_replace(‘_’, ‘ ‘, $groupname . get_string(‘participant’, ‘assign’));
- $prefix = clean_filename($prefix . ‘_’ . $this->get_uniqueid_for_user($userid) . ‘_’);
- } else {
- $prefix = str_replace(‘_’, ‘ ‘, $groupname . fullname($student));
- $prefix = clean_filename($prefix . ‘_’ . $this->get_uniqueid_for_user($userid) . ‘_’);
- }
- 変更後
- if ($this->is_blind_marking()) {
- $prefix = str_replace(‘_’, ‘ ‘, $groupname . get_string(‘participant’, ‘assign’));
- $prefix = clean_filename($prefix . ‘_’ . $this->get_uniqueid_for_user($userid) . ‘_’);
- } else {
- if ($student->idnumber == ”) {
$prefix = str_replace(‘_’, ‘ ‘, $groupname . fullname($student));
} else {
$prefix = str_replace(‘_’, ‘ ‘, $groupname . $student->idnumber);
} - $prefix = clean_filename($prefix . ‘_’ . $this->get_uniqueid_for_user($userid) . ‘_’);
- if ($student->idnumber == ”) {
- }
Moodle3.1(2016.9-)も使い始めました。
要望:コースの自己登録を使用する際に、コース登録キー(enrol_self | requirepassword)を忘れないようにセットするようにしたが、コース作成後はコース登録キーを削除してもよい設定にしたい
- /enrol/self/lib.php
- 関連の場所:コース作成時の初期パスワード生成箇所
- /**
- * Add new instance of enrol plugin with default settings.
* @param stdClass $course
* @return int id of new instance
*/ - public function add_default_instance($course) {
$fields = $this->get_instance_defaults(); - if ($this->get_config(‘requirepassword’)) {
$fields[‘password’] = generate_password(20);
} - return $this->add_instance($course, $fields);
}
- 変更の場所:
- if ($checkpassword) {
- // $require = $this->get_config(‘requirepassword’);
- $require = 0; // パスワードがなくてもOKにする
- $policy = $this->get_config(‘usepasswordpolicy’);
- if ($require and trim($data[‘password’]) === ”) {
- $errors[‘password’] = get_string(‘required’);
- } else if (!empty($data[‘password’]) && $policy) {
- $errmsg = ”;
- if (!check_password_policy($data[‘password’], $errmsg)) { $errors[‘password’] = $errmsg; }
- }
- }
Moodle3.1.3or3.1.4+ (Build: 20170223) のバグ?
- コース中にグループを設定している場合、課題確認「全ての課題の提出を表示」に画面がくずれすべての提出が表示できない(2017.3.2)。
- エラー表示は「データベースへの書き込み中にエラーが発生しました。」
- mt.el.kyutech.ac.jpで発生
- 変更
- 過去のMoodleのバグトラックより https://tracker.moodle.org/browse/MDL-47123 が一番現象に近いととりあえず判断
- 変更箇所:/mod/assign/feedback/editpdf/locallib.php
- diff結果 diff locallib.php locallib.org.php
- 66,80c66
< //ohnishi add start MDL-47123
< if (!$attempt) {
< $submission = null;
< // Make sure this grade matches the latest submission attempt.
< if ($this->assignment->get_instance()->teamsubmission) {
< $submission = $this->assignment->get_group_submission($userid, 0, false);
< } else {
< $submission = $this->assignment->get_user_submission($userid, false);
< }
< if ($submission) {
< $attempt = $submission->attemptnumber;
< }
< }
< //ohnishi add end MDL-47123
<
—
>
- 66,80c66
moodleコースの表示順序(新しい順にかえる)
- blocks/course_overview/
- 変更箇所 diff locallib.org.php locallib.php
171a172,173
> // ohnishi add 2016.3.25
> arsort($courses);