Загрузка пользователей

Во-первых, отметим, что обычно нет необходимости импортировать списки пользователей - чтобы уменьшить Вашу собственную работу по обслуживанию, Вы должны сначала изучить методы аутентификации, которые не требуют ручного вмешательства, например использовать существующие внешние базы данных или разрешить пользователям создавать их учетные записи. См. методы аутентификации в меню "Администрирование".

Если Вам все-же необходимо импортировать многочисленные учетные записи пользователей текстовым файлом, то Вы должны форматировать свой файл следующим образом:

  • Каждая строка файла содержит одну запись
  • Каждая запись - ряд данных, отделенных запятыми (или другими разделителями)
  • Первая запись файла является особенной и содержит список имен полей. Они определяют формат остальной части файла.

    Требования к именам полей: эти поля должен быть включены в первую запись; они определяют для каждого пользователя:

    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

    Поля регистрации (не обязательно): Имена курсов - "shortnames" ("короткие имена") курсов - если присутствуют, тогда пользователь будет зарегистрирован в этих курсах. "Type" - тип роли, которая используется при регистрации в курсе. Значение 1 - роль курса по умолчанию, 2 - наследуется роль Преподавателя и 3 - наследуется роль Нередактирующего Преподавателя (Ассистента). Вместо этого Вы можете использовать поле роли, чтобы определить, что роли непосредственно используют - или короткое название роли, или id (числовые названия ролей не поддерживаются). Пользователи могут быть также в курсе распределены по группам (group1 в course1, group2 в course2, и т.д.). Группы снова идентифицируются по названиям или id (числовые названия групп не поддерживаются).

    course1, type1, role1, group1, course2, type2, role2, group2, etc.

  • Запятые, разделяющие значения данных, должны быть закодированы как &#44 - скрипт автоматически расшифрует их обратно в запятые.
  • Для логических полей используйте "0" для лжи и "1" - для истины.

Ниже приведен пример работающего файла импорта:

username, password, firstname, lastname, email, lang, idnumber, maildisplay, course1, group1, type1
jonest, verysecret, Tom, Jones, jonest@someplace.edu, en, 3663737, 1, Intro101, Section 1, 1
reznort, somesecret, Trent, Reznor, reznort@someplace.edu, en_us, 6736733, 0, Advanced202, Section 3, 3

Шаблоны

Значения по умолчанию обработаны как шаблоны, в которых разрешены следующие коды:

  • %l - заменяется на фамилию (lastname)
  • %f - заменяется на имя (firstname)
  • %u - заменяется на логин - имя пользователя (username)
  • %% - заменяется на %

Между знаком процента (%) и любым кодовым знаком (l, f или u) разрешаются следующие модификаторы:

  • (-) знак минус - определенная кодовым знаком информация будет преобразована в строчные буквы
  • (+) знак плюс - определенная кодовым знаком информация будет преобразована в ПРОПИСНЫЕ БУКВЫ
  • (~) знак тильды - определенные кодовым знаком слова будут представлены с Больших Букв
  • десятичное число - определенная кодовым знаком информация будет усечена до этого количества знаков

Например, если firstname будет Джон, и lastname - Doe, то с указанными шаблонами будут получены следующие значения:

  • %l%f = DoeJohn
  • %l%1f = DoeJ
  • %-l%+f = doeJOHN
  • %-f_%-l = john_doe
  • http://www.example.com/~%u/ = http://www.example.com/~jdoe/ (если username - jdoe или %-1f%-l)

Шаблон обрабатывается только со значениями по умолчанию, а не со значениями, содержащимися в файле CSV.

Чтобы создавать корректные имена пользователя Moodle, имя пользователя всегда преобразовывается в строчные буквы. Кроме того, если опция на странице политики сайта "Разрешить расширенные знаки в usernames" выключена, то знаки, отличные от букв, т.е. цифры, дефис (-) и точка (.) удаляются. Например, если firstname будет John Jr. и lastname - Doe, то username %-f_%-l выдаст john jr._doe когда расширенные знаки в usernames разрешены, а johnjr.doe - когда запрещены.

Когда значение параметра "Действие при дублировании нового имени пользователя" выбрано Добавить счетчик, то при дублировании имени пользователя, произведенного шаблоном, к нему будет добавлен счетчик. Например, если файл CSV содержит пользователей по имени John Doe, Jane Doe и Jenny Doe без явных указаний имени пользователя (username), а имя пользователя по умолчанию - %-1f %-l, и параметр "Действие при дублировании нового имени пользователя" имеет значение Добавить счетчик, то произведенные имена пользователей будут jdoe, jdoe2 и jdoe3.

Обновление существующих учетных записей

По умолчанию Мудл предполагает, что Вы будете создавать новые учетные записи, и запись будет пропущена, если имя пользователя уже существует. Однако, если Вы разрешите обновление существующих учетных записей, то существующая запись будет обновлена.

Обновляя существующие учетные записи, Вы можете также изменить имя пользователя. Выберите "Разрешить переименование" в "Да" и включите в свой файл поле, именуемое oldusername.

Предупреждение: любое ошибочное обновление может плохо воздействовать на существующие учетные записи Ваших пользователей. Будьте осторожны, используя варианты обновления!

Удаление учетных записей

Если присутствует поле deleted, то пользователи, имеющие значение этого поля = 1, будут удалены. В этом случае, все поля могут быть пропущены, за исключением поля username.

Удаление и загрузка учетных записей можгу быть сделаны из одного файла CSV. Например, следующий файл добавит пользователя Tom Jones и удалит пользователя reznort:

username, firstname, lastname, deleted
jonest, Tom, Jones, 0
reznort, , , 1

ВНИМАНИЕ: Скрипт не поддерживает кириллицу, поэтому при его использовании приходиться применять транслитерацию для русских имен и фамилий!

Список всех файлов помощи
Показать эту помощь на языке: English