en:user_advanced:z3950
Differences
This shows you the differences between two versions of the page.
Next revisionBoth sides next revision | |||
en:user_advanced:z3950 [2014/04/13 23:52] – external edit 127.0.0.1 | en:user_advanced:z3950 [2018/03/26 01:29] – [Known Problems/Issues list] kjdon | ||
---|---|---|---|
Line 144: | Line 144: | ||
* **The Z39.50 client will not work when fast-cgi is used**. Currently, the use of the fast-cgi package (off by default) will disable the use of the Z39.50 client code for Greenstone. | * **The Z39.50 client will not work when fast-cgi is used**. Currently, the use of the fast-cgi package (off by default) will disable the use of the Z39.50 client code for Greenstone. | ||
* When viewing a Z39.50 " | * When viewing a Z39.50 " | ||
+ | |||
+ | ===== About z39.50 ===== | ||
+ | |||
+ | Sometimes, the best explanation is the simplest one. Z39.50 is a network protocol that provides | ||
+ | access to information systems. | ||
+ | |||
+ | Z39.50 was originally developed to meet the needs of libraries to integrate their online catalog | ||
+ | systems. It has since been adopted by various other domains, and it remains arguably the most | ||
+ | flexible, versatile and efficient information retrieval around. It is also open; the specification | ||
+ | can be downloaded freely from the net. | ||
+ | |||
+ | It has been considered complex by some, but its flexibility is mostly derived from the fact that it | ||
+ | is a fairly complete model of the task if information retrieval -- and from that follows a certain | ||
+ | measure of complexity. | ||
+ | |||
+ | We still consider Z39.50 to be an important building block in the construction of information | ||
+ | architectures, | ||
+ | minimising the complexity of Z39.50 by providing well-designed toolkits for programmers wishing to | ||
+ | implement the protocol. You'll find much more information about our tools under the software page. | ||
+ | |||
+ | ===== About YAZ ===== | ||
+ | |||
+ | YAZ stands for Yet Another Z39.50 toolkit. | ||
+ | |||
+ | YAZ is a compact toolkit that provides access to the Z39.50 and SRW/SRU protocols, as well as a | ||
+ | set of higher-level tools for implementing the server and client roles, respectively. The documentation | ||
+ | can be used on its own, or as a reference when looking at the example applications provided with | ||
+ | the package. | ||
+ | |||
+ | === How to make apps using YAZ on UNIX === | ||
+ | |||
+ | http:// | ||
+ | |||
+ | This section describes how to compile - and link your own applications using the YAZ toolkit. | ||
+ | If you're used to Makefiles this shouldn' | ||
+ | you have to set a proper include path for your C/C++ compiler and specify the location of YAZ | ||
+ | libraries. You can do it by hand, but generally we suggest you use the yaz-config that is generated | ||
+ | by configure. This is especially important if you're using the threaded version of YAZ which requires | ||
+ | you to pass more options to your linker/ | ||
+ | |||
+ | The yaz-config script accepts command line options that makes the yaz-config script print options that | ||
+ | you should use in your make process. The most important ones are: --cflags, --libs which prints C compiler | ||
+ | flags, and linker flags respectively. | ||
+ | |||
+ | A small and complete Makefile for a C application consisting of one source file, myprog.c, may look | ||
+ | like this: | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | $ (CC) $(CFLAGS) -o myprog myprog.o $(LIBS) | ||
+ | |||
+ | The CFLAGS variable consists of a C compiler directive that will set the include path to the parent | ||
+ | directory of yaz. That is, if YAZ header files were installed in / | ||
+ | path is set to / | ||
+ | # include < | ||
+ | and not | ||
+ | # include < | ||
+ | |||
+ | For Libtool users, the yaz-config script provides a different variant of option --libs, called | ||
+ | --lalibs that returns the name of the Libtool acrhive(s) for YAZ rather than the ordinary ones. | ||
+ | |||
+ | For applications using the threaded version of YAZ, specify threads after the other options. When | ||
+ | threads is given, more flags and linker flags will be printed by yaz-config. If our previous example | ||
+ | was using threads, you'd have to modify the lines that set CFLAGS and LIBS as follows: | ||
+ | | ||
+ | | ||
+ | |||
+ | There is no need specify POSIX thread libraries in your Makefile. The LIBS variable includes that | ||
+ | as well. |
en/user_advanced/z3950.txt · Last modified: 2023/03/13 01:46 by 127.0.0.1