Splits Session to GenericSession and ZebraSession where Generic supports any
search backend via the SearchEngine classes and Zebra maintains the direct
channel to the Zebra server.
Adds config files required for mapping BIB-1 attributes to Koha search fields
and SRU indexes to BIB-1 attributes.
Adds PODs.
Sponsored-by: National Library of Finland
Signed-off-by: Stefan Berndtsson <stefan.berndtsson@ub.gu.se>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
This creates a new daemon, misc/z3950_responder.pl, which can respond to
Z39.50 requests. By default, it just proxies searches to Zebra.
If desired, however, it can also add a subfield to the item tags on
outgoing records with a textual description of the item's status
(checked out, lost, etc.). This is useful for certain ILL systems. These
strings can be translated using the 'Z3950_STATUS' authorized value.
Test plan:
1) Start the Z39.50 server using `perl misc/z3950_responder.pl`.
2) Connect to the server using `yaz-client 127.0.0.1:9999/biblios`.
3) Run a search, such as `find @attr 1=1016 book`.
4) Fetch the results both one at a time with `show 1` and in a batch
using `show 1+5`.
5) Turn on MARCXML using `format xml` and `elements marcxml`, and
verify that the records are still correctly fetched.
6) Enable the item status subfield by restarting the server with the
option `--add-item-status=k`.
7) Search for and fetch records, and verify that a $k subfield is
added to the item tags as appropriate. It should show some
combination of "Checked Out", "Lost", "Not For Loan", "Damaged",
"Withdrawn", "In Transit", or "On Hold" as appropriate, or
"Available".
8) Add an authorized value named "Z3950_STATUS" with any of the keys
"AVAILABLE", "CHECKED_OUT", "LOST", "NOT_FOR_LOAN", "DAMAGED",
"WITHDRAWN", "IN_TRANSIT" or "ON_HOLD", and verify that their
descriptions are used instead of the default values above.
Signed-off-by: George Williams <george@nekls.org>
Signed-off-by: Stefan Berndtsson <stefan.berndtsson@ub.gu.se>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>