zoukankan      html  css  js  c++  java
  • 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日
  • 相关阅读:
    utf-8编码汉字转换成对于的16进制 10进制对于的值
    CentOS 6和CentOS 7命令区别
    dedecms二次开发帮助文档地址
    DEDE整站动态化或整站静态化设置方法
    dede数据库表结构和dedecms数据库字段说明
    c++如何编写线程安全的DLL
    Socket中常见的几个转换函数(htonl,htons,ntohl,ntohs,inet_addr,inet_ntoa)
    Winsock 示例
    命名管道的使用方式:消息模式/字节模式
    命名管道-简单的例子
  • 原文地址:https://www.cnblogs.com/liuzhengliang/p/1415149.html
Copyright © 2011-2022 走看看