<!doctype linuxdoc system>
<!--
- $Id: egate.sgml,v 1.2 1995/07/05 08:22:37 adam Exp $
+ $Id: egate.sgml,v 1.3 1995/07/05 10:06:42 adam Exp $
-->
<article>
<title>Email/Z39.50 gateway guide
<author>Europagate, 1995
-<date>$Revision: 1.2 $
+<date>$Revision: 1.3 $
<abstract>
This document describes a Email server that provides access to the
Z39.50 protocol.
result
</verb></tscreen>
-The following table lists general resources:
+The following describes the general resources:
<descrip>
<tag>gw.reply.mta</tag> Name of MTA program — default
<tt>/usr/lib/sendmail</tt>.
<tag>gw.reply.tmp.dir</tag> Name of directory with temporary files.
<tag>gw.marc.log</tag> If this resource is specified, retrieved MARC
records will be appended to this file.
-<tag>gw.timeout</tag> Idle time before the kernel exists. When the
- kernel exists, the Z39.50 persistency layer will reconnect when
+<tag>gw.timeout</tag> Idle time before the kernel exits. When the
+ kernel exits, the Z39.50 persistency layer will reconnect when
necessary.
<tag>gw.resultset</tag> If this setting is 1, the Z39.50 client will
use named result sets. If 0, the Z39.50 system will always use
<tag>gw.description</tag> Description of a target. This message
is returned to the user when the connection is established with the
target.
+<tag>gw.account</tag> Z39.50 Authentication string — default
+ empty (i.e. none).
</descrip>
<sect1>Messages
<sect1>Target definitions
<p>
-To add a target definition, <em/mytarget/, you need to make a resource
+To add a target definition called <em/mytarget/ you need to make a resource
entry in <tt>default.res</tt> called <tt>gw.target.</tt><em>mytarget</em>.
The value of this resource is the name of a resource file — for
example <em>mytarget</em><tt>.res</tt>. The resource file should at least
define the resources: <tt/gw.hostname/, <tt/gw.databases/ and
-<tt/gw.description/. The user only needs to use the command
-<tt>target </tt><em>mytarget</em> to use the target.
+<tt/gw.description/. You might also consider specifying
+<tt/gw.account/, <tt/gw.bibset/, <tt/gw.resultset/ and <tt/gw.portno/
+in the target resource file. The user only needs to use the command
+<tt>target </tt><em>mytarget</em> to use the target. Also, since we
+already specified database names, the user doesn't need to use the
+<tt/base/ command.
+
+<sect1>CCL to RPN mapping
+
+<p>
+The mapping between CCL-queries and RPN are stored in files —
+normally with the suffix <tt>.bib</tt>. We will refer these
+files as bibset-files. You might consult the file <tt/default.bib/
+to see an example of such file.
+
+The mapping is necessary because targets usually only support a little
+subset of the Bib-1 attribute set and because the CCL qualifiers
+(field names) are not standardized. A bibset-file is specified
+by the <tt/gw.bibset/ resource.
+
+Column zero of a bib-file line either hold a hash character (<tt/#/)
+indicating a comment in which case the rest of the line is
+ignored; or a CCL qualifier.
+
+The name of the CCL qualifier is up to you. However, the special
+qualifier name <tt/term/ applies to the case where no qualifier
+is specified in CCL. The CCL qualifier is
+followed by one or more mapping specifications. A mapping
+specification takes the form:
+
+<em/type/<tt/=/<em/value/<tt/,/<em/value/...
+
+The type is simply one of the six Bib-1 attribute query types:
+<descrip>
+<tag/u/ Use attribute. Value is an integer.
+<tag/t/ Truncation attribute. Value is an integer; or the
+ value is a combination of:
+ <descrip>
+ <tag/l/ This character indicates that the CCL parser should allow
+ left truncation (2) if indicated by a <tt/?/ on the left side
+ of a term.
+ <tag/r/ This character indicates that the CCL parser should allow
+ right truncation (1) if indicated by a <tt/?/ on the right side
+ of a term.
+ <tag/b/ This character indicates that the CCL parser should allow
+ both left and right (3) truncation indicated by a <tt/?/ on both
+ left and right side of a term.
+ <tag/n/ This character indicates that the CCL parser should announce
+ no truncation (100) if no truncation was indicated.
+ </descrip>
+<tag/p/ Position attribute. Valus is an integer.
+<tag/s/ Structure attribute. Value is an integer; or the
+ value is <tt/pw/ in which case the CCL parser announces word (2) or
+ phrase (1) depending on the number of adjacent terms.
+<tag/r/ Relation attribute. Value is an integer; or the value is
+ <tt/o/ in which case, the CCL parser will select <em/less than/,
+ <em/less than or equal/, ... <em/greater than/ — depending on
+ the relation specified in CCL.
+<tag/p/ Position attribute. Value is an integer.
+</descrip>
+
+Consider these bibset-lines:
+<tscreen><verb>
+term t=l,r,b s=pw
+au= u=1 t=l,r,b s=pw
+date u=30 r=o
+</verb></tscreen>
+The first line describes the mapping in when no qualifiers are
+present, as in:
+<tscreen><verb>
+find foo bar?
+</verb></tscreen>
+In this case the right truncation is enabled and the structure is
+<em/phrase/.
+
+The second line is used in this search:
+<tscreen><verb>
+find au=andersen
+</verb></tscreen>
+where the use attribute is <em/author/ and the structure is <em/word/.
+
+The third line is used in:
+<tscreen><verb>
+find date>1990
+</verb></tscreen>
+where the use attribute is <em/date/ and the relation is <em/greater than/.
+
+<sect>LICENSE
+
+<p>
+ Copyright © 1995, the EUROPAGATE consortium (see below).
+
+ The EUROPAGATE consortium members are:
+
+<itemize>
+<item>University College Dublin
+<item>Danmarks Teknologiske Videnscenter
+<item>An Chomhairle Leabharlanna
+<item>Consejo Superior de Investigaciones Cientificas
+</itemize>
+
+ Permission to use, copy, modify, distribute, and sell this software and
+ its documentation, in whole or in part, for any purpose, is hereby granted,
+ provided that:
+
+ 1. This copyright and permission notice appear in all copies of the
+ software and its documentation. Notices of copyright or attribution
+ which appear at the beginning of any file must remain unchanged.
+
+ 2. The names of EUROPAGATE or the project partners may not be used to
+ endorse or promote products derived from this software without specific
+ prior written permission.
+
+ 3. Users of this software (implementors and gateway operators) agree to
+ inform the EUROPAGATE consortium of their use of the software. This
+ information will be used to evaluate the EUROPAGATE project and the
+ software, and to plan further developments. The consortium may use
+ the information in later publications.
+
+ 4. Users of this software agree to make their best efforts, when
+ documenting their use of the software, to acknowledge the EUROPAGATE
+ consortium, and the role played by the software in their work.
+
+ THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS, IMPLIED, OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
+ WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+ IN NO EVENT SHALL THE EUROPAGATE CONSORTIUM OR ITS MEMBERS BE LIABLE
+ FOR ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF
+ ANY KIND, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA
+ OR PROFITS, WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND
+ ON ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
+ USE OR PERFORMANCE OF THIS SOFTWARE.
</article>