[Koha] Z39.50 authority server anyone?
Rubeno Fernández
enseikou at gmail.com
Tue Feb 13 00:48:48 NZDT 2018
Well, you all are welcome! :-(
Anyway, I found the way of doing it. I'm sure there's a neater way, but this
one seems to work.
Add this line to /etc/koha/sites/"your library"/koha-conf.xml:
<listen id="publicauthorityserver">tcp:@:10000</listen>
You may use any free port.
Then add the following section. You may need to tweak it a bit:
<!-- PUBLICSERVER'S AUTHORITY RECORDS -->
<!-- This can be used to set up a public Z39.50/SRU server. -->
<server id="publicauthorityserver" listenref="publicauthorityserver">
<directory>/var/lib/koha/biblioteko/authorities</directory>
<config>/etc/koha/sites/biblioteko/zebra-authorities-dom.cfg</config>
<cql2rpn>/etc/koha/zebradb/pqf.properties</cql2rpn>
<xi:include href="/etc/koha/marc21-retrieval-info-auth-dom.xml"
xmlns:xi="http://www.w3.org/2001/XInclude">
<xi:fallback>
<retrievalinfo>
<retrieval syntax="marc21" name="F"/>
<retrieval syntax="marc21" name="B"/>
<retrieval syntax="xml" name="F"/>
<retrieval syntax="xml" name="B"/>
<retrieval syntax="xml" name="marcxml"
identifier="info:srw/schema/1/marcxml-v1.1">
<backend syntax="marc21" name="F">
<marc inputformat="marc" outputformat="marcxml"
inputcharset="utf-8"/>
</backend>
</retrieval>
<retrieval syntax="xml" name="dc">
<backend syntax="marc21" name="F">
<marc inputformat="marc" outputformat="marcxml"
inputcharset="utf-8"/>
<xslt stylesheet="/usr/share/koha/intranet/htdocs/intranet-tmpl/
prog/en/xslt/MARC21slim2DC.xsl"/>
</backend>
</retrieval>
<retrieval syntax="xml" name="mods">
<backend syntax="marc21" name="F">
<marc inputformat="marc" outputformat="marcxml"
inputcharset="utf-8"/>
<xslt stylesheet="/usr/share/koha/intranet/htdocs/intranet-tmpl/
prog/en/xslt/MARC21slim2MODS.xsl"/>
</backend>
</retrieval>
<retrieval syntax="xml" name="rdfdc">
<backend syntax="marc21" name="F">
<marc inputformat="marc" outputformat="marcxml"
inputcharset="utf-8"/>
<xslt stylesheet="/usr/share/koha/intranet/htdocs/intranet-tmpl/
prog/en/xslt/MARC21slim2RDFDC.xsl"/>
</backend>
</retrieval>
<retrieval syntax="xml" name="rss2">
<backend syntax="marc21" name="F">
<marc inputformat="marc" outputformat="marcxml"
inputcharset="utf-8"/>
<xslt stylesheet="/usr/share/koha/intranet/htdocs/intranet-tmpl/
prog/en/xslt/MARC21slim2RSS2.xsl"/>
</backend>
</retrieval>
<retrieval syntax="xml" name="utils">
<backend syntax="marc21" name="F">
<marc inputformat="marc" outputformat="marcxml"
inputcharset="utf-8"/>
<xslt stylesheet="/usr/share/koha/intranet/htdocs/intranet-tmpl/
prog/en/xslt/MARC21slimUtils.xsl"/>
</backend>
</retrieval>
</retrievalinfo>
</xi:fallback>
</xi:include>
<xi:include href="/etc/koha/zebradb/explain-authorities.xml"
xmlns:xi="http://www.w3.org/2001/XInclude">
<xi:fallback>
<explain xmlns="http://explain.z3950.org/dtd/2.0/">
<serverInfo>
<host>__ZEBRA_SRU_HOST__</host>
<port>__ZEBRA_SRU_BIBLIOS_PORT__</port>
<database>authorities</database>
</serverInfo>
</explain>
</xi:fallback>
</xi:include>
</server>
<serverinfo id="publicauthorityserver">
<ccl2rpn>/etc/koha/zebradb/ccl.properties</ccl2rpn>
<user></user>
<password></password>
</serverinfo>
As usual, restart the Zebra server or the entire machine.
Rubén Fernández Asensio
El dissabte, 10 de febrer de 2018, a les 21:48:13 CET, vau escriure:
> Hello, I'm trying to set up my Koha as a Z39.50 server. So far I can serve
> biblio data, but can't serve authorities.
> Has anybody achieved a working configuration?
>
> This is what yaz-client reports:
> yaz-client tcp:biblioteko.esperanto.cat:9999
> Connecting...OK.
> Sent initrequest.
> Connection accepted by v3 target.
> ID : 81
> Name : Zebra Information Server/GFS/YAZ
> Version: 4.2.30 98864b44c654645bc16b2c54f822dc2e45a93031
> Options: search present delSet triggerResourceCtrl scan sort
> extendedServices namedResultSets
> Elapsed: 0.360845
> Z> base biblios
> Z> find Zamenhof
> Sent searchRequest.
> Received SearchResponse.
> Search was a success.
> Number of hits: 509, setno 1
> SearchResult-1: term=Zamenhof cnt=509
> records returned: 0
> Elapsed: 0.066083
> Z> base authorities
> Z> find Zamenhof
> Sent searchRequest.
> Received SearchResponse.
> Search was a bloomin' failure.
> Number of hits: 0, setno 2
> Result Set Status: none
> records returned: 0
> Diagnostic message(s) from database:
> [109] Database unavailable -- v2 addinfo 'authorities'
> Elapsed: 0.054520
>
> So, the biblio database is served, but the authority database is
> unavailable.
>
> To activate the server, I uncommented all the relevant parts of the file
> /etc/ koha/sites/esperanto/koha-conf.xml:
>
> <!-- Uncomment the following entry if you want to run the public Z39.50
> server.
> Also uncomment the <server> and <serverinfo> sections for id
> 'publicserver'
> under PUBLICSERVER'S BIBLIOGRAPHIC RECORDS title-->
>
> <listen id="publicserver" >tcp:@:9999</listen>
>
> However, if you uncomment that aforementioned section, you see it only
> relates to bibliographic records:
>
> <!-- PUBLICSERVER'S BIBLIOGRAPHIC RECORDS -->
> <!-- This can be used to set up a public Z39.50/SRU server. -->
>
> <server id="publicserver" listenref="publicserver">
> <directory>/var/lib/koha/esperanto/biblios</directory>
> <config>/etc/koha/sites/esperanto/zebra-biblios-dom.cfg</config>
> <cql2rpn>/etc/koha/zebradb/pqf.properties</cql2rpn>
>
> <xi:include href="/etc/koha/marc21-retrieval-info-bib-dom.xml"
> xmlns:xi="http://www.w3.org/2001/XInclude">
> <xi:fallback>
> <retrievalinfo>
> <retrieval syntax="marc21" name="F"/>
> <retrieval syntax="marc21" name="B"/>
> <retrieval syntax="xml" name="F"/>
> <retrieval syntax="xml" name="B"/>
> <retrieval syntax="xml" name="marcxml"
> identifier="info:srw/schema/1/marcxml-v1.1">
> <backend syntax="marc21" name="F">
> <marc inputformat="marc" outputformat="marcxml"
> inputcharset="utf-8"/>
> </backend>
> </retrieval>
> <retrieval syntax="xml" name="dc">
> <backend syntax="marc21" name="F">
> <marc inputformat="marc" outputformat="marcxml"
> inputcharset="utf-8"/>
> <xslt stylesheet="/usr/share/koha/intranet/htdocs/intranet-tmpl/
> prog/en/xslt/MARC21slim2DC.xsl"/>
> </backend>
> </retrieval>
> <retrieval syntax="xml" name="mods">
> <backend syntax="marc21" name="F">
> <marc inputformat="marc" outputformat="marcxml"
> inputcharset="utf-8"/>
> <xslt stylesheet="/usr/share/koha/intranet/htdocs/intranet-tmpl/
> prog/en/xslt/MARC21slim2MODS.xsl"/>
> </backend>
> </retrieval>
> <retrieval syntax="xml" name="rdfdc">
> <backend syntax="marc21" name="F">
> <marc inputformat="marc" outputformat="marcxml"
> inputcharset="utf-8"/>
> <xslt stylesheet="/usr/share/koha/intranet/htdocs/intranet-tmpl/
> prog/en/xslt/MARC21slim2RDFDC.xsl"/>
> </backend>
> </retrieval>
> <retrieval syntax="xml" name="rss2">
> <backend syntax="marc21" name="F">
> <marc inputformat="marc" outputformat="marcxml"
> inputcharset="utf-8"/>
> <xslt stylesheet="/usr/share/koha/intranet/htdocs/intranet-tmpl/
> prog/en/xslt/MARC21slim2RSS2.xsl"/>
> </backend>
> </retrieval>
> <retrieval syntax="xml" name="utils">
> <backend syntax="marc21" name="F">
> <marc inputformat="marc" outputformat="marcxml"
> inputcharset="utf-8"/>
> <xslt stylesheet="/usr/share/koha/intranet/htdocs/intranet-tmpl/
> prog/en/xslt/MARC21slimUtils.xsl"/>
> </backend>
> </retrieval>
> </retrievalinfo>
> </xi:fallback>
> </xi:include>
>
> <xi:include href="__KOHA_CONF_DIR__/zebradb/explain-biblios.xml"
> xmlns:xi="http://www.w3.org/2001/XInclude">
> <xi:fallback>
> <explain xmlns="http://explain.z3950.org/dtd/2.0/">
> <serverInfo>
> <host>__ZEBRA_SRU_HOST__</host>
> <port>__ZEBRA_SRU_BIBLIOS_PORT__</port>
> <database>biblios</database>
> </serverInfo>
> </explain>
> </xi:fallback>
> </xi:include>
> </server>
> <serverinfo id="publicserver">
> <ccl2rpn>/etc/koha/zebradb/ccl.properties</ccl2rpn>
> <user>Carles</user>
> <password>Puigdemont</password>
> </serverinfo>
>
> So, do I need a similar 'server' and 'serverinfo' section for authorities?
> In that case, should I also create a 'listen' entry with a different port?
> What's your configuration? Has anybody got an authority server running?
>
> Rubén Fernández
More information about the Koha
mailing list