基于Drupal的专题服务网站开发研究
2014-07-16刘伟
刘伟
摘要:在网络环境下,专题服务网站是开展专题服务的有效途径。目前专题服务网站的建设存在风格不统一、数据库不兼容、技术架构差异严重、权限管理混乱等诸多问题,造成了软硬件、人力财力资源的极大浪费。文章针对性地提出了基于Drupal技术的快速建站方案,并介绍采用该方法能够有效提高专题服务网站建设和管理的效率,提高不同专题服务网站之间的兼容性,大大降低专题服务成本,提升服务效益。
关键词:Drupal;内容管理系统;专题服务网站;网站开发
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)14-3293-04
Abstract: In the network environment, special service website is one of the most important effective way to carry out special services. Currently there are also some problems in this area, such as website construction style is not uniform, the database is not compatible, technical architecture serious differences, rights management confusion and many other issues, resulting in a great waste of human and financial resources. This article puts forward the drupal-based technology, the rapid establishment of the station program, and describes this method can effectively improve the special service website construction and management efficiency, improving different thematic compatibility between service sites, greatly reducing the cost of special services, and then improving service benefits.
Key words: drupal; Content Management System; special service website; Web site development
网络环境下,专题服务是科技信息服务的重要内容。作为专题服务的重要途径和重要产品,专题服务网站越来越流行。专题服务网站具有主题鲜明、用户群相对固定、能为特定专题信息需求者提供最新资讯、资源下载和协作交流平台等优势,用户数量和访问量呈现出不断上升的趋势,信息服务机构抓住这一机遇,加大了专题服务网站的开发力度。目前,专题服务网站的用户群已经扩展到政府、企业、图书馆、信息服务机构等等,专题服务网站的开发需求非常旺盛。
在快速发展的背景下,专题服务网站同样存在着诸多问题:
1)同一单位内,不同的专题服务网站很难有效兼容。无论是自主开发还是外包,基本上都存在另起炉灶,重复购买软硬件的问题,造成了人力和设备的极大浪费,网站风格也很难保持一致。
2)数据库安装、服务器环境搭建等工作重复繁琐,严重影响网站建设的效率。
3)用户权限、后台信息管理等模块相对固定,但是不同的专题服务网站都需要重新建设,代码复用率极低;
4)信息采编、发布、网站美化等工作权限区分不清,网站应用难度较高,许多工作需要技术人员配合才能完成,导致网站数据更新、系统维护等工作难以有效开展。[1]
事实上,在技术人员开发网站时、在管理人员管理网站时、在信息发布人员更新信息时、在信息用户使用网站时,都会在不同程度上感受到这些缺陷。不同的用户或人群关注不同的问题,显然现有的专题服务网站难以满足诸多的需求。
为了解决上述问题,目前市场上出现了诸多的内容管理系统(CMS),试图实现页面与内容分离的模板设计理念、简单人性化的信息发布模式、优秀的用户权限管理以及稳定的技术架构等。Drupal正是其中一款优秀的网站设计开发工具,它的出现为解决专题服务网站的建设难题提出了新的途径。
1 Drupal概述
Drupal 是一种免费、开源、具有模块化框架的网站设计开发工具。在Web2.0 时代Drupal 以开源方式迅速发展壮大,它允许用户轻松地发布、管理和组织Web 站点上的各种内容,与其它CMS 软件如dedeCMS、Fedora 等相比,具备更为明显的面向对象思想和Web2.0 特征。对于应用人员,它是一个功能强大的内容管理系统,对于开发人员,它还是一个强大的软件开发平台。目前使用Drupal 系统建设的网站有1000多个, 使用范围涉及100 多个国家和地区, 其中美国使用的最多,内容涉及政府门户、企业宣传、专题服务等[2]。
1.1 Drupal的基本思想
Drupal 架构的核心思想主要包括:
1) 合作性, Drupal 开发支持开放、协同工作的信息共享系统和方式;
2) 以标准为基础,Drupal支持已有的和新颁布的标准, 特别锁定的标准包括XHTML 和CSS;
3) 开放源代码,Drupal 是基于自由软件协作开发的开放源代码系统, 支持GNU 的GPL 协议, Drupal 本身是开放源码的系统, 同时它还支持其它的开放源码计划, 特别的是Drupal 用开源的角本语言PHP 编写的, 并且支持开源的数据库系统Mysql 和Postgresql;endprint
4) 易用,Drupal 对于开发者、管理者和使用者都具有较高的易用性;
5) 模块化和弹性的设计,Drupal 提供了一个简洁但功能强大的内核, 它可以通过用户Modules 非常容易的进行扩展。[3]
Drupal基本实现了页面设计和内容管理的分离,如图1所示。页面设计存储在CSS 文件里,而内容存储在数据库或独立的文件中。网站前台页面均由一系列html模版生成,模板文件会调用CSS获取页面格式,调用Drupal标签从数据库中得到相应的数据,进而联合生成标准的Html页面。内容数据的采集、发布、审核、存储均在后台完成,与前台设计相独立。
1.2 Drupal的主要功能
除了内容管理以外,Drupal 还能够针对不同的功能和应用,提供第三方软件支持,这使得Drupal 对每一种功能和应用都有可能做到游刃有余。
具体来说,Drupal具有4大基本功能:网站管理、内容管理、用户管理和新闻聚合。
1)网站管理:实现网站系统参数的配置、网站功能模块的增删改、系统日志维护、数据库备份还原、安全性设置等功能;
2)内容管理:对网站包含信息的增删改,无需修改数据库,直接在页面接口实现文档、音视频、软件等各类格式文件的发布管理;
3)用户管理:实现用户分组,自定义权限等功能,可以将网站管理员、信息采集人员、发布人员、前台用户区分开来,赋予不同的权限,方便管理。
4)新闻聚合:内建了功能强大的新闻聚合工具, 可以用来阅读并纪录其它网站的新闻信息。这个新闻聚合工具将文章信息暂存在MySQL 数据库里, 而这个存储的期限是用户设定的。新闻聚合在后台管理非常方便, 可以设置feed 的完整URL , 间隔时间和本站分类参数等。
另外,Drupal还支持外部模块和插件的集成,支持模块化的二次开发模式,提供模块的集成接口。[4]
总体来看,Drupal系统的功能能够很好地切合专题服务网站的开发,也在很大程度上解决了专题服务网站存在的问题,极大的便利了专题服务网站的开发、管理、维护与升级。
1.3 Drupal的运行环境
Drupal支持Apache、IIS 两种主要网站服务程序;支持windows、Unix、Linux等多种操作系统。Drupal 基于PHP 脚本语言, 推荐使用的数据库是mysql,要运行Drupal 须先安装好PHP 支持程序,如apache + mysql + php 的安装和配置环境:linux 系统下的lamp 安装套件或者windows 系统下的wamp 安装套件。[5]
2 Drupal建站流程分析
2.1 调研网站需求,制定开发方案
专题服务网站一般面向特定用户,针对指定专业内容而建,具有鲜明的主题,内容和用户群相对固定。在网站建设之前,客户应提出网站建设的基本要求,包括网站的主题,需要涵盖的内容,用户群范围等,并提供相关文本及图片资料。开发人员针对需求,与客户协商具体方案。
基于Drupal开发的专题服务网站一般包括前台展示和后台管理两大模块。从内容角度讲,前台展示一般包括最新动态、专题信息、领域文献、专题产品、专题图片、专题视频等;从功能角度讲,专题网站一般包括资源检索、资源推荐、资源排名、会员登录、会员订阅等。后台管理部分则负责信息采集、信息发布、信息审核、人员权限分配、安全性设置以及网站的备份还原等。在需求确立阶段,开发人员应该明确相关内容。
2.2 确定功能模块,明确栏目信息
Drupal系统本身提供了许多功能模块,一般能够支撑简单的信息展示服务。在现有模块功能不足的情况下,优先通过互联网相关论坛和社区寻找现成的模块,下载安装。针对个性化的需求,可以进行自主开发模块。栏目的设定必须紧密结合内容类型,是文章还是图片或者视频等。栏目设定完毕即可创建子栏目,配置相关参数,包括保存目录、栏目属性、命名规则和模板选择等。
2.3 确定网页布局,修改模板结构
Drupal系统为每种类型的网页均提供了模板,包括首页、栏目封面页、列表页、文章内容页、图片页、会员个人主页等几十个类型的模板,甚至在互联网上也存在大量精美的免费模板和大量以营利为目的的收费模板。每一个模板中主要包含了决定展示内容的Drupal标签和决定展示样式的CSS标签。每一个Drupal标签都是一小块程序的封装,可以调用不同的标签展示不同的内容,也可以开发专属自己的标签展示独特的内容(前提是这些内容在数据库中)。CSS标签则决定了网站的外观,修改或创建新的CSS样式文件则可以实现不同风格页面的展示。
2.4 发布测试数据,调试网站功能
由于Drupal系统利用模板理念将前台页面展示和后台内容发布很好地分离开来,系统可以提供多种选择的模板,所以网站开发者不需要首先考虑外观布局,直接发布数据,即可对网站的功能进行测试和调整。虽然Drupal系统对数据库的管理相对独立,但考虑到数据发布与前台的栏目设置、展示效果息息相关,所以建议只发布少量样本数据进行测试,待网站功能达到预期值后,再发布完整数据。
2.5 区别用户类型,设置访问权限
用户权限管理是Drupal系统的特色功能,主要包括两个方面:网站用户管理和后台维护人员管理。网站用户是指在客户端使用系统的用户,其管理功能主要是用户的增删改,用户级别的设定,以及相应权限的设定;后台维护人员管理主要是对后台维护人员的增删改以及相应权限的设置。可以将维护人员分为信息采集人员、信息发布人员、信息审核人员、技术支撑人员、美工人员等。Drupal系统的优势是将后台维护人员的权限分类精细化,例如:频道管理、栏目管理、内容管理、采集管理、模板管理、专题管理、系统管理、会员管理、插件管理、超级管理员等10几个类,又将每一大类权限分割为几个到几十个不等的具体权限。例如:可将信息发布人员的权限细化至只能在某一栏目下进行一项或几项工作,如发布信息、推荐信息、删除信息等。endprint
3 基于Drupal搭建示例网站
3.1 服务器的搭建
由于Drupal是基于PHP 编写的,我们选择Apache + PHP + MySQL 作为服务器环境,操作系统选用的windows7系统。Apache、PHP、MySQL都是开源软件,可分别到其官方网站下载适合的版本安装,也可以使用将三个软件打包在一起的集成包软件,如APMServer、XAMPP、WAMP、PHPNow等,该文使用的是Phpnow1.5版本,一键安装,使用非常方便。[3]
3.2 Drupal安装
在完成了环境的搭建之后,将下载下来的Drupal压缩包安装到服务器上,解压压缩包,然后将upload文件夹中的文件上传到网站的根目录中。按照如下步骤安装:
1) 在浏览器中打开http://127.0.0.1/install/ndex.php,开始进行安装。
2) 选中“我已经阅读并同意此协议,点击继续跳转到环境检测页面,如果环境检测全部正确([√]) ,点击[继续]进入[参数配置]。
3) 配置[数据库设定]部分的参数,包括数据库主机、数据库名称、数据库用户、数据库密码、数据表前缀、数据库编码等。
4) 点击[继续],完成Drupal系统的安装。
点击[登陆网站后台],网址自动转向后台登陆页面,输入安装时填写的管理员用户名和密码,以超级管理员身份登陆系统。系统默认管理路径是Drupal,考虑到系统安全因素,可以在登陆管理后台后修改后台的管理路径,将该文件夹重命名。[6]
3.3 网站设计及栏目设定
按照一般专题网站的需求,将网站内容分为以下几个主栏目:检索框、最新动态、最热资源、文献导航、图片视频、用户登陆、在线留言。
检索框包括基本检索和高级检索,用于搜索站内的资源信息;
最新动态包括自动聚合的新闻以及人工上传的信息,主要发布相关领域的最新消息;
最热资源用于推荐该网站内浏览、检索或下载量最大的资源内容,如期刊、会议的文章;
文献导航可以采用年代导航,也可以使用名称首字母导航,序化网站内存储的专题资源,便于用户浏览查看;
图片视频主要发布相关专题的图片和视频,以知识宣传为主;
用户登陆则是针对不同的用户类型,给予不同的操作权限和使用权限;
在线留言支持用户留言的分类存储,主要为网站维护者和用户之间提供交流平台。
栏目的主要结构如图2所示:
3.4 模板的设计
Drupal模板其实就是Drupal标签加上HTML 页面布局,应用HTML技术将网站布局好,再将Drupal标签放到对应的位置。本着最小修改原则,本网站将最新动态、最热资源、文献展示设计为一套模板,包括栏目封面页、列表页、内容页;图片、视频设计为一套模板,也包括栏目封面页、列表页、内容页;用户登陆和在线留言各自使用单独的模板。页面布局可以在原模板上修改,也可利用Dreamveaver等工具编辑,难点是Drupal标签的使用。以下将以内容页模板的设计为例简单介绍网站模板设计的思想。
1)首先从互联网上下载满意的模板,设置好html模板、CSS样式以及图片的存储位置,html模板的命名规则最好采用Drupal统一的命名规则,以提高可读性,如Artiicle_article_ID.htm。
2)将该网页模板中无需显示的广告等内容去除,按照设计修改模板代码,包括内容及样式。
3)保存修改后的模板,并在“栏目管理/修改栏目/高级选项/文章模板”处,将要修改栏目的模板路径替换为修改后模板的存储路径,保存设置。
4)重新生成该栏目下的文档html文件,在浏览器中即可看到内容页的展示已经按修改后的模板样式显示了。
3.5 用户权限设置
该网站将后台维护人员分为三类,第一类是超级管理员,具有所有权限;第二类是网站技术维护人员,具有除用户管理外的所有权限;第三类是栏目管理员,负责具体栏目的维护,仅具有栏目下信息的增删改等权限。前台用户CMS系统本身具有分等级功能、分企业和个人的功能,由于目前网站并没有迈入实际运营,尚未考虑前台用户的分组问题。[7]
4 结束语
随着专题服务的范围越来越广泛,专题服务方式和产品网络化的要求不断提升,专题服务网站的建设将更加频繁。目前专题服务网站建设中,各立门户造成的技术架构各异、数据库兼容性差、建设成本居高不下等问题将越来越突出。Drupal系统提供了一个方便高效的网站管理平台和内容发布平台,实现了网站建设统一规划、分布式维护,大大提高了工作效率, 并能实现多站点统一管理、权限统一分配,保证信息共享与安全。这些突出特点为专题服务网站的统一建设管理提供了良好的平台。我们有理由相信优秀的Drupal系统将为专题服务网站的建设和管理构建一个更稳定、更高效的信息共享平台。
参考文献:
[1] 郭广军,谢东.基于CMS 的网站系统开发技术研究及应用[J].计算机工程与设计,2010,31(11):2500-2502.
[2] 郭静.基于Drupal的高校信息素质教育平台构建研究[D].华中师范大学,2012.
[3] 马建玲.开放源代码的内容管理系统Drupal[J].现代情报,2007(2).
[4] 盛安元,黄存东,张前进.基于开源软件Drupal工程实践[J].武汉工业学院学报,2012(2).
[5] 沈德秀,林夏吉.基于Drupal的电子学档的设计与实现[J].科技创新与应用,2013(5).
[6] 李倩,卢志国.利用drupal构建图书馆的门户网站[J].图书馆学刊,2011(2).
[7] 戴马.浅谈基于Drupal网站开发过程[J].信息系统工程,2011(8).endprint