一个使用Djatoka和DSpace存储库来展示扫描书籍可浏览视图的Django书籍阅读应用程序。
项目描述
简介
这是一个用于在启用了OAI-PMH存储库视图的DSpace存储库中存档的项目项的书籍阅读UI应用程序。
使用bookreader
安装
软件包
通过以下方式之一安装bookreader Python软件包
将其添加到buildout.cfg中eggs列表并运行bin/buildout
使用easy_install bookreader全局安装它
下载源代码,解压它并运行python setup.py install
Django
在您的项目settings.py中,将bookreader添加到INSTALLED_APPS列表中,并运行manage.py syncdb以将表添加到数据库。然后,在您的URL模式中包含bookreader.urls。最后,您需要在settings文件中将您的Djatoka服务器的基础URL作为DJATOKA_BASE_URL添加。
管理
Bookreader使用Django管理界面来操作数据。首先,您必须添加一个Repository。唯一需要输入的是您DSpace仓库的OAI-PMH服务器URL。使用该URL,Django将连接到服务器并查询其名称。然后可以通过DSpace handle添加集合。一旦输入了handle,Django将查询服务器以验证其是否为有效的handle并查询集合的名称。此时,它还将查询集合中的所有书籍(项目)并收集这些书籍的元数据和页面。可以通过在您的设置中将BOOKREADER_SIGNALS_ENABLED设置为False来禁用此自动行为。
DSpace需求
项目和比特流布局
对于此Django UI的使用案例,书籍是DSpace项目,页面是附加到这些书籍项目的比特流。页面比特流必须是存储在‘ORIGINAL’或主内容包中的JPEG2000文件。可以通过在具有与原始页面比特流相同基本文件名的‘THUMBNAILS’包中添加jpeg文件来为每个页面提供缩略图。例如,如果页面比特流文件名是tamu_pl_0001.jpf,则缩略图必须以tamu_pl_0001.jpg结尾。在这种情况下,thumbs/tamu_pl_0001.jpg也是可接受的。
OAI-PMH仓库
为了收集数据,DSpace OAI-PMH服务器必须启用ORE和DIM元数据前缀,并安装与书籍兼容的交叉转换。
元数据字段
DIM数据
使用Python库中的dspace的NestedMetadataReader扩展pyoai MetadataReader来收集书籍(项目)元数据。字段是通过使用XPath评估器将xml元素映射到字段来收集的。有关当前映射,请参阅bookreader.harvesting.metadata.dim_reader。
ORE数据
使用ORE元数据前缀来收集页面和链接(比特流)元数据。比特流URL、标题和包都是从ORE xml文档中收集的。
规范项目
从版本0.3开始,添加了新的规范项目要求。将检查比特流列表中是否存在在‘METADATA’包中的额外比特流,该比特流命名为bitstream_metadata.xml。然后,该文件将解析以获取书籍规范版本的仓库URL以及有关页面比特流的附加元数据,以便标记缺失的页面以供将来参考/使用。有关格式的更多信息,请参阅docs/bitstream_metadata.xsd。
历史
1.0 (2011-07-07)
第一个官方版本
为frankenbooks和其他副本编译PDF
错误和bug修复
0.9 (2011-03-29)
切换到“类型”字段以支持多种书籍形式(规范、franken、现存和工作)。提供South数据和模式迁移。
详细页面视图现在支持在请求中选择当前页面的jp2 URL
向仓库添加SWORD客户端配置参数
将URL切换到base_url和oai_path以匹配DSpace客户端的更改
向书籍添加已发布标志
添加了通过SWORD发布书籍的视图
添加了添加书籍的能力(除现存书籍外)
0.8 (2010-12-02)
添加了基于版本0.7的初始迁移的South集成
添加了is_canonical属性以适应功能请求
更新了CanonicalSelectionForm以使用新的is_canonical属性
对比特流元数据文件中的规范标志进行测试
添加了PageURLForm,仅用于编辑页面URL
添加了使用新PageURLForm访问页面编辑视图的URL
在查看书籍时添加了admin list_filter收集
0.7.1 (2010-11-15)
修复了抓取缺失页面时创建页面过多的bug
0.7 (2010-11-12)
添加了重定向打印视图
修复了打印URL到新的可打印视图
阅读视图现在强制执行更“阅读”般的交互:封面、页面,然后是封底
清理了额外的导入
在页面表单中添加了序列和内部字段
将外表面板表单更改为页面转换表单
向书籍对象添加了external_views属性
将edit-external URL更改为转换URL
稍微澄清了缺失书籍的抓取代码
添加了外部编辑视图,页面添加视图仅在传入表单中未设置页面序列时设置页面序列
在没有bitstream_metadata.xml的情况下抓取页面将强制所有页面为内部页面
修改了规范选择表单,以便可以删除规范链接
0.6.1 (2010-11-02)
修复了当没有序列/页面设置时的书籍页面视图bug
0.6 (2010-11-02)
添加了外部页面表单、规范选择表单和注释表单
使书籍的规范属性可编辑
修复了模板标签中rtf->rft属性的遗留bug
添加了views/urls:书籍注释、编辑规范、复制注释、编辑外部页面、添加/编辑/删除注释
向提交的视图添加了CSRF包装器
0.5 (2010-10-27)
添加了各种编辑视图(编辑页面、添加页面、编辑页面、排序页面、删除页面)
添加了页面注释视图,修复了页面视图的bug
添加了用于导出bitstream_metadata文件的bitstream_metadata视图
添加了页面表单
为新的视图添加了必要的URL配置
添加了注释模型
向页面添加了内部标志
更新了抓取和针对新bitstream_metadata格式的测试
0.4 (2010-09-29)
添加一个设置,用于书籍URL参数的比较,BOOKREADER_COMPARISON_GET_ARGUMENT
添加一个设置,用于存储比较书籍的会话密钥,BOOKREADER_COMPARISON_SESSION_KEY
添加一个设置,用于比较书籍的模板变量,BOOKREADER_COMPARISON_TEMPLATE_VARIABLE
添加一个上下文处理器,将书ID转换为书籍,优先于会话变量进行书签功能
添加模板标签以添加/删除/检索比较的get参数
添加了添加到/从/清除比较列表的视图
添加了一个比较端口单独的视图
更新了bitstream_metadata.xsd和详细页面抓取以匹配
0.3 (2010-09-14)
向书籍模型添加了规范字段
使页面模型上的jp2 URL字段可选(支持“缺失”页面)
使页面模型上的标题字段可选(支持“缺失”页面)
添加了具有默认null处理器的Python日志支持
添加了位流元数据文件的解析器
由于默认情况下禁用了网络,因此添加了自定义lxml etree解析器
将加载页面和加载链接信号切换为仅在创建书籍时
0.2 (2010-08-23)
将数据模型切换为书籍是项目,页面仅由位流表示的模型。
收集中书籍的抓取
书籍中页面的抓取
从存储库加载存储库名称的信号
从存储库加载收集名称的信号
从存储库加载收集中的书籍的信号
从存储库加载书籍元数据的信号
从存储库加载页面的信号
0.1(未发布)
从DSpace存储库的Manakin视图生成的书籍和页面,其中页面是项目,位流是页面的jpeg2000文件。
项目详情
bookreader-1.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e06bf086632b9c2d20b51a40314343a90f1e60fd263a4563674aa1e6291616a7 |
|
MD5 | 23a7b28fef9f0c86821cb9ac38d75ce7 |
|
BLAKE2b-256 | 97b2a057df7dbcec097d574f856ea7a7cd9f62b40fe8d2407698cae3c9a1bcb7 |