开源学习管理系统 Moodle
目前,美国远程教育的需求正在爆发式增长。大量高中毕业生继续升入大学,越来越多的成年人也在追求大学教育。大学生的构成也在发生变化,越来越多的学生需要兼顾工作和家庭责任,这就需要更容易地获得教育。此外,知识和技能的变化促使现有劳动力需要持续的专业发展。为了应对这种情况,企业越来越多地转向远程教育选项来培训员工。
学习管理系统 (LMS) 是一种用于提供在线教育的软件系统。常用的替代术语包括:管理学习环境、虚拟学习环境、课程管理系统或学习支持系统。如今,大多数 LMS 都广泛使用 Web 技术,并包含诸如讨论论坛、聊天室、日志、自动化测试和评分工具以及学生跟踪等功能。LMS 也被用于补充常规的面授课程。它们被大学、学校和企业用于提供企业培训。
在线教育的启动和维护成本通常很高,Blackboard 和 WebCT 等专有软件解决方案是学术机构和企业的主要选择。但成本不是,甚至不是首要的,考虑超越现有专有 LMS 解决方案的原因。对于许多需要满足特定教学和学习要求的机构来说,修改软件的能力是一个重要的考虑因素。其他机构则需要将新的 LMS 与现有系统集成。
为了满足人们对开源 LMS 日益增长的兴趣,涌现出了几个开源项目(参见在线资源)。在本文中,我们将介绍一个流行的开源 LMS:Moodle。
以经典的开源方式,Moodle 的诞生源于解决自身需求的渴望。Martin Dougaimas 当时是一位计算机科学专业的教育学博士候选人,他对专有替代方案感到沮丧,于 1999 年开始了 Moodle 项目。1.0 版本于 2002 年 8 月发布。从那时起,Moodle 在澳大利亚的 Martin 的管理下,以及全球活跃的用户和开发者社区的推动下,持续快速发展。
一个 Moodle 网站可以托管大量课程。每门课程由一位或多位教师管理。课程可以包含诸如讨论论坛、学生日志、测验、调查、作业、聊天室和工作坊等活动。Moodle 包括对评分、文件上传、用户日志和跟踪、多媒体、电子邮件集成以及许多其他功能的支持,所有这些功能都与专有 LMS 中的功能相当。
Moodle 是在流行的 LAMP 平台(GNU/Linux、Apache、MySQL 和 PHP)上开发的。Moodle 的吸引力之一是它可以运行在几乎任何可以运行 PHP 的服务器上。此外,也可以使用 PostgreSQL 代替 MySQL。灵活的技术要求使得在几乎任何计算机上安装和评估 Moodle 成为可能,甚至可以在由 Web 托管服务提供商管理的共享 Web 服务器上运行它。Moodle 是在 GNU 通用公共许可证下提供的。GPL、文档完善的 PHP 代码、活跃的开发者社区和模块化设计使得定制 Moodle 并将其与其他开源软件集成成为可能。对于用户来说,Moodle 所需的只是一个 Web 浏览器和 Internet 连接。
大多数 LMS 都是以教师为导向的,主要关注课程内容的交付方式。Moodle 基于一种以学习者为导向的理念,称为社会建构主义教学法,在这种教学法中,学生参与构建自己的知识。这种学习理念背后的概念是,学习者通过实践积极构建新知识,并且通过向他人解释他们所学到的知识以及对所创造的知识采取更主观的立场来学到更多。这些想法与开源开发的工作方式并行,在开源开发中,开发者通常也是用户,每个人都可以自由地实践软件,代码通过公开讨论的方式构建、同行评审和改进。这种理念是该项目不寻常名称的基础。Moodle 网站解释了名称的由来
Moodle 这个词最初是模块化面向对象动态学习环境(Modular Object-Oriented Dynamic Learning Environment)的首字母缩写词……它也是一个动词,描述了懒散地漫步于某事物的过程,随心所欲地做事,一种令人愉悦的实践,通常会带来洞察力和创造力。
社会建构主义教学法反映在 Moodle 的设计和功能选择中。例如,Moodle 的一个功能是每门课程都可以有一个术语表。可以将术语表设置为允许课程参与者添加自己的术语和定义。更进一步,Moodle 允许在每个术语上附加评论,使参与者能够完善和澄清这些定义。
在撰写本文时,Moodle 的最新稳定版本是 1.3.1 版,于 2004 年 6 月 5 日发布。如果您对尝试最新功能感兴趣,还可以下载每晚的开发包。稳定版本和开发版本都可以从匿名 CVS 获取。根据我们的经验,我们已经能够通过 CVS 升级 Moodle 安装而没有问题。稳定的 CVS 分支在 v.1.3 中是新的,并承诺提供一种维护 Moodle 安装的便捷方式。
在 LAMP 系统上安装 Moodle 非常简单且文档齐全。解压缩下载的软件包后,将所有文件和文件夹放入 Web 服务器的文档目录中。创建一个 MySQL 数据库和帐户。Moodle 需要一个单独的数据目录来存储一些文件,例如用户上传的图像。此目录不应通过 Web 直接访问。您可以使用 .htaccess 文件或将目录放置在 Web 服务器的文档目录之外来保护它。
大多数 Web 服务器上的默认 Apache 和 PHP 设置应该足够。需要启用 PHP 会话支持和文件上传。此外,需要禁用 PHP 安全模式。一些 Web 托管服务提供商不允许禁用 PHP 安全模式,而另一些则允许,因此请提前检查。
单个文件 config.php 存储基本配置设置,例如数据库信息、网站 URL、目录路径和权限。复制 Moodle 提供的 config-dist.php 文件,将其命名为 config.php,并使用您喜欢的文本编辑器进行编辑。当您升级 Moodle 时,这种周到的安排很有用。Moodle 的 config-dist.php 会被升级,但您的 config.php(其中包含特定于您安装的设置)则保持不变。config.php 包含详细的说明和示例。
接下来,使用 Web 浏览器访问您的 Moodle 网站的主页。从此时开始,Moodle 通过 Web 处理自己的安装,设置数据库并创建表。默认设置应该可以帮助您入门,并且您可以随时自定义它们。最后,系统会要求您创建一个管理员用户帐户。成功创建用户帐户后,Moodle 安装完成,您将被返回到新 Moodle 站点的主页。
一旦 Moodle 安装完成,几乎所有常规管理活动都可以通过使用 Web 浏览器来执行。当以管理员身份登录时,安装后,主页左侧的列中会出现一个包含管理链接的块(图 1)。此块中的“配置”链接会打开一个控制面板,管理员可以使用 Web 浏览器控制 Moodle 站点的所有方面。同样,每个设置都经过仔细记录,并提供了示例。
“变量”面板控制 Moodle 站点的基本操作。在大多数情况下,默认设置应该可以正常工作。“站点设置”面板是您设置网站名称的地方。您也可以在此处更改用于指代教师和学生的词语——这是 Moodle 灵活性的另一个例子。例如,您可以指定教师应被称为主持人或引导者,学生应被称为参与者。至此,Moodle 站点已准备就绪。您可以开始创建课程并添加用户。
要添加新课程,请在以管理员身份登录时,在 Moodle 站点主页的“管理员”块中单击“课程”链接,然后选择添加新课程的按钮。课程分为类别,每门课程都必须属于一个类别。“杂项”是默认类别。您可以根据需要添加、删除或隐藏类别。
Moodle 提供三种课程格式:每周、主题和社交。每周格式适用于组织成每周活动的课程。主题格式适用于组织成主题而非周的课程。社交格式围绕单个讨论论坛组织。选择一种格式并创建课程(图 2)。一旦课程创建完成,该课程的指定教师可以随时修改课程设置。
创建课程后,您将被带到新创建课程的主页。单击页面右上角的“打开编辑模式”按钮。打开编辑模式后,页面上会显示小图标。这些图标允许您重新定位页面上的内容块,以及在课程中添加、编辑或删除资源和活动(见图 3)。
管理员块中的“用户”链接允许管理员向 Moodle 站点添加用户。Moodle 具有便捷的用户管理功能。新用户可以通过提供电子邮件地址自行创建用户帐户。Moodle 通过确认电子邮件地址、创建帐户和生成密码来处理注册过程。忘记密码的用户可以请求将密码发送到他们的电子邮件地址。管理员还可以从外部逗号分隔文件中导入多个用户。管理员可以为课程分配教师并将学生注册到该课程。
Moodle 附带 15 个主题,可以更改 Moodle 网站的外观,您可以直接从“配置”面板切换主题。创建新主题也很容易。每个主题都包含在主主题目录的子目录中。要创建自定义主题,请复制现有主题文件夹之一并为其指定新名称。每个主题的文件夹都包含某些标准文件,例如 config.php 和 styles.php。更改主题外观的最简单方法是调整文件 styles.php,该文件会修改用于该主题的层叠样式表 (CSS)。想要在页面顶部添加徽标?自定义 header.html。主主题文件夹中的任何新子目录都会自动显示在主题的“配置”面板中。无需特殊的安装步骤。
Moodle 在全球范围内的普及——上次统计有来自 90 个国家/地区的 1900 个注册站点——可能归因于它提供 40 种不同的语言版本,从南非荷兰语到土耳其语。与主题的插件安排类似,每个语言包都是 lang 目录中的一个子目录。通过语言的 Web 控制面板可以轻松切换语言。但是,Moodle 通过允许管理员更改语言包中使用的所有短语,进一步提高了灵活性。例如,如果您想将整个 Moodle 站点中的“课程”一词更改为“班级”,则可以在语言包中更改一次。语言包中的术语可以直接从基于 Web 的配置面板进行编辑。
Moodle 的标准软件包附带 15 多个用于各种活动的模块,例如讨论论坛、聊天室、作业、日志、测验和调查。Moodle 网站上提供了其他可选模块。安装模块通常涉及将模块的文件复制到 mod 目录下的子目录中。一些模块附带相关的语言文件,这些文件需要根据您使用的语言包复制到 lang 目录下的相应子目录中。使用配置面板,可以删除模块或更改其默认设置。
Web 控制面板还允许管理员设置自动备份。选项控制备份文件中存档的内容和时间。例如,您可以从备份中省略大型日志文件。教师也可以备份课程。没有用户数据的备份可用于为下一个学期设置课程。备份文件采用 XML 格式,这意味着您的数据永远不会锁定在专有格式中,并且您可以保持对自己的数据的控制。
《Moodle 开发者手册》列出了该项目的开发目标
Moodle 应在最广泛的平台上运行。
Moodle 应该易于安装、学习和修改。
应该易于从一个版本升级到下一个版本。
它应该是模块化的,以便允许增长。
它应该能够与其他系统结合使用。
根据我们的经验,即使 Moodle 快速发展,Moodle 项目也设法保持了对这些目标的忠实。频繁的版本发布体现了快速的开发步伐。例如,Moodle 用户表示对集成日历感兴趣,这是 Moodle 缺少的一项功能。2004 年 1 月,Moodle 用户和开发者开始讨论需要哪些日历功能以及应如何实现它们。几个月后,2004 年 5 月的版本包含了一个集成日历。
人们经常批评开源软件只适合 IT 专家,并且对于基本用户来说安装和使用过于困难。然而,在回复 Moodle 调查的 Moodle 用户中,超过 66% 的人将自己定义为教师、在线学习研究人员或教育管理者。
管理 LMS 可能是一项复杂的任务。我们喜欢 Moodle 的地方在于它没有隐藏这种复杂性。其详细的在线帮助、示例和合理的默认设置可帮助用户安装、管理和使用 LMS。Moodle 最强大的优势是围绕该项目发展起来的社区。开发者和用户都参与 Moodle 活跃的讨论论坛,分享技巧、发布代码片段、帮助新用户、分享资源和讨论新想法。Moodle 低廉的成本、灵活性和易用性有助于将 LMS 技术带给那些技术和经济资源有限的人。Moodle 是开源如何以及为何有效的一个很好的例子。
Abhijeet Chavan 是 Urban Insight, Inc. 的首席技术官。他也是 Planetizen (www.planetizen.com) 的联合创始人兼联合编辑。
Shireen Pavri 博士是加州州立大学长滩分校教育学院的副教授。