moodleでユーザーを登録する場合、CSVファイルを使って登録できる。
フロントページの
サイト管理→ユーザ→アカウント→ユーザのアップロード
で、CSVファイルから読み込むとなっている。
このとき、どの項目が設定可能か?についてだが、moodleのページの
ユーザのアップロード
にかかれている。要するにまとめると、項目は
必須フィールド
username, password, firstname, lastname, email
デフォルトフィールド
institution, department, city, country, lang, auth, timezone
任意フィールド
idnumber, icq, phone1, phone2, address, url, description, mailformat, maildisplay, htmleditor, autosubscribe, course1, course2, course3, course4, course5, group1, group2, group3, group4, group5, type1, type2, type3, type4, type5
に分かれていて、必須フィールド以外の項目は書いても書かなくてもよし。
で、1行目に、上記の項目を書き、2行目以降、レコードになる(書いた項目だけ、値を設定すればよい)
サンプルは、そこにあるように
username, password, firstname, lastname, email, lang, idnumber, maildisplay, course1, group1, type1 jonest, verysecret, Tom, Jones, jonest@someplace.edu, en_utf8, 3663737, 1, Junk102, Section 1, 1 |
ここで、course1, group1, type1とある。これは指定したコース(短縮型で指定)におけるグループとロールを指定している。
ということで、コースにおけるロールは、ここで指定できる。
問題は、システムロールを指定できるかどうか?
DBで、コースのテーブルをみると、(つまり、mdl_courseテーブルを見ると)実際に作成したコースのほかに、システム名の短縮形がはいっている。
というので、この短縮形を、course1に入れてtype1を設定すると・・・・
フロントページに、そのロールは入る。残念。。。
このロールの対応は、mdl_role_assignmentsというテーブルに入っている。
ユーザーはuserid,コースはcontextidで結びついているのだが、
contextid=1がシステム
contextid=2がフロントページ
で、システム名の短縮形を入れると、id=2となってしまうようだ。
事実、DBを直接id=2のものをid=1に書き換えると、システムロールになる。
っていうことで、
moodleでCSVによるユーザー作成時、
コースのロールは設定可、
システムロールは不可
ってかんじなんでしょうかね?