APP下载

基于drupal的英语学习交流网站的开发

2016-01-28罗尧章刘江朝邹培忠

大科技 2016年25期
关键词:功能模块二次开发开源

罗尧章 刘江朝 邹培忠

(北方民族大学计算机科学与工程学院 750021)

基于drupal的英语学习交流网站的开发

罗尧章 刘江朝 邹培忠

(北方民族大学计算机科学与工程学院 750021)

Drupal是一个用PHP语言开发的、在互联网上被众多网站所采用的CMS(Content Management System),而且Drupal除包含CMS的基本功能外,还拥有众多可定制的功能模块和一套完整的API,非常适合用于英语学习交流网站的平台的构建和二次开发。

开发;Drupal;CMS;API

1 基于Drupal的学习平台的体系结构

1.1 操作系统

Drupal[1]需要PHP运行环境和MySQL数据库,可以使用Apache、nginx等httpd服务,因此可以在Windows操作系统中运行,但首选的运行环境应该是原生的LAMP(Linux+Apache+MySQL+PHP)环境。在后台数据处理中可以使用Linux中的Perl语言及其DBI(Database Interface)数据库接口模块编写脚本,直接操作数据库中的数据,从而大幅度提语学习交流平台的开发和维护管理效率。

1.2 基础的 CMS(Content Management System)[2]平台

Drupal的核心组件包含了构建一套CMS的所必需的基础元素,直接基于这些核心组件开发学习应用模块,可以避免重复劳动,提高开发效率。

(1)用户(user)提供了可定制的用户个人信息的字段,例如学习平台中必要的信息。

(2)角色(role)实现角色群组划分以及不同角色对模块的访问权限。

(3)内容节点(node)在Drupal中,核心组件已经包括了内容发布功能,而且用户发布的所有内容都以节点(node)的形式保存,通过Drupal的大纲(book)模块,节点可以与其它节点以大纲的形式关联,成为其它节点的子节点或父节点。

1.3 面向英语学习交流的应用的模块组合

Drupal现有的一些功能模块可以直接用于组建学习社区,模块的灵活应用和组合可以避免类似功能的重复开发。

①评论(comment)评论模块可以让用户对node中的内容发表评论,从而实现了最基本的交互讨论。②搜索(search)搜索模块让用户搜索现有的所有节点内容,实现对英语交流平台的资源检索。③投票(poll)投票模块可以让同学发起一个问卷,收集各自用户对某一问题的看法。④论坛(forum)论坛模块可以让英语学习爱好者建立课程或主题的论坛,构建网上学习社区。⑤博客(blog)博客模块可以让教师建立自己的个人博客,学生可以通过评论博客文章与教师及其他学生交互。[3]⑥文件上传(upload)上传模块提供了稳定、统一的文件上传接口。⑦媒体资源(media)媒体资源模块是一个基于树状目录的资源库,版主和爱好者可以共同分门别类地创建资源目录并上传多媒体资源,例如音频、视频、课件、参考资料等等。

2 基于Drupal的网络教学平台具有以下优势和特点

2.1 成熟稳定的CMS架构

Drupal的基础组件包含了构成CMS的所有核心功能,如用户管理、角色权限、内容节点(node)发布等等,这些核心组件同样是构成学习平台的基础。

2.2 丰富的功能模块

Drupal的扩展模块(module)种类繁多,包括博客、视频媒体、等等,用户可以根据自己的应用需求选择其中的模块进行自由组合和定制,从而获得一套满足自身需求的CMS。[4]

2.3 开源平台

Drupal是用GNUGPL协议发布的自由软件,同其它开源的平台一样,用户可以获得其完整的源代码并进行二次开发。

2.4 快速开发

基于Drupal进行学习平台开发的高效性体现在三个方面:

2.4.1 DrupalAPI

Drupal是一套面向对象(OO)的WebAPI,Drupal本身的核心组件和模块都是使用DrupalAPI开发而来。DrupalAPI的意义在于:

(1)函数封装

DrupalAPI封装了PHP语言对数据库、文件、图片等数据的底层操作,提高了开发效率,并且避免了开发者自己实现底层操作可能造成的安全漏洞。

(2)内部数据

DrupalAPI能够快速调用Drupal系统内部全局变量和用户数据,与手工进行SQL查询相比,大幅度提高了开发效率。

(3)权限挂钩

通过DrupalAPI的权限挂钩(hook)将模块开发限制在Drupal的用户权限框架内,开发者不用自己实现权限控制,从而提高功能模块的安全性。

(4)界面主题接口

提供了完整的界面主题(theme)接口,将模块业务与界面分离,使开发者可以快速开发出与系统界面风格完全一致的模块。

2.4.2 模块调用

Drupal可以在模块中灵活调用其它模块已经实现的功能。模块的相互调用最大限度地避免了重复开发,提高了开发效率。

2.4.3 模块开源

Drupal的模块也是开源的,可以参照与所需功能基础结构相近的模块进行二次开发,也可以直接对模块进行修改。

3 结语

使用基于Drupal的英语学习系统,可以让学校在单纯的学习应用和复杂的二次开发之间找到一种折中方案。这种模式特别有利于学习环境中管理者应用技术解决教学问题的知识平台的形成,因此,基于Drupal的学习平台的开发和应用前景十分广阔。

[1]AboutDrupal[EB/OL].https://drupal.org/about.

[2]盛安元,黄存东,张前进.基于开源软件Drupal工程实践[J].武汉工业学院学报,2012(2):65~67.

[3]郭玲.基于Drupal构建精品课程网站的实践与探讨[J].硅谷,2011(16):139.

[4]孙 方.基于Drupal电子学档平台设计与实现[J].现代教育技术,2012(1):98~102.

指导老师:刘江朝。

H319

A

1004-7344(2016)25-0283-01

2016-8-19

猜你喜欢

功能模块二次开发开源
浅谈基于Revit平台的二次开发
五毛钱能买多少头牛
浅谈Mastercam后处理器的二次开发
西门子Easy Screen对倒棱机床界面二次开发
基于ASP.NET标准的采购管理系统研究
大家说:开源、人工智能及创新
开源中国开源世界高峰论坛圆桌会议纵论开源与互联网+创新2.0
输电线路附着物测算系统测算功能模块的研究
M市石油装备公服平台网站主要功能模块设计与实现
开源计算机辅助翻译工具研究