a1e3f889226e191c004d0c3e5bee1b4920e1f44a
[ZOOM-Perl-moved-to-github.git] / samples / README
1 $Id: README,v 1.6 2006-04-07 13:06:13 mike Exp $
2
3 This area contains sample programs that exercise all three of the APIs
4 supported by this module.  The programs for each API are contained in
5 separate subdirectories:
6
7 net-z3950-zoom -- Test programs using the low-level Net::Z3950::ZOOM
8         API, which is an as-literal-as-possible translation of the
9         ZOOM-C API.  You should almost certainly not bother reading
10         these programs: they are for the benefit of the module
11         maintainers.
12
13 zoom -- Test programs using the object-oriented ZOOM interface, which
14         is a nice, Perlish interpretation of the ZOOM abstract API as
15         documented at http://zoom.z3950.org/api/
16
17 net-z3950 -- Test programs using the obsolescent Net::Z3950 interface,
18         which is provided by this distribution as a plug-compatible
19         replacement for the old Net::Z3950 module.  There is no reason
20         to use this API unless you are maintaining an existing
21         application that uses Net::Z3950.
22
23 In general, each sample program exists in a different version in all
24 three directories, under the same name in each.  The programs are:
25
26 zoomtst1.pl -- A direct translation of the "zoomtst1.c" application
27         from the YAZ distribution, except that these versions go on to
28         fetch the records that they find, whereas the C version is
29         satisfied just to get the hit count.
30
31 zoomtst3.pl -- A direct translation of the "zoomtst3.c" application
32         from the YAZ distribution -- simultaneous search of multiple
33         targets.  Pretty cool :-)
34
35 async.pl -- A slightly cleverer version of "zoomtst3.pl" which takes
36         advantage of the new END element introduced in YAZ 2.1.17 to
37         display each server's records as soon as they have been
38         received, rather than waiting until all servers have finished
39         their jobs as in every previous ZOOM-based multiplexer.
40
41 update.pl -- Create a new database and add a record to it.
42
43 In addition, this "sample" directory contains sample records that are
44 used by the test-suite to exercise the update functionality.  These
45 are found in the "records" subdirectory.  It also provides a
46 CQL-to-PQF mapping file (copied blindly from the one in the YAZ
47 distribution), found in the "cql" directory.