moodle二次开发指南-设计指南

moodle二次开发指南-设计指南

ID:33950893

大小:64.00 KB

页数:5页

时间:2019-03-02

moodle二次开发指南-设计指南_第1页
moodle二次开发指南-设计指南_第2页
moodle二次开发指南-设计指南_第3页
moodle二次开发指南-设计指南_第4页
moodle二次开发指南-设计指南_第5页
资源描述:

《moodle二次开发指南-设计指南》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Moodle的结构分析模块化的扩展特殊需求可以通过模块扩展。Moodle的M表示Modular,就是暗示它的功能可以通过模块进行扩展。这些模块涵盖了系统主题风格(Theme)、界面语言、数据库模型、课程结构、问题格式、导入导出格式和活动模块等各个方面。Moodle开发社区的“Modulesandplugins”数据库(http://moodle.org/mod/data/view.php?id=6009)中已经注册了上百种标准的和第三方开发的稳定模块,并且在大量热衷模块开发的用户支持下,还在不断增加。

2、与其他网络课程平台的交互性在数据的保存方面,Moodle将一个课程的文件全部保存在一个目录中。这样即便不通过Moodle系统,也可以很方便地通过目录操作访问到某个课程的内容,可以将这些文件带到其他课程平台上使用。在未来版本中,还将支持不同平台格式的课程导入和导出,目前已经实现的有SCORM和IMS的课程包。Moodle数据库模型要进行二次开发,对一个系统的数据库模型的了解也是很必要的。因为Moodle并不需要我们进行核心代码的修改和开发,因此在最初阶段不必作细节分析。当我们具体碰到某一个模块时,才有必

3、要进行深入的分析。Moodle的数据库模型经过几年的发展已经很复杂,为了减少这种复杂关系带来的混乱,它采用了这样的命名方式。如:mdl_course_categories,其中mdl是所有系统表格的前缀,course代表属于course的模块,categroies代表课程分类表,这样既可以保证清晰的表述,又可以避免不同模块之间数据表格的重名。由于模块部分的数据模型会随着系统模块的增加而增加,所以当你扩展模块的时候,那部分数据模型就可能会发生变化。1.8版的数据库一共包含约180个表,结构复杂,故应该采

4、用各个模块分别分析的方法来研究,其中config、user、course、quiz、question等模块的数据模型应该优先考虑。在每次接触到某个模块的数据模型时,必须分析到细节,比如在设计自己的模块时,如果需要进行权限分配,就需要研究用户和角色的数据结构,图3是user和role模块关系数据模型的简化图(各表的字段略)。这个模型中mdl_user包含了用户的基本信息;mdl_user_info的三张表格用于增加用户的自定义属性;mdl_role和mdl_role_capabilities包含了系统用

5、户的角色和各角色所拥有的能力/权限;mdl_role_assignment是mdl_user和mdl_role的关联表,保存了user和role的包含关系。Moodle提供了ADODB数据访问抽象层来进行数据库的访问,所以我们不需要直接编写访问数据库的代码,只要通过抽象层的方法即可。Moodle二次开发的形式Moodle的二次开发重点不是对Moodle的核心代码和模块进行修改,而是针对其外部功能模块的设计和开发以满足特定的需求,即围绕Moodle的核心代码进行的模块开发。熟悉目录结构熟悉Moodle的

6、目录结构,可以帮助你迅速的定位文件,进行修改。下表罗列了Moodle的主要目录及文件。Moodle在自定义后,子目录的结构会有所不同,上述根目录的结构对相同版本来说是固定的。Moodle主要目录和文件:文件夹功能admin/系统管理的代码auth/验证用户基本模块及扩展模块blocks/页面block基本模块难度及扩展模块calendar/维护及显示日历的代码course/显示和管理课程的代码doc/Moodle的帮助文档files/显示和管理上传文件的代码lang/不同语言的对应文本,每个目录表示一

7、种语言,并且和具体的模块对应lib/Moodle的核心代码库login/登录及账号创建代码mod/Moodle的基本模块和扩展模块pix/站点的图片theme/站点的主题包/皮肤包,控制站点的样式user/显示和管理用户config.php包含基本的系统设置,一般在第一次安转时设置install.php安装站点version.版本控制index.php站点首页总体开发约定参看:Moodle二次开发指南-代码编写指南.docMoodle语言包的二次开发1.Moodle语言包的结构Moodle中几乎所有在

8、页面上看到的文本都是从一系列的语言文件中动态获取的,这些文件被称为LanguageFile或者StringFile。这些文件通常按照语言代码的文件夹存放在lang目录中,比如en_uft8、zh_cn_utf8,并且以php为扩展名。文件内以字符串的形式定义了界面的文本,如:$string[“action”]=“Action”;$string[“activemodule”]=“ActiveModule”;然后在界面引用时使用如下语句,即可显示相应的文本:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。