X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=README;h=0fce06f8494bf8ba33f14e3bb7abcef05915be42;hp=01aab1e12aedafe8db629ef8546d1288810f9ff8;hb=8cb8947e3a7bff4dbf8f124871cb4905df1adce7;hpb=6517fa53d35512887780fd07de5667940da18a9e diff --git a/README b/README index 01aab1e..0fce06f 100644 --- a/README +++ b/README @@ -1,121 +1,46 @@ +YAZ toolkit - * Copyright (C) 1995-1997, Index Data. - * See the file LICENSE for details. - * Sebastian Hammer, Adam Dickmeiss +Copyright (C) 1995-2015 Index Data. +See the file LICENSE for details. -Compilation and installation for YAZ +The primary output of the source here is the YAZ library, which +contains support functions for implementing the server or client +role of Z39.50 and SRU. -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. +On Unix, GNU configure is used to configure YAZ and generate Makefiles. +Type "./configure", then "make" to build YAZ. Read +doc/installation.unix.html for details. -Windows programmers: refer to the file MSVC.txt which describes -how to compile the software using Microsoft Visual C++. +On Windows, a MS Visual Studio makefile is provided (nmake). The commands + cd \win + nmake +should do. Refer to doc/installation.win32.html for details. -Two test-programs of interest are generated when you type 'make' at -the top level: ztest/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. +Note: If you are using the Git snapshot of YAZ you must have autoconf, +automake, libtool and xsltproc installed. Before running configure, create +support files by running buildconf.sh in the top-level directory of YAZ. -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 +In any case refer to the documentation in sub directory doc or read +it online at http://www.indexdata.com/yaz/ -client tcp:: +File organisation: -at the UNIX prompt, to connect to a Z39.50 server, or +doc Documentation. -client osi:['/']: +src Source for the YAZ library. -to connect to an OSI SR target (this requires mOSI-support). To connect to -the DANBIB test target, you might use: +util Utility programs, ASN.1 compiler, MARC dump utility, and others. -client osi:0103/find2.denet.dk:4500 +client A demonstration client for testing the protocol. It's bug'n + ugly. But, it supports many features. -Use '?' to get a list of the available commands. +ztest A demonstration server that implements a backend. -The current query language is a bit awkward, but functional: +etc Various configuration files. -query ::= ['@attrset' ] rpn -rpn ::= complex | simple | attr rpn -complex ::= operator rpn rpn -operator ::= '@and' | '@or' | '@not' | '@prox' proximity -simple ::= term | set. -term ::= | '"' ... '"'. -set ::= '@set' . -attr ::= '@attr' [] '=' . -proximity ::= exclusion distance ordered relation which unit -exclusion ::= '1' | '0' | 'void' -distance ::= -ordered ::= '1' | '0' -relation ::= -which ::= 'known' | 'private' -unit ::= +include/yaz The various header files. -Eg.: +To get more information or assistance, send mail to yaz-help@indexdata.dk. +Even better, sign on to the YAZ mailing list here: +http://lists.indexdata.dk/cgi-bin/mailman/listinfo/yazlist -Andersen - -"Hans Andersen" - -@and @attr 1=1 andersen @attr 1=4 @attr 4=2 duckling - -@attrset Bib-1 @and @attr GILS 2=2008 Washington @attr 1=21 weather - -The directories: - -doc - Documentation. - -util - Various little utility functions. Logging, memory debugging, - primitive ISO 2709 presentation for the client, etc. - -odr - Open Data Representation. This module implements the BER - encoding rules. Documentation is found in the files odr-use.man - and odr.txt. - -asn - This module implements the Z39.50/SR protocol. The best way - to find out how it works is to look in the sample - client/server code in server/seshigh.c or yazlib/tst.c. The - interface is still wholly described by the file proto.h - which defines structure and type definitions for each of the - types introduced in the protocol specification. - -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 - TCP/IP, and uses Peter Furniss' XTIMOSI package over RFC1006. - Look for documentation in the file comstack.man. - -rfc1006 - Xtimosi requires an implementation of the OSI transport - layer with an XTI-based API. Some systems (HP and DEC, - notably) provide this. For others, we provide an - implementation of the RFC1006 protocol (which is what - ISODE-based implementations often use). This module is not - neeeded if you don't use xtimosi, and it's not included in the - libyaz.a library. - -server - This is the implementation of the server frontend. It - provides event-handling and server managament functions, - 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. - -ztest - A demonstration server that implements a backend. - -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.