moodleは最もポビュラーなe-learningオープンソースで、JobRainbowのD and I クラウドでも利用されています。
moodle バージョン:Moodle 3.8
目標
一つのコースしか利用しない前提のユーザーリストをcsvファイルから取り込む
参照ドキュメント
2020年10/07現在
- Upload users : https://docs.moodle.org/38/en/Upload_users
- 日本語版:https://docs.moodle.org/3x/ja/%E3%83%A6%E3%83%BC%E3%82%B6%E3%81%AE%E3%82%A2%E3%83%83%E3%83%97%E3%83%AD%E3%83%BC%E3%83%89
やりたいこと
- 新規ユーザーの登録
- ユーザー登録時にメールは飛ばさない
前提知識
ユーザー認証の種類
- 手動アカウント
- 管理者による登録
- ログインなし
- Eメールによる自己登録
- Create new account ボタンにより、自分のアカウントを作成する方法
- SSO(外部CASサーバー)
- CASはSSOのプロトコルの一つ:Central Authentication Service の略
- 外部データベース
- 外部のデータベースにusername, passwordフィールドを持つ方法
- LDAP連携
- LTI
- IMS Global Learning Consortiumによる Learning Tools Interoperablity 規格(?)
- MNet認証
- Moodleの共通認証
- 認証なし
- テスト目的や、外部から接続できない状態のときに使う
- Shibboleth
- SSOのオープンソース
- ウェブサービス認証
ファイルによるユーザーアップロード
いわゆるcsvファイルでユーザーをアップロードできます。文字コードはShift-jisでもUTF-8で取り込み時の設定で何とかなります
サイト管理上の ユーザー > アカウント > ユーザーをアップロードする からアップロードします
手順
- 登録したいコースを準備: 「コース省略名」がcsvファイルに必要になります
- グループ・コーホートを作ることをお勧めします(理由は後述)、グループはコースの 「コース管理」> 「ユーザー」 > 「グループ」から
3. グループ タブで、「グループを作成する」ボタンからグループを作ります 「グループ名」がCSVファイルで必要になります
4. コーホートは サイト管理 > ユーザー の「コーホート」で登録します
5. 「新しいコーホート」を追加するで、コンテクスト=システム で、名称とコーホートIDを設定しますcsvファイルには 「コーホートID」が必要になります
6. コース内で、学生として登録するのか、教師として登録するのか、割り当てるロールの省略名を確認します サイト管理 > ユーザ > パーミッション > ロールを定義する
最低限必要なフィールド
- username
- firstname
- lastname
その他追加可能なフィールド
- password
- 組み込みユーザー属性:institution,department,city,country,lang,auth,timezone,idnumber,icq,phone1,phone2,address,url,description,mailformat,maildisplay,maildigest,htmleditor,autosubscribe,interests,theme
- カスタムプロフィール: profile_field_xxxxx
- 登録用: course1,type1,role1,group1,enroltimestart1,enrolperiod1,enrolstatus1,course2,type2,role2,group2,enroltimestart2,enrolperiod2,enrolstatus2
パスワードについて
- 必要に応じてパスワードを作成してメールで送信する
- パスワードに "to be generated"とセットされ、cronジョブで判断されメールが送信される
- mdl_user_preferences の create_password = 1のデータから、user_idを取得する
- lib\classes\task\send_new_user_passwords_task.php
- lib\moodlelib.php → setnew_password_and_mail でメールが送られる
- ファイルのパスワードフィールドを使用する
が選択できます
パスワードのデフォルト最低要件
- 長さ8文字
- 数字、大文字、小文字、記号を最低ひとつずつ含むこと
→ 個人てきには
- 数字・小文字を含む、最低8文字 でいいのかなと・・