zoom: support cf_-params MP-595
[metaproxy-moved-to-github.git] / etc / config-zoom.xml
index d4c5649..115de86 100644 (file)
 <?xml version="1.0"?>
 <metaproxy xmlns="http://indexdata.com/metaproxy" version="1.0">
-  <!-- Z39.50 proxy which relays to target specified in Init otherinfo 
-  (VAL_RPOXY). If no target is given, it relays to target
-  z3950.indexdata.dk -->
   <start route="start"/>
   <filters>
     <filter id="frontend" type="frontend_net">
       <threads>10</threads>
       <port>@:9000</port>
+      <message>FN</message>
     </filter>
     <filter id="backend" type="zoom">
       <torus
-            url="http://newmk2.indexdata.com/torus2/searchable.ebsco/records/?query=udb%3D%db"
+           url="http://usi.indexdata.com/torus2/searchable.%realm/records/?query=%query"
+            realm="production"
             xsldir="."
-      />
-      <fieldmap cql="cql.anywhere" ccl="term"/>
-      <fieldmap cql="cql.serverChoice" ccl="term"/>
+            element_transform="pz2"
+            element_raw="raw"
+            element_passthru="F"
+            explain_xsl="torus2zeerex.xsl"
+            record_xsl="pz2dc.xsl"
+           >
+
+       <!--
+       http://usi.indexdata.com/torus2/admin.admin/records/?query=userName==test+and+password==test
+       -->
+
+
+        <!-- these records are examples only -->
+       <records>
+
+          <!-- local z-target and content connector -->
+         <record>
+           <piggyback>1</piggyback>
+           <queryEncoding>UTF-8</queryEncoding>
+           <udb>z-local</udb>
+           <cclmap_term>1=1016 s=al</cclmap_term>
+           <cclmap_ti>1=4 s=pw t=l,r</cclmap_ti>
+           <requestSyntax>usmarc</requestSyntax>
+           <transform>tmarc.xsl</transform>
+           <urlRecipe>http://sever.com?title=${md-title[\s+/+/g]}&amp;parm=1</urlRecipe>
+           <zurl>localhost:9998/Default</zurl>
+           <retryOnFailure>0</retryOnFailure>
+         </record>
+         <record>
+           <udb>heikki/content1</udb>
+           <zurl>localhost:9999/heikki/content1</zurl>
+           <cfAuth>cfuser/cfpassword</cfAuth>
+         </record>
+
+          <!-- sru local connector -->
+         <record>
+            <authentication>a/b</authentication>
+            <authenticationMode>url</authenticationMode>
+           <piggyback>1</piggyback>
+           <queryEncoding>UTF-8</queryEncoding>
+           <udb>sru-local</udb>
+           <cclmap_term>s=al</cclmap_term>
+           <cclmap_ti>1=title s=pw t=l,r</cclmap_ti>
+           <sru>get</sru>
+           <sruVersion>1.1</sruVersion>
+           <transform>tmarc.xsl</transform>
+           <zurl>localhost:9998/db01</zurl>
+            <sortStrategy>embed</sortStrategy>
+            <sortmap_title>dc.title</sortmap_title>
+            <rpn2cql>pqf.properties</rpn2cql>
+         </record>
+
+         <record>
+           <piggyback>1</piggyback>
+           <queryEncoding>UTF-8</queryEncoding>
+           <udb>solr-local</udb>
+           <cclmap_term>s=al</cclmap_term>
+           <cclmap_ti>1=title s=pw t=l,r</cclmap_ti>
+           <sru>solr</sru>
+           <transform>tmarc.xsl</transform>
+           <zurl>lui.indexdata.com/solr/#5002</zurl>
+            <sortStrategy>embed</sortStrategy>
+            <sortmap_title>dc.title</sortmap_title>
+            <rpn2cql>pqf.properties</rpn2cql>
+         </record>
+
+          <!-- jstor1 -->
+         <record>
+           <piggyback>1</piggyback>
+           <queryEncoding>UTF-8</queryEncoding>
+           <udb>jstor1</udb>
+           <cclmap_term>s=al</cclmap_term>
+           <cclmap_ti>1=title s=pw t=l,r</cclmap_ti>
+           <sru>get</sru>
+           <transform>dc.xsl</transform>
+           <literalTransform>&lt;?xml version="1.0" encoding="UTF-8"?>
+&lt;!--
+
+    This stylesheet expects oai/dc records
+-->
+&lt;xsl:stylesheet
+    version="1.0"
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+    xmlns:pz="http://www.indexdata.com/pazpar2/1.0"
+    xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:dcterms="http://purl.org/dc/terms/">
+
+ &lt;xsl:output indent="yes"
+        method="xml"
+        version="1.0"
+        encoding="UTF-8"/>
+
+  &lt;xsl:param name="medium" />
+
+  &lt;xsl:template match="/*">
+    &lt;pz:record>
+
+      &lt;pz:metadata type="id">
+        &lt;xsl:value-of select="dc:identifier"/>
+      &lt;/pz:metadata>
+
+      &lt;xsl:for-each select="dc:title">
+        &lt;pz:metadata type="title">
+          &lt;xsl:value-of select="."/>
+        &lt;/pz:metadata>
+      &lt;/xsl:for-each>
+
+      &lt;xsl:for-each select="dc:date">
+        &lt;pz:metadata type="date">
+         &lt;xsl:value-of select="."/>
+             &lt;/pz:metadata>
+      &lt;/xsl:for-each>
+
+      &lt;xsl:for-each select="dc:subject">
+        &lt;pz:metadata type="subject">
+               &lt;xsl:value-of select="."/>
+             &lt;/pz:metadata>
+      &lt;/xsl:for-each>
+
+      &lt;xsl:for-each select="dc:creator">
+             &lt;pz:metadata type="author">
+          &lt;xsl:value-of select="."/>
+             &lt;/pz:metadata>
+      &lt;/xsl:for-each>
+
+      &lt;xsl:for-each select="dc:description">
+        &lt;pz:metadata type="description">
+               &lt;xsl:value-of select="."/>
+             &lt;/pz:metadata>
+      &lt;/xsl:for-each>
+
+      &lt;xsl:for-each select="dc:identifier">
+        &lt;pz:metadata type="electronic-url">
+               &lt;xsl:value-of select="."/>
+             &lt;/pz:metadata>
+      &lt;/xsl:for-each>
+
+      &lt;xsl:for-each select="dc:type">
+        &lt;pz:metadata type="medium">
+               &lt;xsl:value-of select="."/>
+             &lt;/pz:metadata>
+      &lt;/xsl:for-each>
+
+      &lt;xsl:for-each select="dcterms:bibliographicCitation">
+        &lt;pz:metadata type="citation">
+          &lt;xsl:value-of select="."/>
+        &lt;/pz:metadata>
+      &lt;/xsl:for-each>
+
+      &lt;pz:metadata type="medium">
+        &lt;xsl:value-of select="$medium" />
+      &lt;/pz:metadata>
+
+    &lt;/pz:record>
+  &lt;/xsl:template>
+
+  &lt;xsl:template match="text()"/>
+
+&lt;/xsl:stylesheet></literalTransform>
+           <zurl>dfr.jstor.org/sru</zurl>
+         </record>
+
+          <!-- jstor2 -->
+         <record>
+           <piggyback>1</piggyback>
+           <queryEncoding>UTF-8</queryEncoding>
+           <udb>jstor2</udb>
+           <cclmap_term>s=al</cclmap_term>
+           <cclmap_ti>1=title s=pw t=l,r</cclmap_ti>
+            <elementSet>info:srw/schema/srw_jstor</elementSet>
+           <sru>get</sru>
+           <transform>jstor-pz2.xsl</transform>
+           <zurl>dfr.jstor.org/sru</zurl>
+         </record>
+
+
+          <!-- cf connector -->
+         <record>
+           <piggyback>1</piggyback>
+           <queryEncoding>UTF-8</queryEncoding>
+           <udb>cf-local</udb>
+           <cclmap_term>1=1016 s=al</cclmap_term>
+           <cclmap_ti>1=4 s=pw t=l,r</cclmap_ti>
+           <requestSyntax>xml</requestSyntax>
+           <transform>cf.xsl</transform>
+           <zurl>localhost:9999/db01</zurl>
+           <cfAuth>cfuser/cfpassword</cfAuth>
+           <cfProxy>localhost:3128</cfProxy>
+           <cfSubDB>mysub</cfSubDB>
+           <cf_x-associate>xvalue</cf_x-associate>
+         </record>
+       </records>
+      </torus>
+      <fieldmap cql="cql.anywhere"/>
+      <fieldmap cql="cql.serverChoice"/>
       <fieldmap cql="dc.creator" ccl="au"/>
       <fieldmap cql="dc.title" ccl="ti"/>
       <fieldmap cql="dc.subject" ccl="su"/>
-      <fieldmap cql="bash.isbn" ccl="isbn"/>
-      <fieldmap cql="bash.issn" ccl="issn"/>
+      <fieldmap cql="bath.isbn" ccl="isbn"/>
+      <fieldmap cql="bath.issn" ccl="issn"/>
       <fieldmap cql="dc.date" ccl="date"/>
-      <!-- 
-          I got some of the following CCL qualifier names from
-          http://catalog.pburglib.org/polaris/Help/PWbasicsearch6.html
-          These are marked with the comment POLARIS.
-          The others, I just made up.
-          (Mike, Wed Jun 15 22:50:18 BST 2011)
-       -->
-      <fieldmap cql="rec.identifier" ccl="ocn"/><!-- POLARIS -->
-      <fieldmap cql="net.path" ccl="db"/>
-      <fieldmap cql="dc.language" ccl="la"/><!-- POLARIS -->
-      <fieldmap cql="dc.format" ccl="tom"/><!-- POLARIS -->
-      <fieldmap cql="id.fullText" ccl="fullText"/>
-      <fieldmap cql="id.peerReviewed" ccl="peerReviewed"/>
-      <fieldmap cql="dc.description" ccl="desc"/>
-      <fieldmap cql="dc.source" ccl="src"/>
-      <fieldmap cql="dc.publisher" ccl="pub"/><!-- POLARIS -->
-      <fieldmap cql="id.seriesTitle" ccl="series-ti"/>
+      <cclmap>
+        <qual name="ocn">
+          <attr type="1" value="12"/>
+        </qual>
+      </cclmap>
+      <contentProxy
+         config_file="/etc/cf-proxy/cproxy.cfg"
+      />
+      <log apdu="true"/>
+      <zoom timeout="20" proxy_timeout="1"/>
     </filter>
   </filters>
-  <routes>  
+  <routes>
     <route id="start">
       <filter refid="frontend"/>
-      <filter type="log">
-        <message>F</message>
-      </filter>
       <filter type="sru_z3950"/>
-      <filter type="record_transform">
-        <retrievalinfo   xmlns="http://indexdata.com/yaz" version="1.0">
-          <retrieval syntax="xml" name="usi">
-            <backend syntax="xml" name="pz2">
-              <xslt stylesheet="../xml/xslt/pz22usi.xsl"/>
-            </backend>
-          </retrieval>
-          <retrieval syntax="xml"/>
-          <retrieval syntax="json"/>
-          <retrieval syntax="usmarc"/>
-        </retrievalinfo>
+<!--
+      <filter type="session_shared">
+        <resultset ttl="0" restart="false"/>
+        <session ttl="60" max="100"/>
       </filter>
-      <filter type="session_shared"/>
+-->
       <filter type="log">
         <message>B</message>
-       <category apdu="true"/>
+       <category apdu="false" session="true"/>
       </filter>
       <filter refid="backend"/>
       <filter type="bounce"/>