subugoe / pazpar2
Pazpar2 for TYPO3
This package is auto-updated.
Last update: 2024-09-11 18:15:53 UTC
README
一个TYPO3扩展,用于在网页上包含Index Data的pazpar2软件的文献元搜索引擎。
该扩展包括用于绘制图表的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
[]:当设置自动完成功能时运行的 JavaScriptfunction (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
对象以及对象linkDescriptions
、mediaTypeNames
、catalogueNames
(分别通过在键前加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 MapsprovideCOinSExport
[1]: 如果为1,则会在结果列表中插入不可见的 COinS 元数据。它将由 Zotero 用于自动查找页面中显示的文献记录。注意,Zotero 3 是第一个能够发现动态添加到页面中的 COinS 数据的版本。exportFormats
[{ris = 0bibtex = 0}]: 以导出格式名称为键的数组。将值设置为1/0以启用/禁用特定格式。对于活动格式,在记录的详细视图中将添加到下载文献元数据的链接。允许的键有:ris
,bibtex
,ris-inline
和bibtex-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设置date
、author
、title
、title-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