-<!--
- $Id: gfs-virtual.xml,v 1.6 2006-04-25 11:25:08 marc Exp $
+<!--
Description of the virtual host mechanism in YAZ GFS
Included in both manual and man page for yaz-ztest
-->
</para>
<note>
<para>
- Not all Z39.50 clients allows the VHOST information to be set.
- For those the selection of the backend must rely on the
+ Not all Z39.50 clients allow the VHOST information to be set.
+ For those, the selection of the backend must rely on the
TCP/IP information alone (port and address).
</para>
</note>
<para>
The YAZ frontend server uses XML to describe the backend
- configurations. Command-line option <literal>-f</literal>
+ configurations. Command-line option <literal>-f</literal>
specifies filename of the XML configuration.
</para>
<para>
</para>
<para>
The <literal>listen</literal> describes listener (transport end point),
- such as TCP/IP, Unix file socket or SSL server. Content for
+ such as TCP/IP, Unix file socket or SSL server. Content for
a listener:
<variablelist>
<varlistentry><term>CDATA (required)</term>
<listitem>
<para>
The CDATA for the <literal>listen</literal> element holds the
- listener string, such as <literal>tcp:@:210</literal>,
+ listener string, such as <literal>tcp:@:210</literal>,
<literal>tcp:server1:2100</literal>,
etc.
</para>
<varlistentry><term>attribute <literal>id</literal> (optional)</term>
<listitem>
<para>
- identifier for this listener. This may be referred to from
+ Identifier for this listener. This may be referred to from
server sections.
</para>
</listitem>
<varlistentry><term>attribute <literal>listenref</literal> (optional)</term>
<listitem>
<para>
- Specifies listener for this server. If this attribute is not
- given, the server is accessible from all listener. In order
- for the server to be used for real, howeever, the virtual host
- must match (if specified in the configuration).
+ Specifies one or more listeners for this server. Each server ID is
+ separated by a comma.
+ If this attribute is not given, the server is accessible from all
+ listeners. In order for the server to be used for real, however, the
+ virtual host must match if specified in the configuration.
</para>
</listitem>
</varlistentry>
<listitem>
<para>
Specifies a working directory for this backend server. If
- specifid, the YAZ fronend changes current working directory
+ specified, the YAZ frontend changes current working directory
to this directory whenever a backend of this type is
started (backend handler bend_start), stopped (backend handler hand_stop)
and initialized (bend_init).
<listitem>
<para>
Specifies a filename that includes CQL to RPN conversion for this
- backend server. See &reference-tools-cql-map;
- If given, the backend server will only "see" a Type-1/RPN query.
+ backend server. See &reference-tools-cql-map;.
+ If given, the backend server will only "see" a Type-1/RPN query.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>element <literal>ccl2rpn</literal> (optional)</term>
+ <listitem>
+ <para>
+ Specifies a filename that includes CCL to RPN conversion for this
+ backend server. See &reference-tools-ccl-qualifiers;.
+ If given, the backend server will only "see" a Type-1/RPN query.
</para>
</listitem>
</varlistentry>
<listitem>
<para>
Specifies the stylesheet reference to be part of SRU HTTP responses
- when the client does not specify one. If neither this is given, nor
- the client specifies one, no stylesheet reference is part of the
+ when the client does not specify one. If none is given, then if
+ the client does not specify one, then no stylesheet reference is part of the
SRU HTTP response.
</para>
</listitem>
</varlistentry>
-
+
+ <varlistentry><term>element <literal>client_query_charset</literal> (optional)</term>
+ <listitem>
+ <para>
+ If specified, a conversion from the character set given to UTF-8 is
+ performed by the generic frontend server. It is only executed for
+ Z39.50 search requests (SRU/Solr are assumed to be UTF-8 encoded already).
+ </para>
+ </listitem>
+ </varlistentry>
+
<varlistentry><term>element <literal>docpath</literal> (optional)</term>
<listitem>
<para>
Specifies a path for local file access using HTTP. All URLs with
- a leading prefix (/ exluded) that matches the value of docpath
+ a leading prefix (/ excluded) that matches the value of <literal>docpath</literal>
are used for file access. For example, if the server is to offer
access in directory <literal>xsl</literal>, the docpath would be
<literal>xsl</literal> and all URLs of the form
- <literal>http://host/exl</literal> will result in a local file access.
+ <literal>http://host/xsl</literal> will result in a local file access.
</para>
</listitem>
</varlistentry>
-
+
<varlistentry><term>element <literal>explain</literal> (optional)</term>
<listitem>
<para>
Specifies SRW/SRU ZeeRex content for this server. Copied verbatim
to the client. As things are now, some of the Explain content
- seeem redundant because host information, etc. is also stored
+ seem redundant because host information, etc. is also stored
elsewhere.
</para>
</listitem>
</varlistentry>
+
+ <varlistentry><term>element <literal>maximumrecordsize</literal> (optional)</term>
+ <listitem>
+ <para>
+ Specifies maximum record size/message size, in bytes. This
+ value also serves as the maximum size of <emphasis>incoming</emphasis>
+ packages (for Record Updates etc). It's the same value as that
+ given by the <literal>-k</literal> option.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>element <literal>retrievalinfo</literal> (optional)</term>
+ <listitem>
+ <para>
+ Enables the retrieval facility to support conversions and
+ specifications of record formats/types.
+ See <xref linkend="tools.retrieval"/> for
+ more information.
+ </para>
+ </listitem>
+ </varlistentry>
+
</variablelist>
</para>
-
+
<para>
The XML below configures a server that accepts connections from
two ports, TCP/IP port 9900 and a local UNIX file socket.
<directory>/var/www/s1</directory>
<config>config.cfg</config>
</server>
- <server id="server2">
+ <server id="server2" listenref="public,internal">
<host>server2.mydomain</host>
<directory>/var/www/s2</directory>
<config>config.cfg</config>
<para>
There are three configured backend servers. The first two
servers, <literal>"server1"</literal> and <literal>"server2"</literal>,
- can be reached by both listener addresses - since
- no <literal>listenref</literal> attribute is specified.
- In order to distinguish between the two a virtual host has
- been specified for each of server in the <literal>host</literal>
+ can be reached by both listener addresses.
+ <literal>"server1"</literal> is reached by all (two) since no
+ <literal>listenref</literal> attribute is specified.
+ <literal>"server2"</literal> is reached by the two listeners specified.
+ In order to distinguish between the two, a virtual host has
+ been specified for each server in the <literal>host</literal>
elements.
</para>
<para>
<!-- Keep this comment at the end of the file
Local variables:
-mode: sgml
-sgml-omittag:t
-sgml-shorttag:t
-sgml-minimize-attributes:nil
-sgml-always-quote-attributes:t
-sgml-indent-step:1
-sgml-indent-data:t
-sgml-parent-document: "yaz.xml"
-sgml-local-catalogs: nil
-sgml-namecase-general:t
+mode: nxml
+nxml-child-indent: 1
End:
-->