Z39 Gate DigiTool Version 3.0 z39 gate Introduction •DigiTool contains a program called z39 gate which communicates with remote z39 targets/servers permitting search, scan,and retrieval of records from remote databases. • z39 gate is one of a series of z39.50-compatible applications which have been developed by Ex Libris Ltd. • The z39 gate enables staff to search in other databases via the Meditor module. Z39 Gate 2 z39 gate Main Topics •z39 gate logical flow •z39 gate architecture •z39 gate overview •z39 gate configuration •Universal Gateway •Running the z39 gate_client •DigiTool as a z39 Client Z39 Gate 3 z39 gate Logical flow The architecture is as follows: z39 gate gets a request from DigiTool or z39 gate_client. It sends the requests to a remote z39 target and returns the response to the calling program. z39 gate implements the following z39 services: Init, Search, Sort, Present and Scan Z39 Gate 4 z39 gate architecture DigiTool Meditor Client DigiTool - z39.50 Translation PC Server z39 gateway z39.50 Protocol Non DigiTool collection Z39 Gate 5 z39 gate Overview Init Service z39 gate gets from the calling program a target’s logical name (for example, DREWDB) and determines the host and port of the target. z39 gate sends an InitRequest to the target and receives an InitResponse with connection status. z39 gate returns the connection status to the calling program. Z39 Gate 6 z39 gate Overview Search Service z39 gate gets from the calling program a target’s logical name and CCL (DigiTool Common Command Language) search query. (For example, WTI=(jerusalem AND israel) ). z39 gate translates the CCL query into a z39 query and sends a SearchRequest to the target. The SearchRequest contains this z39 query and the result set number. z39 gate receives SearchResponse from the target. The SearchResponse contains the number of hits. z39 gate transfers the number of hits or the error indication (if error occurred) to the calling program. Z39 Gate 7 z39 gate Overview Sort Service z39 gate gets from the calling program the target’s logical name, set number and sort sequence. z39 gate translates the sort sequence into z39 sort sequence and sends a SortRequest to the target. The SortRequest contains the set number and the z39 sort sequence. z39 gate receives SortResponse from the target. The SortResponse contains a sort success/failure indication. Z39 gate transfers the sort success/failure indication to the calling program. Z39 Gate 8 z39 gate Overview Present Service z39 gate gets, from the calling program, the target’s logical name, set number and record number. z39 gate sends a PresentRequest to the target. The PresentRequest contains the set number and the record number. z39 gate receives a PresentResponse from the target. The PresentResponse contains the requested record. If an error occurs, it contains an error indication. z39 gate transfers the record or error indication (if error occurred) to the calling program. Z39 Gate 9 z39 gate Overview Scan Service z39 gate gets, from the calling program, the target’s logical name and a CCL scan query (for example, TIT=jerusalem). z39 gate translates the CCL query into a z39 query and sends a ScanRequest to the target. The request contains the z39 query. z39 gate receives a ScanResponse from the target. The ScanResponse contains the scan entries. If an error occurs, it contains an error indication. z39 gate passes the scan entries or error indication (if an error occurs) to the calling program. Z39 Gate 10 z39 gate Configuration The configuration files of z39 gate are under the $dtle_tab/z39 gate directory. There are 2 types of files in the directory: z39 gate.conf– a list of targets handled by z39 gate. z39 gate_<target>.conf – individual target configuration. Z39 Gate 11 z39 gate Configuration z39 gate.conf This file contains a list of targets handled by z39 gate. For each target, there is a line with the target configuration reference. Z39 Gate 12 z39 gate Configuration z39 gate.<target>.conf For each target handled by z39 gate and listed in $dtle_tab/z39 gate/z39 gate.conf, a z39 gate_<target>.conf file should be defined, where <target> is the logical name of the target in uppercase. For example, z39 gate_DREWDB.conf Z39 Gate 13 z39 gate Configuration z39 gate.<target>.conf The file contains different settings concerning work with this target. Each setting must be defined in a separate line. The file should contain the following settings: 1. Target’s general parameters. 2. Translation of CCL search/scan codes into z39 attributes. 3.Translation of DigiTool sort codes to z39 attributes. Z39 Gate 14 z39 gate Configuration z39 gate.<target>.conf 1. Targets general parameters: target <target name> The logical name of the target to be used by z39 gate. <target name> should be in upper case (for example, target DREWDB). The target configuration in z39 gate_<target>.conf must start from this parameter. Z39 Gate 15 z39 gate Configuration z39 gate.<target>.conf 1. Targets general parameters: hostname <ip address : port> Where the IP address is the IP address of this target, the port (if needed) is the port of this target (for example, hostname 192.65.218.23). database <database name> Where the <database name> is the name of remote database to be searched (for example: database MRC01) auth <authentication string> Where <authentication string> is the authentication for this target, usually in the form user/password. This line is supplied only if authentication is needed by target. Z39 Gate 16 z39 gate Configuration z39 gate.<target>.conf 1. Targets general parameters: recordtype <record type> Where <record type> is the desired format of the retrieved record (for example, recordtype USMARC). If the line is not supplied, the format of retrieved record is defined by the target. elementsetname <element set name> Where <element set name> describes the z39 element set name for record retrieval, and where <element set name> is an element set name supported by target. If the line is not supplied, z39 gate asks the target for a default element set name. Z39 Gate 17 Z39_gate Configuration z39 gate.<target>.conf 2. Translation of CCL Search/Scan codes into z39 attributes. 3. Translation of of DigiTool sort codes to z39 attributes. Z39 Gate 18 z39 gate Configuration How to add a new Target for Z39_gate Enter any collection environment (For example, dlib GEN01). Enter util/n/1 Use the menu options to edit z39 gate configuration. To define new base, choose option ‘1. Add base’. Then enter base name. The name will be translated into upper case and the file dtle_tab/z39 gate/z39 gate_<base>.conf will be opened in vi. Edit this file. Z39 Gate 19 UNIVERSAL GATEWAY OVERVIEW The Universal Gateway is the DigiTool module for accessing remote collections via the z39.50 protocol. Z39 Gate 20 UNIVERSAL GATEWAY Architecture DigiTool Meditor Search Workflow If a collection is local - pc_server works with the local database. If a collection is remote - pc_server calls the Universal Gateway module. Z39 Gate 21 Universal Gateway Configuration For each remote collection accessed (i.e. any Z39 target) a Universal Gateway configuration file needs to be created in the $dtle_gate directory. File name: <target>.conf (for example, mrc01.conf), where the target is the logical name of this collection used in all levels of DigiTool configuration (for example, tab_base.<lng>, z39 gate configuration, and so on). Z39 Gate 22 Universal Gateway Configuration General Settings: The following files for this collection must also be defined: $dtle_gate/<target>.conf - <target> is in lowercase. For example: $dtle_gate/mrc01.conf $dtle_tab/z39 gate/z39 gate_<target>.conf –the same<target> is in uppercase. For example,$dtle_tab/z39 gate/z39 gate_MRC01.conf These files must be synchronized – find/scan/sort transformations must be identical in both files. Z39 Gate 23 Z39 target initiation Re-start Z39 gate server: UTIL W-2-6 followed by UTIL W-3-5 Z39 Gate 24 DigiTool as z39 client The DigiTool Staff Meditor has built-in z39 (z39.50) client functionality. Any collection/database accessed via the z39 protocol can be accessed from the DigiTool External Search module . The work is done in such a way that it appears the same to the user, whether he searches a local collection or a collection accessed via the z39 protocol. Z39 Gate 25 DigiTool as Z39 client Overview Most of the actions which DigiTool performs in the local collection unit can be performed with a collection catalog accessed via the z39 protocol. Among them: Search Record display Sort result set Scan Z39 Gate 26 DigiTool as z39 client Adding a collection Accessed via the z39.50 Protocol to DigiTool Example: You want to add Oxford University collection to DigiTool. You are adding a new z39 target to DigiTool and must carry out the following: Defining a Target Name Invent a logical target name for the new target (for example, OXFORD). Creating a z39 gate configuration Create z39 gate configuration for the new target (OXFORD). UTIL N/1. Z39 Gate 27 DigiTool as z39 client Note: after changing the z39 gate configuration, rerun the z39 gate process. You can test the new target’s functionality by using z39 gate_client (type ‘z39 gate_client’). Connecting to the EXT collection A collection accessed via the z39.50 protocol should be connected the following collection: EXT01 – for records that are in USMARC format Z39 Gate 28 DigiTool as z39 client EXT01 is a DigiTool system unit that doesn’t contain data. It contains tables only – so directories ./ext01/tab should be defined. Z39 Gate 29 DigiTool as z39 client Adding the new collection to tab_base Add the new collection to desired dtle/tab/tab_base.<lng> file (for example, tab_base.eng) Carry this out as you would for a local collection. Col 1: Use target name as base code (for example, MYTARGET) Col 7: List the corresponding EXT collection. Example: ! 1 2 3 4 5 6 7 8 !!!!!!!!!!!!!!!!!!!!-!-!!!!!!!!!!!!!!!!!!!!-!!!!!-!!!!!-!!!!!-!!!!!-!!!!!!!!!!!!!!!!!!!!!!!!!!!!> MYTARGET My Target EXT01 EXT01 Z39 Gate 30 DigiTool as z39 client Configuring the Universal Gateway Create Universal Gateway configuration for the new target (for example, OXFORD) Adding the collection to DigiTool Meditor External Search Check that corresponding EXT collection is defined in the Meditor client’s Common/Tab/Library.ini EXT libraries should be defined in Library.ini as following: !-----------------------------+-----+------------------------------> Z39 My Target EXT01 10.1.235.34:6881 Z39 Gate 31 DigiTool as z39 client Configuring the Z39 Browse External Headings •Create Universal Gateway configuration for the new target (for example, OXFORD). •Adding the collection to DigiTool Meditor Browse External Headings •For descriptive metadata Marc and Dublin Core, external browse headings lookups can be configured •Within the unit’s /md/descriptive/marc or /md/descriptive/dc scancode.dat may be configured for specific tag lookups in Oxford’s external headings database followed by UTIL – K – 1 – 4 – 2 (or 1): For example an author and title lookup in My Target’s browse headings database: LOCAL 100##a 245##a MYTARGET AUT TIT Z39 Gate 32 DigiTool as z39 client Adding the collection to External Headings option DigiTool Meditor Browse Check that corresponding EXT collection is defined in the Meditor client’s Common/Tab/searbase.dat EXT libraries should be defined in Library.ini as following: !!!!!!!!!!!!!!!!!!!!!!!!!!+!!!!!!!!!!!!!!!!!!!!+!!!!! Library of Congress LOC EXT01 Aleph ALEPH_Z39 EXT01 Oxford University OXFORD EXT01 MYLIBRARY MYLIBRARY EXT01 Z39 Gate 33 Thank you! www.exlibrisgroup.com Z39 Gate 34