connect-max per IP MP-632
[metaproxy-moved-to-github.git] / doc / zoom.xml
index 6b2e480..7b774b1 100644 (file)
@@ -27,7 +27,7 @@
    This filter implements a generic client based on
    <ulink url="&url.yaz.zoom;">ZOOM</ulink> of YAZ.
    The client implements the protocols that ZOOM C does: Z39.50, SRU
-   (GET, POST, SOAP) and SOLR .
+   (GET, POST, SOAP) and Solr .
   </para>
 
   <para>
       </para>
      </listitem>
     </varlistentry>
+    <varlistentry id="auth_url">
+     <term>attribute <literal>auth_url</literal></term>
+     <listitem>
+      <para>
+       URL of Web service to be used to for auth/IP lookup. If this
+       defined, all access is granted or denied as part of Z39.50 Init
+       by the ZOOM module and the use of database parameters realm and
+       torus_url is not allowed. If this setting is not defined,
+       all access is allowed and realm and/or torus_url may be used.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry id="auth_hostname">
+     <term>attribute <literal>auth_hostname</literal></term>
+     <listitem>
+      <para>
+       Limits IP lookup to a given logical hostname.
+      </para>
+     </listitem>
+    </varlistentry>
     <varlistentry>
       <term>attribute <literal>realm</literal></term>
       <listitem>
        <para>
         The default realm value. Used for %realm in URL, unless
-        specified in DATABASE argument.
+        specified in DATABASE parameter.
        </para>
       </listitem>
     </varlistentry>
   </para>
   <para>
    Step 1: for CCL, the query is converted to RPN via
-   <link linkend="cclmap"><literal>cclmap</literal></link> elements part of
+   <link linkend="zoom-torus-cclmap"><literal>cclmap</literal></link>
+   elements part of
    the target profile as well as
    <link linkend="cclmap_base">base CCL maps</link>.
   </para>
   <para>
    Step 2: If the target is Z39.50-based, it is passed verbatim (RPN).
    If the target is SRU-based, the RPN will be converted to CQL.
-   If the target is SOLR-based, the RPN will be converted to SOLR's query
+   If the target is Solr-based, the RPN will be converted to Solr's query
    type.
   </para>
  </refsect1>
    The ZOOM module actively handle CQL sorting - using the SORTBY parameter
    which was introduced in SRU version 1.2. The conversion from SORTBY clause
    to native sort for some target is driven by the two parameters:
-   <link linkend="sortStrategy"><literal>sortStrategy</literal></link>
-   and <link linkend="sortmap"><literal>sortmap_</literal><replaceable>field</replaceable></link>.
+   <link linkend="zoom-torus-sortStrategy">
+    <literal>sortStrategy</literal>
+   </link>
+   and <link linkend="zoom-torus-sortmap">
+   <literal>sortmap_</literal><replaceable>field</replaceable>
+   </link>.
   </para>
   <para>
    If a sort field that does not have an equivalent
    </listitem>
    </varlistentry>
 
-   <varlistentry id="cclmap">
+   <varlistentry>
+    <term id="zoom-torus-authenticationMode">authenticationMode</term><listitem>
+    <para>
+     Specifies how authentication parameters are passed to server
+     for SRU. Possible values are: <literal>url</literal>
+     and <literal>basic</literal>. For the url mode username and password
+     are carried in URL arguments x-username and x-password.
+     For the basic mode, HTTP basic authentication is used.
+     The settings only takes effect
+     if <link linkend="zoom-torus-authentication">authentication</link>
+     is set.
+    </para>
+    <para>
+     If this value is omitted HTTP basic authencation is used.
+    </para>
+   </listitem>
+   </varlistentry>
+
+   <varlistentry id="zoom-torus-cclmap">
     <term>cclmap_<replaceable>field</replaceable></term><listitem>
     <para>
      This value specifies CCL field (qualifier) definition for some
    </listitem>
    </varlistentry>
 
+   <varlistentry>
+    <term id="zoom-torus-contentAuthentication">contentAuthentication</term><listitem>
+    <para>
+     Specifies authentication info to be passed to a content connector.
+     This is only used if content-user and content-password are omitted.
+    </para>
+   </listitem>
+   </varlistentry>
+
    <varlistentry id="zoom-torus-contentConnector">
     <term>contentConnector</term><listitem>
     <para>
    </listitem>
    </varlistentry>
 
-   <varlistentry id="sortmap">
+   <varlistentry id="zoom-torus-sortmap">
     <term>sortmap_<replaceable>field</replaceable></term><listitem>
     <para>
      This value the native field for a target. The form of the value is
-     given by <link linkend="sortStrategy">sortStrategy</link>.
+     given by <link linkend="zoom-torus-sortStrategy">sortStrategy</link>.
     </para>
    </listitem>
    </varlistentry>
 
-   <varlistentry id="sortStrategy">
+   <varlistentry id="zoom-torus-sortStrategy">
     <term>sortStrategy</term><listitem>
     <para>
      Specifies sort strategy for a target. One of:
    </listitem>
    </varlistentry>
 
-   <varlistentry>
+   <varlistentry id="sruVersion">
     <term>sruVersion</term><listitem>
     <para>
      Specifies the SRU version to use. It unset, version 1.2 will be
    </listitem>
    </varlistentry>
 
-   <varlistentry>
+   <varlistentry id="transform">
     <term>transform</term><listitem>
     <para>
      Specifies a XSL stylesheet filename to be used if record
    </listitem>
    </varlistentry>
 
-   <varlistentry>
+   <varlistentry id="udb">
     <term>udb</term><listitem>
     <para>
      This value is required and specifies the unique database for
    </listitem>
    </varlistentry>
 
-   <varlistentry>
+   <varlistentry id="zurl">
     <term>zurl</term><listitem>
     <para>
      This is setting is mandatory and specifies the ZURL of the
    is a comma rather than a question mark. What follows question mark are
    HTTP arguments (in this case SRU arguments).
   </para>
+  <para>
+   The database parameters, in alphabetical order, are:
+  </para>
   <variablelist>
    <varlistentry>
-    <term>user</term>
+    <term>content-password</term>
     <listitem>
      <para>
-      Specifies user to be passed to backend. If this parameter is
-      omitted, the user will be taken from TARGET profile setting
-      <link linkend="zoom-torus-authentication">
-       <literal>authentication</literal>
-      </link>
-      .
+      The password to be used for content proxy session. If this parameter
+      is not given, value of parameter <literal>password</literal> is passed
+      to content proxy session.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term>content-proxy</term>
+    <listitem>
+     <para>
+      Specifies proxy to be used for content proxy session. If this parameter
+      is not given, value of parameter <literal>proxy</literal> is passed
+      to content proxy session.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term>content-user</term>
+    <listitem>
+     <para>
+      The user to be used for content proxy session. If this parameter
+      is not given, value of parameter <literal>user</literal> is passed
+      to content proxy session.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term>cproxysession</term>
+    <listitem>
+     <para>
+      Specifies the session ID for content proxy. This parameter is, generally,
+      not used by anything but the content proxy itself when invoking
+      Metaproxy via SRU.
+     </para>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term>nocproxy</term>
+    <listitem>
+     <para>
+      If this parameter is specified, content-proxying is disabled
+      for the search.
      </para>
     </listitem>
    </varlistentry>
     <term>password</term>
     <listitem>
      <para>
-      Specifies password to be passed to backend. If this parameters is
-      omitted, the password will be taken from TARGET profile setting
+      Specifies password to be passed to backend. It is also passed
+      to content proxy session unless overriden by content-password.
+      If this parameter is omitted, the password will be taken from
+      TARGET profile setting
       <link linkend="zoom-torus-authentication">
        <literal>authentication</literal>
       </link>
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term>cproxysession</term>
+    <term>realm</term>
     <listitem>
      <para>
-      Session ID for content proxy. This parameter is, generally,
-      not used by anything but the content proxy itself.
+      Session realm to be used for this target, changed the resulting
+      URL to be used for getting a target profile, by changing the
+      value that gets substituted for the %realm string. This parameter
+      is not allowed if access is controlled by
+      <link linkend="auth_url">auth_url</link>
+      in configuration.
      </para>
     </listitem>
    </varlistentry>
    <varlistentry>
-    <term>nocproxy</term>
+    <term>retry</term>
     <listitem>
      <para>
-      If this parameter is specified, content-proyxing is disabled
-      for the search.
+      Optional paramater. If the value is 0, retry on failure is
+      disabled for the ZOOM module. Any other value enables retry
+      on failure. If this parameter is omitted, then the value of
+      <literal>retryOnFailure</literal>
+      from the Torus record is used (same values).
      </para>
     </listitem>
    </varlistentry>
+
    <varlistentry>
-    <term>realm</term>
+    <term>torus_url</term>
     <listitem>
      <para>
-      Session realm to be used for this target, changed the resulting
-      URL to be used for getting a target profile, by changing the
-      value that gets substituted for the %realm string.
+      Sets the URL to be used for Torus records fetch - overriding value
+      of <literal>url</literal> attribute of element <literal>torus</literal>
+      in zoom configuration. This parameter is not allowed if access is
+      controlled by
+      <link linkend="auth_url">auth_url</link> in configuration.
+     </para>
+    </listitem>
+   </varlistentry>
+
+   <varlistentry>
+    <term>user</term>
+    <listitem>
+     <para>
+      Specifies user to be passed to backend. It is also passed
+      to content proxy session unless overriden by content-user.
+      If this parameter is omitted, the user will be taken from TARGET
+      profile setting
+      <link linkend="zoom-torus-authentication">
+       <literal>authentication</literal>
+      </link>
+      .
      </para>
     </listitem>
    </varlistentry>
               <udb>loc</udb>
               <cclmap_term>t=l,r</cclmap_term>
               <cclmap_ti>u=4 t=l,r</cclmap_ti>
-              <zurl>z3950.loc.gov:7090/voyager</zurl>
+              <zurl>lx2.loc.gov:210/LCDB_MARC8</zurl>
             </record>
           </records>
         </torus>