From: Adam Dickmeiss Date: Mon, 29 Mar 2004 20:00:07 +0000 (+0000) Subject: Rename a few files X-Git-Tag: YAZPP.0.8~44 X-Git-Url: http://jsfdemo.indexdata.com/cgi-bin?a=commitdiff_plain;h=779c379c70bf479073cc4968f6bf5ad35ffe6eec;p=yazpp-moved-to-github.git Rename a few files --- diff --git a/ChangeLog b/ChangeLog deleted file mode 100644 index 7564a76..0000000 --- a/ChangeLog +++ /dev/null @@ -1,103 +0,0 @@ ---- 0.7.12 2004/03/17 Internal release. - -Force libXSLT to reports errors to log file (similar to libXML2). - -Update voyager.xml and pqf.properties to use info: URIs. - -Fixed handling of omitted referenceIDs. - ---- 0.7.11 2004/03/01 Internal release. - -Fix pre_init to prevent spawn if it is already queued. - ---- 0.7.10 2004/02/27 Internal release. - -Make workaround for FILE handles for libxml2 on Solaris where -maximum is 256 on 32-bit systems. Unix fd handles are OK. - -Revise proxy algorithm for backend target selection. - ---- 0.7.9 2004/02/25 Internal release. - -Deal with init message sizes for reuse sessions. - -Add implemenation of zlint. Z39.50 utility that checks for common errors -on servers. Ala UNIX' lint. - ---- 0.7.8 2004/02/16 Internal release. - -For yaz-proxy, allow maximum number of files to be specified (setrlimit) with -option -n for yaz-proxy. Log the number of max files with getrlimit always. - -For yaz-proxy, fixed SEGV bug that occured when duplicate init requests was received and no cached init response was available. - -For yaz-proxy, added MODS version 3 conversion, MARC21slim2MODS3.xsl. -Updated voyager.xml, config.xml to use it. Default "mods" is still MODS v2. - ---- 0.7.7 2004/02/10 Internal release. - -Make proxy perform keepalive when receiving SIGBUS. - -For yaz-proxy, fixed problem with fixup of referenceId's. - ---- 0.7.6 2004/02/05 Internal release. - -For yaz-proxy, force correct referenceID's. - -For yaz-proxy, log libxml2/libxslt errors in yaz log. - -Update yaz-proxy to work with SRW diagnostic code as a URI/string. - -Proxy now throws 'unsupported transfer syntax' / 'unsupported ESN' properly. - -For yaz-proxy, multiple explain records may exist for one target. -Proxy checks contents of database element in explain record to -validate database. - ---- 0.7.5 2004/01/15 Internal release. - -Fixes for Z39.50 options / version. - -Fixes for XML formatting for stylesheet conversions. - ---- 0.7.4 2004/01/07 Internal release. - -SRW/SRU gateway for yaz-proxy. - -Schema conversion - ---- 0.6 2003/09/04 Third release - -Fixed handling of cookies so they can be of any length. - -Proxy caches records. - -Various C++ fixes for GCC 3.2. - -Proxy now closes socket when Close PDU is received from target. - -Proxy does keep alive of sockets for anonymous sessions. - -Bug fix: in some cases the Proxy could issue a Present Request -which was out of range (code 13). - -New autoconf m4 macro in yazpp.m4. - -Fix creation of src/yaz++-config so that it works if srcdir != objdir. - -Fixes for yaz++-config for libtool archives. - ---- 0.5 2002/11/04 Second release - -Fix Windows compile. - -Remove private extended service (URSULA) - ---- 0.4 2002/10/24 First official release - -Documentation! - -Added ZOOM C++ binding. - ---- 0.3 2002/10/04 Internal release. - diff --git a/Makefile.am b/Makefile.am index a7d9a15..130a1b7 100644 --- a/Makefile.am +++ b/Makefile.am @@ -5,7 +5,7 @@ SUBDIRS = src include zlint zoom etc doc aclocaldir=$(datadir)/aclocal aclocal_DATA = yazpp.m4 -EXTRA_DIST= LICENSE README.txt TODO ChangeLog yaz++-config.in yazpp.m4 +EXTRA_DIST= LICENSE TODO yaz++-config.in yazpp.m4 dist-hook: cp -R $(srcdir)/win $(distdir) diff --git a/NEWS b/NEWS new file mode 100644 index 0000000..7564a76 --- /dev/null +++ b/NEWS @@ -0,0 +1,103 @@ +--- 0.7.12 2004/03/17 Internal release. + +Force libXSLT to reports errors to log file (similar to libXML2). + +Update voyager.xml and pqf.properties to use info: URIs. + +Fixed handling of omitted referenceIDs. + +--- 0.7.11 2004/03/01 Internal release. + +Fix pre_init to prevent spawn if it is already queued. + +--- 0.7.10 2004/02/27 Internal release. + +Make workaround for FILE handles for libxml2 on Solaris where +maximum is 256 on 32-bit systems. Unix fd handles are OK. + +Revise proxy algorithm for backend target selection. + +--- 0.7.9 2004/02/25 Internal release. + +Deal with init message sizes for reuse sessions. + +Add implemenation of zlint. Z39.50 utility that checks for common errors +on servers. Ala UNIX' lint. + +--- 0.7.8 2004/02/16 Internal release. + +For yaz-proxy, allow maximum number of files to be specified (setrlimit) with +option -n for yaz-proxy. Log the number of max files with getrlimit always. + +For yaz-proxy, fixed SEGV bug that occured when duplicate init requests was received and no cached init response was available. + +For yaz-proxy, added MODS version 3 conversion, MARC21slim2MODS3.xsl. +Updated voyager.xml, config.xml to use it. Default "mods" is still MODS v2. + +--- 0.7.7 2004/02/10 Internal release. + +Make proxy perform keepalive when receiving SIGBUS. + +For yaz-proxy, fixed problem with fixup of referenceId's. + +--- 0.7.6 2004/02/05 Internal release. + +For yaz-proxy, force correct referenceID's. + +For yaz-proxy, log libxml2/libxslt errors in yaz log. + +Update yaz-proxy to work with SRW diagnostic code as a URI/string. + +Proxy now throws 'unsupported transfer syntax' / 'unsupported ESN' properly. + +For yaz-proxy, multiple explain records may exist for one target. +Proxy checks contents of database element in explain record to +validate database. + +--- 0.7.5 2004/01/15 Internal release. + +Fixes for Z39.50 options / version. + +Fixes for XML formatting for stylesheet conversions. + +--- 0.7.4 2004/01/07 Internal release. + +SRW/SRU gateway for yaz-proxy. + +Schema conversion + +--- 0.6 2003/09/04 Third release + +Fixed handling of cookies so they can be of any length. + +Proxy caches records. + +Various C++ fixes for GCC 3.2. + +Proxy now closes socket when Close PDU is received from target. + +Proxy does keep alive of sockets for anonymous sessions. + +Bug fix: in some cases the Proxy could issue a Present Request +which was out of range (code 13). + +New autoconf m4 macro in yazpp.m4. + +Fix creation of src/yaz++-config so that it works if srcdir != objdir. + +Fixes for yaz++-config for libtool archives. + +--- 0.5 2002/11/04 Second release + +Fix Windows compile. + +Remove private extended service (URSULA) + +--- 0.4 2002/10/24 First official release + +Documentation! + +Added ZOOM C++ binding. + +--- 0.3 2002/10/04 Internal release. + diff --git a/README b/README new file mode 100644 index 0000000..c4124fd --- /dev/null +++ b/README @@ -0,0 +1,144 @@ +YAZ++ - A C++ library for YAZ + +$Id: README,v 1.1 2004-03-29 20:00:07 adam Exp $ + + +Introduction +------------ + +YAZ++ is a C++ layer for YAZ and implements the ANSI Z39.50 +protocol for information retrieval (client and server side). +The YAZ++ homepage is: http://www.indexdata.dk/yaz++/ + +YAZ++ uses the same license as YAZ - see LICENSE file for details. + +Documentation +------------- + +Directory sub contains documentation in HTML and PDF. You can +also read it online at http://www.indexdata.dk/yaz++/ + +Overview +-------- + +YAZ++ builds a programmers' library libyaz++.lib and a few +example applications: + + yaz-my-client basic client + yaz-my-server basic server + yaz-proxy Z39.50/SRW/SRU proxy. + +Directory structure of the YAZ++ package: + + -- src (C++ library and proxy source) + -- zoom (C++ source for ZOOM) + -- include/yaz++ (C++ headers) + -- lib (compiled libraries) + -- win (Windows build files) + -- doc (DocBook-format documentation) + +Installation, Unix +------------------ + +Make sure you have a C and C++ compiler available. gcc and g++ work fine. + +Before compilation can take place YAZ must be installed. It goes, roughly, +like this: + + $ cd yaz- + $ ./configure + $ make + $ su + # make install + $ ^D + $ cd .. + +The YAZ proxy uses a configuration file in XML and libxml2 and libxslt +is required in order for the config facility to work. Many systems already +have libxml2/libxslt installed. In that, case remember to get the devel +version of that as well (not just the runtime). Libxml2/libxslt can also be +compiled easily on most systems. See http://www.xmlsoft.org/ for more +information. + +Then, build YAZ++: + + $ cd yaz++- + $ ./configure + $ make + +If you do have libxslt installed and configure above does not find it, +use option --with-xslt=PREFIX to specify location of libxslt and libxml2. +yaz++ configure looks for PREFIX/bin/xslt-config. + +Installation, Windows +--------------------- + +YAZ++ for WIN32 should run on Windows 95/98/2K and Windows NT 4.0. +Yaz++ was built using Microsoft Visual C++ 6.0. Other compilers +should work but makefile/project files will have to be created for +those compilers. + + Workspace yazxx.dsw includes the projects + yazxx.dsp - builds yazxx.dll + yazclient.dsp - builds yazmyclient.exe + yazserver.dsp - builds yazmyserver.exe + yazproxy.dsp - builds yazproxy.exe + + +About the proxy +--------------- + +For the proxy the actual target is determined in by the OtherInfo +part of the InitRequest. We've defined an OID for this which we call +PROXY. The OID is 1.2.840.10003.10.1000.81.1. + + OtherInformation ::= [201] IMPLICIT SEQUENCE OF SEQUENCE{ + category [1] IMPLICIT InfoCategory OPTIONAL, + information CHOICE{ + characterInfo [2] IMPLICIT InternationalString, + binaryInfo [3] IMPLICIT OCTET STRING, + externallyDefinedInfo [4] IMPLICIT EXTERNAL, + oid [5] IMPLICIT OBJECT IDENTIFIER}} +-- + InfoCategory ::= SEQUENCE{ + categoryTypeId [1] IMPLICIT OBJECT IDENTIFIER OPTIONAL, + categoryValue [2] IMPLICIT INTEGER} + +The InfoCategory is present with categoryTypeId set to the PROXY OID +and categoryValue set to 0. The information in OtherInformation uses +characterInfo to represent the target using the form target[:port][/db]. + +For clients that don't set the PROXY OtherInformation, a default +target can be specified using option -t for proxy. + +Example: + We start the proxy so that it listens on port 9000. The default + target is Bell Labs Library unless it is overridden by a client in + the InitRequest. + + $ ./yaz-proxy -t z3950.bell-labs.com/books @:9000 + + The client is started and talks to the proxy without specifying + a target. Hence this client will talk to the Bell Labs server. + + $ ./yaz-client localhost:9000 + + The client is started and it specifies the actual target itself. + + $ ./yaz-client -p localhost:9000 bagel.indexdata.dk/gils + + For ZAP the equivalent would be + proxy=localhost:9000 + target=bagel.indexdata.dk/gils + Simple, huh! + + +ZOOM-C++ +-------- + +The ZOOM library in this distribution implements the ZOOM C++ binding +described on the ZOOM web-site at + http://zoom.z3950.org/bind/cplusplus/index.html +It provides a simple but powerful API for constructing Z39.50 client +applications. See the documentation in doc/zoom.xml for much more +information. diff --git a/README.txt b/README.txt deleted file mode 100644 index 5e14882..0000000 --- a/README.txt +++ /dev/null @@ -1,145 +0,0 @@ -YAZ++ - A C++ library for YAZ - -$Id: README.txt,v 1.14 2004-01-07 11:49:03 adam Exp $ - - -Introduction ------------- - -YAZ++ is a C++ layer for YAZ and implements the ANSI Z39.50 -protocol for information retrieval (client and server side). -The YAZ++ homepage is: http://www.indexdata.dk/yaz++/ - -YAZ++ uses the same license as YAZ - see LICENSE file for details. - -Documentation -------------- - -Directory sub contains documentation in HTML and PDF. You can -also read it online at http://www.indexdata.dk/yaz++/ - -Overview --------- - -YAZ++ builds a programmers' library libyaz++.lib and a few -example applications: - - yaz-my-client basic client - yaz-my-server basic server - yaz-proxy not-so-basic proxy server - -Directory structure of the YAZ++ package: - - -- src (C++ library and proxy source) - -- zoom (C++ source for ZOOM) - -- include/yaz++ (C++ headers) - -- lib (compiled libraries) - -- win (Windows build files) - -- doc (DocBook-format documentation) - - -Installation, Unix ------------------- - -Make sure you have a C and C++ compiler available. gcc and g++ work fine. - -Before compilation can take place YAZ must be installed. It goes, roughly, -like this: - - $ cd yaz- - $ ./configure - $ make - $ su - # make install - $ ^D - $ cd .. - -The YAZ proxy uses a configuration file in XML and libxml2 and libxslt -is required in order for the config facility to work. Many systems already -have libxml2/libxslt installed. In that, case remember to get the devel -version of that as well (not just the runtime). Libxml2/libxslt can also be -compiled easily on most systems. See http://www.xmlsoft.org/ for more -information. - -Then, build YAZ++: - - $ cd yaz++- - $ ./configure - $ make - -If you do have libxslt installed and configure above does not find it, -use option --with-xslt=PREFIX to specify location of libxslt and libxml2. -yaz++ configure looks for PREFIX/bin/xslt-config. - -Installation, Windows ---------------------- - -YAZ++ for WIN32 should run on Windows 95/98/2K and Windows NT 4.0. -Yaz++ was built using Microsoft Visual C++ 6.0. Other compilers -should work but makefile/project files will have to be created for -those compilers. - - Workspace yazxx.dsw includes the projects - yazxx.dsp - builds yazxx.dll - yazclient.dsp - builds yazmyclient.exe - yazserver.dsp - builds yazmyserver.exe - yazproxy.dsp - builds yazproxy.exe - - -About the proxy ---------------- - -For the proxy the actual target is determined in by the OtherInfo -part of the InitRequest. We've defined an OID for this which we call -PROXY. The OID is 1.2.840.10003.10.1000.81.1. - - OtherInformation ::= [201] IMPLICIT SEQUENCE OF SEQUENCE{ - category [1] IMPLICIT InfoCategory OPTIONAL, - information CHOICE{ - characterInfo [2] IMPLICIT InternationalString, - binaryInfo [3] IMPLICIT OCTET STRING, - externallyDefinedInfo [4] IMPLICIT EXTERNAL, - oid [5] IMPLICIT OBJECT IDENTIFIER}} --- - InfoCategory ::= SEQUENCE{ - categoryTypeId [1] IMPLICIT OBJECT IDENTIFIER OPTIONAL, - categoryValue [2] IMPLICIT INTEGER} - -The InfoCategory is present with categoryTypeId set to the PROXY OID -and categoryValue set to 0. The information in OtherInformation uses -characterInfo to represent the target using the form target[:port][/db]. - -For clients that don't set the PROXY OtherInformation, a default -target can be specified using option -t for proxy. - -Example: - We start the proxy so that it listens on port 9000. The default - target is Bell Labs Library unless it is overridden by a client in - the InitRequest. - - $ ./yaz-proxy -t z3950.bell-labs.com/books @:9000 - - The client is started and talks to the proxy without specifying - a target. Hence this client will talk to the Bell Labs server. - - $ ./yaz-client localhost:9000 - - The client is started and it specifies the actual target itself. - - $ ./yaz-client -p localhost:9000 bagel.indexdata.dk/gils - - For ZAP the equivalent would be - proxy=localhost:9000 - target=bagel.indexdata.dk/gils - Simple, huh! - - -ZOOM-C++ --------- - -The ZOOM library in this distribution implements the ZOOM C++ binding -described on the ZOOM web-site at - http://zoom.z3950.org/bind/cplusplus/index.html -It provides a simple but powerful API for constructing Z39.50 client -applications. See the documentation in doc/zoom.xml for much more -information. diff --git a/TODO b/TODO index 5163c35..ec32af5 100644 --- a/TODO +++ b/TODO @@ -1,23 +1,27 @@ -Proxy doesn't do well, if preferredRecordSyntax is not set. +- Proxy doesn't do well, if preferredRecordSyntax is not set. -Per database config. +- Per database config. -Control the various optimizations with config.. +- More control the various optimizations with config.. query match record caching fix-up reference ID pre-init keepalive - -1 reinit. -Live status (via search, present). +- Live status (via search, present). -Possible threading. +- Possible threading. -Character set conversion for SRW queries. +- Honor record XPath. -Throw proper CQL conversion error. +- Character set negotiation. -Honor XPath. +- Character set conversion for SRW queries. + +- MARC in UTF-8. + +- Auto generate Explain indexInfo from cql.properties .. Or generate + cql.properties from Explain (to reduce duplicate info). diff --git a/zlint/Makefile.am b/zlint/Makefile.am index 3bb7ea0..20d2c9c 100644 --- a/zlint/Makefile.am +++ b/zlint/Makefile.am @@ -1,4 +1,4 @@ -## $Id: Makefile.am,v 1.4 2004-03-25 23:14:07 adam Exp $ +## $Id: Makefile.am,v 1.5 2004-03-29 20:00:07 adam Exp $ AM_CXXFLAGS = $(YAZINC) -I$(srcdir)/../include $(XSLT_CFLAGS) @@ -15,6 +15,6 @@ zlint_SOURCES=zlint.cpp zlint.h \ test-scan-01.cpp \ main.cpp -bin_PROGRAMS = zlint +noinst_PROGRAMS = zlint LDADD=../src/libyazcpp.la $(YAZLALIB) $(XSLT_LIBS)