added documentation on zeerex_explain filter
authorMarc Cromme <marc@indexdata.dk>
Fri, 5 Jan 2007 10:56:17 +0000 (10:56 +0000)
committerMarc Cromme <marc@indexdata.dk>
Fri, 5 Jan 2007 10:56:17 +0000 (10:56 +0000)
doc/Makefile.am
doc/book.xml
doc/copyright.xml
doc/sru_z3950.xml
doc/zeerex_explain.xml [new file with mode: 0644]

index 67b7226..e0eadb3 100644 (file)
@@ -1,4 +1,4 @@
-## $Id: Makefile.am,v 1.33 2007-01-03 15:34:50 marc Exp $
+## $Id: Makefile.am,v 1.34 2007-01-05 10:56:17 marc Exp $
 docdir=$(datadir)/doc/@PACKAGE@
 
 SUBDIRS = common
@@ -10,26 +10,40 @@ XMLFILES = book.xml manref.xml copyright.xml
 MAINXML = $(srcdir)/book.xml
 
 XMLMAN = metaproxy.xml \
-       auth_simple.xml backend_test.xml bounce.xml \
+       auth_simple.xml \
+       backend_test.xml \
+       bounce.xml \
        frontend_net.xml \
        http_file.xml \
        load_balance.xml \
        log.xml \
-       multi.xml query_rewrite.xml \
+       multi.xml \
+       query_rewrite.xml \
         record_transform.xml\
+       session_shared.xml \
         sru_z3950.xml\
-       session_shared.xml template.xml virt_db.xml z3950_client.xml
-
-MANFILES = auth_simple.3mp backend_test.3mp  bounce.3mp \
+       template.xml \
+       virt_db.xml \
+       z3950_client.xml \
+        zeerex_explain.xml
+
+MANFILES = metaproxy.1 \
+       auth_simple.3mp \
+       backend_test.3mp  \
+       bounce.3mp \
         frontend_net.3mp \
        http_file.3mp \
        load_balance.3mp \
        log.3mp \
        multi.3mp query_rewrite.3mp \
         record_transform.3mp\
+       session_shared.3mp \
         sru_z3950.xml\
-       session_shared.3mp template.3mp virt_db.3mp z3950_client.3mp \
-       metaproxy.1
+       template.3mp \
+       virt_db.3mp \
+       z3950_client.3mp \
+       zeerex_explain.3mp
+
 
 HTMLFILES = index.html
 
index 430b27b..a191019 100644 (file)
@@ -17,7 +17,7 @@
      -->
      <!NOTATION PDF SYSTEM "PDF">
 ]>
-<!-- $Id: book.xml,v 1.45 2007-01-03 15:34:50 marc Exp $ -->
+<!-- $Id: book.xml,v 1.46 2007-01-05 10:56:17 marc Exp $ -->
 <book id="metaproxy">
  <bookinfo>
   <title>Metaproxy - User's Guide and Reference</title>
@@ -31,7 +31,7 @@
    <firstname>Mike</firstname><surname>Taylor</surname>
   </author>
   <copyright>
-   <year>2006</year>
+   <year>2005-2007</year>
    <holder>Index Data ApS</holder>
   </copyright>
   <abstract>
      You may modify your copy of the software (fix bugs, add features)
      if you need to.  We encourage you to send your changes back to us for
      integration into the master copy, but you are not obliged to do so.  You
-      may NOT pass your changes on to any other party.
+     may NOT pass your changes on to any other party.
     </para>
    </listitem>
    <listitem>
     packages
     (<literal>frontend_net</literal>);
     others are sinks: they consume packages and return a result
-    (<literal>z3950_client</literal>,
-    <literal>backend_test</literal>,
+    (<literal>backend_test</literal>,
     <literal>bounce</literal>,
-    <literal>http_file</literal>);
+    <literal>http_file</literal>, 
+    <literal>z3950_client</literal>);
     the others are true filters, that read, process and pass on the
     packages they are fed
     (<literal>auth_simple</literal>,
@@ -768,16 +768,6 @@ Figure out what additional information we need in:
    </section>
    
    <section>
-    <title><literal>log</literal>
-     (mp::filter::Log)</title>
-    <para>
-     Writes logging information to standard output, and passes on
-     the package unchanged. A log file name can be specified, as well
-     as multiple different logging formats.
-   </para>
-   </section>
-   
-   <section>
     <title><literal>load_balance</literal>
      (mp::filter::LoadBalance)</title>
     <para>
@@ -790,7 +780,17 @@ Figure out what additional information we need in:
      with least load cost for a new session.
    </para>
    </section>
-   
+      
+   <section>
+    <title><literal>log</literal>
+     (mp::filter::Log)</title>
+    <para>
+     Writes logging information to standard output, and passes on
+     the package unchanged. A log file name can be specified, as well
+     as multiple different logging formats.
+   </para>
+   </section>
+
    <section>
    <title><literal>multi</literal>
      (mp::filter::Multi)</title>
@@ -853,8 +853,16 @@ Figure out what additional information we need in:
     (mp::filter::SRUtoZ3950)</title>
     <para>
      This filter transforms valid
-     SRU/GET or SRU/SOAP requests to Z3950 requests, and wraps the
-     received hit counts and XML records into suitable SRU response messages.
+     SRU GET/POST/SOAP searchRetrieve requests to Z3950 init, search,
+     and present requests, and wraps the
+     received hit counts and XML records into suitable SRU response
+     messages.
+     The <literal>sru_z3950</literal> filter does only process SRU
+     GET/POST/SOAP explain requests in a very crude fashion, returning
+     the absolute minimum required by the standard. Full ZeeReX
+     explain support is added by including the  
+     <literal>zeerex_explain</literal> filter before the 
+     <literal>sru_z3950</literal> filter.
     </para>
    </section>
    
@@ -902,6 +910,27 @@ Figure out what additional information we need in:
      are passed untouched. 
     </para>
   </section>
+
+
+   <section>
+    <title><literal>zeerex_explain</literal>
+     (mp::filter::ZeerexExplain)</title>
+    <para>
+     This filter acts as a sink for
+     SRU GET/POST/SOAP explain requests, returning a static ZeeReX
+     Explain XML record from the config section. All other packages
+     are passed through, including SRU GET/POST/SOAP searchRetrieve
+     requests, which are handled by a following
+     <literal>sru_z3950</literal> filter.
+     See the 
+     <ulink url="&url.zeerex.explain;">ZeeReX Explain</ulink>
+     standard pages and the 
+     <ulink url="&url.sru.explain;">SRU Explain</ulink> pages
+     for more information on the correct explain syntax.
+    </para>
+   </section>
+   
+
   </section>
   
   
index a006371..c89779f 100644 (file)
@@ -1,6 +1,6 @@
-<!-- $Id: copyright.xml,v 1.1 2006-03-16 13:20:05 adam Exp $ -->
+<!-- $Id: copyright.xml,v 1.2 2007-01-05 10:56:17 marc Exp $ -->
 <refsect1><title>COPYRIGHT</title>
  <para>
-  Copyright (c) 2005-2006, Index Data ApS
+  Copyright (c) 2005-2007, Index Data ApS
  </para>
 </refsect1>
index 8c23ff1..16cf570 100644 (file)
@@ -2,7 +2,7 @@
     "http://www.oasis-open.org/docbook/xml/4.1/docbookx.dtd" [
  <!ENTITY copyright SYSTEM "copyright.xml">
 ]>
-<!-- $Id: sru_z3950.xml,v 1.2 2006-10-12 12:02:19 marc Exp $ -->
+<!-- $Id: sru_z3950.xml,v 1.3 2007-01-05 10:56:17 marc Exp $ -->
 <refentry>
  <refmeta>
   <refentrytitle>sru_z3950</refentrytitle>
@@ -18,7 +18,7 @@
  <refsect1><title>DESCRIPTION</title>
   <para>
    The <literal>sru_z3950</literal> metaproxy filter transforms valid
-   SRU/GET or SRU/SOAP requests to Z3950 requests, and wraps the
+   SRU GET/POST/SOAP requests to Z3950 requests, and wraps the
    received hit counts and XML records into suitable SRU response messages. 
   </para>
   <para>
@@ -33,8 +33,7 @@
    The SRU <literal>explain</literal> operation is not supported. 
    A configuration for a full SRU server needs to prepend the 
    <literal>zeerex_explain</literal> filter in front of this 
-   <literal>sru_z3950</literal> to serve explain requests. This filter
-   still needs to be implemented.
+   <literal>sru_z3950</literal> to serve explain requests.
    </para>
   <para>
    This filter does not handle CQL-to-PQF translations. In case that
diff --git a/doc/zeerex_explain.xml b/doc/zeerex_explain.xml
new file mode 100644 (file)
index 0000000..58ea172
--- /dev/null
@@ -0,0 +1,93 @@
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" 
+    "http://www.oasis-open.org/docbook/xml/4.1/docbookx.dtd" [
+ <!ENTITY copyright SYSTEM "copyright.xml">    
+ <!ENTITY % common SYSTEM "common/common.ent">
+     %common;
+]>
+<!-- $Id: zeerex_explain.xml,v 1.1 2007-01-05 10:56:17 marc Exp $ -->
+<refentry>
+ <refmeta>
+  <refentrytitle>zeerex_explain</refentrytitle>
+  <manvolnum>3mp</manvolnum>
+  <refmiscinfo>Metaproxy Module</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+  <refname>zeerex_explain</refname>
+  <refpurpose>answering SRU web service explain requests</refpurpose>
+ </refnamediv>
+ <refsect1><title>DESCRIPTION</title>
+  <para>
+   The <literal>zeerex_explain</literal> metaproxy filter 
+   answers valid SRU GET/POST/SOAP explain requests, returning a
+   static ZeeReX Explain XML record from the config section. All other
+   packages are passed through. 
+  </para>
+  <para>
+   Multiple database elements defining the names of the accepted
+   databases are allowed in the configuration file. Each
+   of them must contain their own explain record. Notice that explain
+   records come in SRU and Z3950 flavours, and this filter requires
+   the SRU version. See the 
+   <ulink url="&url.zeerex.explain;">ZeeReX Explain</ulink>
+   standard pages and the 
+   <ulink url="&url.sru.explain;">SRU Explain</ulink> pages
+   for more information. 
+  </para>
+  <para> 
+   A configuration for a full SRU server needs to line up a 
+   <literal>zeerex_explain</literal> filter, a
+   <literal>cql_pqf</literal> (not implemented yet) filter, and a  
+   <literal>sru_z3950</literal> after each other.
+   </para>
+ </refsect1>
+
+ <refsect1><title>EXAMPLES</title>
+  <para>
+   A typical configuration looks like this:
+   <screen><![CDATA[
+    <filter type="zeerex_explain">
+      <database name="Default">
+        <explain xmlns="http://explain.z3950.org/dtd/2.0/">
+          ...
+        </explain>
+      </database>
+    </filter>
+]]>
+   </screen>
+  </para>
+ </refsect1> 
+ <refsect1><title>SEE ALSO</title>
+  <para>
+   <citerefentry>
+    <refentrytitle>metaproxy</refentrytitle>
+    <manvolnum>1</manvolnum>
+   </citerefentry>
+  </para>
+  <para> 
+   <ulink url="&url.zeerex.explain;">ZeeReX Explain</ulink>
+  </para>
+  <para>   
+   <ulink url="&url.sru.explain;">SRU Explain</ulink> 
+   </para>
+ </refsect1>
+ &copyright;
+</refentry>
+
+<!-- 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:nil
+sgml-local-catalogs: nil
+sgml-namecase-general:t
+End:
+-->