经济型极客 - 图书馆整理

作者:Dirk Elmendorf

乍一看,您可能会认为我将在本文中讨论代码库,但实际上,我谈论的是一个真正的图书馆——一个由书籍、杂志和其他纸质智慧来源组成的图书馆。我一直收集书籍,每个新项目或爱好都成为扩展我的图书馆的借口。我并不总是知道我拥有什么,或者更重要的是,某本书在哪里。我试图在物理意义上保持我的图书馆井井有条,但我一直想要一个可以更好地跟踪我的书籍的系统。

目标和美味

这个项目的目标非常明确。我需要一个可以跟踪我拥有的所有书籍的工具。我的大部分藏书都在我家的图书馆里,但我在办公室里也有一大批技术书籍。我希望能够看到封面的图像(类似于 Delicious Monster——一个最初启发我整理这个问题的 Mac 程序)。我还想要一些东西来告诉我这本书在图书馆中的物理位置——书柜和书架会很好。最后一件事是数据录入。我有几千本书,我宁愿不必输入大量信息。

第一站:实际的图书馆软件

开源世界很酷的地方在于,您可以访问远远超出您需要的规模的软件。对于这个项目,我找到了 Koha。根据网站的说法,“Koha 是第一个开源集成图书馆系统 (ILS)。它在全球范围内使用,其开发由一个不断壮大的图书馆社区指导,他们合作实现其技术目标。” 该项目针对的是实际的图书馆,这听起来像是过度杀伤,但我忍不住下载并试用了一下。

我决定试用开发版本(因为上次发布是在 2009 年 6 月)。第一步是检出代码仓库

git clone git://git.koha.org/pub/scm/koha.git kohaclone

该仓库实际上有几个发行版的安装说明。因为我运行的是 Ubuntu,所以我按照这些说明进行操作。根据网站上关于在 Hardy (8.04) 上安装的说明与开发版本中的说明之间的差异,似乎添加了标准软件包树之外的许多软件包。这是一个好兆头,因为它意味着安装将变得越来越容易。但请注意,Koha 是使用 Perl 构建的,并且一些 Perl 库当前未打包在 Jaunty 中。这些说明向您展示了如何使用 CPAN 正确安装它们(尽管这意味着您将拥有不受软件包系统控制的 CPAN 版本——这是使用 CPAN 的副作用)。按照所有说明并安装所有内容后,我运行了 Web 安装来设置数据库。

一旦一切都启动并“运行”,我就准备好投入到运行我自己的图书馆的令人兴奋的世界中。在花费了大量时间弄清楚我需要为图书馆和我要跟踪的内容类型提供一些默认值之后,我准备好添加我的第一本书。调出 Koha 的添加表单会显示一个巨大的选项页面,其中大部分对我来说意义不大(例如 Leader、Control Number Identified 和 Fixed Length Data Elements)。我继续尝试通过 ISBN 搜索我的测试书籍之一。我必须做一个名为 Z39.50 搜索的事情。这是一种用于从其他图书馆获取图书信息的协议。在此过程中,我了解到我必须添加自己的 Z39.50 源。我使用了国会图书馆,因为我认为它会拥有最完整的记录(设置是 z390.loc.gov:7090 数据库:Voyager - 语法 USMARC)。完成所有设置后,我就能够添加这本书了。

Economy Size Geek - Organizing a Library

图 1. Koha 目录屏幕——有些东西告诉我这有点过头了。

以上所有工作量都很大,我只添加了一本书。尽管我很想使用工业强度工具,但该系统对于我这个外行人来说太令人困惑了(我的妻子好心地指出,它被称为图书馆科学是有原因的)。如果您想了解正确配置的 Koha 系统能够做什么,请访问 Plano ISD 图书馆系统(请参阅资源),该系统正在运行 Koha 版本。它显示了书籍封面,甚至还有一个书架浏览器。因此,如果您有自己的公共图书馆,Koha 非常棒,但我意识到我需要其他东西。

“个人”是关键词

我最终弄清楚,我之前搜索软件的问题是遗漏了“个人”这个词。添加这个词大大缩小了 Google 搜索范围。因此,我找到了两个不同的选项供考虑:Alexandria 和 GCstar。与 Koha 不同,两者都作为 Ubuntu 软件包提供。在处理了 Koha 的安装指南之后,我很高兴我所要做的就是apt-get 安装,我可以同时尝试它们(嗯,这几乎是我必须做的全部)。在使用这些工具的过程中,我找到了另一个名为 Tellico 的应用程序。有几个应用程序可供选择真是太好了。

Alexandria

Alexandria 是一个用于管理图书收藏的 Ruby GNOME 应用程序。当前的官方版本是 0.6.5。Alexandria 的开局非常坎坷。Jaunty 中的默认版本是 0.6.3。它找不到任何一本测试书。更糟糕的是,当我尝试按 ISBN 搜索时,它崩溃并退出。我没有轻易放弃,最终下载了当前的 beta 版本 (0.6.6-beta1)。由于我在 Jaunty 下安装它,因此存在与两个 Ruby 库相关的问题。为了使一切正常工作,我必须安装两个 gems(hpricot 和 htmlentities)并手动安装软件包

sudo dpkg   --ignore-depends=libhpricot-ruby -i
 ↪Desktop/alexandria_0.6.6beta1.deb

该系统依赖 Amazon 进行一些查找。由于亚马逊政策的变更,我必须注册才能获得我自己的亚马逊 AWS 访问密钥。Alexandria 网站上提供了说明和链接(请参阅资源)。从技术上讲,我可以删除亚马逊作为提供商并跳过此步骤。

Economy Size Geek - Organizing a Library

图 2. 加载了一些书籍的 Alexandria

该应用程序本身非常简单,这在浏览了 Koha 上的这么多屏幕后是一个不错的改变。您可以按标题或 ISBN 搜索书籍。它允许您浏览您的图书馆并按详细信息搜索。

GCstar

GCstar 收藏管理最初是 GCfilms。因此,它支持多种不同的收藏类型,包括书籍、电影、音乐和棋盘游戏等。它还允许您定义自己的收藏类型,因此您可以跟踪和收藏任何您想要的东西。

Economy Size Geek - Organizing a Library

图 3. 加载了书籍的 GCstar

安装 GCstar 很简单。我安装了软件包,然后启动了应用程序。显然,我选择开始收藏书籍。我单击“添加”并开始查找书籍的过程。我尝试使用亚马逊作为信息来源,但它从未找到任何东西。我假设这与影响 Alexandria 的相同政策变更有关。我最终使用 ISBNdb.com 作为我的主要来源,并且能够为我的所有测试书籍提取信息和书籍封面。为了确保这没有在更高版本中修复,我将软件包升级到 1.5.0,但它仍然存在相同的问题。

Tellico

Tellico 是一个用于 KDE 的收藏管理应用程序。它可以作为一个软件包提供,安装时没有问题。在创建了一个新的书籍收藏后,我的第一步是添加一本测试书籍。添加书籍的过程是这三个应用程序中最令人困惑的。我单击“创建新条目”,弹出一个对话框,其中包含分散在六个不同选项卡上的许多选项。标题在第一个选项卡上。ISBN 在“出版”选项卡上。我输入了一本书的标题,然后单击“保存条目”。在其他应用程序上,这样做会触发查找,但 Tellico 只是坐在那里,没有其他数据。最终,我找到了一个选项来说“更新条目”,它可以提取信息并更新它(尽管没有提供书籍封面)。我第二次尝试,这次,我只填写了 ISBN 字段。我保存了条目并要求它更新,但没有任何变化。

Economy Size Geek - Organizing a Library

图 4. 默认 Tellico 视图

Jaunty 附带的版本是 1.3.5。版本 2.1 可以作为 Lucid 软件包提供,所以我决定安装它,看看这些问题是否已解决。好消息是,较新版本修复了亚马逊的问题。坏消息是,它仍然无法仅使用 ISBN 查找书籍。ISBN 允许您唯一地识别一本书,这应该简化确认您要谈论的书籍的过程。按标题搜索会提供许多其他书籍的列表,这些书籍不是我想要的。

添加其他查找来源

现在我能够向所有三个应用程序添加书籍,我想看看添加其他查找来源有多困难。GCstar 附带了许多来源。应用程序本身不允许您添加或配置任何来源,因此您唯一的选择是选择使用哪个来源。添加书籍的过程很简单。您只需单击“添加”,然后输入信息。我不确定问题是出在身份验证还是其他方面,但该工具从未使用亚马逊作为来源找到任何东西。我能够使用 ISBNdb.com 提取有关我的书籍的信息。一旦 GCstar 找到一本书,系统就会提取大量详细信息,包括书籍封面。还有一个字段用于存储书籍的位置。它只是一个自由文本字段,因此我必须想出自己的编码位置的方式。您可以按位置搜索,但无法按位置排序或存储搜索,因此您无法根据书架的位置浏览书架,这在我的图书馆中最终会很有用,因为我将同一主题的书籍放在一起。

GCstar 不支持扫描仪;但是,它有许多不同的数据导入选项。它甚至可以导入 Alexandria 收藏。将数据导入系统的一种方法是将 ISBN 号码放入 CSV 文件中,然后 GCStar 可以导入该 CSV 文件。加载数据后,您必须转到每本书以触发远程存储库中的查找。

Alexandria 允许我添加我的亚马逊凭据。它还支持添加自定义 Z39.50 源。Tellico 在添加其他来源方面提供了最广泛的选项列表。它包括对 Z39.50 以及 GCstar 插件的支持。

那本书在哪里?

我在图书馆遇到的问题之一是,即使我记得我有一本书,我也不记得它在哪里。最近,我将一大堆技术书籍搬到了我的办公室,使情况变得更糟,因此我希望能够跟踪书籍的位置。

Alexandria 没有内置任何位置概念。它确实支持标签,这将允许我输入一个标签,以便更好地了解书籍的位置(例如,家庭:书柜 1:书架 3)。搜索允许我按标签搜索,因此我可以查看同一书架上的其他内容,这将很有用,因为我倾向于将同一主题的书籍放在一起。

GCstar 1.3.2 有一个位置字段。较新的 1.5 版本已将其替换为对标签的支持。标记书籍后,我可以按标签分组浏览书籍。搜索功能不支持标签,因此我无法将搜索范围限制为仅在家或仅在办公室的书籍。

Tellico 在这部分提供了最先进的功能。我实际上可以为图书馆、书柜和书架添加特定字段。然后,我可以将这些字段用于分组和搜索。

将书籍输入系统

所有这些搜索和排序都很有用,但我将最重要的考虑因素留到了最后。我如何将我的所有书籍都输入到系统中?第一个选项是简单地输入所有书籍的 ISBN。如果您的图书馆足够小,您愿意这样做,那么您可能不需要系统来跟踪您的书籍。

下一个选项是条形码扫描仪。我碰巧有一个来自先前项目的 Flic 蓝牙条形码扫描仪,我很幸运地找到了一个关于使其在 Linux 下工作的很棒的指南(请参阅资源)。一切设置好后,我就能够快速地将所有书籍的 ISBN 扫描到文本文件中。

我尝试将 ISBN 导入到 Tellico 中,但每次都崩溃。我无法确认这是程序问题还是我的安装方式问题。

GCstar 能够毫无问题地导入 ISBN 列表。这个过程令人恼火的部分是,一旦书籍被导入,它就不会对 ISBN 进行任何查找。我必须单独转到每本书,告诉它下载数据。一旦我这样做,我就得到了书籍封面和所有其他内容。

Alexandria 做对了。它不仅进行了导入,还下载了有关书籍的信息。

我知道并非每个人都有条形码扫描仪。别担心;您还有其他选择。如果您有网络摄像头,则可以安装 ZBar。这款条形码扫描软件可将您的网络摄像头变成条形码扫描仪。我能够从 ZBar 获得与我的条形码扫描仪相同的条形码列表。唯一的缺点是我必须将每本书都带到摄像头前。它便宜得多,但如果您要扫描大量书籍,则不如条形码扫描仪方便。

远程选项

我查看的所有解决方案都是可下载的,但忽略 Web 上可用的一些选项似乎有点傻。我查看了两个不同的在线选项:Shelfari 和 LibraryThing。在这两个网站上添加书籍都非常容易。我也能够将我的 ISBN 列表导入到这两个网站中。在 Shelfari 上,导入发生得非常快。在 LibraryThing 上,它被放入队列中,我被告知 ISBN 的处理最多需要一个小时。

至于来源,LibraryThing 支持 690 多个不同的信息来源。Shelfari 没有提供任何信息来源选项。亚马逊于 2008 年 8 月收购了 Shelfari,所以我认为这就是它获取所有数据的地方。

这两个网站都支持标签,因此我可以使用标签来编码书籍的位置。

由于这些都是网站,因此它们既有优点也有缺点。您可以轻松地从多台计算机访问图书馆数据。另一方面,您可能不希望全世界都知道您拥有所有已出版的关于口袋妖怪的书籍。最初,我担心我放入任何一个网站的数据都会被锁定在那里,但在浏览了一些内容后,我发现这两个网站都会为您提供图书馆数据的完整下载。

结论

在我写这篇文章之前,我有一个 Shelfari 帐户。我经常使用它来创建虚拟书架,谈论我正在阅读的内容或推荐阅读列表。我考虑过将我的收藏移到其中,但我宁愿在本地工作,然后再处理将所有内容都放在互联网上的问题。在查看了各种选项后,我决定从 Alexandria 开始。它最易于使用,并且最适合我需要它做的事情。此外,它是使用 Ruby(我熟悉的语言)构建的,因此我可能有机会添加我需要的任何功能。作为测试,我将我已经放入 Shelfari 的信息导出到 Alexandria 中。然后,我能够将 Alexandria 数据导出到 Tellico 和 GCstar。这意味着一旦我收集了所有数据,我总是可以在以后切换应用程序,这可能是必不可少的,因为我注意到 Alexandria 在只有 400 本书的情况下开始变慢。现在,我只需要抽出时间进行扫描!

资源

Koha:koha.org

Plano ISD 图书馆系统:pisd.kohalibrary.com

Alexandria:alexandria.rubyforge.org

亚马逊 API 更改需要 AWS 账户:alexandria.rubyforge.org/news/2009-08-15--amazon-support.html

GCstar:www.gcstar.org

Tellico:tellico-project.org/about-tellico

Microvision Flic 条形码扫描仪的 Linux wedge (驱动程序):www.gsmblog.net/linux-wedge-driver-for-microvision-flic-barcode-scanner

ZBar:sourceforge.net/projects/zbar

Shelfari:www.shelfari.com

LibraryThing:www.librarything.com

“亚马逊收购 Shelfari:进军以图书为中心的社交媒体领域”:techcrunch.com/2008/08/25/amazon-aquires-shelfari-moves-to-corner-social-book-space

Dirk Elmendorf 是 Rackspace 的联合创始人、兼职家庭酿酒师、长期 Linux 倡导者和更长期的程序员。

加载 Disqus 评论