最初に、通常は大量ユーザをインポートする必要はありません - あなたの保守作業を減らすため、外部データベースへの接続またはユーザに新しいアカウントを作成できるようにしている等、認証方法が手動メンテナンスを必要としないようになっているか調査してください。詳細は管理メニューの認証セクションをご覧ください。
あなたが本当にテキストファイルから複数のユーザアカウントをインポートしたい場合、テキストファイルを次のフォーマットにしてください:
必須フィールド名: これらのフィールドは最初のレコードに記述し、ユーザごとに定義する必要があります。
追加時に
firstname、lastname
または更新時にusername
を記述してください。オプションフィールド名: これらのフィールドすべては完全に任意です。フィールドの値がファイルに存在する場合、その値が使用されます。そうでない場合、フィールドのデフォルト値が使用されます。
institution, department, city, country, lang, auth, ajax, timezone, idnumber, icq, phone1, phone2, address, url, description, mailformat, maildisplay, htmleditor, autosubscribe, emailstop
カスタムプロファイルフィールド名 (任意): xxxxx は実際のカスタムユーザプロファイルフィールド名です (例 ユニークな省略名)。
profile_field_xxxxx
特別フィールド名: ユーザ名の変更またはユーザの削除に使用されます。下記をご覧ください。
deleted, oldusername
登録フィールド名 (任意): courseはコースの「コース省略名」です - 記述されている場合、学生はこれらのコースに登録されます。groupは対応するcourseのグループに関連付ける必要があります。typeはコース登録時に関連付けられるロールのタイプです。設定値「1」はデフォルトのコースロール、「2」は教師のレガシーロール、「3」は編集権のない教師のレガシーロールです。ロールを直接指定する代わりに、ロールフィールドを使用することができます - ロール省略名またはIDを使用してください (ロールの数字名はサポートされません)。ユーザをコースのグループに割り当てることもできます (course1のgroup1、course2のgroup2等)。グループはグループ名またはIDで指定することもできます (グループの数字名はサポートされません)。それぞれのコースの利用有効期間を日数で設定することもできます (course1のenrolperiod1、course2のenrolperiod2等)。
course1, type1, role1, group1, enrolperiod1, course2, type2, role2, group2, enrolperiod2, etc.
下記は有効なインポートファイルの例です:
username, password, firstname, lastname, email, lang, idnumber, maildisplay, course1, group1, type1, enrolperiod1
jonest, verysecret, Tom, Jones, jonest@someplace.edu, en, 3663737, 1, Intro101, Section 1, 1, 30
reznort, somesecret, Trent, Reznor, reznort@someplace.edu, en_us, 6736733, 0, Advanced202, Section 3, 3, 90
次のコードには、テンプレートとしてデフォルト値が適用されます:
%l
は、lastnameと置換されます。%f
は、firstnameと置換されます。%u
は、usernameと置換されます。%%
は、% と置換されます。パーセント (%) および文字 (l、f、u) の間には次の修飾語句を使用することができます:
例えば、firstnameがJohn、そしてlastnameがDoeの場合、指定されたテンプレートで次の値を取得することができます:
テンプレートは、デフォルト値のみで処理され、CSVファイルから検索された値では処理されません。
正確なMoodleユーザ名を生成するため、usernameは常に小文字に変換されます。さらに、サイトポリシーページで「ユーザ名に拡張文字を許可する」が無効にされている場合、文字、数字、ダッシュ (-) およびドット (.) と異なる文字は取り除かれます。例えば、firstnameが「John Jr.」、lastnameが「Doe」で「ユーザ名に拡張文字を許可する」が有効にされている場合、username %-f_%-l は「john jr._doe」を生成し、「ユーザ名に拡張文字を許可する」が無効にされている場合、「johnjr.doe」を生成します。
「新しいユーザ名の重複取り扱い」で「カウンタを追加する」が設定されている場合、テンプレートで生成されたユーザ名と重複しているユーザ名にオートインクリメント (自動増加) のカウンタが追加されます。例えば、CSVファイルが明確なユーザ名を含まず、ユーザの氏名「John Doe」「Jane Doe」「Jenny Doe」を含んでいるとします。デフォルトユーザ名が「%-1f%-l」および「新しいユーザ名の重複取り扱い」で「カウンタを追加する」が設定されている場合、生成されるユーザ名は「jdoe」「jdoe2」「jdoe3」となります。
あなたが新しいアカウントを作成するとMoodleは想定して、デフォルトでは既存のアカウントとユーザ名が合致するレコードをスキップします。しかし、「既存のアカウントを更新する」オプションをYesにした場合、既存のユーザアカウントは更新されます。
既存のアカウントを更新する場合、ユーザ名を更新することもできます。「リネームを許可する」をYesに設定して、ファイルにoldusername
フィールドを入れてください。
警告: 既存のアカウント更新時に発生したエラーは、ユーザに悪い影響を及ぼします。既存のアカウントを更新するオプションを使用するときは注意してください。
deleted
フィールドが存在している場合、値「1」が設定されたユーザは削除されます。この場合、username
以外のフィールドは省略されます。
アカウントの削除およびアップロードは、単一のCSVファイルで実行することができます。例えば、次のファイルはユーザ「Tom Jones」を追加し、ユーザ「reznort」を削除します:
username, firstname, lastname, deleted
jonest, Tom, Jones, 0
reznort, , , 1