X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=README;h=47bf2a4d5716ba7fe9ff81756ed47a42d813a221;hp=2597288cfac3125879a8153185dbf2cf714a4a7e;hb=bd6ab82d45c0079d404ec0c325c5f4c8a9ca86e6;hpb=28df1d8cbdbee7b3e9b5a23e340e63c7b852841c diff --git a/README b/README index 2597288..47bf2a4 100644 --- a/README +++ b/README @@ -9,34 +9,47 @@ The primary output of the source here is the lib/libyaz.a library, which contains support functions for implementing the server or client role of Z39.50/SR. -See doc/osi.txt for instructions on how to download and install Peter -Furniss' ThinOSI-implementation, to provide YAZ with OSI support. - Two test-programs of interest are generated when you type 'make' at -the top level. server/ztest and yazlib/cli. Ztest is a dummy database +the top level. server/ztest and client/client. Ztest is a dummy database server which returns canned responses to all queries. It's good for verifying that the protocol works ok, and ztest.c shows a minimalistic implementation of the 'backend' interface. -Cli is a linemode Z39.50 client. It supports a fair amount of the -functionality of Z39.50v2/SR, but some things you need to enable by -recompilation. Its primary purpose is to excersise the package, and +Client is a linemode Z39.50 client. It supports a fair amount of the +functionality of Z39.50v2/SR, but some things you need to enable or disable +by recompilation. Its primary purpose is to excersise the package, and verify that the protocol works OK. It can be started by typing -cli tcp:: +client tcp:: at the UNIX prompt, to connect to a Z39.50 server, or -cli osi:['/']: +client osi:['/']: to connect to an OSI SR target (this requires mOSI-support). To connect to the DANBIB test target, you might use: -cli osi:0103/find2.denet.dk:4500 +client osi:0103/find2.denet.dk:4500 + +Use '?' to get a list of the available commands. + +The current query language is a bit awkward, but functional: + +query ::= complex | simple | attr query. +complex ::= operator query query. +operator ::= '@and' | '@or' | '@not'. +simple ::= term | set. +term ::= | '"' ... '"'. +set ::= '@set' . +attr ::= '@attr' '=' . + +Eg.: -CLI supports CCL-queries, with the mapping between qualifiers and -attribute values specified in the file default.bib in the working -directory. Use '?' to get a list of the available commands. +Andersen + +"Hans Andersen" + +@and @attr 1=1 andersen @attr 1=4 @attr 4=2 duckling The directories: @@ -56,7 +69,7 @@ asn - This module implements the Z39.50/SR protocol. The best way which defines structure and type definitions for each of the types introduced in the protocol specification. -yazlib - This module implements the transport transparency +comstack- This module implements the transport transparency stack (COMSTACK). The comstack implements a generic interface for exchanging BER-encoded records over a network. It supports the 'American' mode of exchanging the records straight over @@ -76,9 +89,18 @@ server - This is the implementation of the server frontend. It and calls the backend primitives (best documentation of these is in the file include/backend.h). See server.txt. +client - A demonstration client. If we come upon a good design for a + higher level client API, that will live here. + include - The various header files. makelib - This is a simple utility that gathers the libraries from the previous modules into libyaz.a. lib - The libraries. Primarily libyaz.a. + +To get more information or assistance, send mail to yaz-help@index.ping.dk. + +We maintain a mailing-list for the purpose of announcing new versions of +the software, bug-reports, discussion etc. You can sign up by sending +mail to yaz-request@index.ping.dk.