6f05ddeebb095a43c57d0b7e5bc23ed849fadf52
[metaproxy-moved-to-github.git] / doc / metaproxy.xml
1 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.4//EN"
2     "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
3  <!ENTITY copyright SYSTEM "copyright.xml">
4  <!ENTITY % local SYSTEM "local.ent">
5      %local;
6  <!ENTITY % idcommon SYSTEM "common/common.ent">
7      %idcommon;
8 ]>
9 <refentry id="ref-metaproxy">
10  <refentryinfo>
11   <productname>Metaproxy</productname>
12   <productnumber>&version;</productnumber>
13   <info><orgname>Index Data</orgname></info>
14  </refentryinfo>
15
16  <refmeta>
17   <refentrytitle>metaproxy</refentrytitle>
18   <manvolnum>1</manvolnum>
19   <refmiscinfo class="manual">Commands</refmiscinfo>
20  </refmeta>
21
22  <refnamediv>
23   <refname>metaproxy</refname>
24   <refpurpose>Metaproxy - server</refpurpose>
25  </refnamediv>
26
27  <refsynopsisdiv>
28   <cmdsynopsis>
29    <command>metaproxy</command>
30    <arg choice="opt"><option>--help</option></arg>
31    <arg choice="opt"><option>--version</option></arg>
32    <arg choice="opt"><option>-v <replaceable>loglevel</replaceable></option></arg>
33    <arg choice="opt"><option>--config <replaceable>config</replaceable></option></arg>
34    <arg choice="opt"><option>-D</option></arg>
35    <arg choice="opt"><option>-l <replaceable>logfile</replaceable></option></arg>
36    <arg choice="opt"><option>-m <replaceable>timeformat</replaceable></option></arg>
37    <arg choice="opt"><option>-p <replaceable>pidfile</replaceable></option></arg>
38    <arg choice="opt"><option>-t</option></arg>
39    <arg choice="opt"><option>-u <replaceable>ID</replaceable></option></arg>
40    <arg choice="opt"><option>-w <replaceable>dir</replaceable></option></arg>
41    <arg choice="opt"><option>-X</option></arg>
42   </cmdsynopsis>
43  </refsynopsisdiv>
44
45  <refsect1><title>DESCRIPTION</title>
46
47   <para>
48    <command>metaproxy</command> is the Metaproxy daemon
49   </para>
50
51  </refsect1>
52
53  <refsect1><title>OPTIONS</title>
54
55   <variablelist>
56    <varlistentry>
57     <term>--help</term>
58     <listitem><para>
59       Displays help message.
60      </para></listitem>
61    </varlistentry>
62
63    <varlistentry>
64     <term>--version</term>
65     <listitem><para>
66       Displays Metaproxy version.
67      </para></listitem>
68    </varlistentry>
69
70    <varlistentry>
71     <term>-v <replaceable>loglevel</replaceable></term>
72     <listitem><para>
73      Specify YAZ log level (all, debug, log)
74     </para></listitem>
75    </varlistentry>
76
77    <varlistentry>
78     <term>--config <replaceable>config</replaceable></term>
79     <listitem><para>
80       Specify the configuration.
81      </para></listitem>
82    </varlistentry>
83
84    <varlistentry>
85     <term>-D</term>
86     <listitem><para>
87       Puts Metaproxy in the background after startup.
88      </para></listitem>
89    </varlistentry>
90
91    <varlistentry>
92     <term>-l <replaceable>logfile</replaceable></term>
93     <listitem><para>
94       Specifies YAZ log file.
95      </para></listitem>
96    </varlistentry>
97
98    <varlistentry>
99     <term>-m <replaceable>timeformat</replaceable></term>
100     <listitem><para>
101      Sets the format of time-stamps for all logging performed via yaz_log.
102      Refer to
103        <ulink
104            url="http://pubs.opengroup.org/onlinepubs/009695399/functions/strftime.html">
105        strftime(3)</ulink>
106        man page for the format.
107     </para></listitem>
108    </varlistentry>
109
110    <varlistentry>
111     <term>-p <replaceable>pidfile</replaceable></term>
112     <listitem><para>
113       Specifies file which holds PID after startup.
114      </para></listitem>
115    </varlistentry>
116
117    <varlistentry>
118     <term>-t</term>
119     <listitem><para>
120       Tests configuration. Returns exit code 0 on success; non-zero on failure.
121      </para></listitem>
122    </varlistentry>
123
124    <varlistentry>
125     <term>-u <replaceable>ID</replaceable></term>
126     <listitem><para>
127       Makes Metaproxy changes its identity to ID after startup.
128      </para></listitem>
129    </varlistentry>
130
131    <varlistentry>
132     <term>-w <replaceable>dir</replaceable></term>
133     <listitem><para>
134       Changes working directory to <replaceable>dir</replaceable>.
135      </para></listitem>
136    </varlistentry>
137
138    <varlistentry>
139     <term>-X</term>
140     <listitem><para>
141       Makes Metaproxy operate in debug mode.
142      </para></listitem>
143    </varlistentry>
144
145   </variablelist>
146  </refsect1>
147
148  <refsect1><title>CONFIGURATION</title>
149    <para>Metaproxy's configuration is XML based. All elements
150      should be in namespace <literal>http://indexdata.com/metaproxy</literal>.
151    </para>
152    <para>
153      The root element must be named <literal>metaproxy</literal> and
154      must specify a version. Currently the version must be
155      <literal>1.0</literal>. The children elements of metaproxy
156      are:
157      <variablelist>
158        <varlistentry>
159          <term>dlpath</term>
160          <listitem>
161            <para>
162              Specifies the path for Loadable filter modules
163            </para>
164          </listitem>
165        </varlistentry>
166        <varlistentry>
167          <term>start</term>
168          <listitem>
169            <para>
170              Specifies the start route. Takes a <literal>route</literal>
171              attribute with the name of the route.
172            </para>
173          </listitem>
174        </varlistentry>
175        <varlistentry>
176          <term>filters</term>
177          <listitem>
178            <para>
179              Specifies all filters. Includes one ore more
180              <literal>filter</literal> elements with filter-specific
181              configuration material.
182            </para>
183          </listitem>
184        </varlistentry>
185        <varlistentry>
186          <term>routes</term>
187          <listitem>
188            <para>
189              Specifies all routes. Includes one or more
190              <literal>route</literal> elements. Each <literal>route</literal>
191              in turn includes one or more filter specifications.
192            </para>
193          </listitem>
194        </varlistentry>
195      </variablelist>
196    </para>
197    <para>
198      The configuration is described in more detail in the
199      <ulink url="&url.metaproxy.doc;">Metaproxy manual</ulink>.
200    </para>
201  </refsect1>
202  <refsect1><title>EXAMPLES</title>
203    <para>
204      The configuration below specifies a simple Z39.50 proxy and
205      illustrates most configuration elements of Metaproxy.
206    </para>
207    <screen><![CDATA[
208 <?xml version="1.0"?>
209 <metaproxy xmlns="http://indexdata.com/metaproxy" version="1.0">
210   <dlpath>/usr/local/metaproxy/filters</dlpath>
211   <start route="start"/>
212   <filters>
213     <filter id="frontend" type="frontend_net">
214       <threads>10</threads>
215       <port>@:9000</port>
216     </filter>
217     <filter id="backend" type="z3950_client">
218      <timeout>30</timeout>
219      <default_target>z3950.indexdata.com</default_target>
220     </filter>
221   </filters>
222   <routes>
223     <route id="start">
224       <filter refid="frontend"/>
225       <filter type="log">
226         <message>log</message>
227       </filter>
228       <filter refid="backend"/>
229       <filter type="bounce"/>
230     </route>
231   </routes>
232 </metaproxy>
233 ]]>
234    </screen>
235    <para>
236      Start server with configuration in <filename>my.xml</filename>.
237      <screen>
238        metaproxy --config my.xml
239      </screen>
240    </para>
241  </refsect1>
242
243  <refsect1><title>SCHEMA</title>
244    <literallayout><xi:include
245                      xi:href="../xml/schema/metaproxy.rnc"
246                      xi:parse="text"
247                      xmlns:xi="http://www.w3.org/2001/XInclude" />
248    </literallayout>
249  </refsect1>
250
251  <refsect1><title>FILES</title>
252   <para>
253    None important.
254   </para>
255  </refsect1>
256
257  <refsect1><title>SEE ALSO</title>
258   <para>
259    <citerefentry>
260     <refentrytitle>auth_simple</refentrytitle>
261     <manvolnum>3mp</manvolnum>
262    </citerefentry>,
263    <citerefentry>
264     <refentrytitle>backend_test</refentrytitle>
265     <manvolnum>3mp</manvolnum>
266    </citerefentry>,
267    <citerefentry>
268     <refentrytitle>bounce</refentrytitle>
269     <manvolnum>3mp</manvolnum>
270    </citerefentry>,
271    <citerefentry>
272     <refentrytitle>frontend_net</refentrytitle>
273     <manvolnum>3mp</manvolnum>
274    </citerefentry>,
275    <citerefentry>
276     <refentrytitle>http_file</refentrytitle>
277     <manvolnum>3mp</manvolnum>
278    </citerefentry>,
279    <citerefentry>
280     <refentrytitle>log</refentrytitle>
281     <manvolnum>3mp</manvolnum>
282    </citerefentry>,
283    <citerefentry>
284     <refentrytitle>multi</refentrytitle>
285     <manvolnum>3mp</manvolnum>
286    </citerefentry>,
287    <citerefentry>
288     <refentrytitle>query_rewrite</refentrytitle>
289     <manvolnum>3mp</manvolnum>
290    </citerefentry>,
291    <citerefentry>
292     <refentrytitle>record_transform</refentrytitle>
293     <manvolnum>3mp</manvolnum>
294    </citerefentry>,
295    <citerefentry>
296     <refentrytitle>session_shared</refentrytitle>
297     <manvolnum>3mp</manvolnum>
298    </citerefentry>,
299    <citerefentry>
300     <refentrytitle>sru_z3950</refentrytitle>
301     <manvolnum>3mp</manvolnum>
302    </citerefentry>,
303    <citerefentry>
304     <refentrytitle>template</refentrytitle>
305     <manvolnum>3mp</manvolnum>
306    </citerefentry>,
307    <citerefentry>
308     <refentrytitle>virt_db</refentrytitle>
309     <manvolnum>3mp</manvolnum>
310    </citerefentry>,
311    <citerefentry>
312     <refentrytitle>z3950_client</refentrytitle>
313     <manvolnum>3mp</manvolnum>
314    </citerefentry>.
315   </para>
316   <para>
317    The Metaproxy
318    <ulink url="&url.metaproxy.doc;">manual</ulink>.
319   </para>
320  </refsect1>
321
322  &copyright;
323
324 </refentry>
325
326 <!-- Keep this comment at the end of the file
327 Local variables:
328 mode: nxml
329 nxml-child-indent: 1
330 End:
331 -->