基于Drupal 的图书荐购系统构建与实现.doc_第1页
基于Drupal 的图书荐购系统构建与实现.doc_第2页
基于Drupal 的图书荐购系统构建与实现.doc_第3页
基于Drupal 的图书荐购系统构建与实现.doc_第4页
基于Drupal 的图书荐购系统构建与实现.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于Drupal的图书荐购系统构建与实现王家兵樊忠顺(重庆交通大学图书馆重庆400074)摘要图书荐购作为图书馆的一项基本服务在广大公共图书馆和高校图书馆得到广泛开展,为读者提供一个使用方便、功能齐全的图书荐购平台也已成为数字图书馆建设的一项重要内容,对图书馆建设和服务的开展有着重要的作用。Drupal作为广泛使用的开源内容管理系统(CMS),其源码开放、功能强大和可扩展性等优点使其在数以万计的Web 站点得到了应用,也适合library2.0图书荐购系统的构建。本文介绍了基于Drupal实现的图书荐购系统,对荐购系统模型和功能模块进行了分析,对荐购系统平台构建、书目信息检索系统的远程访问、用户验证、荐书提交等功能模块以及关键技术进行了介绍。关键词图书馆;图书荐购系统; Drupal;CMS分类号253Construction and Implementation Books Recommendation System Base on Drupal Wang jia-bing Fan zhong-shun (Chongqing Jiaotong University Library , Chongqing 400074 , China)Abstract Book recommendation services are widely carried out in public libraries and university library. To provide readers with an easy to use, fully functional library recommendation application has become an important part in the digital library constructions. As a widely used open source content management system (CMS), Drupal has been used in thousands of web sites. It is powerful, and scalability, also an ideal library2.0 book recommendation system platform. This paper introduced a books recommendation system based on Drupal .The system model and function modules have been analyzed ,also the platforms deployment ,connection with the OPAC, user authentication module and other key techniques have been described .Keywords Library;Book Recommendation System;Drupal;CMS1 引言图书荐购作为图书馆的一项基本活动和服务,其重要性已得到广大图书馆界的认可,也是现代图书馆以用户为中心,以服务为中心,提供交互性、提供个性化服务等Library 2.0服务理念的重要体现,已有越来越多的图书馆进行实施和运用。就目前各图书馆使用的图书荐购形式而言,有采用电子邮件、有基于WEB的荐书信息提交系统,也有整合了图书馆书目信息检索系统(OPAC)的荐书系统。其中使用最为广泛的基于WEB的图书推荐系统,一般采用B/S架构,使读者通过WEB界面提交荐书信息,这对简化传统荐书选书流程,提高图书采编效率,减少选书盲目性和随意性,提高读者服务的质量,优化图书馆馆藏结构起到了重要的作用。基于WEB的荐书信息提交系统构建简单,易于实施,但从功能上而言,还表现有诸多不足,如读者认证功能缺乏、读者与馆员相互交流形式单一等。而整合了OPAC的荐书系统,则在功能上较为完善。如美国的INNOPAC图书馆集成管理系统,其荐书模块就集成了荐书信息提交、荐书信息审核、 读者回复、 订购图书、 读者预约、 图书编目典藏、 读者阅览等大部分功能模块,具有读者身份信息自动审核、书目信息自动查重、自动反馈处理结果、自动进入图书采编流程等功能,在清华大学、西安交通大学、华东师范大学等高校得到了采用,但也不存在一些不足2,如缺乏源码,平台功能的可扩展性差、功能添加及更新比较困难。本文介绍了我馆自主开发的基于开源内容管理系统Drupal的荐书平台,通过添加功能模块,远程访问金盘书目检索系统,完成了读者荐书、回复、书目查重、馆员发布新书、读者选书、书目信息采集,以及读者与馆员的消息交互等功能。2 图书荐购过程模型图书荐购是通过收集读者需求、喜爱、观点及经验来决策购书的过程。在图书荐购活动中,一方面读者根据自己的需要,向采购人员提交自己需要而又没有馆藏的新书信息;另一方面,采购人员也可以定期或不定期发布新书选购信息给读者,特别是向相关领域的专家,询求推荐信息。通过让广大读者参与到购书过程中来,收集、分析他们的图书需求信息,最终得到一个具有参考价值的荐书报告,图书馆采购人员可以从众多的图书中决策如何选择性购买与收藏图书,从而避免盲目选书、随意选书, 最大限度地优化馆藏结构,保证馆藏质量。图书荐购过程的模型如下:购书书目决策采编人员读者书商及其它信息渠道推荐选择信息发布新书信息选择性交互资讯综合、决策图1 图书荐购过程模型3 Drupal 及其用于构建图书荐购系统的优势Drupal是一个由数以千计的使用者和开发人员所共同维护和开发的、基于PHP的开源内容管理系统(CMS) 1,主要用于构造提供多种功能和服务的动态网站,其有4.x、5.x、6.x、7.x各版本,目前的稳定版为6.16。Drupal内置了各种通用的核心功能模块,如用户管理、模块管理、内容索引及搜索、博客、论坛等,另外在Drupal社区提供了由成千上万经开发者开发维护的各种免费附加模块,可以根据应用需要添加。Drupal功能强大,支持个人博客(Personal Weblog)、大型社区驱动(Community-Driven)网站等各种不同应用, 使个人或社区用户可以很容易地发布、管理及组织网站里各种内容。采用Drupal 来构建图书荐购系统,具有以下几方面的优势:Drupal基于GPL授权,源码开放,具有强大的社区支持,保证了系统的安全性、稳定性。其灵活的框架,充分保证了系统的可定制性和可扩展性。 系统平台容易建设及维护。Drupal 基于PHP,可采用mysql数据库。采用相关安装套件,就可以很方便的在Linux系统或Windows系统下构建起Drupal所需的系统平台,如xampp(Apache+MySQL+PHP+PERL),linux下的lamp,windows下的wamp等等。 Drupal集成了众多的模块,可以减少系统开发的复杂度和工作量。Drupal集成了用户及角色管理的权限系统,在荐购系统中就只需进行适当增强即可使用。Drupal社区提供有很多免费的附加模块,对一些需要的功能模块,可直接或经修改后使用,大大简化了开发的工作量。对特定应用需定制添加功能,只需按照Drupal的模块设计规范,自己开发相关的功能模块添加到Drupal系统中即可。Drupal 是一个模块化结构内容管理系统,通过各种不同模块来实现所需的功能。Drupal的模块分为核心模块、附加模块及用户定制的模块三种。核心模块是安装Drupal时自带的模块,如用户管理模块(USER模块)、用户账号信息扩展模块(Profile 模块)、站内搜索模块(Search 模块)、站点统计模块(Statistics模块)等等。附加模块则是Drupal社区开发者提供维护的模块。用户定制的模块是在具体应用中根据具体的应用设计的模块。Drupal提供了hook机制来对已有的模块功能进行扩充,并提供了数据库层以及数据库层访问的API,很方便的在用户定制的功能模块中完成各种功能。4 基于Drupal的图书荐购系统实现4.1系统平台的构建考虑到系统平台搭建的方便,最初的开发步署采用了在Windows 2003 Server上安装xampp来实现,正式应用也可以考虑linux系统安装apache、php、mysql的平台。对采用Windows 2003 Server安装xampp,安装完毕后应对系统平台的安全性进行检测,如系统目录权限控制、mysql数据库用户管理等。基于Windows 2003 Server和xampp建立的平台,存在两个主要需要解决的问题,一是电子邮件email的发送,另一个是对图书馆书目信息检索OPAC的远程访问。Email的发送用于读者用户注册、密码更改、密码找回、采购人员与读者交互;OPAC的远程访问用于读者用户信息,书目信息数据读取,实现用户验证及书目信息查重。为实现邮件发送,需要更改安装目录下的sendmail.ini 和php.ini文件。如xampp安装在C:xampp,则对应文件为C:ppapachebinphp.ini及C:xamppsendmailsendmail.ini。需在php.ini中启用sendmail.exe (把 sendmail_path = “C:xamppsendmailsendmail.exe -t”前注释去掉),在sendmail.ini中添加smtp邮件服务器的信息。图书馆书目信息检索OPAC的远程访问会根据OPAC所采用的数据库不同会有所不同。我馆采用的是金盘书目检索系统(),其数据库采用的是mssql 数据库。为实现php对mssql数据库的访问,需要在php.ini中启用php_pdo_mssql.dll(把;extension=php_pdo_mssql.dll前的注释;去掉),另外还需添加访问mssql的动态链接库文件ntwdblib.dll,直接通过在服务器上安装mssql 服务器,即可完成此文件的添加。由于金盘数据库采用的是gb2312编码,而安装的Drupal采用了UTF-8编码,所以在进行金盘数据库的访问时,还需进行编码格式的转换,sql的查询语句需由UTF-8转换成gb2312,再用mssql_query指令查询;对查询返回的结果,也需由gb2312转换成UTF-8再使用。字符编码的转换通过在php.ini中开启iconv模块,由iconv函数完成转换功能。4.2系统功能模块及其实现Drupal已集成了一般系统所需的功能,考虑图书荐购系统所需实现的功能,在安装好Drupal后,开启了核心模块中中文所需的locale模块、以及Profile、search等模块,附加的模块则有CCK (Content Construction kit, /project/cck)、FileField (/project/filefield) 、privatemsg(短消息模块/project/privatemsg)、user_register_notify(/project/user_register_notify)等。通过开启核心Profile模块,可添加读者用户的姓名、性别、单位、职别、电话等信息字段。通过CCK模块可很容易的实现新书购荐信息、选书发布、选书推荐信息等各种数据类型。FileField用来在选书发布中定义书目文件上传;站内消息系统privatemsg用来用户间互相发短消息,通过设置,在有消息时还能发送email通知用户,在购荐系统中实现读者与采购人员及系统管理员的互动的消息交换。user_register_notify模块中包含了hook_user()功能,其在用户注册时发送email通知管理员。在购荐系统中,通过在此功能中加入对图书检索系统OPAC的访问,完成读者信息的验证、用户信息的读取以及读者角色的设定。对于荐书系统所需的读者荐书及受理、新书信息发布、读者选书等模块,需定制模块来完成。所需的新书购荐信息、选书发布、选书推荐信息等数据类型通过Drupal的CCK模块来添加,这只需在管理界面配置即可完成。各功能模块中,通过Drupal数据库API来实现对本地用户信息、新书购荐信息、选书发布、选书推荐信息等数据的访问;通过书目检索系统的远程访问来实现馆藏书目信息的访问;通过php的cURL库(需在php.ini开启cURL)来实现书目信息采集。对提交或发布的书目信息,采集来至当当网、搜索引擎的书目信息,以供采购馆员、选书读者了解相关书目的更多信息。(1)用户管理模块Drupal核心内建了用户管理模块,集成了用户注册、登录、密码设定、更改等功能,并具有用户角色及权限管理功能。在荐购系统中,设计了系统管理员、图书馆采购人员、读者、注册用户、匿名用户五种用户角色,采购人员由管理员在后台添加,在系统注册的用户,通过OPAC验证后则为读者,具有提交荐书信息的权限。为保证荐购信息的有效性,荐书系统设计了用户身份验证功能。在进行Drupal功能扩展时,一个原则就是尽可能保持Drupal核心模块不作更改,这主要是为了保证系统进一步的更新升级,所以采用添加验证功能到附加模块user_register_notify中,来实现读者验证和角色更改。在注册时,要求以借书证号为用户名,并提交读者姓名,然后在user_register_notify模块中以借书证号及姓名,联接图书检索系统OPAC进行读者验证。对通过验证的用户,读取其性别、单位、职别等信息,保存到Drupal系统,并更改其角色为读者。由于联系信息(email和电话)在OPAC中往往记录不全,或已更改,所以注册时email作为输入必选项,电话作为了输入可选项。对无法通过认证的用户,可站内短消息和email联系管理员处理。(2)读者荐书及受理模块读者用户通过荐书界面提交荐书信息,包括书名、ISBN、出版社、出版社、版次、著者、留言等。流程如下:对于未登录用户提示登录用户名和密码,以及注册的链接。对读者提交的荐书信息,进行校验和按照名称和作者两个字段在馆藏中进行模糊匹配查重,对查到馆藏中已有的书目,提示其书目信息。对成功提交的荐书信息,以站内短消息和email通知荐书提交者和采购人员。采购人员登录查看荐书信息,以及荐购者信息,并回复处理情况。回复后,以站内短消息和email通知荐书提交者。在新书到馆藏后,发站内短消息和email通知提交者,这一功能是通过计划任务(CronJob)来完成,即定时查询荐书在图书检索系统的情况来完成。(3)新书信息发布模块采购人员对书商提供的MAC书目数据或excel 新书数据,整理得到excel的形式的书目信息,提交到系统。系统对提交的格式进行校验后,生成选书条目。在新的选书条目生成后,系统以email 通知用户有新的选书书目。4)读者选书模块未登录用户只能查看选书书目信息,需登录后方可选书。采购人员可查看每期选书报告,包括本期各书目的选书次数,各学院、教师、研究生、本科生选书信息等。并导出excel报表。5 总结基于开源Drupal构建的图书荐购系统,使众多的读者参与到图书馆的馆藏建设中,提高了图书馆的服务层次,符合lib2.0图书馆以用户为中心的建设理念。Drupal开源,基于模块的架构,可定制性、可扩展性强。通过公共目录检索系统的远程数据库访问实现了读者认证、书目查重;通过cURL实现了书目信息的采集。在荐购系统中,采用站内消息和jquery、ajax 、JTip等WEB2.0的新技术实现了友好的用户交互体验效果,进一步的开发可实现整个图书采编流程,在实际应用中得到了良好的效果。Drupal还具有多站点统一用户认证管理特性,具有进一步的扩展性,对个人图书馆、读者社区等其它系统的构建有着重要的参考价值。参考文献:1 http:/www. drupal. org EB 20009.10.01-2 王平.基于INNOPAC系统构建清华大学图书馆读者荐书服务模式J.现代图书情报技术,2008,(12):90-943 曹玉平.网上荐购图书的探讨J.图书馆学刊, 2006, (2):57- 58.4 陈春阳, 王庭熙.网上荐购系统的开发与快速检索技术的实现J.莆田学院学报, 2006, (2):47- 50.5 熊才发等.高校馆网上荐购图书的组织与管理J.高校图书馆工作, 2005 (5)6 赵琴 , 黄凯卿. 书店征订目

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论