[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