subugoe/pazpar2

Pazpar2 for TYPO3

安装次数: 1,133

依赖关系: 0

建议者: 0

安全性: 0

星标: 3

关注者: 8

分支: 6

开放问题: 3

类型:typo3-cms-extension

6.0.3 2017-09-12 13:12 UTC

This package is auto-updated.

Last update: 2024-09-11 18:15:53 UTC


README

一个TYPO3扩展,用于在网页上包含Index Data的pazpar2软件的文献元搜索引擎。

SUB Göttingen创建

该扩展包括用于绘制图表的flot JavaScript库。

欢迎提出评论或贡献改进。您可以在github上Fork扩展的仓库

介绍

pazpar2是Index Data开发的用于查询多个Solr、SRU和Z39.50服务器、标准化、合并和去重结果的文献元搜索引擎。

pazpar2 TYPO3扩展提供了三个内容元素插件,允许用户启动搜索查询并显示结果

  • pazpar2提供了一个带有搜索字段和扩展搜索选项的标准搜索界面
  • pazpar2 Service Proxy 通过服务代理访问的相同搜索界面
  • pazpar2neuerwerbungen 提供复选框,复选框的状态决定搜索查询(此插件是为SUB Göttingen的特定需求设计的,依赖于nkwgok主题树TYPO3扩展,可能在其他地方不太有用)

您可以在使用pazpar2插件的首页和使用新采购页面Anglo-American Culture Library上看到该扩展的使用情况。

要求

要成功使用此扩展,您需要以下内容

TYPO3

  • TYPO3 ≥ 6.2.0
  • 在您的页面上至少有jQuery 1.7.1(兼容jQuery ≥ 1.9);使用t3jquery扩展来实现
    • 使用自动完成时,需要jQuery UI的Autocomplete、Menu和Position模块
    • 请确保您的网站包含jQuery UI主题的CSS,以获得正确的样式
    • PHP XSL扩展
  • pazpar2 ≥ 1.6.2
    • 该扩展与pazpar2的tmarc.xsl创建的元数据字段配合得相当好。请参阅pazpar2设置部分以了解扩展支持的额外元数据功能。

要从git直接使用此扩展,请在克隆此扩展后运行git submodule update --init。

pazpar2

要使Index Data的说明,以正确地使用代理),您需要将pazpar2 ≥ 1.6.2安装在您的web服务器上的URL上(默认路径为/pazpar2/search.pz2)。

该插件支持显示由pazpar2-access代理提供的附加访问信息。

pazpar2 Service Proxy

为了使搜索功能正常工作并正确显示由pazpar2 服务代理插件处理的结果,您需要在您的 web 服务器上通过服务代理提供 pazpar2 ≥ 1.6.2(默认情况下,服务本身位于路径 /service-proxy/,认证位于 /service-proxy-auth/)。

pazpar2 新增资源

要使 pazpar2-neuerwerbungen 插件有用,您还需要额外的

  • nkwgok 扩展
  • 将 PPN »NE« 的子层级导入到 nkwgok 扩展中的主题层级
    • 此扩展主要设计用于仅存在两层层级的情况。第一层级的元素提供带有标签的分组,第二层级的元素提供组内的子元素。如果父元素有一个空白的搜索查询,其搜索查询将通过将所有子元素的查询进行 OR 运算生成。为了避免复杂的查询,可以显式提供一个更简单的查询,以获得相同的结果集。子元素可能不与父元素的搜索查询完全相同。
  • 如果您想提供新增资源的 RSS 源,需要在路径 /opac.atom 上提供一个接受在 "q" 参数中查询的脚本来提供 RSS 源。请参考Opac-2-Atom项目中的示例脚本,该脚本将哥廷根的 Pica Opac 输出转换为 Atom。

设置

将 pazpar2 [新增资源|服务代理] 内容元素插入所需位置,并确保为相关页面添加了 pazpar2 设置的静态包含。查看说明设置示例可能有助于您。

灵活表单

对于 pazpar2 和 pazpar2 新增资源内容元素,都提供了灵活表单配置,以下是一些选项。对应的 TypoScript 参数名称用 [] 标记。

  • pazpar2 服务 ID [serviceID]: 需要是您 pazpar2 服务器上设置的服务名称,如果只有一个未命名的服务正在运行,则为空
  • Google Books [useGoogleBooks]: 选择是否在完整记录揭示后尝试查找所有具有 ISBN 和 OCLC 编号的记录,并在可能的情况下显示封面艺术和提供书籍预览。如果此选项开启,插件将在内容元素插入的页面加载和运行来自 Google 服务器的 JavaScript。
  • 在线期刊 & 打印 [useZDB]: 选择是否尝试使用 ZDB 的在线期刊 & 打印 (JOP) 服务查找所有具有 ISSN 编号的记录。如果此选项开启,插件将加载来自您的服务器上 ZDB 代理的信息,以显示期刊的可用性。
  • ZDB 代理 [ZDBIP]: 如果您计划使用 ZDB JOP 服务,您可以设置两个不同的代理。在您服务器上路径 /zdb/ 上可用的代理应将用户的 IP 地址传递给 ZDB JOP 服务,从而返回用户当前位置的期刊可用性。/zdb-local/ 路径上的代理将为服务器的 IP 地址执行查找 – 目的在于为运行服务器的机构提供可用性信息。此选项允许您选择用于 ZDB JOP 查找的代理。任一代理配置都需要包含 sid 参数,其中包含您的服务名称。[设置代理的 Apache 配置文件]
  • 直方图 [useHistogramForYearFacets]:如果显示来自几年以上的结果,扩展会显示年份分面。选择是否使用直方图图形方式显示年份分面,而不是以(不完整)的年份数字列表显示。启用此选项将在相关页面上从您的服务器加载 flot JavaScript 库。
  • pazpar2 新增资源主题 [neuerwerbungen-subjects]:如果您想使用 pazpar2 新增资源插件,必须在弹出菜单中选择一个主题。弹出菜单使用 nkwgok 扩展的主题层次结构中 PPN "NE" 的子元素填充。这可能仅对 SUB Göttingen 使用有用。

TypoScript

除了在 flexform 中公开的选项外,还可以使用 TypoScript 在 plugin.tx_pazpar2.settings 中设置一些附加选项。默认值在每个选项名称后面的方括号内注明。

  • pazpar2 配置
    • pazpar2Path [/pazpar2/search.pz2]:Web 服务器上 pazpar2 服务的绝对路径
  • 搜索表单
    • showSearchForm [1]:如果为 1,则搜索表单将在 pazpar2 插件中显示;关闭搜索表单仍然提供 pazpar2 搜索和结果显示功能,您可能想从自己的组件中触发这些功能
    • autcompleteURLs []:一个数组,具有键:字段名称(例如 all、title、person)和值:可以附加搜索词以创建自动完成列表查询的 URL。
    • autocompleteSetupFunction []:当设置自动完成功能时运行的 JavaScript function (URL, fieldName) 的名称。返回用于配置 [jQuery UI 的自动完成小部件](https://jqueryui-api.jqueryjs.cn/autocomplete/) 的对象。预定义了函数 autocompleteSetupArray 用于返回 JSON 数组的源,以及 autocompleteSolrSpellcheck 用于查询 Solr 拼写检查组件。
    • allowExtendedSearch [1]:如果为 1,则显示显示扩展搜索表单的链接
    • fulltextSearch [0]:配置复选框以在扩展搜索表单中进行全文搜索;0 -> 不显示,1 -> 标记为全文搜索,2 -> 标记为目录搜索
    • journalTitleOnlySearch [0]:如果为 1,则扩展搜索表单中将显示仅搜索期刊标题的复选框
    • dateSearch [1]:如果为 1,则扩展搜索表单中将显示日期字段
    • useSortMenu [0]:如果为 1,则 HTML 选择元素将包含在搜索表单中,允许用户选择排序顺序
    • sortOrder [{1.fieldName = date 1.direction = descending}]:要使用的排序顺序;数组可以包含更多条目以确定在先前标准相等的情况下的排序顺序;字段名称必须在 pazpar2 服务元数据配置中设置。更复杂的示例:{1.fieldName = date 1.direction = descending2.fieldName = author 2.direction = ascending 3.fieldName = title 3.direction = ascending 4.fieldname = title-number-section ` 4.direction = ascending}
    • triggeredByNKWGOK [0]:如果为 1,则搜索将由 nkwgok 扩展显示的主题层次结构中的选择触发(可能仅对 SUB Göttingen 设置有用)
    • 覆盖本地化:使用 plugin.tx_pazpar2._LOCAL_LANG.[en|default],可以覆盖搜索表单中使用的字符串;您可以在 Resources/Private/Language/locallang.xml 中覆盖字符串,以及在 Resources/Public/pz2-client/pz2-client.js 结尾处的 localisations 对象以及对象 linkDescriptionsmediaTypeNamescatalogueNames(分别通过在键前加 link-description-media-type-catalogue-name- 前缀)。示例:plugin.tx_pazpar2._LOCAL_LANG.en.link-description-Link = 跳转到资源
  • 结果显示
    • resultsPerPage [100]:每页显示的结果数。如果您计划让用户选择数量,则应该是 10、20、50、100 之一
    • useMaps [1]:如果为 1,则启用显示具有记录覆盖区域的标记的 Google Maps
    • provideCOinSExport [1]: 如果为1,则会在结果列表中插入不可见的 COinS 元数据。它将由 Zotero 用于自动查找页面中显示的文献记录。注意,Zotero 3 是第一个能够发现动态添加到页面中的 COinS 数据的版本。
    • exportFormats [{ris = 0bibtex = 0}]: 以导出格式名称为键的数组。将值设置为1/0以启用/禁用特定格式。对于活动格式,在记录的详细视图中将添加到下载文献元数据的链接。允许的键有:risbibtexris-inlinebibtex-inline,用于 RIS 和 BibTeX 格式。普通名称会导致下载文件,而 -inline 名称会替换当前页面中的文献数据。
    • showKVKLink [0]: 对于具有ISBN或媒体类型为书的记录,将添加到德国联合目录的元搜索链接 Karlsruhe Virtual Catalogue (KVK),并添加到导出链接中
    • useKeywords [0]: 如果为1,则在扩展搜索中提供关键词搜索字段,并在结果详情中显示关键词,每个关键词都链接到对相关关键词的搜索;需要为在“主题”索引上的关键词搜索配置 pazpar2 的目标
    • termLists [{xtargets {maxFetch = 25 minDisplay = 1} medium {maxFetch = 12 minDisplay = 1} language {maxFetch = 5 minDisplay = 1} filterDate {maxFetch = 10 minDisplay = 1}}]: 配置将显示哪些面。使用 pazpar2 元数据字段名称作为键的数组,并使用数组作为值。数组包含键 maxFetch,其值是显示的最大面项数,以及键 minDisplay,其值是此面出现所需的面的最小数量。默认使用的 filterDate 面是由脚本从日期字段自动生成的。
  • 包含的文件
    • CSSPath [EXT:pazpar2/Resources/Public/pz2-client/pz2.css]: 包含用于样式化搜索表单和搜索结果的CSS文件
    • pz2JSPath [EXT:pazpar2/Resources/Public/pz2-client/pz2.js]: 用于与 pazar2 服务通信的 Index Data 的 pz2.js
    • pz2-clientJSPath [EXT:pazpar2/Resources/Public/pz2-client/pz2-client.js]: 处理用户交互和结果显示的JavaScript;大部分的自定义都在这里
    • flotJSPath [EXT:pazpar2/Resources/Public/pz2-client/flot/jquery.flot.js]: flot图形库
    • flotSelectionJSPath [EXT:pazpar2/Resources/Public/pz2-client/flot/jquery.flot.selection.js]: flot图形库的选择组件
  • plugin.tx_pazpar2_pazpar2serviceproxy.settings
    • serviceProxyAuthPath [/service-proxy-auth]: Web服务器上服务代理认证的绝对路径
    • serviceProxyPath [/service-proxy/]: Web服务器上服务代理的绝对路径
    • pz2urlrecipeJSPath [EXT:pazpar2/Resources/Public/pz2-client/mk2.js]: 应用URL菜谱的JavaScript
  • plugin.tx_pazpar2_pazpar2neuerwerbungen.settings
    • useAtomFeed [1]: 如果为1,则在 Neuerwerbungen 表单和页面 <head> 中显示链接到 Atom源
    • numberOfMonths [13]: 在日期选择弹出菜单中显示的月份数量
    • pz2-neuerwerbungenCSSPath [EXT:pazpar2/Resources/Public/pz2-client/pz2-neuerwerbungen.css]: 如果使用 pazpar2-neuerwerbungen 插件,则包含额外的CSS文件
    • pz2-neuerwerbungenJSPath [EXT:pazpar2/Resources/Public/pz2-client/pz2-neuerwerbungen.js]: 如果使用 pazpar2-neuerwerbungen 插件,则包含额外的JavaScript

pazpar2 设置

该扩展程序使用的pazpar2服务需要对搜索键以及为搜索提供的元数据进行特定设置,以便搜索正常工作以及显示数据的合理性。

搜索键

pazpar2提供的搜索表单使用以下搜索键,必须在pazpar2服务中进行设置

  • term - 默认搜索
  • fulltext - 全文/目录搜索(如果不可用,则与term相同)[可选]
  • 标题
  • journal - 用于期刊标题搜索[可选]
  • 人物
  • 日期
  • nel - pazpar2 Neuerwerbungen所需的月份索引(格式要求:YYYYMM
  • subject [可选]

排序

标准配置要求pazpar2服务支持按元数据字段date进行排序。可以使用sortOrder TypoScript设置进行重新配置。

例如 - 如果您在元数据配置中设置了这些字段,则通过使用TypoScript设置dateauthortitletitle-number-section可以获得更好的结果

plugin.tx_pazpar2.settings.sortOrder {
    1.fieldName = date
    1.direction = descending
    2.fieldName = author
    2.direction = ascending
    3.fieldName = title
    3.direction = ascending
    4.fieldName = title-number-section
    4.direction = ascending
}

元数据格式

扩展程序期望显示结果的元数据基于Indexdata的强大tmarc.xsl样式文件从MARC记录中提取信息。对该样式表的标准输出进行了一些添加和更改,以提高显示质量。

如果存在,用于显示数据的数据字段

  • id
  • 介质
  • 标题
  • 标题-剩余部分
  • 标题-编号-部分
  • 标题-责任
  • 日期
  • 多卷标题(不是标准tmarc.xsl的一部分)
  • 系列标题
  • 作者
  • 其他人(不是标准tmarc.xsl的一部分)
  • 期刊标题
  • 期刊子部分
  • 卷号
  • 期号
  • 页码
  • ISBN
  • ISSN
  • PISSN(不是标准tmarc.xsl的一部分)
  • EISSN(不是标准tmarc.xsl的一部分)
  • OCLC编号
  • ZDB编号
  • DOI(不是标准tmarc.xsl的一部分)
  • 电子网址
  • 版本
  • 出版名称
  • 出版地点
  • 物理尺寸
  • 描述
  • 语言 - ISO 639-2/B语言代码(不是标准tmarc.xsl的一部分),JavaScript中包含德语和英语语言名称
  • 摘要(不是标准tmarc.xsl的一部分)
  • 创建者(用于指南链接)
  • 目录网址(指向该记录的目录网页的URL,使用样式表和针对各种目标的设置构建)
  • 父目录网址(指向与当前记录相关的记录的目录网页的URL,通常是包含的父集合)
  • 主题
  • 分类MSC(不是标准tmarc.xsl的一部分)
  • 地图比例(不是标准tmarc.xsl的一部分),显示地图的比例,并在网页上的交互式地图上绘制地图覆盖的区域
  • 国家(不是标准tmarc.xsl的一部分,用于指南记录)
  • 源类型(不是标准tmarc.xsl的一部分,用于指南记录)

对于“介质”字段,支持的类型(带有本地化名称和图标)如下。其中大部分来自标准tmarc.xsl对MARC记录的分析。其中一些取决于我们对tmarc.xsl的改进和附加信息/分析。

  • 文章
  • 视听(可能需要从tmarc.xsl输出中剥离更具体的媒体类型信息,如dvd)
  • 书籍
  • 数据(不是tmarc.xsl的一部分)
  • 电子
  • 图片(不是tmarc.xsl的一部分)
  • 期刊
  • 信件(不是tmarc.xsl的一部分)
  • 手稿(将tmarc.xsl更改为识别这些类型)
  • 地图
  • 缩微胶卷
  • 乐谱
  • 多卷(扩展tmarc.xsl以识别这些类型)
  • 报纸
  • 录音
  • 网站(用于在SUB的SSG-FI指南中找到的网站,不是来自tmarc.xsl)
  • 多个(用于不同媒体类型的合并记录以及混合媒体项目)

为了更好地了解整体设置,请查看我们的设置文件,特别是AAC服务gbv-sru-neu目标。我们的某些样式表也可能有所帮助,尤其是那些用于ISO 639-2清洁ISO 639-1到639-2/B转换的样式表。

书目数据导出

为了创建适当的下载,这些是通过将pazpar2元数据发送回服务器并运行位于Resources/Public/pz2-client/converter/convert-pazpar2-record.php脚本来创建的。

该脚本进行的转换使用了Resources/Public/pz2-client/converter中的样式表。由于以下不足(RIS定义为非Unicode,但我们像许多人一样发送UTF-8以适应非拉丁语引用)或复杂性(正确处理BibTeX转义是一个主要努力[有时是不希望的,因为某些数学网站包含受益于未转义的TeX代码]所以懒惰的折衷方案是也发送UTF-8)所达到的转换质量在语法级别上有些有限。

可以通过向Resources/Public/pz2-client/converter文件夹中添加XSL文件、在Resources/Public/pz2-client/converter/convert-pazpar2-record.php的开始处为格式名称注册它以及将该格式的显示字符串添加到Resources/Public/pz2-client/pz2-client.js以及Resources/Private/Language/locallang.xml中来向扩展程序添加对其他格式支持。

致谢

非常感谢Index Data提供的强大pazpar2软件和快速的错误修复,感谢我的同事Ingo Pfennigstorf在TYPO3方面的专业知识,以及Henrik Cederblad,他为媒体类型图标创建了图标。

待办事项

  • WAI-ARIA支持
  • 调查再次使用pazpar2的细分功能(根据最新改进)
  • HTML5历史支持?

版本历史

4.0.4 (2013-10-25)
  • 修复Readme
4.0.3b(2013-09-26)
  • JavaScript修复
4.0.2b(2013-09-16)
  • 切换到图标字体以用于媒体类型
4.0.1b(2013-08-15)
  • 愚蠢地增加版本号以帮助困惑的TER
4.0.0b(2013-08-15)
  • 愚蠢地增加版本号以帮助困惑的TER
3.0.1b(2013-07-30)
  • 改进README、JavaScript客户端和配置文件
3.0.0b(2013-07-17)
  • 添加新的插件“pazpar2服务代理”以与服务代理一起使用
  • 在服务代理插件中处理电子-url字段
  • 支持加载表单字段的自完成列表
  • 向链接添加类pz2-electronic-url
  • 允许从TypoScript覆盖JavaScript本地化
  • 从TypoScript配置每页的结果数量
2.4.1 (2013-05-10)
  • 修复KVK链接
  • 改进地图显示
  • 改进关闭导出格式的配置
  • 在JavaScript中配置pazpar2服务路径
2.4.0 (2013-02-28)
  • 标题-编号-部分对相同的标题进行排序
  • 为TER的利益添加虚构手册
  • 避免在视图助手中的警告
  • 在neuerwerbungen模板中的CSS类中添加ID [dsimm]
2.3.0 (2012-12-19)
  • 适应新的nkwgok数据库字段名称
2.2.2 (2012-12-17)
  • 修复md-title-responsibility中的标点符号问题
2.2.0 (2012-12-12)
  • 显示更少的ISBN(JS)
  • 修复额外面片的计数问题
  • 避免重复更新面片列表
  • 将“新增获取”月份查询适配到新的GBV索引格式
2.1.0 (2012-09-20)
  • 更通用的显示文章的期刊信息
  • 当扩展搜索不可用时,更好地处理主题搜索
  • 如果未提供ISSN,则使用ZDB ID来确定期刊的可用性
  • 使“无匹配记录”显示更明显
2.0.0 (2012-06-13)
  • 与nkwgok合作至少需要该扩展的版本2
  • 显示改进
  • 支持MathJax
  • 添加可见链接以隐藏状态面板
  • 修复Google Books链接中的错误
1.8.0 (2012-05-29)
  • 修复关键字搜索字段标签的本地化问题
  • 在扩展搜索字段中启用布尔运算符的使用
  • 添加显示MSC分类
  • 使从TypoScript访问面片配置变得可行
  • 添加显示包含ISO 3166-1 alpha-2国家代码的country字段和source-type字段的面片的能力
1.7.0 (2012-03-30)
  • 显示由mapscale字段的coordinates属性覆盖的位置
  • 显示由mapscale字段定义的地图比例
  • 从脚本中移除ZDB-JOP sid配置,现在必须通过代理将其插入到URL中
  • 添加显示父记录链接(catalogue-url-parent字段)的能力
  • 移除硬编码识别和重写哥廷根OPAC URL,使用至少修订版v2的pazpar2-access以更通用的方式达到相同的效果
1.6.0 (2012-02-24)
  • 重构Resources/Public以提供JavaScript接口作为独立的存储库: pazpar2-js-client
  • 将“新增获取”的日期格式更改为YYYYMM
  • 提高触发pazpar2搜索的可靠性
1.5.0 (2012-01-18)
  • 向主搜索字段配置中添加特定于地理的占位符搜索词
  • 在结果下方添加第二组分页控件
  • 解决TYPO3 4.6的本地化中断问题
1.4.0 (2012-01-16)
  • 添加关键字搜索和显示结果详细信息中关键字的能力
  • 添加对额外媒体类型(信件、手稿、图像)的支持
  • 小幅度显示调整
  • 停止使用已弃用的表单字段视图助手
1.3.0 (2011-12-02)
  • “新增获取”:现在在TypoScript中可配置弹出菜单中的月份数量
  • 如果只有一个复选框,则自动选择它
1.2.0 (2011-11-25)
  • 添加链接以显示所有面片,当需要隐藏面片时
  • 提高直方图的可靠隐藏提示
  • 要求nkwgok 1.2.0或更高版本,并使用其更新的数据库模式进行“新增获取”
1.1.5 (2011-11-23)
  • 修复Piwik跟踪元数据导出链接
1.1.4 (2011-11-22)
  • 使“新增获取”中的自动查询启动更可靠
  • 防止错误使用无JavaScript代码路径
1.1.3 (2011-11-21)
  • 将pz2.js的最大GET查询长度减少到512(SLES 11上Suhosin设置的默认限制)
  • 改进导出格式的Content-Type头部信息
1.1.2 (2011-11-21)
  • 当查询未在PHP中运行时,不要向Fluid模板添加访问信息
1.1.1 (2011-11-17)
  • 识别哥廷根OPAC https URL
  • 修复识别访客访问的问题
  • 改进在会话丢失时自动重启搜索
1.1 (2011-11-15)
  • 支持Piwik跟踪
  • 支持pazpar2-access代理
  • 改进URL排序
  • 改进位置排序
  • 非JavaScript版本中更好的总结果计数
  • 更精简的Fluid模板
  • 在年直方图中进行单年选择
1.0.3 (2011-09-22)
  • 当使用“新增获取”时,向容器添加类pz2-neuerwerbungen
1.0.2 (2011-09-21)
  • 将关于订阅链接的信息添加到README中
  • 使“新增获取”订阅链接可选
  • 使扩展搜索表单中的全文复选框可配置
  • 使扩展搜索表单中的日期字段可配置
  • 修复“新增获取”无JS模式中传递参数的问题
  • 使目录名称可本地化
1.0.1 (2011-09-20)
  • 添加图标
  • 修复在发送表单后丢失用户数据的问题
  • 保留全文设置
1.0.0 (2011-09-19)
  • 首次发布到TER