Moodle 体系结构

从一个系统管理员的角度,Moodle 被设计为遵循以下标准:

Moodle应该能运行在尽可能广泛的平台上

很多系统上运行的web应用程序平台是 PHP和MySQL的结合, 这也是 Moodle 开发所使用的平台(Linux, Windows, 和 Mac OS X)。 Moodle也使用 ADOdb 库作为数据库抽象层, 这意味着 Moodle 能使用 超过10个不同品种的数据库 (不幸的是,它还不能 初始化表格 在所有的这些数据库 - 更多的数据库支持将逐步添加)。

Moodle 应该是容易安装、学习和修改的

最早的 Moodle (1999) 原型使用 Zope 构建 - 一种高级面向对象的web应用服务器。不幸的是我发现即使这项技术非常酷, 但它学习起来很困难而且在系统管理上也不灵活。PHP脚本语言,在另一方面来说,是非常容易入门的 (尤其是当您有其他脚本语言的编程经验时)。 最早我决定不使用以类(class-oriented)为基础的设计,来保持它对于新手而言足够简洁。 代码重用通过使用分类的库文件、清晰命名的函数和一致的脚本文件放置来实现。 PHP也非常容易安装(几乎每个平台都有可用的二进制包)并且大多数的主机托管服务作为标准配置提供广泛的PHP支持。

它应该容易的进行版本升级

Moodle知道自己目前的版本 (也同样知道所有插件的版本), 同时一个内置的机制确保 Moodle 能正常的升级自己到新的版本(例如,它能修改数据库表格或添加新的字段)。 如果您使用Unix下的CVS命令,您可以运行"cvs update -d",然后访问站点的主页来完成升级。

它应该是模块化的来允许发展

Moodle有一系列的特性是模块化的,包括主题风格,学习活动, 接口语言,数据库模式和课程格式。这允许任何人添加特性到主代码版本或者单独的发行它们。 关于这点详细信息在下面的章节中。

它应该能够与其他的系统结合使用

Moodle所做的一件事是在单一的目录中存放跟某个课程相关的所有文件。 这允许系统管理员提供给老师文件级别的无缝访问,例如 Appletalk, SMB, NFS, FTP, WebDAV 以及其他类似的。 验证模块允许 Moodle 使用LDAP, IMAP, POP3, NNTP 和其他数据库作为用户信息源。 此外,还有一些工作仍在持续。在Moodle未来的版本中特性包括: 导入和导出 Moodle 数据使用基于XML的格式 (包括 IMS 和 SCORM); 和增强使用样式表来格式化用户界面(这样它可以在界面上跟其他的Web站点集成)。