-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.4//EN"
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.4//EN"
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
<!ENTITY copyright SYSTEM "copyright.xml">
<!ENTITY % idcommon SYSTEM "common/common.ent">
<productname>Metaproxy</productname>
<info><orgname>Index Data</orgname></info>
</refentryinfo>
-
+
<refmeta>
<refentrytitle>zoom</refentrytitle>
<manvolnum>3mp</manvolnum>
<refmiscinfo class="manual">Metaproxy Module</refmiscinfo>
</refmeta>
-
+
<refnamediv>
<refname>zoom</refname>
<refpurpose>Metaproxy ZOOM Module</refpurpose>
</refnamediv>
-
+
<refsect1>
<title>DESCRIPTION</title>
<para>
The client implements the protocols that ZOOM C does: Z39.50, SRU
(GET, POST, SOAP) and SOLR .
</para>
-
+
<para>
This filter only deals with Z39.50 on input. The following services
are supported: init, search, present and close. The backend target
<refsect1>
<title>CONFIGURATION</title>
<para>
- The configuration consists of five parts: <literal>torus</literal>,
+ The configuration consists of six parts: <literal>torus</literal>,
<literal>fieldmap</literal>, <literal>cclmap</literal>,
- <literal>contentProxy</literal> and <literal>log</literal>.
+ <literal>contentProxy</literal>, <literal>log</literal>
+ and <literal>zoom</literal>.
</para>
<refsect2>
<title>torus</title>
</listitem>
</varlistentry>
<varlistentry>
+ <term>attribute <literal>record_xsl</literal></term>
+ <listitem>
+ <para>
+ Specifies a stylesheet that converts retrieval records after
+ transform/literal operations.
+ </para>
+ <para>
+ When Metaproxy creates a content proxy session, the XSL parameter
+ <literal>cproxyhost</literal> is passed to the transform.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
<term>element <literal>records</literal></term>
<listitem>
<para>
</para>
<variablelist>
<varlistentry>
+ <term>attribute <literal>config_file</literal></term>
+ <listitem>
+ <para>
+ Specifies the file that configures the cf-proxy system. Metaproxy
+ uses setting <literal>sessiondir</literal> and
+ <literal>proxyhostname</literal> from that file to configure
+ name of proxy host and directory of parameter files for the cf-proxy.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
<term>attribute <literal>server</literal></term>
<listitem>
<para>
host[:port]. That is without a method (such as HTTP) and optional
port number.
</para>
+ <note>
+ <para>
+ This setting is deprecated. Use the config_file (above)
+ to inform about the proxy server.
+ </para>
+ </note>
</listitem>
</varlistentry>
<varlistentry>
using the mkstemp(3) system call. The default value of this
setting is <literal>/tmp/cf.XXXXXX.p</literal>.
</para>
+ <note>
+ <para>
+ This setting is deprecated. Use the config_file (above)
+ to inform about the session file area.
+ </para>
+ </note>
</listitem>
</varlistentry>
</variablelist>
</varlistentry>
</variablelist>
</refsect2>
+
+ <refsect2>
+ <title>zoom</title>
+ <para>
+ The <literal>zoom</literal> element controls settings for the
+ ZOOM.
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>attribute <literal>timeout</literal></term>
+ <listitem>
+ <para>
+ Is an integer that specifies, in seconds, how long an operation
+ may take before ZOOM gives up. Default value is 40.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>attribute <literal>proxy_timeout</literal></term>
+ <listitem>
+ <para>
+ Is an integer that specifies, in seconds, how long an operation
+ a proxy check will wait before giving up. Default value is 1.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect2>
+
</refsect1>
<refsect1>
<title>QUERY HANDLING</title>
<para>
Step 1: for CCL, the query is converted to RPN via
<link linkend="cclmap"><literal>cclmap</literal></link> elements part of
- the target profile as well as
+ the target profile as well as
<link linkend="cclmap_base">base CCL maps</link>.
</para>
<para>
type.
</para>
</refsect1>
-
+
<refsect1>
<title>SORTING</title>
<para>
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:
+ 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>.
</para>
conversion. It doesn't throw a diagnostic.
</para>
</refsect1>
-
+
<refsect1>
<title>TARGET PROFILE</title>
<para>
</para>
</listitem>
</varlistentry>
-
+
<varlistentry id="cclmap">
<term>cclmap_<replaceable>field</replaceable></term><listitem>
<para>
</para>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term>cfAuth</term><listitem>
<para>
<literal>element_raw</literal> from the configuration.
By default that is the element sets <literal>pz2</literal>
and <literal>raw</literal>.
- If record transform is not enabled, this setting is
+ If record transform is not enabled, this setting is
not used and the element set specified by the client
is passed verbatim.
</para>
</para>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term>piggyback</term><listitem>
<para>
</para>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term>queryEncoding</term><listitem>
<para>
</para>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term>recordEncoding</term><listitem>
<para>
</para>
</listitem>
</varlistentry>
-
+
<varlistentry id="sortStrategy">
<term>sortStrategy</term><listitem>
<para>
</para>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term>sru</term><listitem>
<para>
<para>
The value of this field is a string that generates a dynamic link
based on record content. If the resulting string is non-zero in length
- a new field, <literal>metadata</literal> with attribute
+ a new field, <literal>metadata</literal> with attribute
<literal>type="generated-url"</literal> is generated.
The contents of this field is the result of the URL recipe conversion.
The urlRecipe value may refer to an existing metadata element by
metadata element <literal>title</literal> and converts one or more
spaces to a plus character.
</para>
- <para>
- If the <link linkend="zoom-torus-contentConnector">contentConnector</link>
- setting also defined, the resulting value is
- augmented with a session string as well as host name of the
- content proxy server.
- </para>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term>zurl</term><listitem>
<para>
is a comma rather than a question mark. What follows question mark are
HTTP arguments (in this case SRU arguments).
</para>
- <variablelist>
+ <variablelist>
<varlistentry>
<term>user</term>
<listitem>
</para>
</listitem>
</varlistentry>
- </variablelist>
+ </variablelist>
</refsect1>
<refsect1>
<title>SCHEMA</title>
<literallayout><xi:include
xi:href="../xml/schema/filter_zoom.rnc"
- xi:parse="text"
+ xi:parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</literallayout>
</refsect1>
-
+
<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
- url="http://torus.indexdata.com/src/records/?query=udb%3D%db"
+ url="http://torus.indexdata.com/src/records/?query=%query"
proxy="localhost:3128"
/>
<fieldmap cql="cql.anywhere"/>
<fieldmap cql="dc.creator" ccl="au"/>
<fieldmap cql="dc.title" ccl="ti"/>
<fieldmap cql="dc.subject" ccl="su"/>
-
+
<cclmap>
<qual name="ocn">
<attr type="u" value="12"/>
</qual>
</cclmap>
<log apdu="true"/>
+ <zoom timeout="40"/>
</filter>
]]>
</screen>
</para>
-
- </refsect1>
-
+
+ <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>
<title>SEE ALSO</title>
<para>
</citerefentry>
</para>
</refsect1>
-
+
©right;
</refentry>