Загрузка пользователей: различия между версиями
переводы |
переводы |
||
Строка 156: | Строка 156: | ||
</pre> | </pre> | ||
=== MNet === | === MNet === | ||
Существующих пользователей [[MNet]] можно добавить в курсы, группы или когорты, как показано ниже, используя заголовок поля '''mnethostid:''' | |||
# | #Регистрация на курсы: username+mnethostid+course required | ||
# | #Добавление в группу: username+mnethostid+course+group required | ||
# | #Присоединение к потоку: username+mnethostid+cohort required | ||
# | #Приостановка/восстановление учетных записей: username+mnethostid+suspended required | ||
Все остальные операции игнорируются. Вы не можете добавлять пользователей, удалять их или обновлять (например, изменять имена или адрес электронной почты, поля профиля и т.д.). | |||
=== Установите системные роли === | |||
Пользователям также могут быть назначены уже определенные системные роли с использованием их кратких названий, которые указаны в разделе Администрирование сайта > Пользователи > Разрешения > Определение ролей для ролей с определенным системным контекстом. | |||
<code>sysrole1,sysrole2,sysrole3</code> и т.д. | |||
Пользователи могут быть загружены на системную роль (обычно это [[Управляющий (роль)|управляющий]] или создатель курса) посредством ввода краткого названия этой роли. Другие роли можно загрузить, только если они уже были назначены в контексте «система» (см. раздел [[Creating custom roles|Создание пользовательских ролей]]). С помощью sysrole2, sysrole3 и т.д. можно назначить несколько ролей. Обратите внимание, что числовой суффикс никоим образом не связан с числовыми суффиксами в полях регистрации. Номера должны быть указаны последовательно, начиная с 1. | |||
=== | ==== Отмена назначения системных ролей ==== | ||
Пользователи также могут быть лишены заданной системной роли, если к краткому названию роли добавить префикс минус: "-". Если пользователь в данный момент назначен на эту роль, он будет удален из нее. Если пользователю в данный момент не назначена эта системная роль, значение поля игнорируется. Однако значение поля должно относиться к системной роли, которая действительно существует в системе, в противном случае возникнет ошибка. | |||
=== Установите роли на уровне категорий === | |||
Пользователи могут быть загружены на роль в рамках категории (обычно это [[Управляющий (роль)|управляющий]] или создатель курса) посредством ввода краткого названия этой роли в столбце <code>categoryrole1</code> и добавления столбца/колонки <code>category1, category2</code> и т.д., в которых используется идентификационный номер категории (полученный или добавленный вручную путем редактирования категории). | |||
Чтобы массово загружать преподавателей на уровне категории, ознакомьтесь с разделом [[Teacher role#Bulk assigning the Teacher role in a category|Массовое назначение роли преподавателя в категории]]. | |||
# | |||
== Процесс загрузки пользователей == | |||
# Создайте файл для загрузки. | |||
# Перейдите в раздел Администрирование сайта > Пользователи > Учетные записи > Загружать пользователей. | |||
# Добавьте файл для загрузки. | |||
# Проведите предварительный просмотр пользователей ― проверьте настройки и настройки профиля пользователя по умолчанию. | |||
# Если предварительный просмотр пользователей прошел корректно, нажмите «Загрузить пользователей». | |||
# Ознакомьтесь с результатом загрузки пользователей: платформа показывает список пользователей, исключения, сделанные при загрузке, а также сводную информацию о количестве пользователей. | |||
# Нажмите «Продолжить» и вернитесь к экрану загрузки пользователей. | |||
== Обновление предварительного просмотра пользователей == | |||
Существуют различные настройки, позволяющие лучше контролировать желаемый режим загрузки. Эти настройки находятся на странице «Предварительный просмотр загрузки пользователями». | |||
'''Внимание''': ошибки при обновлении существующих учетных записей могут негативно сказаться на ваших пользователях. '''Будьте осторожны''' при использовании параметров обновления. | |||
; | ==== Тип загрузки ==== | ||
Тип загрузки определяет, как платформе обращаться с существующими учетными записями. | |||
;Добавляйте только новых, пропуская существующих пользователей: Это тип загрузки в Moodle по умолчанию. Для каждой новой записи в загружаемом файле создается новая учетная запись пользователя. Если существующее имя пользователя, найденное в загружаемом файле, совпадает с существующим именем пользователя, эта запись пропускается. При пропуске существующей учетной записи пользователя данные в существующей записи не затрагиваются (в отличие от опции «Добавить новых и обновить существующих пользователей»), и вторая новая учетная запись пользователя не создается (в отличие от опции «Добавить всех, при необходимости добавить номер к именам пользователей»). | |||
; | ;Добавить всех, при необходимости добавить номер к именам пользователей: Создает новую учетную запись пользователя для каждой записи в загруженном файле. Если будет найдена существующая учетная запись пользователя, то будет создана новая учетная запись с номером, добавленным к имени пользователя. Например, если учетная запись пользователя с именем пользователя "jsmith" уже существует, а новая запись в загруженном файле содержит запись с именем пользователя "jsmith", создается дополнительная учетная запись пользователя с добавлением 1 к имени пользователя для создания пользователя "jsmith1". | ||
;Добавляйте новых и обновляйте существующих пользователей: Создает новую учетную запись пользователя для каждого нового пользователя в загружаемом файле. Если обнаружена существующая учетная запись пользователя с таким же именем пользователя, информация об учетной записи обновляется в соответствии с данными в загружаемом файле. | |||
;Обновляйте только существующих пользователей: Игнорирует всех новых пользователей, найденных в загружаемом файле, и обновляет учетную запись пользователя, если в загружаемом файле найдена соответствующая запись имени пользователя. | |||
====New user password==== | ====New user password==== | ||
When creating a new user account Moodle can create a new password (if one is not provided) or require a password in the uploaded file. | When creating a new user account Moodle can create a new password (if one is not provided) or require a password in the uploaded file. |
Версия от 12:16, 23 апреля 2025
Загрузка пользователей с помощью текстового файла
Существует множество вариантов загрузки информации (полей, связанных с пользователем) с помощью этого метода: от регистрации пользователей на нескольких курсах с определенными ролями, до обновления информации о пользователе в профиле пользователя и удаления пользователей с сайта.
Совет: обычно нет необходимости загружать пользователей массово с помощью Upload users. Чтобы сократить время обслуживания, вам следует сначала изучить формы аутентификации, которые не требуют ручного обслуживания, такие как подключение к существующим внешним базам данных или разрешение пользователям создавать свои собственные учетные записи (самостоятельная регистрация). Дополнительные сведения см. в разделе Проверка подлинности.
Как загружать пользователей пакетом и добавлять их в курсы.
Форматы файлов для загрузки пользователей пакетом
В загружаемом файле users поля разделены только запятой (или другим разделителем) без пробелов. Первая строка содержит допустимые названия полей. Остальные строки (записи) содержат информацию о каждом пользователе.
Совет: избегайте использования специальных символов в информации о полях, таких как кавычки или другие запятые. Перед отправкой большого объема данных протестируйте файл, содержащий только одну запись.
Совет: вы можете использовать программу для работы с электронными таблицами, чтобы создать файл с необходимыми столбцами и полями. Затем сохраните файл как 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
Пользовательские поля, которые могут быть включены
Совет: мы настоятельно рекомендуем вам протестировать файл, содержащий пользовательские поля, с одним пользователем, прежде чем пытаться загрузить файл с пользователями.
Обязательные [для заполнения] поля
Это обязательные поля для идентификации пользователя:
username,firstname,lastname,email
Проверка достоверности выполняется для:
- username может содержать только строчные буквы алфавита, цифры, дефис "-", подчеркивание "_", точку "." или знак "@"
- email должен соответствовать маске: name@example.com.
Пароли
Поле «пароль» необязательно, если для параметра «Новый пароль пользователя» на экране загрузки задано значение «Создать пароль при необходимости и отправить по электронной почте», но обязательно, если задано значение «Обязательное поле в файле».
Если оно включено, значения должны соответствовать требованиям политики паролей сайта.
Чтобы принудительно изменить пароль для конкретного пользователя, установите в поле пароль значение «Принудительная смена пароля». Если это значение опущено, для каждого пользователя будет сгенерирован пароль (во время следующего задания Cron) и отправлены приветственные электронные письма. Текст приветственного электронного письма находится в языковых настройках в разделе Администрирование сайта > Язык > Настройка языка с помощью строкового идентификатора "newusernewpasswordtext".
Необязательные пользовательские поля
Примечание: запятые в поле должны быть закодированы как , ― скрипт расшифрует их обратно в запятые.
Совет: для логических полей, содержащих только два значения, используйте 0 для значения false и 1 для значения true.
Чтобы указать значения, отличные от значений по умолчанию, вы можете включить одно или несколько из этих необязательных пользовательских полей:
institution,department,city,country,lang,auth,timezone,idnumber,icq,phone1,phone2,address,url,description,mailformat,maildisplay,maildigest,htmleditor,autosubscribe,interests,theme
Большинство из них ― это поля профиля пользователя или поля предпочтений пользователя, которые относятся к профилю пользователя и затем заполняются пользователем или при создании вручную. Однако для некоторых из них требуются специальные форматы; более подробную информацию смотрите в разделе Дополнительные поля с именами.
Важно отметить следующие моменты:
Поле | Пояснения |
---|---|
country | используйте ДВУХБУКВЕННЫЙ КОД страны в верхнем регистре, например, AU, ES, GB, US. Все они указаны в верхнем регистре. Использование "au", "es" или "USA" в качестве кода страны приведет к ошибке базы данных. Если у вас возникли проблемы с определением двухбуквенного кода страны, вы можете ознакомиться со списком названий стран и элементов кода, доступных на веб-сайте ISO. Распространенной ошибкой является использование UK вместо United Kingdom; это должно быть GB. |
lang | используйте двухбуквенный (или расширенный четырехбуквенный) код, определенный в языковых пакетах Moodle, например en, es, en_us, de, в разделе Администрирование сайта > Язык > Языковые пакеты. |
auth | Поле auth необходимо использовать, если на сайте используется альтернативный метод аутентификации, такой как LDAP, поскольку в противном случае метод аутентификации по умолчанию будет ручной, и пользователи, использующие другой метод аутентификации, не смогут войти в систему. Используйте коды сокращенных имен, определенные в разделе Плагины > Аутентификация, для различных типов, например, ручной, логин, ldap, cas, mnet, db, none. Если вы не указали столбец аутентификации, то новые пользователи будут создаваться с типом учетной записи «вручную».
Вы можете установить для "auth" значение "nologin" в вашем csv-файле, что будет означать, что созданные таким образом пользователи не смогут войти в систему. |
timezone | Должно быть указано в формате, указанном в настройках местоположения, в зависимости от зоны/региона, например, Австралия/Сидней, Азия/Катманду, Европа/Мадрид и т.д. При вводе учитывается регистр символов, поэтому Европа/Лондон будет работать, а Европа/Лондон - нет.
Примечание: необходимы настройки для mailformat, maildisplay, htmleditor, автоматической подписки. |
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" в новом поле и написать "profile_field_genre" в заголовке csv-файла.
Для полей пользовательского профиля, содержащих даты, используйте стандартный формат ISO ГГГГ-ММ-ДД, например, 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
Для пользовательских полей профиля, которые являются пунктами меню, используйте соответствующие значения в списке полей меню. Например, вы хотите создать меню с пользовательским полем «Корпоративный отдел» (corporatedivision) с одним из трех значений «Управление», «Развитие» или «Обучение» ('Management', 'Development' и 'Training'). Для этого введите одно из этих трех слов (например, '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 (приостановлено). Подробности смотрите ниже.
Поля для регистрации
При желании вы можете зарегистрировать пользователей на уже существующие курсы, используя ручную регистрацию. Таким образом выполняется только ручная регистрация; если метод ручной регистрации на курсе отключен, этот способ недоступен.
В этом случае используете в загружаемом файле используются следующие поля:
course1,type1,role1,group1,enroltimestart1,enrolperiod1,enrolstatus1,course2,type2,role2,group2,enroltimestart2,enrolperiod2,enrolstatus2
и т.д.
Поля заголовка должны иметь числовой суффикс, чтобы все type1, role1, group1, enrolperiod1 и enrolstatus1 применялись к course1, а последующие числовые суффиксы ― к coursen. Даже если вы записываетесь только на один курс, вы все равно должны использовать цифру 1 в названии курса, т.е. course1, role1 и т.д. Не используйте пустые заголовки без цифр, например, курс, роль и т.д., так как это приведет к ошибке.
course# | это краткое название курса, при наличии которого пользователь будет зачислен на этот курс. Не используйте полное название курса, иначе это приведет к ошибке. Это поле является единственным обязательным для заполнения для успешной регистрации. Все остальные являются необязательными. |
type# | задает роль, которая будет использоваться для регистрации. Значение 1 ― это роль в курсе по умолчанию, 2 ― роль преподавателя и 3 ― роль ассистента. |
role# | может использоваться для непосредственного указания ролей. Используется либо краткое название роли, либо идентификатор роли (цифровые названия ролей не поддерживаются). Обычно это то краткое название роли, которое определено в разделе Пользователи > Разрешения > Определение ролей, например, студент, преподаватель, ассистент. Если столбец «Роль» не указан, пользователи будут зачислены на курс с ролью по умолчанию, которой обычно является «студент». |
group# | может использоваться для распределения пользователей по группам в курсе. Используется название группы или идентификатор (цифровые названия групп не поддерживаются).
Примечание: если группа еще не существует, она будет создана. |
enroltimestart# | может использоваться для установки времени начала регистрации для каждого курса. Если это не указано здесь явно, то регистрация начнется сегодня. Для установки даты: "2025-02-15" и для установки даты и времени: "2025-02-15 15:30" |
enrolperiod# | может использоваться для установки продолжительности регистрации в днях для каждого курса. Если это не указано явно, все пользователи получат продолжительность, указанную в ручной регистрации на курс (значение по умолчанию равно 0, что означает отсутствие ограничения по времени). |
enrolstatus# | необязательный параметр, так как по умолчанию все вновь зарегистрированные пользователи становятся активными. Если использовать значение 1, это приостановит участие пользователей в курсе, а если пользователь ранее был неактивен/приостановлен, то значение 0 снимет с него «подозрения» и сделает его снова активным. |
Назначение (потока) когорты
Вы можете назначить пользователей в любую уже существующую группу, используя только "username" и "Cohort ID", т.е. два поля в файле. Обратите внимание, что это исключение из обычного случая, когда требуются имя, фамилия и адрес электронной почты пользователя.
Необходимо использовать внутренние идентификационные номера когорт или нечисловые идентификаторы существующих когорт; не используйте полное название, поскольку это запрещено.
Обратите внимание, что идентификатор когорты - это то, что обычно называют "shortname".
Вот пример CSV-файла:
username,cohort1,cohort2 student1,nursing,2025class student2,nursing,2024class student3,nursing,2023class
MNet
Существующих пользователей MNet можно добавить в курсы, группы или когорты, как показано ниже, используя заголовок поля mnethostid:
- Регистрация на курсы: username+mnethostid+course required
- Добавление в группу: username+mnethostid+course+group required
- Присоединение к потоку: username+mnethostid+cohort required
- Приостановка/восстановление учетных записей: username+mnethostid+suspended required
Все остальные операции игнорируются. Вы не можете добавлять пользователей, удалять их или обновлять (например, изменять имена или адрес электронной почты, поля профиля и т.д.).
Установите системные роли
Пользователям также могут быть назначены уже определенные системные роли с использованием их кратких названий, которые указаны в разделе Администрирование сайта > Пользователи > Разрешения > Определение ролей для ролей с определенным системным контекстом.
sysrole1,sysrole2,sysrole3
и т.д.
Пользователи могут быть загружены на системную роль (обычно это управляющий или создатель курса) посредством ввода краткого названия этой роли. Другие роли можно загрузить, только если они уже были назначены в контексте «система» (см. раздел Создание пользовательских ролей). С помощью sysrole2, sysrole3 и т.д. можно назначить несколько ролей. Обратите внимание, что числовой суффикс никоим образом не связан с числовыми суффиксами в полях регистрации. Номера должны быть указаны последовательно, начиная с 1.
Отмена назначения системных ролей
Пользователи также могут быть лишены заданной системной роли, если к краткому названию роли добавить префикс минус: "-". Если пользователь в данный момент назначен на эту роль, он будет удален из нее. Если пользователю в данный момент не назначена эта системная роль, значение поля игнорируется. Однако значение поля должно относиться к системной роли, которая действительно существует в системе, в противном случае возникнет ошибка.
Установите роли на уровне категорий
Пользователи могут быть загружены на роль в рамках категории (обычно это управляющий или создатель курса) посредством ввода краткого названия этой роли в столбце categoryrole1
и добавления столбца/колонки category1, category2
и т.д., в которых используется идентификационный номер категории (полученный или добавленный вручную путем редактирования категории).
Чтобы массово загружать преподавателей на уровне категории, ознакомьтесь с разделом Массовое назначение роли преподавателя в категории.
Процесс загрузки пользователей
- Создайте файл для загрузки.
- Перейдите в раздел Администрирование сайта > Пользователи > Учетные записи > Загружать пользователей.
- Добавьте файл для загрузки.
- Проведите предварительный просмотр пользователей ― проверьте настройки и настройки профиля пользователя по умолчанию.
- Если предварительный просмотр пользователей прошел корректно, нажмите «Загрузить пользователей».
- Ознакомьтесь с результатом загрузки пользователей: платформа показывает список пользователей, исключения, сделанные при загрузке, а также сводную информацию о количестве пользователей.
- Нажмите «Продолжить» и вернитесь к экрану загрузки пользователей.
Обновление предварительного просмотра пользователей
Существуют различные настройки, позволяющие лучше контролировать желаемый режим загрузки. Эти настройки находятся на странице «Предварительный просмотр загрузки пользователями».
Внимание: ошибки при обновлении существующих учетных записей могут негативно сказаться на ваших пользователях. Будьте осторожны при использовании параметров обновления.
Тип загрузки
Тип загрузки определяет, как платформе обращаться с существующими учетными записями.
- Добавляйте только новых, пропуская существующих пользователей
- Это тип загрузки в Moodle по умолчанию. Для каждой новой записи в загружаемом файле создается новая учетная запись пользователя. Если существующее имя пользователя, найденное в загружаемом файле, совпадает с существующим именем пользователя, эта запись пропускается. При пропуске существующей учетной записи пользователя данные в существующей записи не затрагиваются (в отличие от опции «Добавить новых и обновить существующих пользователей»), и вторая новая учетная запись пользователя не создается (в отличие от опции «Добавить всех, при необходимости добавить номер к именам пользователей»).
- Добавить всех, при необходимости добавить номер к именам пользователей
- Создает новую учетную запись пользователя для каждой записи в загруженном файле. Если будет найдена существующая учетная запись пользователя, то будет создана новая учетная запись с номером, добавленным к имени пользователя. Например, если учетная запись пользователя с именем пользователя "jsmith" уже существует, а новая запись в загруженном файле содержит запись с именем пользователя "jsmith", создается дополнительная учетная запись пользователя с добавлением 1 к имени пользователя для создания пользователя "jsmith1".
- Добавляйте новых и обновляйте существующих пользователей
- Создает новую учетную запись пользователя для каждого нового пользователя в загружаемом файле. Если обнаружена существующая учетная запись пользователя с таким же именем пользователя, информация об учетной записи обновляется в соответствии с данными в загружаемом файле.
- Обновляйте только существующих пользователей
- Игнорирует всех новых пользователей, найденных в загружаемом файле, и обновляет учетную запись пользователя, если в загружаемом файле найдена соответствующая запись имени пользователя.
New user password
When creating a new user account Moodle can create a new password (if one is not provided) or require a password in the uploaded file.
- Create password if needed and send via email
- creates a random default password for each new user account if one is not provided in the uploaded file, and emails the user their user information and new password.
- Field required in file
- requires that a password be provided in the uploaded file in order. If a password is not provided, an error is generated and the user account is not created. No notification of this user information or password is sent to the user.
Existing user details
The Existing user details options are only available when the Upload type allows existing user accounts to be updated. It specifies how Moodle should process user detail information for existing users.
- No changes
- ignores user detail data in the uploaded file and leaves the existing user account data unchanged.
- Override with file
- overwrites data in the existing user account with the data provided in the uploaded file.
- Override with file and defaults
- overwrites data in the existing user account with data provided in the uploaded file and fills in the default values for existing user details when no data is provided in the uploaded file.
- Fill in missing from file and defaults
- adds data in the existing user account with data provided in the uploaded file if the field is empty (does not already contain data) and fills in the default values for existing user details when no data is provided in the uploaded file.
Existing user password
The Existing user password option appears when you you have set the "Existing user details" setting to "Overwrite with file". It specifies how to handle password data for existing user accounts, to change them or leave them as it. This is a bit of insurance to make sure that you really want to mass change user passwords.
- No changes
- ignores password field in the uploaded user file and leaves the existing user account password untouched
- Update
- overwrites the existing user account password with the password provided in the uploaded file
Force password change
The Force password change option specifies when to tag a user account so that the next login attempt will require the user to change the user's password.
- Users having a weak password
- If the user account has a weak password as defined by the site's Password policy then the user will be forced to change the password during the next login attempt. This option is not shown if there the site does not have a Password policy.
- None
- None of the users in the uploaded file will be forced to change the password during the user's next login attempt.
- All
- All of the users in the uploaded file will be forced to change the password during the user's next login attempt.
Match on email address
This option allows you to optionally match users by emails when uploading them if allowaccountssameemail is set to no.
Allow renames
If the uploaded file contains the special oldusername field, it is possible to rename a user from the oldusername to a new username. The default setting is to not allow renames. Keep in mind that renaming a user will require the user to use the new username when logging in.
- No
- ignores the oldusername field and leaves the existing user account's username field unchanged.
- Yes
- allows the existing user account's username to be changed by the data provided in the uploaded file's username field. The oldusername will be searched for and then updated with the data provided in the username column.
Allow deletes
If the uploaded file contains the deleted special field, it is possible to use the upload file to delete existing user accounts. The default setting is to not allow deletes. Keep in mind that deleting a user account will prevent that user from logging in. As a protection, site administrator user accounts cannot be deleted with this method.
- No
- ignores the deleted special field in the uploaded file and leaves the existing user account unchanged
- Yes
- allows the existing user account to be deleted when the value of the deleted field is 1.
Allow suspending and activating of accounts
If the uploaded file contains the suspended special field, it is possible to use the upload file to either suspend or make active (unsuspend) existing user accounts. The default setting is to allow suspending/activating of existing user accounts. Keep in mind that suspending an existing user account will prevent that user from logging in.
- Yes
- allows the existing user account to be suspended when the value of the suspended field is 1.
- No
- ignores the suspended special field in the uploaded file and leaves the existing user account status unchanged.
Prevent email address duplicates
It is possible, but not recommended to upload users with duplicate email addresses. By default, uploading users with duplicate email addresses is prevented. To allow duplicate email addresses, go to Site administration ► Plugins ► Authentication ► Manage authentication. You can tick "Allow accounts with same email". Then on the upload users screen you will be allowed to change the "Prevent email address duplicates" setting.
However, doing this is not recommended for file uploads. Test thoroughly any user uploads before implementing.
For more info, see the Managing authentication docs page
- Yes
- prevents user accounts from being created from the uploaded if an existing user account already has the same email address as found in the uploaded file's email column.
- No
- allows user accounts to be created if an existing user account already has the same email address found in the uploaded file's email column.
Standardise usernames
Standardise usernames is used by default to convert the username to all lower case and to strip out illegal characters. It is possible to not standardise the usernames; however, doing so is not recommended.
- Yes
- standardises usernames found in the uploaded file before updating existing or creating new user accounts so that the username contains only lowercase letters and numbers.
- No
- skips standardising usernames found in the uploaded file so that the newly created or updated usernames will be exactly as they are in the uploaded file (not recommended).
For those seeking a more technical explanation, the process for standardising the usernames consists of ensuring the characters are all UTF-8 (fix_utf8) encoded, converting the username to lower case, and then stripping out non-letters/non-number characters, except underscore (_), hyphen (-), period (.) and at symbol (@), which are allowed by default, (unless Site administration > Security > Site policies > Allow extended characters in usernames is set on) with something similar to:
$username = preg_replace('/[^-\.@_a-z0-9]/', , $username);
Select for bulk user actions
After the uploaded file has finished being processed (all new accounts have been created and existing accounts updated as specified by the previous settings), there is an option to select some of those user accounts to perform additional bulk user actions such as
- Confirm user accounts created through Email-based self-registration which are not yet confirmed by the user
- Send a message (requires Messaging to be enabled)
- Delete user accounts
- Display a list of users on a page
- Download user data in text, ODS or Excel file format
- Force users to change their passwords
- Add users to a cohort
By default, no users are selected for bulk user actions.
- No
- No users are selected for bulk user actions
- New users
- Only newly created users are selected for bulk user actions
- Updated users
- Only updated user accounts are selected for bulk user actions
- All users
- All users found (existing updated users and newly created user accounts) in the uploaded file are selected for bulk user actions
Default values
You can provide default user values for some fields not included in the uploaded file. Some fields include:
- Email display
- Forum auto-subscribe
- City/town
- ID number
- Institution
- Department
By clicking the Show more.... link, other default user profile fields will show up. You can set 17 different fields here, including the Authentication method, Country. Language, Timezone, as well as most other standard User profile fields.
Other fields
If you have created any custom profile fields for your users, they will show up here.
Upload user results
After accepting the preview settings by clicking on "Upload users", you should see the Upload users results screen.
This screen will show you any exceptions or changes that were made to each user in the upload process. For example, if you were updating user information, the updated information will be shown. Or if a user was not added that record will be highlighted.
The screen will summarize how many users were uploaded or updated, indicate the number of weak passwords and the number of errors.
Advanced potentials of Upload user
Templates
Note: This section needs checking and updating if necessary for Moodle 2.0. Please do so and remove this note when finished.
The default values are processed as templates in which the following codes are allowed:
- %l - will be replaced by the lastname
- %f - will be replaced by the firstname
- %u - will be replaced by the username
- %% - will be replaced by the %
Between the percent sign (%) and any code letter (l, f or u) the following modifiers are allowed:
- (-) minus sign - the information specified by the code letter will be converted to lowercase
- (+) plus sign - the information specified by the code letter will be converted to UPPERCASE
- (~) tilde sign - the information specified by the code letter will be converted to Title Case
- a decimal number - the information specified by the code letter will be truncated to that many characters
For example, if the firstname is John and the lastname is Doe, the following values will be obtained with the specified templates:
- %l%f = DoeJohn
- %l%1f = DoeJ
- %-l%+f = doeJOHN
- %-f_%-l = john_doe
- http://www.example.com/~%u/ results in http://www.example.com/~jdoe/ (if the username is jdoe or %-1f%-l)
Template processing is done only on default values, and not on the values retrieved from the CSV file.
In order to create correct Moodle usernames, the username is always converted to lowercase. Moreover, if the "Allow extended characters in usernames" option in the Site policies page is off, characters different to letters, digits, dash (-) and dot (.) are removed. For example, if the firstname is John Jr. and the lastname is Doe, the username %-f_%-l will produce john jr._doe when Allow extended characters in usernames is on, and johnjr.doe when off.
When the "New username duplicate handling" setting is set to Append counter, an auto-increment counter will be append to duplicate usernames produced by the template. For example, if the CSV file contains the users named John Doe, Jane Doe and Jenny Doe without explicit usernames, the default username is %-1f%-l and New username duplicate handling is set to Append counter, then the usernames produced will be jdoe, jdoe2 and jdoe3.
Deleting accounts
If the deleted field is present, users with value 1 for it will be deleted. In this case, all the fields may be omitted, except for username. After uploading the file, be sure to change the "Upload type" to "Update existing users only" and the "Allow deletes" option to "Yes".
Tip: A similar field is available for suspended. This enables a user account to be temporarily disabled rather than completely removed.
Deleting and uploading accounts could be done with a single CSV file. For example, the following file will add the user Tom Jones and delete the user reznort:
username,firstname,lastname,deleted jonest,Tom,Jones,0 reznort,,,1
Encoding file format
On the initial Upload user screen, you may select the file encoding format from a pull down list. These include UTF-8 (the default), ASCII, ISO-8859-1 to ISO-8859-11 or any one of over 36 formats.
Hints
Spreadsheet
If you use a spreadsheet program such as Excel to create your .csv file, check the resulting output in a text editor before you upload it. It is possible to get trailing commas on each line from an empty field if you have added and deleted columns of information prior to saving the final file. Also check the character encoding. A csv file is a simple text file (ASCII or Unicode) that can be used to upload user accounts.
Excel translates passwords that begin with - (minus) or + (plus) as zero. Even when saving as .csv and saying "Yes" to "Keep this format, and leave out any incompatible features." Check for this before uploading, as a zero halts the upload process.
If you use a formula in Excel to create fields (for example, the concatenate function to create a user name), then remember to copy the cells with the formula and use special paste with values checked to make them into an acceptable data for a csv file.
The upload will also fail if you have trailing spaces at the end of your data fields. Often, this can not be removed with a simple Find " " and Replace with "". If information has been copied from web sources than it is possible to include non-breaking spaces which will prevent your upload from being completed correctly. To find these invisible spaces, use the Find and Replace function in Excel. In the find field, hold alt and type 0160. Leave the replace field blank.
Field size limits
Some fields have maximum character lengths, as defined in the database fields. Typically the file will import to the preview list screen but not finish the process. Turn on debug to see the fields that are too long. The error will be "User not added - error".
The sizes of some common fields, in number of characters, are currently (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
All user fields listed here
- All the user fields that are valid in an upload file are listed below, except for any custom fields you may have created (for which see below.)
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
The enrolments into courses information are
course1,type1,role1,group1,enrolperiod1,enrolstatus1
where each enrolment is grouped by number.
Capabilities
You may wish to create a limited role to allow some users access to this function. Create a role at the system/site level with the following capabilities allowed:
- moodle/site:uploadusers
- moodle/role:assign
And
- In 'Allow role assignments' tab of this new role, permit it to assign the required roles that it may be uploading, especially Student, but also Teacher, Non-editing Teacher, and any other custom roles you may have created, which will be used in the uploads to assign users to.
In particular, don't forget the moodle/role:assign capability (even if these users have it in the courses they will be enrolling users in - it won't work).
Upload users via CLI
In Moodle 3.10 onwards, an administrator can upload users via a CLI script.
To obtain instructions on how to use the script, in the command line from the moodle directory run
php admin/tool/uploaduser/cli/uploaduser.php --help
See also
- Flat file enrolment
- User profile fields for details of how to include data about custom user profile fields in the upload users file
- Upload courses
Forum discussions:
- Uploading users to courses and groups with CSV examples
- Uploading users to custom roles
- Matriculacion con flat file csv - discussion in Spanish
fr:Importer des utilisateurs ja:ユーザのアップロード de:Nutzerliste hochladen es:Subir usuarios