




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
利用开源CMS建立基于Web2.0的图书馆门户网站的实践张平杉 马蕾 (四川大学公共管理学院信息资源管理系 成都 610064)【摘要】内容管理系统(Content Mangangement System)可以达到网站管理的高效率,增强与用户的互动。本文对开源内容管理系统Drupal进行介绍,并以此为工具开发了基于Web2.0的图书馆门户网站,探讨了实现内容管理的四川师范大学图书馆门户网站的方法和步骤。【关键词】开源 内容管理系统 Drupal 门户网站建设 【分类号】TP3935引言内容管理系统(Content Mangangement System),简称CMS,是一种位于WEB前端(Web 服务器)和后端办公系统或流程(内容创作、编辑)之间的软件系统,能把网站中的内容(比如文字,图片等)从网页中分离出来,进行单独管理,从而达到内容和形式相分离,使得网站能够更容易地管理和维护。CMS与XML技术所倡导的文档样式、结构、内容三者分离来实现对数据的高效管理的思想如出一辙。其基本思想是分离内容的管理和设计:页面设计存储在模板里,而内容存储在数据库或独立的文件中。 当一个用户请求页面时,各部分联合生成一个标准的 HTML 页面。随着突出以用户中心,注重与用户交互的Web2.0浪潮的展开以及开放源码软件的广泛应用,高校图书馆网站有了达成更好服务效率和更佳服务方式的技术条件。高校图书馆是一个以提供信息查询利用服务为主要目的的机构,利用内容管理系统来进行图书馆门户网站的信息发布、更新和维护管理平台,能更好地体现以用户为中心的服务理念,改进服务效率。为此,需要对现有门户网站进行重构,增加并强调用户参与,形成与用户的良性互动,从而提高图书馆网站的可用性。本文以四川师范大学图书馆网站为例,探讨利用开源CMS软件Drupal建立图书馆门户网站的实现方式和步骤。1Drupal简介Drupal是一个基于Web的、开源的、跨平台的内容管理系统(Content Mangangement System,简称CMS),所有的内容均存储在数据库中,根据用户的需求以动态或者静态的方式呈现。Drupal所需要的基本运行环境包括一个可执行PHP脚本的服务器端、PHP、以及数据库系统。它的特性包括:(1)模块化:Drupal是一个模块化(Modules)的系统,通过核心模块(Core Modules)基本模块(Core Optional Modules)和提供各种功能的附加模块(Contributed Modules)完成诸如用户认证、内容管理、以及以聚合、Blog、维基等web2.0技术以突出交互功能及社群特性。用户可根据需要选择模块轻松扩展Drupal以获得更为丰富的功能。(2)内容和外在显示的分开:Drupal 使用主题系统(Themes)将内容和外在显示(Layout)分开。因此可以通过更换主题或自定义主题的方式获得不同的网站外观,并支持W3C标准。(3)个性化(Personalization):Drupal可以提供完善的个性化环境。不论内容还是显示方式、系统功能等都可以通过自定义的参数或者附加模块实现。 (4)共同写作(Collaborative Book):Drupal可以让用户设立一个内容项目以供创作,同时也可授权其他用户共同参与写作。(5)开放源码:Drupal是一个基于GPL的开放源码软件,用户可以根据自己需要使用并修改该软件。Drupal的使用和应用是免费的,而且有一个异常活跃的社区支持其发展。2四川师范大学图书馆门户网站建设的目的大学图书馆门户网站是用户查找信息的入口,应该成为以资源为基础,以服务为出发点的信息门户,应具有以下功能:树立图书馆形象,介绍图书馆的概况以及所提供的资源与服务;为用户提供能跨越时空限制,充分利用图书馆资源和服务的平台;体现用户第一的服务理念,通过双向互动了解掌握用户需求,为用户提供更好服务。为了达成以上功能,经多方考察论证,结合本校实际情况,对原有网站的体系结构做了全面改版。用通俗易懂的语言,重新规划内容板块:以查找资料、用户服务、帮助信息、本馆概况四个栏目为主,每个栏目下又分若干子栏目;将常用链接统一整合到一个栏目,使用统一的站点导航条、内容导航栏,使得整体风格统一,简洁明了;利用Photoshop CS 以及Dreamwaver制作出了网站的首页、导航条、以及内容页面模板。3四川师范大学图书馆门户网站建设实践3. 1 初始安装以及测试环境采用基于Windows/Apache/PHP/MySQL的开源套装软件WAPM1.7.4版以及Drupal 5.3版,安装Wamp1.7.4后,将Drupal-5.3.tar.gz解压到 Wamp中的www目录下,在命令行或利用phpmyadmin(一款基于Web的Mysql数据库开源管理软件)创建门户网站数据库以及用户。打开浏览器,在地址栏里输入 http:/localhost/index.php 安装Drupal。并启用Apache的mod_rewrite模块(该模块的作用是URL重写,以达到用静态页面形式的链接隐藏后台的动态页面,Drupal的Clean URLs功能需要使用该模块)。3.2安装模块扩展功能安装完成后,为体现网站功能,并加强与用户的交互,还需要使用一些扩展模块。从/project/Modules下载部分模块,并将其解压到Drupal目录下的modules文件夹中(或解压到sitesall下新建的modules文件夹中),以下是笔者所使用的一些模块及其在网站中的功能:Aggregator:内容聚合发布模块提供RSS, RDF, and Atom 输出。Book:Book模块,本站点使用该模块作为文献检索课程栏目,采用共同创作的方式让有兴趣参与其中的用户与文检教师完成文献检索网络教学栏目。Comment:评论模块,让用户对内容进行评论或讨论,通过这个模块可直接了解用户对图书馆服务、购买资源的评价。Locale:本地化模块,汉化Druapl所必须。Path:将url重新命名为直观可读的url。通过重新命名的url,用户可以更为直观的了解将要阅读的内容。如查找资料栏目下的图书,可以将其url重命名为 how to find a book or books ,参考咨询可重新命名为ask a library等。Poll和Advance Poll:投票模块,可提供多选问卷调查,可将图书馆近期购买的书目作为多选问卷调查表,让用户也参与到图书馆的采购计划。Search:搜索模块,提供对本站内容的搜索功能。Statistics和Xstatistics :统计模块,统计站点访问、页面点击等情况。Taxonomy:分类模块,提供自定义的分类目录结构,是一非常重要的模块,本站点的许多功能的实现都需要该模块。如可自定义电子资源语种、电子资源状态、电子资源分类等分类词组,在创建内容过程中可以将自定义的分类词组最终以Tag的形式输出,通过对Tag的点击能很方便的将具有同一分类词组的内容集中到一个界面。Throttle:甩负模块,提升网站的相应速度。Tracker:跟踪模块。可以让用户了解网站新增的内容,包括评论等,也可以指定了解某种类型、某位用户的发文情况。FCKeditor:所见及所得的内容编辑模块。Jrating:基于AJAX的的评分模块,可以作为comment模块的辅助部分,允许用户对内容评分。Views:实现自定义页面内容显示,如以列表方式显示、摘要方式显示等,结合panals模块、的辅助模块,可以实现更多的显示方式。Faq:常见问题解答模块。Content Construction Kit模块:内容发布模块,用来定制内容发布的字段模块,定义哪些字段是必填、那些可以多选,此外利用其它辅助模块如Node Reference在cck中定义参见字段模块(在当前显示页面中创建与该当前显示页面相关的其它页面的链接,为用户提供一个更为便捷的导航)、Taxonomy Fields在cck中定义分类字段模块(Tag功能所必须)等。除此以外还使用了Content Templates、Link、userplus、IMCE、Taxonomy Batch Operations等模块。在启用这些模块之后,需要到Administrator Site configuration以及AdministratorUser management 对这些模块配置并设置权限。这样一个能提供Rss、评论、Tag等功能的站点基本搭建完成。下载并使用Devel模块对初步搭建完毕的站点进行测试。3. 3定制主题Drupal 使用一个主题(Themes)系统将内容和外观表示分离开。也就是说数据可以脱离外观而存在。Drupal提供了多种主题引擎(theme engine)如PHPTemplate、XTemplate 和 Smarty 对内容进行主题化。在本门户网站建立过程中以PHPTemplate主题引擎。该主题引擎使用若干个以tpl.php为文件名的文件做为主题模板,如page.tpl.php为页面外观显示模板,node.tpl.php为节点内容外观显示模板,comment.tpl.php为评论页面外观显示模板等。定制主题可以采取两种办法,一种是新建所有的模板,另一种方法是修改现有主题模板文件。本门户网站自定义主题的建立采用的是后一种方法即修改现有主题模块文件的方式。3.3.1新增区块,用于展示某些特定内容。从/project/Themes下载并在管理界面启用zen主题,根据Drupal主题系统所定义,对zen目录下的template.php做了如下修改:function zen_regions() return array(news = t(news), /新建立区块 news,用于展示图书馆的新闻动态left = t(navigation), / 新建区块navagation,作为资源页面的导航hottopic = t(hottopics), /新建区块hottopic,用来展示用户交互活动最多内容,如访问量最高的内容,评论次数最多的内容或者评分最高的内容。header = t(header), /页面头部区块, 作为Search区块content = t(content), /页面内容区块 content_right_top =t(relate), /相关参照区块footer = t(footer) /页面底部区块,显示版权或其他信息); 3.3.2修改导航和页面外观根据网站栏目特点以及内容,为让网站体现更好的层次结构,除了利用breadcrumb 导航让用户了解他们所在信息空间中的位置并能在该层次结构中快速后退之外,还需要在不同的内容外观上也要有区别,应此需要对现有的breadcrumb导航和内容外观显示页面进行修改。(1)对breadcrumb的修改function zen_breadcrumb($breadcrumb) if (!empty($breadcrumb) $breadcrumb = drupal_get_title(); / 在breadcrumb导航栏增加当前页面return . implode(, $breadcrumb) .; /将层次结构中的符号替换为 (2)自定义页面外观Drupal的自定义页面外观方法有多种,如可以根据用户角色、权限来定义,可以根据节点类型来定义,也可以Url来定义。我们可以根据实际需要,采用以上的一种或几种种方法来自定义页面。首先是以节点类型自定义页面:根据栏目特点建立不同的节点类型。新建 Eresource(电子资源)、News(新闻动态)、Help(帮助)、Service(用户服务)、和Basic(基本情况)节点类型,在 zen目录下多次复制page.tpl.php并分别重新命名为page-ersource.tpl.php、page-news.tpl.php、 page-service.tpl.php、 page-basic.tpl.php,这些模板文件里分别输入已制作好的html页面代码。根据需要保留相关内容,并在需要输出新增区块的地方如page-ersource.tpl.php 中加入以输出新增的导航。最后在page.tpl.php模板中最开始的地方增加如下代码:type = ersource) include page-ersource.tpl.php; /类型为ersource的节点使用page-ersource.tpl.php模板return; if ($node-type = news) include page-news.tpl.php; /类型为news的节点使用page-news.tpl.php模板return; if ($node-type = servie) include page-service.tpl.php; /类型为service的节点使用page-service.tpl.php模板return; if ($node-type = help) include page-help.tpl.php; /类型为help的节点使用page-help.tpl.php模板return; if ($node-type = basic) include page-basic.tpl.php;/类型为basic的节点使用page-basic.tpl.php模板return; if ($node-type = book) include page-book.tpl.php; /类型为book的节点(文件检索课程栏目)使用page-basic.tpl.php模板return; ?其次还可以根据用户或url链接来定制不同的页面模板:除了使用节点类型定义页面模板外,还可以根据用户或url链接来定制不同的页面模板。如需要根据用户当前登录与否来显示或隐藏内容,可以在page.tpl.php中加入如下代码:uid) /如果是当前浏览者为系统登录用户则显示下面的内容 print / 这里是要显示的内容; else /*如果是当前浏览者为非系统用户则显示下面的内容 print / 这里是要显示的内容; ?3)定制节点内容外观模板若需要定制节点内容外观模板,可采取如上的办法,建立node-type(类型).tpl.php。也可使用Content Construction Kit模组及附加模组来定义节点字段的显示。利用Panels、view模块或php代码,可以很轻松的实现一些特定的导航如外文期刊字母导航。如利用php代码实现:?php$vid = 5; / 本站点所创建的字母导航分类词组$terms = taxonomy_get_tree($vid); /以下代码为输出将属于该词组的分类词条 print ; foreach ( $terms as $term ) /输出数组内容$count = db_result(db_query (SELECT DISTINCT COUNT(nid) FROM term_node WHERE tid = %d , $term-tid);/统计含有同一分类词条的内容数量if ($count0) /所查询的文章内容中无该分类词条时,不显示该词条print .l($term-name . (. $count .), taxonomy/term/$term-tid) .; print ;?页面外观及内容外观定制完成后,利用Firefox浏览器以及其附加软件Firebug、Ie tab查找并修改相关的css代码,细化页面的显示。首页最终效果如下图:4用户参与的实现如何在本门户网站更好的体现用户参与,实现用户的交互,采用设置用户权限以及一些附加模块来实现。如在以往的网站内容发布过程中,所有的内容都是由网站管理员创建并发布,利用Drupal的基于角色的权限系统(Role based permission system):设置若干具有不同权限的角色,将用户加入到相应的角色组中。让图书馆行政人员建立并发布图书馆的通知、公告,让参考咨询部人员具有对FAQ栏目以及用户评论内容进行管理,让采编部工作人员具有建立并发布多选调查表的权限,让用户具有对内容发表评论、进行评分的权限,给匿名用户对内容评分的权限,此外还可以给特定用户共同写作的权限。通过适当角色设置,可以使以往仅能对网站内容浏览的用户都参与到网站内容的创建。以上就是笔者利用Drupal建立图书馆门户网
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 病房管理精细化
- 腹股沟滑动疝的临床护理
- 员工法律测试题及答案
- 在师带徒仪式上的发言稿模版
- 化疗相关护理
- 中国旅游地理新教学设计
- 护理组长岗位认知
- 小学二年级班主任年终总结模版
- 2025年人教PEP英语小学四年级下册期末检测题及答案(二)
- 2025年部编版道德与法治小学四年级下册期末质量检测题附答案
- 2025-2030中国药品连续生产行业市场发展趋势与前景展望战略研究报告
- 2025年中考数学总复习《投影与视图》专项测试卷(附答案)
- 2025年“六一”少先队新队员入队仪式主持词
- 胃镜室试题及答案
- 死鱼赔偿协议书范本
- 2025年贵州水投水库运营管理西秀有限公司招聘笔试参考题库附带答案详解
- 2008年高考语文试卷(山东)(解析卷)
- 2024年中国成人心肌炎临床诊断与治疗指南解读
- 仓库三级安全教育培训
- 焊接实训车间建设方案
- 英国默许开发权的发展历程、体系构建与成效分析
评论
0/150
提交评论