又一个开源OPAC——Fac-Back-OPAC

    独立于ILS的新OPAC越来越多,不少还是开源的,最近出现的例子就是Fac-Back-OPAC (faceted backup OPAC),一个分面OPAC,可作为图书馆集成系统OPAC的替代品。

    项目源于Casey Durfee在今年code4lib会议上提出的250行左右的“开源Endeca”代码,使用Solr(http://lucene.apache.org/solr)和Django(http://djangoproject.org/),可以实现类似于Endeca和AquaBrowser的分面功能。Casey在西雅图公共图书馆采用杜威分类法的Horizon系统上实现。
    Dan Scott下载Casey的代码后,用于Laurentian大学图书馆,该馆是采用国会分类法的Unicorn系统。据称只花了两个晚上就有不错的表现了。
    Mike Beccaria同样使用Casey的代码并加以强化,现在Paul Smith学院已经使用了Fac-Back-OPAC。
    Casey也加入该项目,并贡献出称为Helios的最新代码,具有标签云及其他功能。目前可以在西雅图公共图书馆目录中看到挺有意思的标签云显示选项。
    Mike Beccaria和Dan Scott在最新一期Computers in Libraries上发表文章 "Fac-Back-OPAC: An Open Source Interface to Your Library System" 介绍该项目。文章最后说,Fac-Back-OPAC尚在幼年期,还有很多成长的空间。Paul Smith学院打算在今秋监测用户行为,在基于用户需求与检索行为的前提下继续开发。打算强化的附加功能如用户书单、杜威法/LC主题浏览、全MARC显示,或者Web 2.0工具如标签、用户评论。作者们期望感兴趣者的加入。

    文章中有一节(Technology Building Blocks),介绍Fac-Back-OPAC的实现方法,称其成功大部分直接归功于那些开源组件:Solr, marc4j, Django。文后还有相关软件链接(More About the Software and Sites Mentioned in This Article)。
    从MARC记录经过处理成为一个可检索文件的生命周期如下,可供新型OPAC开发者参考:

第一步:从ILS到MARC
像北卡州及其他机构一样,在ILS之外建立目录,始于每晚导出所有MARC记录与馆藏记录。在首次导出后,可以只导出新的或有变化的记录,以更新Fac-Back-OPAC中的实例(instance,记录集?)。

第二步,从MARC到MARCXML:使用marc4j和Jython
由于MARC格式不适合传统搜索引擎标引,因之使用marc4j库将每条MARC记录转换成更易于处理的MARCXML格式。由于Solr只能理解UTF-8,还要将所有记录由MARC-8转换成UTF-8。此外,使用Jython编程语言(运行在Java虚拟机上的Python编译器)以控制marc4j,并用简单的Python句法以控制其余索引过程。

第三步,索引记录:使用Solr
Solr搜索解决方案建立在提供Web服务的企业级Lucene搜索引擎上,简化文件索引、增加附加功能如分面检索结果。每个Solr实例可配置一个Schema,描述文件的字段,以及这些字段的类型(如文本型、日期型或整数型)。Fac-Back-OPAC使用一个带书目Schema的Solr实例,运行于Jetty应用服务器。处理每个MARCXML记录,抽取感兴趣的字段用于分面与索引,生成一个XML文件,作为一个字串,发送到Solr实例,用于通过HTTP POST方式做索引。

第四步,检索界面:使用Django
Django是一个流行的Web应用框架,以Python写成,实现模型-视图-控制器(model-view-controller, MVC)模式,还能提供对一些特性的支持,如缓存搜索结果供展示、翻译成不同的语言、设定RSS种子。只需编辑HTML格式的模板,就可以定制Django的三个模板,即最初检索屏、检索结果页及详细显示页。

相关链接:
Google Code网站上的项目主页:
fac-back-opac: Faceted online public access catalogue; use as an alternate interface
论文:
Fac-Back-OPAC: An Open Source Interface to Your Library System / by Mike Beccaria and Dan Scott. Computers in Libraries, October 2007 (Vol. 27 No. 9)
实例:
西雅图公共图书馆目录(http://catalog.spl.org/catalog/)
Paul Smith学院目录(http://library.paulsmiths.edu/catalog/
[update 2007-10-8: 相关截图见Google Docs共享的演示文稿]

关于开源OPAC,参见:
开源OPAC发布:VuFind (2007-07-23)
二小时建立分面OPAC (2007-04-08)
AADL的新版OPAC (2007-01-22)
开源OPAC也精彩 (2007-01-14)
从获奖看国外流行的开源软件 (2006-12-07)

开源OPAC发布:VuFind

    不习惯用QQ,办公室的电脑上一直没装。那天上班急着找人,看Gtalk上没在线,想到此人总与人QQ聊天,无奈之下装上QQ。才上线,大旗底下的群里就跳出游园贴的VuFind链接,Keven叫好,便链过去略看,又一个好东西!晚上看网,就发现很多人都在谈VuFind了。

    “VuFind,图书馆资源门户,目标是取代传统OPAC,使用户能检索与浏览所有图书馆资源。”
    “VuFind完全模块化,可以只实施基本系统,也可采用所有组件。作为一个开源系统,可以修改模块以适应自己的需求,也可以增加新模块以扩展需要提供的资源。”

    首页右侧有六幅演示,基本上就能看到VuFind的用户界面了。应该说,与WorldCat很相似。不同的是,VuFind是开源的,大家都可以下载来安装在自己馆的机器上,看看效果如何。
    据OCLC的Roy Tennant介绍(VuFind Rocks the House),只要略懂技术并有权限在Unix机上安装软件,就可方便地安装。说是只需花数小时,或许就可给馆长看一个完全可用的馆藏新界面。真有那么酷?Roy Tennant称VuFind为OPAC杀手,称赞其清新设计、检索结果分面浏览和响应速度。
    7月19日Andrew Nagy在CODE4LIB上发布的消息称(Open Source OPAC – VUFind Beta Released):VuFind开发近一年,现为Beta阶段,希望在秋季发布一个稳定的产品;使用Apache Solr;目前适用于Voyager,正增加适用于常见ILS、甚至开源的Evergreen和Koha的驱动器(drivers)。Roy Tennant说目前意在取代OPAC的项目,还有几个也采用Solr

    应该说,谈VuFind已不是新闻了。
    Meredith Farkas最新博文(From the “to blog” folder)说,她发现想点评的文章与博文时,会放入“写博”文件夹中,然而最终发现实际上不可能写那么多。每天都会浏览大量RSS推送来的内容,对此深有同感,虽然自己没有这样一个文件夹。前几天没空,但心里一直惦记着不能不写写VuFind。
    如果能减去N岁,应该就不只是写写,还要亲手做做了。

中美数图研讨班(4)·机构库,看起来很美

没探究过“institutional repositories”(简称IR,机构库、机构仓储、机构典藏、机构知识库)的起源。但看到那些比较牛的学校都在做,自己似乎觉得也应该做。
不过,具体到操作层面,首先要考虑数据来源,就积极不起来了。毕竟国内的教师都比较保守,不理解成果在网上可见的益处,有共享意愿者不多;并且国内也没有见到哪个权威部门或学术机构有支持开放存取的政策,没有任何保障数据获取的渠道,反而有版权方面的问题。

听秦健老师讲到IR,原来国外也是图书馆方面一头热,图书馆要拼命游说校长及分管负责人,而教授们并不积极参与贡献。或者说,国内存在的问题,国外也同样存在。她指出,IR在经历了前些年的研究开发热后,现正在退潮。
之前,Paul在讲开放存取时,提到过开放存取仓储注册机构(Registry of Open Access Repositories, ROAR)的一些统计,同样说明了这样的现状:
· 许多IR差不多是空的,IR中的很多文献不是全文
· IR中的文献数量增长很大,但增长已经趋平

今天是数图班的项目汇报,第一个汇报的项目就是IR,主要介绍北京理工大学建设中的学术资源仓储。提问到版权问题,回答的解决之道是提供摘要,链接全文。同时报告者也承认进展缓慢。
国内在IR上热得慢,冷得也慢——至少对我来讲,是第一次听到有关IR的实实在在的不利信息。

关于IR软件,国内谈得较多的大约依次是:DSpace, Fedora, Greenstone和EPrints,其中又以前两者应用较多。此次秦老师介绍了一个新软件:iVia。秦老师介绍该软件功能强大,可自动生成元数据,自动加LCSH、分类,采用DC元数据,可与MARC混用,基于XML……。
IR或许不那么容易做,毕竟还要钱砸下去。但把开源的iVia弄来研究一番,还是可以的。不做用它做IR,还可以做别的数字图书馆项目:
iVia: Open Source Internet Portal and Virtual Library Software

参见:
数字图书馆会议信息二则
中美数图研讨班·开班前胡思乱想
中美数图研讨班(2)·遗憾的绿宝石、教学效果评价

中美数图研讨班(3)·规划一个梦想的数字图书馆