テキストファイルによるユーザのアップロード
この方法では、ユーザに関連付けられた情報(フィールド)をアップロードするためのさまざまなオプションがあります。コース固有のロールで複数のコースにユーザを登録することから、ユーザプロファイルのユーザ情報の更新、サイトからのユーザの削除まで行えます。
ヒント:通常、「ユーザをアップロードする」でユーザを一括アップロードする必要はありません。メンテナンス作業を減らすために、まず既存の外部データベースへの接続や、ユーザ自身にアカウントを作成させる方法(自己登録)など、手動でのメンテナンスを必要としない認証方法を検討してください。詳細については、認証をご覧ください。
ユーザアップロードファイルのファイル形式
ユーザアップロードファイルのフィールドは、カンマ(または他の区切り文字)のみで区切ります。スペースは入れません。1行目には有効なフィールド名を記述します。残りの行(レコード)には、各ユーザの情報を記述します。
ヒント:フィールドの情報には、引用符や他のカンマなどの特殊文字を使用しないでください。大量のアップロードを行う前に、1レコードのみのファイルでテストしてください。
ヒント:スプレッドシートプログラムを使用して、必要なカラムとフィールドを含むファイルを作成できます。その後、ファイルを「CSV (コンマ区切り)」として保存します。これらのファイルは、確認のためにシンプルなテキストエディタ(例:Notepad++)で開くことができます。
テスト用の有効なアップロードファイル
- サイト管理 / ユーザ / ユーザをアップロードするから、テキストファイル例(example.csv)を利用できます。ダウンロードして、必要に応じて変更できます。内容は次のとおりです:
username,firstname,lastname,email student1,Student,One,s1@example.com student2,Student,Two,s2@example.com student3,Student,Three,s3@example.com
- 次のように、さらにフィールドを追加できます。コースとコーホートは、事前に手動で作成しておく必要があります。
username,firstname,lastname,email,course1,group1,cohort1 student1,Student,One,s1@example.com,math102,groupA,cohortZ student2,Student,Two,s2@example.com,math102,groupB,cohort Y student3,Student,Three,s3@example.com,math102,groupA,cohortZ
含めることができるユーザフィールド
ヒント:初めてファイルをアップロードする前に、使用する予定のフィールドを含むファイルを1人のユーザでテストすることを強くお勧めします。
必須フィールド
必須のユーザ識別フィールドは次のとおりです:
username,firstname,lastname,email
次の項目について有効性チェックが行われます:
- usernameには、アルファベットの小文字、数字、ハイフン「-」、アンダースコア「_」、ピリオド「.」、アットマーク「@」のみを使用できます
- emailは、name@example.comの形式です
パスワード
アップロード画面の「新しいユーザパスワード」設定が「必要に応じてパスワードを作成してメールで送信する」に設定されている場合、「password」フィールドは任意ですが、設定が「ファイルのパスワードフィールドを使用する」の場合は必須です。
含める場合、値はサイトのパスワードポリシーの要件を満たす必要があります。
特定のユーザにパスワードの変更を強制するには、passwordフィールドをchangemeに設定します。省略した場合は、(次回のcronジョブ実行時に)各ユーザのパスワードが生成され、ウェルカムメールが送信されます。ウェルカムメールのテキストは、サイト管理 > 言語設定 > 言語カスタマイゼーションの言語設定にあり、ストリング識別子は「newusernewpasswordtext」です。
任意のユーザフィールド
注:フィールド内のカンマは,としてエンコードする必要があります。スクリプトがこれをカンマにデコードし直します。 ヒント:値が2つしかないブール型フィールドには、falseに0、trueに1を使用します。
デフォルト以外の値を指定するには、次の任意のユーザフィールドを1つ以上含めることができます:
institution,department,city,country,lang,auth,timezone,idnumber,icq,phone1,phone2,address,url,description,mailformat,maildisplay,maildigest,htmleditor,autosubscribe,interests,theme
これらのほとんどは、ユーザプロファイルに属するユーザプロファイルフィールドまたはユーザプレファレンスフィールドで、ユーザ自身が入力するか、手動作成時に入力されます。ただし、特定の形式が必要なものもあります:
詳細については、追加氏名フィールドをご覧ください。主な注意点は次のとおりです:
country - 国の2文字コードを大文字で使用します(例:AU,ES,GB,US)。これらはすべて大文字です。「au」、「es」、「USA」を国コードとして使用すると、データベースエラーになります。国の2文字コードがわからない場合は、ISOのウェブサイトで公開されている国名およびコード要素の一覧を参照できます。よくある間違いは、イギリス(United Kingdom)にUKを使用することです。正しくはGBです。
lang - サイト管理 > 言語設定 > 言語パックのMoodle言語パックで定義されている2文字(または拡張4文字)のコードを使用します(例:en、es、en_us、de)。
auth - サイトがLDAPなどの代替認証方法を使用している場合は、authフィールドを使用する必要があります。使用しない場合、認証方法はデフォルトで手動(manual)になり、別の認証方法を使用するユーザはログインできなくなります。 各種類について、プラグイン > 認証で定義されている省略名コードを使用します(例:manual、nlogin、ldap、db、none)。authカラムを含めない場合、新しく作成されるユーザは手動アカウントタイプで作成されます。
CSVファイルで「auth」を「nologin」に設定すると、作成されたユーザはログインできなくなります。
timezone - ロケーション設定にあるZone/Regionの形式で指定します(例:Australia/Sydney、Asia/Kathmandu、Europe/Madrid など)。大文字と小文字が区別されるため、Europe/Londonは機能しますが、europe/londonは機能しません。
注:要記述:mailformat、maildisplay、htmleditor、autosubscribeの設定
maildigest コースや強制購読フォーラムから大量のメールをユーザが受信しないようにするには、maildigestを使用します。このフィールドのオプションは、0 = 「ダイジェストなし (フォーラム投稿ごとのメール)」、1 = 「すべて (投稿すべてを含む日次メール)」、2 = 「件名 (件名のみを含む日次メール)」です。
maildisplayでは、ユーザのメール表示オプションを設定できます。このフィールドのオプションは、0 = 「秘匿する」、1 = 「すべての人に表示する」、2 = 「コース参加者に公開する」です。
emailstopでは、通知を停止できます。このフィールドのオプションは、0 = 通知なし、1 = 通知の許可です。
theme 「classic」、「boost」、またはインストール済みの他のテーマの名前を使用して、ユーザテーマを追加できます。値はテーマの省略名にする必要があります(例:「Boost」ではなく「boost」、「Fordson」ではなく「fordson」)。
カスタムプロファイルフィールド名
これらは任意で、サイトにカスタムプロファイルフィールドを作成しているかどうかによります。ファイル内のヘッダ名は「profile_field_xxxxx」の形式で、xxxxはカスタムユーザプロファイルフィールドの作成時に設定した一意の省略名です。
フィールド名は、プロファイルフィールドの省略名の大文字・小文字と一致させる必要があります。たとえば、カスタムプロファイルフィールドの省略名がすべて大文字(例:DOB)の場合は、大文字・小文字を一致させてprofile_field_DOBというヘッダを使用します。profile_field_dobを使用すると、「有効なフィールド名ではありません」というエラーになります。同様に、Dobのように大文字と小文字が混在する省略名の場合、ヘッダはprofile_field_Dobにする必要があります。(例外として、省略名がすべて小文字の場合は、フィールドヘッダで大文字・小文字のどちらを使用しても機能します。これは歴史的な経緯による癖ですが、大文字・小文字を一致させるのがベストプラクティスであり、そうすればエラーを回避できます。)
profile_field_xxxxx
例:カスタムフィールド「genre」を作成するには、新しいフィールドに省略名「genre」を入力し、.csvファイルのヘッダに「profile_field_genre」と記述する必要があります。
日付のカスタムプロファイルフィールドには、ISO標準形式YYYY-MM-DD(例:2014-06-19)を使用します。これはインタフェースで適切にローカライズされます。たとえば、採用日を表すdohireというフィールドの場合、フィールドは次のようになります:
username,firstname,lastname,email,profile_field_dohire blumbergh,Bill,Lumbergh,blumbergh@example.com,1990-02-19 pgibbons,Peter,BGibbons,pgibbons@example.com,1996-06-05 tsmykowski,Tom,Smykowski,tsmykowski@example.com,1970-01-01
メニューのカスタムプロファイルフィールドには、定義したメニューリストの対応する値を使用します。例:3つの値「Management」、「Development」、「Training」のいずれかを持つカスタムフィールド「corporatedivision」。そのフィールドの値として、これら3つの単語のいずれか(例:「Training」)を入力するだけです。例:
username,firstname,lastname,email,profile_field_corporatedivision blumbergh,Bill,Lumbergh,blumbergh@example.com,Management pgibbons,Peter,BGibbons,pgibbons@example.com,Development tsmykowski,Tom,Smykowski,tsmykowski@example.com,Training
特別なユーザ変更フィールド
ユーザアカウントの管理には、oldusername、deleted、suspendedの3つの特別なフィールドを使用します。詳細は下記をご覧ください。
登録フィールド
任意で、手動登録を使用して既存のコースにユーザを登録できます。この方法で行われるのは手動登録のみです。コースで手動登録方法が無効になっている場合、登録は行われません。
アップロードファイルでは、次のような種類のフィールドを使用します:
course1,type1,role1,group1,enroltimestart1,enrolperiod1,enrolstatus1,course2,type2,role2,group2,enroltimestart2,enrolperiod2,enrolstatus2
など。
ヘッダフィールドには数値の接尾辞を付ける必要があります。これにより、course1からcoursenまでのそれぞれについて、たとえばtype1、role1、group1、enrolperiod1、enrolstatus1はすべてcourse1に適用されます。1つのコースへの登録のみを行う場合でも、見出し名には番号1を付ける必要があります(例:course1、role1 など)。番号のない見出し(例:course、role など)はエラーになるため、使用しないでください。
course#はコースの省略名です。指定されている場合、ユーザはそのコースに登録されます。長いコース名を使用すると、エラーになります。登録を成功させるために必須なのは、このフィールドのみです。その他はすべて任意です。
type#は、登録に使用するロールを設定します。値1はデフォルトのコースロール、2はレガシの教師ロール、3はレガシの編集権限のない教師ロールです。
role#は、ロールの省略名またはロールID(数値のロール名はサポートされていません)を使用して、ロールを直接指定するために使用できます。通常は、ユーザ > パーミッション > ロールを定義するで定義されているロールの省略名(例:student、editingteacher)をロール名として使用します。roleカラムを省略した場合、ユーザはデフォルトロール(通常はstudent)でコースに登録されます。
group#は、名前またはIDを使用して、コース内のグループにユーザを割り当てるために使用できます(数値のグループ名はサポートされていません)。注:グループがまだ存在しない場合は作成されます。
enroltimestart#は、各コースの登録開始日時を設定するために使用できます。ここで明示的に設定しない場合、登録開始日時は今日に設定されます。日付を設定するには「2021-02-15」、日付と時刻を設定するには「2021-02-15 15:30」とします。
enrolperiod#は、各コースの登録期間を日数で設定するために使用できます。ここで明示的に設定しない場合、すべてのユーザには、コースの手動登録方法で設定された期間が適用されます(デフォルトは0で、無制限を意味します)。
enrolstatus#は任意です。デフォルトでは、新しく登録されたすべてのユーザはアクティブに設定されます。値1を使用すると、コース内のユーザが一時停止されます。また、以前に非アクティブ/一時停止に設定されたユーザの場合、値0を使用すると一時停止が解除され、再びアクティブになります。
コーホートメンバシップの割り当て
- 「username」と「コーホートID」の2つのフィールドのみをファイルに含めることで、既存の任意のコーホートにユーザを割り当てることができます。なお、これは、ユーザの名、姓、メールアドレスが必要となる通常の場合の例外です。
- コーホートが作成されていない場合、ファイルのアップロード時にMoodleがコーホートを作成します。
cohort#の形式を使用します。コースへの登録と同様に、各ヘッダに番号を付ける必要があります(cohort1、cohort2 など)。
既存のコーホートの内部コーホートID番号または数値以外のコーホートIDを使用する必要があります。完全な名称は使用できません。(なお、コーホートIDは、他の場所で通常「省略名」と呼ばれるものです。)
CSVファイルの例を次に示します:
username,cohort1,cohort2 student1,nursing,2016class student2,nursing,2014class student3,nursing,2014class
システムロールの設定
システムコンテクストが定義されたロールについては、サイト管理 > ユーザ > パーミッション > ロールを定義するで定義されているシステムロールの省略名を使用して、定義済みのシステムロールにユーザを割り当てることもできます。
sysrole1,sysrole2,sysrole3 など。
ロールの省略名を入力することで、ユーザをシステムロール(通常はマネージャまたはコース作成者)にアップロードできます。その他のロールは、すでに「システム」コンテクストで割り当てられている場合にのみアップロードできます。カスタムロールの作成をご覧ください。sysrole2、sysrole3 などのフィールドを使用して、複数のロールを割り当てることができます。なお、この番号の接尾辞は、登録フィールドの番号の接尾辞とはまったく関係ありません。番号は1から順番に付ける必要があります。
システムロールの割り当て解除
ロールの省略名の前にマイナス記号「-」を付けて入力することで、特定のシステムロールからユーザを削除することもできます。ユーザが現在そのロールに割り当てられている場合は、ロールから削除されます。ユーザが現在そのシステムロールに割り当てられていない場合、フィールドの値は無視されます。ただし、フィールドの値はシステムに実際に存在するシステムロールを参照する必要があります。そうでない場合はエラーになります。

カテゴリロールの設定
カラムcategoryrole1にロールの省略名を入力し、カテゴリのIDナンバ(カテゴリを編集して取得または手動で追加します)を使用するカラムcategory1, category2, etcを追加することで、ユーザをカテゴリロール(通常はマネージャまたはコース作成者)にアップロードできます。
例:

カテゴリの教師を一括アップロードするには、カテゴリでの教師ロールの一括割り当てをご覧ください。
ユーザのアップロード手順
- アップロード用のファイルを作成します。
- サイト管理 > ユーザ > アカウント > ユーザをアップロードするに移動します。
- アップロードするファイルを追加します。
- アップロードユーザプレビュー - 設定とデフォルトのユーザプロファイル設定を確認します。
- アップロードユーザプレビュー - 「ユーザをアップロードする」をクリックします。
- アップロードユーザ結果 - ユーザの一覧、アップロード時の例外、ユーザ数の概要が表示されます。
- アップロードユーザ結果 - 「続ける」をクリックします。
- 「ユーザをアップロードする」画面に戻ります。
ユーザ更新のプレビュー
目的のアップロード動作をより適切に制御するための、さまざまな設定があります。これらの設定は「アップロードユーザプレビュー」ページにあります。
警告:既存のアカウントの更新時のエラーは、ユーザに深刻な影響を与える可能性があります。更新オプションを使用する際は十分に注意してください。
アップロードタイプ
「アップロードタイプ」では、既存のアカウントの処理方法を指定します。
- 新しいユーザのみ、既存のユーザをスキップする
- Moodleのデフォルトのアップロードタイプです。アップロードされたファイル内の新しいレコードごとに、新しいユーザアカウントを作成します。アップロードされたファイル内のユーザ名が既存のユーザ名と一致した場合、そのレコードはスキップされます。既存のユーザアカウントをスキップすることで、既存のレコードのデータは変更されず(「新しいユーザの追加および既存のユーザを更新する」オプションとは対照的です)、2つ目の新しいユーザアカウントも作成されません(「すべてを追加する、必要に応じてユーザ名に番号を付加する」オプションとは対照的です)。
- すべてを追加する、必要に応じてユーザ名に番号を付加する
- アップロードされたファイル内のレコードごとに、新しいユーザアカウントを作成します。既存のユーザアカウントが見つかった場合は、ユーザ名に番号を付加した新しいアカウントが作成されます。たとえば、ユーザ名「jsmith」のユーザアカウントがすでに存在し、アップロードされたファイル内の新しいレコードにユーザ名「jsmith」のレコードが含まれている場合、ユーザ名に1が付加されたユーザ「jsmith1」として、追加のユーザアカウントが作成されます。
- 新しいユーザの追加および既存のユーザを更新する
- アップロードファイル内の新しいユーザごとに、新しいユーザアカウントを作成します。同じユーザ名の既存のユーザアカウントが見つかった場合、アカウント情報はアップロードされたファイルのデータで更新されます。
- 既存のユーザのみ更新する
- アップロードファイル内の新しいユーザは無視し、アップロードされたファイル内に一致するユーザ名のレコードが見つかった場合にユーザアカウントを更新します。
新しいユーザパスワード
新しいユーザアカウントを作成する際、Moodleは(パスワードが指定されていない場合に)新しいパスワードを作成するか、アップロードされたファイルでパスワードを必須にすることができます。
- 必要に応じてパスワードを作成してメールで送信する
- アップロードされたファイルでパスワードが指定されていない場合、新しいユーザアカウントごとにランダムなデフォルトパスワードを作成し、ユーザ情報と新しいパスワードをユーザにメールで送信します。
- ファイルのパスワードフィールドを使用する
- アップロードされたファイルでパスワードを指定する必要があります。パスワードが指定されていない場合、エラーが生成され、ユーザアカウントは作成されません。このユーザ情報やパスワードの通知はユーザに送信されません。
既存のユーザ詳細
「既存のユーザ詳細」オプションは、アップロードタイプで既存のユーザアカウントの更新が許可されている場合にのみ利用できます。既存のユーザのユーザ詳細情報をMoodleがどのように処理するかを指定します。
- 変更なし
- アップロードされたファイルのユーザ詳細データを無視し、既存のユーザアカウントのデータを変更しません。
- ファイルでオーバライドする
- 既存のユーザアカウントのデータを、アップロードされたファイルで指定されたデータで上書きします。
- ファイルおよびデフォルトでオーバーライドする
- 既存のユーザアカウントのデータを、アップロードされたファイルで指定されたデータで上書きし、アップロードされたファイルでデータが指定されていない場合は、既存のユーザ詳細にデフォルト値を入力します。
- 不足しているデータをファイルおよびデフォルトで補填する
- フィールドが空の場合(まだデータが含まれていない場合)に、アップロードされたファイルで指定されたデータを既存のユーザアカウントに追加し、アップロードされたファイルでデータが指定されていない場合は、既存のユーザ詳細にデフォルト値を入力します。
既存のユーザパスワード
「既存のユーザパスワード」オプションは、「既存のユーザ詳細」設定を「ファイルでオーバライドする」に設定した場合に表示されます。既存のユーザアカウントのパスワードデータについて、変更するか、そのままにするかの処理方法を指定します。これは、本当にユーザパスワードを一括変更したいのかを確かめるための、ちょっとした保険です。
- 変更なし
- アップロードされたユーザファイルのパスワードフィールドを無視し、既存のユーザアカウントのパスワードを変更しません
- 更新
- 既存のユーザアカウントのパスワードを、アップロードされたファイルで指定されたパスワードで上書きします
パスワード変更を強制する
「パスワード変更を強制する」オプションでは、次回のログイン時にユーザがパスワードを変更する必要があるよう、どのような場合にユーザアカウントにタグを付けるかを指定します。
- 弱いパスワードを持ったユーザ
- ユーザアカウントのパスワードが、サイトのパスワードポリシーで定義された弱いパスワードの場合、ユーザは次回のログイン時にパスワードの変更を強制されます。サイトにパスワードポリシーがない場合、このオプションは表示されません。
- なし
- アップロードされたファイル内のユーザは、次回のログイン時にパスワードの変更を強制されません。
- すべて
- アップロードされたファイル内のすべてのユーザは、次回のログイン時にパスワードの変更を強制されます。
メールアドレスでの一致
このオプションでは、allowaccountssameemailが「No」に設定されている場合に、アップロード時に任意でメールアドレスによってユーザを照合できます。
リネームを許可する
アップロードされたファイルに特別なフィールドoldusernameが含まれている場合、ユーザの名前をoldusernameから新しいusernameにリネームできます。デフォルト設定では、リネームは許可されていません。ユーザをリネームすると、そのユーザはログイン時に新しいユーザ名を使用する必要があることに注意してください。
- No
- oldusernameフィールドを無視し、既存のユーザアカウントのユーザ名フィールドを変更しません。
- Yes
- 既存のユーザアカウントのユーザ名を、アップロードされたファイルのusernameフィールドで指定されたデータで変更できるようにします。oldusernameが検索され、usernameカラムで指定されたデータで更新されます。
削除を許可する
アップロードされたファイルに特別なフィールドdeletedが含まれている場合、アップロードファイルを使用して既存のユーザアカウントを削除できます。デフォルト設定では、削除は許可されていません。ユーザアカウントを削除すると、そのユーザはログインできなくなることに注意してください。保護のため、この方法でサイト管理者のユーザアカウントを削除することはできません。
- No
- アップロードされたファイル内の特別なフィールドdeletedを無視し、既存のユーザアカウントを変更しません
- Yes
- deletedフィールドの値が1の場合に、既存のユーザアカウントの削除を許可します。
アカウントの利用停止および利用停止解除を許可する
アップロードされたファイルに特別なフィールドsuspendedが含まれている場合、アップロードファイルを使用して、既存のユーザアカウントを利用停止にするか、アクティブにする(利用停止を解除する)ことができます。デフォルト設定では、既存のユーザアカウントの利用停止/アクティブ化が許可されています。既存のユーザアカウントを利用停止にすると、そのユーザはログインできなくなることに注意してください。
- Yes
- suspendedフィールドの値が1の場合に、既存のユーザアカウントの利用停止を許可します。
- No
- アップロードされたファイル内の特別なフィールドsuspendedを無視し、既存のユーザアカウントのステータスを変更しません。
メールアドレスの重複を避ける
重複したメールアドレスを持つユーザをアップロードすることは可能ですが、推奨されません。デフォルトでは、重複したメールアドレスを持つユーザのアップロードは防止されています。重複したメールアドレスを許可するには、サイト管理 ► プラグイン ► 認証 ► 認証管理に移動します。「同一メールのアカウントを許可する」にチェックを入れることができます。その後、ユーザのアップロード画面で「メールアドレスの重複を避ける」設定を変更できるようになります。
ただし、ファイルのアップロードでこれを行うことは推奨されません。実際に運用する前に、ユーザのアップロードを十分にテストしてください。
詳細については、ドキュメントの認証の管理ページをご覧ください。
- Yes
- 既存のユーザアカウントに、アップロードされたファイルのemailカラムと同じメールアドレスがすでにある場合、アップロードされたファイルからユーザアカウントが作成されないようにします。
- No
- 既存のユーザアカウントに、アップロードされたファイルのemailカラムと同じメールアドレスがすでにある場合でも、ユーザアカウントの作成を許可します。
ユーザ名を標準化する
「ユーザ名を標準化する」は、デフォルトで、ユーザ名をすべて小文字に変換し、不正な文字を取り除くために使用されます。ユーザ名を標準化しないことも可能ですが、推奨されません。
- Yes
- 既存のユーザアカウントを更新する前、または新しいユーザアカウントを作成する前に、アップロードされたファイル内のユーザ名を標準化し、ユーザ名に小文字と数字のみが含まれるようにします。
- No
- アップロードされたファイル内のユーザ名の標準化をスキップし、新しく作成または更新されたユーザ名がアップロードされたファイル内のユーザ名とまったく同じになるようにします(非推奨)。
より技術的な説明を求める方のために補足すると、ユーザ名の標準化処理では、文字がすべてUTF-8でエンコードされていること(fix_utf8)を確認し、ユーザ名を小文字に変換してから、デフォルトで許可されているアンダースコア(_)、ハイフン(-)、ピリオド(.)、アットマーク(@)を除く、文字・数字以外の文字を取り除きます(サイト管理 > セキュリティ > サイトポリシー > ユーザ名に拡張文字を許可するが有効になっている場合を除きます)。処理は次のようなものです:
$username = preg_replace('/[^-\.@_a-z0-9]/', , $username);
バルクユーザ処理を選択する
アップロードされたファイルの処理が完了した後(前述の設定で指定されたとおりに、すべての新しいアカウントが作成され、既存のアカウントが更新された後)、それらのユーザアカウントの一部を選択して、次のような追加のバルクユーザ処理を実行するオプションがあります:
- Eメールによる自己登録で作成され、ユーザによってまだ確認されていないユーザアカウントを確認する
- メッセージを送信する(メッセージングが有効になっている必要があります)
- ユーザアカウントを削除する
- ユーザの一覧をページに表示する
- ユーザデータをテキスト、ODSまたはExcelファイル形式でダウンロードする
- ユーザにパスワードの変更を強制する
- ユーザをコーホートに追加する
デフォルトでは、バルクユーザ処理用にユーザは選択されません。
- No
- バルクユーザ処理用にユーザを選択しません
- 新しいユーザ
- 新しく作成されたユーザのみがバルクユーザ処理用に選択されます
- 更新されたユーザ
- 更新されたユーザアカウントのみがバルクユーザ処理用に選択されます
- すべてのユーザ
- アップロードされたファイル内で見つかったすべてのユーザ(更新された既存のユーザおよび新しく作成されたユーザアカウント)がバルクユーザ処理用に選択されます
デフォルト値
アップロードされたファイルに含まれていない一部のフィールドについて、デフォルトのユーザ値を指定できます。次のようなフィールドがあります:
- メールアドレス可視性
- フォーラム自動メール購読
- 都道府県
- IDナンバ
- 所属組織
- 部署
「さらに表示する ...」リンクをクリックすると、その他のデフォルトのユーザプロファイルフィールドが表示されます。ここでは、認証方法、国、言語、タイムゾーンのほか、ほとんどの標準ユーザプロファイルフィールドを含む、17種類のフィールドを設定できます。
その他のフィールド
ユーザ用のカスタムプロファイルフィールドを作成している場合は、ここに表示されます。
ユーザのアップロード結果
「ユーザをアップロードする」をクリックしてプレビュー設定を確定すると、「アップロードユーザ結果」画面が表示されます。
この画面には、アップロード処理で各ユーザに対して発生した例外や変更が表示されます。たとえば、ユーザ情報を更新していた場合は、更新された情報が表示されます。また、ユーザが追加されなかった場合は、そのレコードが強調表示されます。
この画面には、アップロードまたは更新されたユーザ数の概要が表示され、弱いパスワードの数とエラーの数も示されます。
ユーザアップロードの高度な活用
テンプレート
注:このセクションは、必要に応じてMoodle 2.0向けに確認および更新する必要があります。確認および更新を行い、完了したらこの注記を削除してください。
デフォルト値はテンプレートとして処理され、次のコードを使用できます:
- %l - 姓に置き換えられます
- %f - 名に置き換えられます
- %u - ユーザ名に置き換えられます
- %% - %に置き換えられます
パーセント記号(%)とコード文字(l、f、u)の間には、次の修飾子を使用できます:
- (-) マイナス記号 - コード文字で指定された情報が小文字に変換されます
- (+) プラス記号 - コード文字で指定された情報が大文字(UPPERCASE)に変換されます
- (~) チルダ記号 - コード文字で指定された情報がタイトルケース(Title Case)に変換されます
- 10進数 - コード文字で指定された情報がその文字数に切り詰められます
たとえば、名がJohn、姓がDoeの場合、指定したテンプレートで次の値が得られます:
- %l%f = DoeJohn
- %l%1f = DoeJ
- %-l%+f = doeJOHN
- %-f_%-l = john_doe
- http://www.example.com/~%u/はhttp://www.example.com/~jdoe/になります(ユーザ名がjdoeまたは%-1f%-lの場合)
テンプレート処理はデフォルト値に対してのみ行われ、CSVファイルから取得した値には行われません。
正しいMoodleユーザ名を作成するため、ユーザ名は常に小文字に変換されます。また、サイトポリシーページの「ユーザ名に拡張文字を許可する」オプションが無効の場合、文字、数字、ダッシュ(-)、ドット(.)以外の文字は削除されます。たとえば、名がJohn Jr.、姓がDoeの場合、ユーザ名%-f_%-lは、「ユーザ名に拡張文字を許可する」が有効のときはjohn jr._doe、無効のときはjohnjr.doeになります。
「新しいユーザ名の重複処理」設定が「カウンタを付加する」に設定されている場合、テンプレートによって生成された重複するユーザ名に自動インクリメントカウンタが付加されます。たとえば、CSVファイルにJohn Doe、Jane Doe、Jenny Doeという名前のユーザが明示的なユーザ名なしで含まれており、デフォルトのユーザ名が%-1f%-l、「新しいユーザ名の重複処理」が「カウンタを付加する」に設定されている場合、生成されるユーザ名はjdoe、jdoe2、jdoe3になります。
アカウントの削除
deletedフィールドが存在する場合、その値が1のユーザは削除されます。この場合、username以外のすべてのフィールドを省略できます。ファイルをアップロードした後、必ず「アップロードタイプ」を「既存のユーザのみ更新する」に、「削除を許可する」オプションを「Yes」に変更してください。
ヒント:同様のフィールドとしてsuspendedがあります。これを使用すると、ユーザアカウントを完全に削除するのではなく、一時的に無効にできます。
1つのCSVファイルで、アカウントの削除とアップロードを同時に行うこともできます。たとえば、次のファイルはユーザTom Jonesを追加し、ユーザreznortを削除します:
username,firstname,lastname,deleted jonest,Tom,Jones,0 reznort,,,1
ファイルのエンコーディング形式
最初の「ユーザをアップロードする」画面では、プルダウンリストからファイルのエンコーディング形式を選択できます。UTF-8(デフォルト)、ASCII、ISO-8859-1~ISO-8859-11、または36を超える形式のいずれかを選択できます。
ヒント
スプレッドシート
Excelなどのスプレッドシートプログラムを使用して.csvファイルを作成する場合は、アップロードする前に、テキストエディタで出力結果を確認してください。最終的なファイルを保存する前に情報のカラムを追加および削除した場合、空のフィールドによって各行の末尾にカンマが付くことがあります。また、文字エンコーディングも確認してください。csvファイルは、ユーザアカウントのアップロードに使用できるシンプルなテキストファイル(ASCIIまたはUnicode)です。
Excelは、-(マイナス)または+(プラス)で始まるパスワードをゼロに変換します。これは、.csvとして保存し、「この形式のままにし、互換性のない機能は除外する」に「はい」と答えた場合でも同様です。ゼロがあるとアップロード処理が停止するため、アップロードする前にこの点を確認してください。
Excelで数式を使用してフィールドを作成する場合(例:CONCATENATE関数でユーザ名を作成する場合)は、数式を含むセルをコピーし、「形式を選択して貼り付け」で「値」をチェックして貼り付けて、csvファイルに使用できるデータにすることを忘れないでください。
データフィールドの末尾にスペースがある場合も、アップロードは失敗します。多くの場合、これは単純に「" "」を検索して「""」に置換するだけでは削除できません。ウェブ上の情報をコピーした場合、ノーブレークスペースが含まれることがあり、アップロードが正しく完了しなくなります。これらの見えないスペースを見つけるには、Excelの「検索と置換」機能を使用します。検索フィールドでaltキーを押しながら0160と入力します。置換フィールドは空白のままにします。
フィールドサイズの制限
一部のフィールドには、データベースのフィールドで定義された最大文字数があります。通常、ファイルはプレビュー一覧画面まではインポートされますが、処理は完了しません。デバッグを有効にすると、長すぎるフィールドを確認できます。エラーは「ユーザは追加されませんでした - エラー」になります。
一般的なフィールドのサイズ(文字数)は、現在(3.2)次のとおりです:
- username - 100
- password - 255
- idnumber - 255
- firstname - 100
- lastname - 100
- lastnamephonetic - 255
- firstnamephonetic - 255
- middlename - 255
- alternatename - 255
- institution - 255
- department - 255
- address - 255
- city - 120
- icq -15
- skype - 50
- yahoo - 50
- aim - 50
- msn - 50
- phone1 - 20
- phone2 - 20
すべてのユーザフィールドの一覧
- アップロードファイルで有効なすべてのユーザフィールドを以下に示します。ただし、作成したカスタムフィールドは除きます(カスタムフィールドについては下記をご覧ください)。
firstname,lastname,username,email,password,auth,idnumber,institution,department,city,country,timezone,lang,mailformat,maildisplay,maildigest,htmleditor,autosubscribe,profile_field_skype,msn,aim,yahoo,icq,phone1,phone2,address,url,description,descriptionformat,interests,oldusername,deleted,suspended,alternatename,lastnamephonetic,firstnamephonetic,middlename
コースへの登録情報は次のとおりです:
course1,type1,role1,group1,enrolperiod1,enrolstatus1
各登録は番号ごとにまとめられます。
ケイパビリティ
一部のユーザにこの機能へのアクセスを許可するために、限定的なロールを作成することもできます。次のケイパビリティを許可したロールをシステム/サイトレベルで作成します:
- moodle/site:uploadusers
- moodle/role:assign
さらに
- この新しいロールの「ロールの割り当てを許可する」タブで、アップロード時に割り当てる必要のあるロール、特に学生のほか、教師、編集権限のない教師、および作成したその他のカスタムロールなど、アップロードでユーザを割り当てるために使用するロールを割り当てられるようにします。
特に、moodle/role:assignケイパビリティを忘れないでください(これらのユーザが、ユーザを登録するコースでこのケイパビリティを持っていても機能しません)。
CLIによるユーザのアップロード
Moodle 3.10以降では、管理者はCLIスクリプトを使用してユーザをアップロードできます。
スクリプトの使用方法を確認するには、moodleディレクトリからコマンドラインで次のコマンドを実行します:
php admin/tool/uploaduser/cli/uploaduser.php --help
関連項目
- フラットファイル登録
- ユーザプロファイルフィールド:アップロードユーザファイルにカスタムユーザプロファイルフィールドのデータを含める方法の詳細
- コースのアップロード
フォーラムディスカッション: