Beef up documentation for multi, virt_db
authorAdam Dickmeiss <adam@indexdata.dk>
Wed, 8 Jul 2009 13:14:15 +0000 (15:14 +0200)
committerAdam Dickmeiss <adam@indexdata.dk>
Wed, 8 Jul 2009 13:14:15 +0000 (15:14 +0200)
doc/multi.xml
doc/virt_db.xml

index 1c419eb..e4ec619 100644 (file)
   <para>
    This filter multiplexes packages.
   </para>
- </refsect1>
- <refsect1><title>EXAMPLES</title>
   <para>
-   A typical configuration looks like this:
-   <screen><![CDATA[
-    <filter type="multi">
-    </filter>
-]]>
-   </screen>
+   The multi filter consists of zero or more
+   <literal>&lt;target&gt;</literal> elements.
+   If a target matches a given target specified as CDATA in the
+   target element, the multi filter will route traffic to the route
+   given by the route attribute.
+  </para>
+  <para>
+   A target element is not required for multi-plexing to work.
+   It merely serves as a way to route differently. 
   </para>
   <para>
    If an empty
    but simply ignored (unless every one of the databases is
    unavailable).
   </para>
+ </refsect1>
+ <refsect1><title>EXAMPLES</title>
+  <para>
+   A typical configuration looks like this:
+   <screen><![CDATA[
+    <filter type="multi">
+     <target route="route1">z3950.loc.gov:7090/voyager</target>
+     <target route="route2">bagel.indexdata.dk/gils</target>
+     <target route="other">*</target>
+    </filter>
+]]>
+   </screen>
+  </para>
+
  </refsect1> 
  
  <refsect1><title>SEE ALSO</title>
index 9749f84..1fbdf96 100644 (file)
  <refsect1><title>DESCRIPTION</title>
   <para>
    This filter allows one Z39.50 database to be me mapped to
-   another target; or even multiple targets..
+   another target; or even multiple targets.
+  </para>
+  <para>
+   The configuration of virt_db consists of zero or more 
+   <literal>&lt;virtual&gt;</literal> elements each describing the
+   Z39.50 virtual database recognized.
+   The name of the database is the text content of the
+   <literal>&lt;database&gt;</literal> element which should be
+   first element inside th virtual section.
+  </para>
+  <para>
+   Following that is one or more <literal>&lt;target&gt;</literal>
+   elements with the identifier of each target that the virtual database
+   maps to.
+  </para>
+  <para>
+   If multiple targets are given that has special meaning depending on the
+   filter following virt_db. If the following filter is load_balance, then
+   the load_balance filter will load balance between the targets given
+   (assuming they serve same content). If the following filter is multi,
+   then results will be merged from all targets instead.
+  </para>
+  <para>
+   The z3950_filter, on the other hand, does not support multiple targets.
+  </para>
+  <para>
+   For <literal>&lt;virtual&gt;</literal> a route may be given as
+   an attribute. This will make Metaproxy route traffic to the route
+   given. Note that virtual databases may not be combined if all
+   databases do not result in the same routing.
   </para>
  </refsect1>
  
  <refsect1><title>EXAMPLES</title>
   <para>
-   A typical configuration looks like this:
+   Consider this virt_db configuration:
    <screen><![CDATA[
     <filter type="virt_db">
       <virtual>
         <target>indexdata.com/gils</target>
         <target>localhost:9999/Default</target>
       </virtual>
+      <virtual route="special">
+        <database>db3</database>
+        <target>indexdata.com/special</target>
+      </virtual>
     </filter>
 ]]>
    </screen>
+   This will offer 4 databases, <literal>db1</literal>, 
+   <literal>db2</literal>, <literal>combined</literal> and
+   <literal>db3</literal>. If a Z39.50 specifies <literal>db1</literal>
+   and <literal>db2</literal> that will have same effect as specifying
+   the single database <literal>combined</literal>.
+  </para>
+  <para>
+   Since <literal>db3</literal> routes differently from the other databases,
+   this database may not be combined with the others.
   </para>
  </refsect1> 
  
     <refentrytitle>multi</refentrytitle>
     <manvolnum>3mp</manvolnum>
    </citerefentry>
+   <citerefentry>
+    <refentrytitle>load_balance</refentrytitle>
+    <manvolnum>3mp</manvolnum>
+   </citerefentry>
   </para>
  </refsect1>