Spell Solr as Solr
[metaproxy-moved-to-github.git] / doc / zoom.xml
index 1355d76..d1945ae 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>
       <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>
    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>
   </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>torus_url</term>
     <listitem>
      <para>
-      If this parameter is specified, content-proyxing is disabled
-      for the search.
+      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>realm</term>
+    <term>user</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.
+      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>
  <refsect1>
   <title>EXAMPLES</title>
   <para>
-   The following configuration illustrates most of the
-   facilities:
+   In example below Target definitions (Torus records) are fetched
+   from a web service via a proxy. A CQL profile is configured which
+   maps to a set of CCL fields ("no field", au, tu and su). Presumably
+   the target definitions fetched maps the CCL to their native RPN.
+   A CCL "ocn" is mapped for all targets. Logging of APDUs are enabled,
+   and a timeout is given.
    <screen><![CDATA[
     <filter type="zoom">
       <torus
    </screen>
   </para>
 
+  <para>
+   Here is another example with two locally defined targets: A
+   Solr target and a Z39.50 target.
+   <screen><![CDATA[
+      </filter>
+      <filter type="zoom">
+        <torus>
+          <records>
+            <record>
+              <udb>ocs-test</udb>
+              <cclmap_term>t=z</cclmap_term>
+              <cclmap_ti>u=title t=z</cclmap_ti>
+              <sru>solr</sru>
+              <zurl>ocs-test.indexdata.com/solr/select</zurl>
+            </record>
+            <record>
+              <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>
+            </record>
+          </records>
+        </torus>
+        <fieldmap cql="cql.serverChoice"/>
+        <fieldmap cql="dc.title" ccl="ti"/>
+      </filter>
+]]>
+   </screen>
+  </para>
  </refsect1>
 
  <refsect1>