Moodle中批量导入用户的方法

    在Moodle中,是可以批量导入用户的(只有管理员才有这样的权限)。实际上非常简单,只要选定相应的字段,然后建立一个记事本文件或者CSV文件。下面以建立记事本文件的方法说明。
   (一) 建立一个记事本文件,在其中输入:
username, password, firstname, lastname, email, lang
aliang1, aliang1, aliang1, liu, aliang1@gmail.com, zh_cn
aliang2, aliang2, aliang2, liu, aliang2@gmail.com, zh_cn
aliang3, aliang3, aliang3, liu, aliang3@gmail.com, zh_cn

说明:第一行是表示需要输入的字段,2—4行是添加的记录。可以添加成功。

(二)建立一个记事本文件,在其中输入:
username, password, firstname, lastname
aliang5, aliang5, aliang5, liu
aliang6, aliang6, aliang6, liu

可以导入,但是还需要手动输入Email

(三)建立一个记事本文件,在其中输入:
username, password
aliang7, aliang7
aliang8, aliang8
无法添加成功,提示没有输入lastname

总结:在批量上传用户的时候,只有输入一些必须的字段,才能上传成功。根据实验,最少的字段是“username, password, firstname, lastname,email”.如果知道用户更多的详细信息,尽量都输入进去。一些没有输入的字段,系统会自动设置为默认值。moodle还是非常人性化的,在导入的过程中,都会作合法性验证,例如如果字段名称输入错误、没有输入一些必填的字段,系统都会给予提示。

------------------------------------------------------------------------------------------------------------------------------------------------
以下是从Moodle帮助页面中Copy的。有时间的话可以研究一下。

上传用户

首先,注意 通常都是没有必要大批量上传用户 - 要让您自己的维护工作比较好做,首先应当看一下是否有合适的无需手工维护的认证模式,如链接到已有的外部数据库或让用户自己创建他们的帐号。看一下网站管理菜单中的认证部分。

如果您确定要从文本文件中批量导入用户帐号,您应当将该文件设置为如下的格式:

  • 文件中的每一行包含一条记录
  • 每条记录都是一系列以逗号(或其他定义符号)分隔的数据
  • 文件的第一条记录很特殊,它是一个字段名列表。它定义了文件中其他所有记录的格式。

    必需字段名: 这些字段名必须包含在第一条记录中,并且每个用户都要有

    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是原有的不可编辑的教师角色。您可以不用直接地具体指明角色而用角色字段来代替- 用简称或标识码(不支持角色的数字名称)。在课程中用户也可能被分成小组(小组1在课程1中,小组2在课程2中等等)。 小组之间再通过名称或标识码进行区分(不支持小组的数字名称)。

    course1, type1, role1, group1, course2, type2, role2, group2,等等。

  • 数据中的逗号将被编码为 , - 脚本将自动将其解码为逗号。
  • 在布尔值中,用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任意一个代码之间输入以下符号,它们所表示的修改是被允许的:

  • (-)减号--代码所指定的信息将转换为小写字母
  • (+)加号--代码所指定的信息将转换为大写字母
  • (~) 标题符 - 代码所指定的信息将转换为相关标题或符号内容
  • 小数 - 代码所指定的信息将删减为多个标志符

:例如,如果名是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/ (如果 username 是 jdoe or %-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 and jdoe3。

更新已有帐户

缺省情况下,Moodle会假设您想要创建新的帐户,若某个用户名同已有的用户名相同则会忽略创建用户帐号的步骤。然而,如果您选择“更新已有帐户”为是,则已有的用户帐户会被更新。

在更新已有帐户时,您可以修改用户名。设定“允许改名”为 , 并在文件中加入一个字段 oldusername就可以了。.

警告: 在更新帐户时的任何错误都会给您的用户带来很大的麻烦,因此在使用此选项时一定要小心。

删除帐户

如果当前领域为 deleted 那么值为1的用户的所有的内容都被忽略,除了username.

可以在单个CSV文件上删除和上传帐户。例如,下面的文件中将添加用户:Tome Jones,删除用户: reznort:

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

上海师范大学2007级教育技术研究生
翻译者:王晨光,朱喜基
校对:严亚利,况亮
Email:wangcg2513@126.com
翻译日期:2008年4月16日
原文地址:https://www.cnblogs.com/liuzhengliang/p/1415149.html