Moodle的缺陷与改进
王 鹃 代永平
摘要:Moodle作为一个开源的在线学习系统,具有功能强大、易于操作、模块化设计易于扩展、支持国际标准SCORM等优点,但是在使用的过程中也存在一些不足。本文总结了Moodle在使用过程中的几种主要缺陷,并通过实际经验给出了具体的解决方法。
关键词:Moodle 在线学习系统 课程管理
中图分类号:G434 文献标识码:B 文章编号:1673-8454(2009)21-0077-03
一、引言
Moodle(Modular Object-Oriented Dynamic Learning Environment,模组化面向对象动态学习环境)是一个课程管理系统,也称为学习管理系统,教育工作者可以使用它来建立有效的在线学习(E-learning)网站。[1-2] Moodle由澳大利亚科廷科技大学(Curtin University of Technology)的马丁·多基马(Martin Dougiamas)创建,它是一个免费的开源软件,拥有多种语言版本, 可根据需求来改编源代码, 定制功能, 满足我们的实际需要。截至2008年12月,Moodle拥有4.7万余注册站点,2千5百万余个人注册用户,提供课程近243万门,遍及全球199个国家。截至2008年3月,中国已有352个注册站点。随着国内Moodle平台方面资料的陆续增多,越来越多的教师开始认识和了解Moodle,并逐步开始使用它。
Moodle作为一个在线学习平台,具有以下优点:
(1)开放源代码
Moodle是一个开放源代码的自由软件。在遵照开放源代码协议的前提下,任何人都可以下载、安装并使用Moodle软件包。由于其开源的特性,使用者也可以对Moodle进行二次开发,或者为Moodle开发各种插件,以满足教师在实际使用中所产生的需求。
(2)功能强大
Moodle具备E-learning平台的所有主要功能,如内容管理、测验、作业、聊天、选项表、标签和调查问卷等。此外,它还集成了社会化软件工具(blog、wiki、bbs),方便了学习者之间的交流与协作。
(3)易于操作
Moodle的操作十分简单,教师经过短期培训,就能掌握它的使用方法。Moodle适合小学、中学、大学、成人教育以及企业培训,每一位教师都可以轻松地在网上创建自己的课程。
(4)模块化设计
Moodle的系统结构是模块化的。Moodle为教师提供了基于社会建构主义教学设计理念的十几种课程活动模块,包括讨论区、学习日志、聊天室、学习资源、单元小结、 资源共享区和在线调查等。教师通过简单的设置就可以给课程加入这些活动模块,管理员可以通过管理界面选择安装各种活动模块,而开发者可以依据定义的接口开发新的活动模块。正是这种模块化的结构设计使得Moodle给使用者、管理员和开发者提供了极大的方便和选择空间。目前,越来越多的模块正在被添加进来。
(5)支持国际标准
Moodle平台支持信息化教学的国际标准,保证了资源的可重用性。Moodle网络教学平台虽然基于开源的Linux+Apache+MySQL+PHP体系建构,但仍可在Windows环境下稳定运行,并符合国际标准,如内容规范SCORM (Sharable Content Object Reference Model,即共享内容对象参考模型)标准,支持上传符合SCORM标准的所有内容,同时可以共享其他平台上的内容。
但是,我们在创建和维护武汉大学计算中心Moodle的过程中,发现目前Moodle在本地化使用中存在一些缺陷,如:中文支持不理想,安装后无法使用中文文件名,日历出现乱码;用户信息中无学号,给教师管理学生和登记成绩带来不便;学生需要自己注册,无法自动将全班学生信息一次性导入;无法从其他系统中导入试题库等。[4]本文描述并总结了这些缺陷,并通过实际经验给出了解决办法,旨在为国内Moodle的使用者带来帮助。
二、Moodle的缺陷及改进方法
1.日历乱码
Moodle提供了多语言选择,但对汉语的支持仍不理想。在使用的过程中我们发现Moodle在安装之后,首页上的日历文字在中文界面下是乱码。出现这个问题的原因在于Moodle采用的是国际编码标准UTF-8,而中文浏览器一般采用的编码标准是ANSI的GB2312,因此需要修改Moodle的语言设置文件langconfig.php的编码为ANSI,浏览器即可正确解释langconfig.php文件,从而正确显示中文信息。
具体操作如下:
(1)进入moodledatalangzh_cn_utf8文件夹,找到langconfig.php文件,用记事本将其打开。
(2)将langconfig.php文件另存为,在弹出的窗口中把【编码】栏改为ANSI(原来是UTF-8),单击保存,这时提示“是否替换”,选择【是】重新回到Moodle网站首页,刷新,即可解决该问题。
2.用户注册信息没有学号
Moodle学生用户信息不包含学号,因为西方国家认为学号属个人隐私。而国内目前教学中都是通过学号管理学生信息,如登记成绩、导出成绩。针对这个问题,我们利用Moodle用户信息的姓、名分开为两个域的特点,将姓修改为“学号”,将名修改为“姓名”。
具体操作如下:
(1)进入moodledatalangzh_cn_utf8文件夹,打开 moodle.php文件,找到“$string[′firstname′]=′名′;”一行,将“名”改成“姓名”。
(2)找到“$string[′lastname′]=′姓′;”一行,将“姓”改成“学号”。
(3)以管理员身份登录系统,进入安全性/网站策略,找到“全名格式”项,选择“姓名 + 学号”。
(4)更新数据库原有信息。
运行phpmyadmin,执行以下SQL代码:
UPDATE `mdl_user` SET firstname=concat(firstname,lastname)。
UPDATE `mdl_user` SET lastname =username 。
3.无法一次性导入用户注册信息
Moodle提供了各种用户注册方式,最常用的为管理员手工注册和用户邮件自注册。但采用无验证的自注册方式,任何人均可填写简单资料成为系统用户,这包含很大隐患。为便于管理,防止恶意注册,采用管理员手工注册方式。通过编写指定格式的用户信息文件,可以一次性导入多个学生用户。
具体操作如下:
(1)在 Excel 表中建立学生数据表。
在Excel工作表的第一行输入5个必填字段,依次为username,password,firstname,lastname,email(即用户名,密码,姓名,学号,电子邮件),从第二行开始输入学生信息。
(2)将表转换成csv 格式
在学生信息全部完成后,将此工作表另存为 csv 格式,在保存类型的列表框中选择“csv(逗号分隔)”类型。Csv,即逗号分隔值文件(Comma Separated Value),是一种用来存储数据的纯文本文件格式,通常用于电子表格或数据库软件。
(3)将csv格式的文件转换成UTF-8格式
用Editplus或Ultraedit等工具打开csv格式的文件,可以看到此时的数据是以逗号分隔的文本文件。接着将csv格式的文件转换成Moodle能上传的UTF-8格式,方法是在“另存为”对话框的“转换器”列表中选择“UTF-8”即可。之所以用Editplus或Ultraedit,而不用记事本转换cvs格式文件,是因为Excel保存的csv格式文件其编码默认是ANSI,用记事本转存后,虽然可以为UTF-8,但Windows自带的中文版记事本保存的UTF-8是双字节的,而安装Moodle时所选的UTF-8却是单字节的,所以上传后中文无法正确显示。因此必须选择Editplus或Ultraedit编辑工具,以保证转存后的文件是UTF-8双字节编码。
(4)以系统管理员身份登录Moodle,在左侧系统菜单上选择用户——账户——上传用户。
(5)在用户——身份验证——只允许手工添加账号中选择“锁定的用户字段”,即用户批量上传后不允许用户修改注册信息。
4.Moodle上传文件大小的限制
Moodle默认上传文件大小为16M,由于教学课程中经常遇到较大的文件,因此需要更改上传文件的大小。
具体操作如下:
(1)修改在php4下POST文件大小的限制。
编辑etc文件夹下的php.ini文件做如下修改:
修改post_max_size(PHP所能接收的表单内容的最大值)为需要的大小;修改upload_max_filesize(PHP允许上传文件大小的最大值)为需要的大小;修改memory_limit(执行每个PHP页面所需要的最大内存)改为需要的大小(默认为8M);由于上传大文件比较费时,所以修改max_execution_time(每个PHP页面运行的最大时间值,以秒为单位)为合适的值。
(2)修改Apache环境中的文件上传大小控制参数。
修改位于Apahce目录下的httpd.conf,添加以下内容:LimitRequestBody(客户端表单所提交内容的最大字节长度)数据值(如600000000,以字节为单位),重新启动Apache。
5.无法支持中文文件名
由于Moodle出于安全的考虑,对上传文件和中文用户名做了字符过滤,所以初始安装的Moodle不支持中文字符文件名。解决该问题的方法是取消Moodle系统对中文字符的过滤。
具体操作如下:
修改libmoodlelib.php中的函数clean_filename,把其中的两行注释掉。
function clean_filename($string) {
//$string=convert_high_ascii($string); //
$string = eregi_replace("..+",′′,$string);
//$string=preg_replace('/[^.a-zA-Zd\_-]/′,′_′,$string );//
$string = eregi_replace("_+",′_′,$string);
return $string;}
6.试题库导入
Moodle试题库并不支持Excel类型文件的导入,如果要导入,可以将其转换为GIFT格式。[3] GIFT是Moodle从文本文件导入试题的通用格式。它支持单选题、判断题、简答题、匹配题、数学题及填空题。在一个单独的文本文件中可以添加多种类型的题目,这种格式还支持整行注释、试题名称、反馈和百分比权重。
具体操作如下:
(1)将Excel文件中的试题按照GIFT格式要求转换为GIFT格式,然后将Excel文件另存为txt文件。
(2)用Editplus或Ultraedit等工具打开txt文件,单击“另存为”,在另存为对话框的“转换器”列表中选择“UTF-8”,将txt文件的编码转换为UTF-8双字节编码。
(3)登录Moodle,选择“题目”,在“编辑题目”表单中选择“导入”。在“导入”表单中,选择文件格式为“GIFT格式”,然后上传txt文件。
三、结束语
Moodle作为一个开源的在线学习系统,具有功能强大、易于操作、模块化设计易于扩展、支持国际标准SCORM等优点,但其在中文环境下使用的过程中也存在一些不足。本文基于武汉大学计算中心Moodle创建和使用中的实际经验,总结了Moodle在使用过程中的几种主要缺陷,并给出了具体的解决方法。[4] 目前,我们进一步的工作是为Moodle开发各种插件,以实现如编程作业计算机自动评阅等功能。?筅
参考文献:
[1]Moodle Docs[EB/OL].http://docs.moodle.org/en/Background
[2]李涛,张波等.课程管理系统Moodle简介与架设管理[J].电脑知识与技术,2007(9).
[3]叶海松,季隽.Moodle 的二次开发与设计[J].电化教育研究,2007(4).
[4]武汉大学计算中心Moodle[EB/OL]. http://202.114. 108.250:81
(编辑:金冉)
摘要:Moodle作为一个开源的在线学习系统,具有功能强大、易于操作、模块化设计易于扩展、支持国际标准SCORM等优点,但是在使用的过程中也存在一些不足。本文总结了Moodle在使用过程中的几种主要缺陷,并通过实际经验给出了具体的解决方法。
关键词:Moodle 在线学习系统 课程管理
中图分类号:G434 文献标识码:B 文章编号:1673-8454(2009)21-0077-03
一、引言
Moodle(Modular Object-Oriented Dynamic Learning Environment,模组化面向对象动态学习环境)是一个课程管理系统,也称为学习管理系统,教育工作者可以使用它来建立有效的在线学习(E-learning)网站。[1-2] Moodle由澳大利亚科廷科技大学(Curtin University of Technology)的马丁·多基马(Martin Dougiamas)创建,它是一个免费的开源软件,拥有多种语言版本, 可根据需求来改编源代码, 定制功能, 满足我们的实际需要。截至2008年12月,Moodle拥有4.7万余注册站点,2千5百万余个人注册用户,提供课程近243万门,遍及全球199个国家。截至2008年3月,中国已有352个注册站点。随着国内Moodle平台方面资料的陆续增多,越来越多的教师开始认识和了解Moodle,并逐步开始使用它。
Moodle作为一个在线学习平台,具有以下优点:
(1)开放源代码
Moodle是一个开放源代码的自由软件。在遵照开放源代码协议的前提下,任何人都可以下载、安装并使用Moodle软件包。由于其开源的特性,使用者也可以对Moodle进行二次开发,或者为Moodle开发各种插件,以满足教师在实际使用中所产生的需求。
(2)功能强大
Moodle具备E-learning平台的所有主要功能,如内容管理、测验、作业、聊天、选项表、标签和调查问卷等。此外,它还集成了社会化软件工具(blog、wiki、bbs),方便了学习者之间的交流与协作。
(3)易于操作
Moodle的操作十分简单,教师经过短期培训,就能掌握它的使用方法。Moodle适合小学、中学、大学、成人教育以及企业培训,每一位教师都可以轻松地在网上创建自己的课程。
(4)模块化设计
Moodle的系统结构是模块化的。Moodle为教师提供了基于社会建构主义教学设计理念的十几种课程活动模块,包括讨论区、学习日志、聊天室、学习资源、单元小结、 资源共享区和在线调查等。教师通过简单的设置就可以给课程加入这些活动模块,管理员可以通过管理界面选择安装各种活动模块,而开发者可以依据定义的接口开发新的活动模块。正是这种模块化的结构设计使得Moodle给使用者、管理员和开发者提供了极大的方便和选择空间。目前,越来越多的模块正在被添加进来。
(5)支持国际标准
Moodle平台支持信息化教学的国际标准,保证了资源的可重用性。Moodle网络教学平台虽然基于开源的Linux+Apache+MySQL+PHP体系建构,但仍可在Windows环境下稳定运行,并符合国际标准,如内容规范SCORM (Sharable Content Object Reference Model,即共享内容对象参考模型)标准,支持上传符合SCORM标准的所有内容,同时可以共享其他平台上的内容。
但是,我们在创建和维护武汉大学计算中心Moodle的过程中,发现目前Moodle在本地化使用中存在一些缺陷,如:中文支持不理想,安装后无法使用中文文件名,日历出现乱码;用户信息中无学号,给教师管理学生和登记成绩带来不便;学生需要自己注册,无法自动将全班学生信息一次性导入;无法从其他系统中导入试题库等。[4]本文描述并总结了这些缺陷,并通过实际经验给出了解决办法,旨在为国内Moodle的使用者带来帮助。
二、Moodle的缺陷及改进方法
1.日历乱码
Moodle提供了多语言选择,但对汉语的支持仍不理想。在使用的过程中我们发现Moodle在安装之后,首页上的日历文字在中文界面下是乱码。出现这个问题的原因在于Moodle采用的是国际编码标准UTF-8,而中文浏览器一般采用的编码标准是ANSI的GB2312,因此需要修改Moodle的语言设置文件langconfig.php的编码为ANSI,浏览器即可正确解释langconfig.php文件,从而正确显示中文信息。
具体操作如下:
(1)进入moodledatalangzh_cn_utf8文件夹,找到langconfig.php文件,用记事本将其打开。
(2)将langconfig.php文件另存为,在弹出的窗口中把【编码】栏改为ANSI(原来是UTF-8),单击保存,这时提示“是否替换”,选择【是】重新回到Moodle网站首页,刷新,即可解决该问题。
2.用户注册信息没有学号
Moodle学生用户信息不包含学号,因为西方国家认为学号属个人隐私。而国内目前教学中都是通过学号管理学生信息,如登记成绩、导出成绩。针对这个问题,我们利用Moodle用户信息的姓、名分开为两个域的特点,将姓修改为“学号”,将名修改为“姓名”。
具体操作如下:
(1)进入moodledatalangzh_cn_utf8文件夹,打开 moodle.php文件,找到“$string[′firstname′]=′名′;”一行,将“名”改成“姓名”。
(2)找到“$string[′lastname′]=′姓′;”一行,将“姓”改成“学号”。
(3)以管理员身份登录系统,进入安全性/网站策略,找到“全名格式”项,选择“姓名 + 学号”。
(4)更新数据库原有信息。
运行phpmyadmin,执行以下SQL代码:
UPDATE `mdl_user` SET firstname=concat(firstname,lastname)。
UPDATE `mdl_user` SET lastname =username 。
3.无法一次性导入用户注册信息
Moodle提供了各种用户注册方式,最常用的为管理员手工注册和用户邮件自注册。但采用无验证的自注册方式,任何人均可填写简单资料成为系统用户,这包含很大隐患。为便于管理,防止恶意注册,采用管理员手工注册方式。通过编写指定格式的用户信息文件,可以一次性导入多个学生用户。
具体操作如下:
(1)在 Excel 表中建立学生数据表。
在Excel工作表的第一行输入5个必填字段,依次为username,password,firstname,lastname,email(即用户名,密码,姓名,学号,电子邮件),从第二行开始输入学生信息。
(2)将表转换成csv 格式
在学生信息全部完成后,将此工作表另存为 csv 格式,在保存类型的列表框中选择“csv(逗号分隔)”类型。Csv,即逗号分隔值文件(Comma Separated Value),是一种用来存储数据的纯文本文件格式,通常用于电子表格或数据库软件。
(3)将csv格式的文件转换成UTF-8格式
用Editplus或Ultraedit等工具打开csv格式的文件,可以看到此时的数据是以逗号分隔的文本文件。接着将csv格式的文件转换成Moodle能上传的UTF-8格式,方法是在“另存为”对话框的“转换器”列表中选择“UTF-8”即可。之所以用Editplus或Ultraedit,而不用记事本转换cvs格式文件,是因为Excel保存的csv格式文件其编码默认是ANSI,用记事本转存后,虽然可以为UTF-8,但Windows自带的中文版记事本保存的UTF-8是双字节的,而安装Moodle时所选的UTF-8却是单字节的,所以上传后中文无法正确显示。因此必须选择Editplus或Ultraedit编辑工具,以保证转存后的文件是UTF-8双字节编码。
(4)以系统管理员身份登录Moodle,在左侧系统菜单上选择用户——账户——上传用户。
(5)在用户——身份验证——只允许手工添加账号中选择“锁定的用户字段”,即用户批量上传后不允许用户修改注册信息。
4.Moodle上传文件大小的限制
Moodle默认上传文件大小为16M,由于教学课程中经常遇到较大的文件,因此需要更改上传文件的大小。
具体操作如下:
(1)修改在php4下POST文件大小的限制。
编辑etc文件夹下的php.ini文件做如下修改:
修改post_max_size(PHP所能接收的表单内容的最大值)为需要的大小;修改upload_max_filesize(PHP允许上传文件大小的最大值)为需要的大小;修改memory_limit(执行每个PHP页面所需要的最大内存)改为需要的大小(默认为8M);由于上传大文件比较费时,所以修改max_execution_time(每个PHP页面运行的最大时间值,以秒为单位)为合适的值。
(2)修改Apache环境中的文件上传大小控制参数。
修改位于Apahce目录下的httpd.conf,添加以下内容:LimitRequestBody(客户端表单所提交内容的最大字节长度)数据值(如600000000,以字节为单位),重新启动Apache。
5.无法支持中文文件名
由于Moodle出于安全的考虑,对上传文件和中文用户名做了字符过滤,所以初始安装的Moodle不支持中文字符文件名。解决该问题的方法是取消Moodle系统对中文字符的过滤。
具体操作如下:
修改libmoodlelib.php中的函数clean_filename,把其中的两行注释掉。
function clean_filename($string) {
//$string=convert_high_ascii($string); //
$string = eregi_replace("..+",′′,$string);
//$string=preg_replace('/[^.a-zA-Zd\_-]/′,′_′,$string );//
$string = eregi_replace("_+",′_′,$string);
return $string;}
6.试题库导入
Moodle试题库并不支持Excel类型文件的导入,如果要导入,可以将其转换为GIFT格式。[3] GIFT是Moodle从文本文件导入试题的通用格式。它支持单选题、判断题、简答题、匹配题、数学题及填空题。在一个单独的文本文件中可以添加多种类型的题目,这种格式还支持整行注释、试题名称、反馈和百分比权重。
具体操作如下:
(1)将Excel文件中的试题按照GIFT格式要求转换为GIFT格式,然后将Excel文件另存为txt文件。
(2)用Editplus或Ultraedit等工具打开txt文件,单击“另存为”,在另存为对话框的“转换器”列表中选择“UTF-8”,将txt文件的编码转换为UTF-8双字节编码。
(3)登录Moodle,选择“题目”,在“编辑题目”表单中选择“导入”。在“导入”表单中,选择文件格式为“GIFT格式”,然后上传txt文件。
三、结束语
Moodle作为一个开源的在线学习系统,具有功能强大、易于操作、模块化设计易于扩展、支持国际标准SCORM等优点,但其在中文环境下使用的过程中也存在一些不足。本文基于武汉大学计算中心Moodle创建和使用中的实际经验,总结了Moodle在使用过程中的几种主要缺陷,并给出了具体的解决方法。[4] 目前,我们进一步的工作是为Moodle开发各种插件,以实现如编程作业计算机自动评阅等功能。?筅
参考文献:
[1]Moodle Docs[EB/OL].http://docs.moodle.org/en/Background
[2]李涛,张波等.课程管理系统Moodle简介与架设管理[J].电脑知识与技术,2007(9).
[3]叶海松,季隽.Moodle 的二次开发与设计[J].电化教育研究,2007(4).
[4]武汉大学计算中心Moodle[EB/OL]. http://202.114. 108.250:81
(编辑:金冉)