moodle で課題評定一覧などにユーザ名を表示

moodle で,課題評定の一覧などにユーザ名 (username) が表示されない.ユーザ名に学籍番号を使っているので,学籍番号でソートすることができなくて不便である.デフォルトで表示されているのは氏名とメールアドレスである.このメールアドレスの部分は変更ができる.管理→サイト管理→ユーザ→パーミッション→ユーザポリシー→表示するユーザ固有情報 で選択すればよいのだが,あいにくここに username という選択肢がない.ソース (admin/settings/users.php) には,次のように書いてある:

 // Username is not included as an option because in some sites, it might
 // be a security problem to reveal usernames even to trusted staff.

なんだかなあ.そんなの,その管理者が判断して出さないようにすればいいだけじゃないか.デフォルトでは出ないようにしていれば問題ないだろうに.ともあれ,以下の変更で表示可能となる.

--- admin/settings/users.php-20171202 2016-03-12 08:38:07.000000000 +0900
+++ admin/settings/users.php 2017-12-02 07:50:56.240459183 +0900
@@ -180,6 +180,7 @@
 // Username is not included as an option because in some sites, it might
 // be a security problem to reveal usernames even to trusted staff.
 // Custom user profile fields are not currently supported.
+ // *** Changed by XXX 2017-12-02. Username added (ignoring security issues).
 $temp->add(new admin_setting_configmulticheckbox('showuseridentity',
 new lang_string('showuseridentity', 'admin'),
 new lang_string('showuseridentity_desc', 'admin'), array('email' => 1), array(
@@ -189,6 +190,7 @@
 'phone2' => new lang_string('phone2'),
 'department' => new lang_string('department'),
 'institution' => new lang_string('institution'),
+ 'username' => new lang_string('username'),
 )));
 $temp->add(new admin_setting_configtext('fullnamedisplay', new lang_string('fullnamedisplay', 'admin'), new lang_string('configfullnamedisplay', 'admin'), 'language', PARAM_TEXT, 50));
 $temp->add(new admin_setting_configtext('alternativefullnameformat', new lang_string('alternativefullnameformat', 'admin'),

もちろん,ソースを変更しなくても,たとえば「IDナンバー」(ID number) で代用するという方法もある.だけど,既存ユーザの該当フィールドに全部設定して歩かなくてはいけないし,また,このフィールドはユーザが変更することができてしまう,というのがいまひとつである.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*