User Tools

Site Tools


en:user_advanced:z3950

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
en:user_advanced:z3950 [2018/03/26 01:29] – [Known Problems/Issues list] kjdonen:user_advanced:z3950 [2023/03/13 01:46] (current) – external edit 127.0.0.1
Line 1: Line 1:
 +
 +
 +
 ====== Z39.50====== ====== Z39.50======
 **[[http://www.loc.gov/z3950/agency/|Z39.50]]** is an international client/server protocol for searching bibliographic data. It can use the Internet Protocol (TCP/IP), which makes the databases on a server available from almost anywhere around the globe. It is widely used, for example, in on-line library catalogues. It allows a user to search one or more databases and retrieve the results of the query. **[[http://www.loc.gov/z3950/agency/|Z39.50]]** is an international client/server protocol for searching bibliographic data. It can use the Internet Protocol (TCP/IP), which makes the databases on a server available from almost anywhere around the globe. It is widely used, for example, in on-line library catalogues. It allows a user to search one or more databases and retrieve the results of the query.
  
-Greenstone has support for Z39.50, both as a client and a server. GLI can download MARC records using Z39.50 and MARCXML records using SRU. These records can then be included in a collection. This support is enabled by default.+Greenstone has support for Z39.50, both as a client and a server. GLI (in Greenstone 2 and 3) can download MARC records using Z39.50 and MARCXML records using SRU. These records can then be included in a collection. This support is enabled by default.
  
-The Greenstone run-time can also act as a client to multiple Z39.50 servers, and a Z39.50 server program is also available.  This support is not enabled by default, and recompilation is needed to enable it. To do this, you need the source code. If you don't already have the source, download the version of the source code component that matches the distribution you are using.+The Greenstone run-time can act as a client to multiple Z39.50 servers, and a Z39.50 server program is also available.  This support is not enabled by default, and recompilation is needed to enable it. To do this, you need the source code. If you don't already have the source, download the version of the source code component that matches the distribution you are using.
  
-Z39.50 support in Greenstone is based around the YAZ toolkit, written by [[http://www.indexdata.dk/|IndexData]]. We are currently using YAZ version 2.1.4. This is included in the Greenstone distribution without modification. Greenstone links against the ''libyaz.a'' library. We have also written ''yaz_zclient.h/cpp'', which is based on the sample ''client.h/cpp''. This is found in //greenstone/runtime-src/src/z3950//.+Z39.50 support in Greenstone is based around the YAZ toolkit, written by [[http://www.indexdata.dk/|IndexData]]. We are currently using YAZ version 2.1.4. This is included in the Greenstone distribution without modification. Greenstone links against the ''libyaz.a'' library. We have also written ''yaz_zclient.h/cpp'', which is based on the sample ''client.h/cpp''. This is found in //greenstone/runtime-src/src/z3950//.
  
 ===== Download through Z39.50 ===== ===== Download through Z39.50 =====
 See the [[en:user:download|download]] page for general information on downloading records through Greenstone.  See the [[en:user:download|download]] page for general information on downloading records through Greenstone. 
  
-Greenstone can download records from a specified Z39.50 server from the GLI (from the Download panel) or the command line (using the ''downloadfrom.pl'' script). Either way, you are presented with five options: +Greenstone (2 and 3) can download records from a specified Z39.50 server from the GLI (from the Download panel) or the command line (using the ''downloadfrom.pl'' script). Either way, you are presented with five options: 
  
 ^Argument^Description^ ^Argument^Description^
-|Host (''-host'')|(REQUIRED) name of the Z39.50 server, for example //z3950.loc.gov//+|Host (''-host'')|(REQUIRED) name of the Z39.50 server, for example // lx2.loc.gov//
-|Port (''-port'')|(REQUIRED) port number of the server, for example //7090//| +|Port (''-port'')|(REQUIRED) port number of the server, for example //210//| 
-|Database (''-database'')|(REQUIRED) name of the database to which the query will be sent| +|Database (''-database'')|(REQUIRED) name of the database to which the query will be sent, for example // LCDB_MARC8//
-|Find (''-find'')| (REQUIRED) query (//[[#querying in YAZ|see below]]//)|+|Find (''-find'')| (REQUIRED) query, for example //mozart// (//[[#querying in YAZ|see below]]//)|
 |Max records (''-max_records'')|Select to limit the size of result set; Default: 500| |Max records (''-max_records'')|Select to limit the size of result set; Default: 500|
  
Line 24: Line 27:
  
 If downloading via the command line, a folder containing the files will be downloaded into the directory from which you run the script (unless the ''-cache_dir <full-path-to-folder>'' option is set). If downloading via the command line, a folder containing the files will be downloaded into the directory from which you run the script (unless the ''-cache_dir <full-path-to-folder>'' option is set).
 +
 +To see the script options, run
 +<code>
 +downloadfrom.pl -h   (shows the general downloading options)
 +downloadfrom.pl -download_mode Z3950 -h  (shows the specific options for Z3950 mode)
 +</code>
 +
 +A sample command might be
 +<code>
 +downloadfrom.pl -download_mode Z3950 -host lx2.loc.gov -port 210 -database LCDB_MARC8 -find "snails" -max_records 10
 +</code>
 +
 +This will make a folder called lx2.loc.gov in the folder that you ran the command from, containing a MARC file with your result records.
  
 As the files downloaded via Z39.50 are in MARC format, they can be processed by [[en:plugin:MARCPlugin|MARCPlugin]], which must be included in the collection plugin list.  As the files downloaded via Z39.50 are in MARC format, they can be processed by [[en:plugin:MARCPlugin|MARCPlugin]], which must be included in the collection plugin list. 
 +
 +[[https://www.loc.gov/z3950/lcserver.html#addr]] shows a list of the Library of Congress Z39.50 catalogs.
 +
  
 ==== Querying in YAZ ==== ==== Querying in YAZ ====
Line 38: Line 57:
 Greenstone also supports downloading from a Z39.50 server through SRU. If using the GLI, select SRU on the Download panel. The options for SRU are the same as for Z39.50 download, but different //host// and //port// values should be used here. For example, to connect to the Library of Congress Z39.50 server through SRU, the following host and port should be specified: Greenstone also supports downloading from a Z39.50 server through SRU. If using the GLI, select SRU on the Download panel. The options for SRU are the same as for Z39.50 download, but different //host// and //port// values should be used here. For example, to connect to the Library of Congress Z39.50 server through SRU, the following host and port should be specified:
 <code> <code>
- host: http://z3950.loc.gov + host: http://lx2.loc.gov 
- port: 7090/voyager?+ port: 210/LCDB?
 </code> </code>
  
Line 50: Line 69:
 To build a collection using the downloaded XML files, [[en:plugin:MARCXMLPlugin|MARCXMLPlugin]] must be added to the collection plugin list.  To build a collection using the downloaded XML files, [[en:plugin:MARCXMLPlugin|MARCXMLPlugin]] must be added to the collection plugin list. 
  
-===== Compiling Greenstone with Z39.50 support =====+===== Compiling Greenstone with Z39.50 support =====
  
   * Linux/MacOS: in the top level greenstone directory, run   * Linux/MacOS: in the top level greenstone directory, run
Line 70: Line 89:
     * To enable iconv or xml2, edit greenstone\runtime-src\win32.mak, and remove HAVE_ICONV=0 and/or HAVE_LIBXML2=0 from the make command for Yaz. You'll need to install these libraries.     * To enable iconv or xml2, edit greenstone\runtime-src\win32.mak, and remove HAVE_ICONV=0 and/or HAVE_LIBXML2=0 from the make command for Yaz. You'll need to install these libraries.
  
-===== Using the Z39.50 client =====+===== Using the Greenstone 2 Z39.50 client =====
  
-Once Greenstone has Z39.50 support compiled in, it can act as a client to multiple z39.50 servers. The file +Once Greenstone has Z39.50 support compiled in, it can act as a client to multiple z39.50 servers. The file ''Greenstone/etc/packages/z3950/z3950.cfg'' specifies a list of servers to connect to. By default, no servers are set up, although the config file comes with one (commented out) example Z39.50 server, for the United States' Library of Congress.
-<TABAREA tabs="Greenstone3,Greenstone2"> +
-<TAB>''Greenstone/gs2build/etc/packages/z3950/z3950.cfg''</TAB> +
-<TAB>''Greenstone/etc/packages/z3950/z3950.cfg''</TAB> +
-</TABAREA> +
- +
- specifies a list of servers to connect to. By default, no servers are set up, although the config file comes with one (commented out) example Z39.50 server, for the United States' Library of Congress.+
  
 Each entry consists of: Each entry consists of:
Line 95: Line 108:
 Greenstone will display a new "collection" for each server listed. Greenstone will display a new "collection" for each server listed.
  
-===== Using the z3950 server =====+===== Using the Greenstone 2 z3950 server =====
  
   * The z3950server program is installed into ''bin/linux'' (or ''bin/darwin'', ''bin/windows'', depending on the operating system). It can be run from there, or copied to somewhere else.   * The z3950server program is installed into ''bin/linux'' (or ''bin/darwin'', ''bin/windows'', depending on the operating system). It can be run from there, or copied to somewhere else.
   * The ''gsdlsite.cfg'' file needs to be copied from the cgi-bin directory to the directory you are running z3950server from. Check that the 'gsdlhome' entry is valid. The other entries don't matter.   * The ''gsdlsite.cfg'' file needs to be copied from the cgi-bin directory to the directory you are running z3950server from. Check that the 'gsdlhome' entry is valid. The other entries don't matter.
   * Before running the server, set up your Greenstone environment in the terminal by running the following in your top level Greenstone directory:   * Before running the server, set up your Greenstone environment in the terminal by running the following in your top level Greenstone directory:
-<TABAREA tabs="Greenstone3,Greenstone2"> +Linux/Mac
-<TAB>Linux/Mac +
-<code> +
-source gs3-setup.bash +
-</code> +
-Windows +
-<code> +
-gs3-setup.bat +
-</code></TAB> +
-<TAB>Linux/Mac+
 <code> <code>
 source setup.bash source setup.bash
Line 116: Line 120:
 <code> <code>
 setup.bat setup.bat
-</code></TAB+</code> 
-</TABAREA>+
   * By default, the server listens on localhost:9999. To change the port or address, run   * By default, the server listens on localhost:9999. To change the port or address, run
 <code> z3950server tcp:server-name:port-num</code> <code> z3950server tcp:server-name:port-num</code>
en/user_advanced/z3950.1522027773.txt.gz · Last modified: 2018/03/26 01:29 (external edit)