Z39 Server. DigiTool Version 3.0. z39 SERVER. Main Topics z39 server architecture z39 server services z39 server configuration Defining a new base for z39 server. z39 server - Logical Flow. z39 server accepts z39 requests. z39 server translates a request to DigiTool protocol.
Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
DigiTool Version 3.0
z39.50 - DigiTool Translation
z39 Backend Server
z39 server gets a request from z39.50 client, performs the request in your local databases and returns the response to the calling z39.50 client.
z39 server implements the following z39.50 services:
Init, Search, Sort, Present, Scan,
z39 server gets the InitRequest message from the z39 client.
If the message contains user name and password, z39 server stores them.
(They will be used for access to your local database; by default user name z39 and password z39 will be used).
z39 server gets the SearchRequest message from the z39 client.
The message contains the database name, the z39 search query and the result set name.
z39 server translates the z39 query to an DigiTool CCL query, searches the database and creates a result set with a given name.
z39 server sends a SearchResponse message to the client. This message contains the number of hits. If an error occurred, the message contains error indication.
z39 server gets a ScanRequest message from z39 client. This message contains database name and z39 scan query.
z39 server translates a z39 scan query to an DigiTool query and scans the database.
z39 server sends a ScanResponse message to the client. The message contains the scan entries. If an error occurred, the message contains error indication.
z39 server gets a SortRequest message from the z39 client. The message contains database name, z39 sort query and result set name.
z39 server translates the z39 query to an DigiTool query and performs a sort of the given set.
z39 server sends a SortResponse message to the client. The message contains success/failure indication.
z39 server gets a PresentRequest from the z39 client. The message contains database name, result set name, number of first record to retrieve, total number of records to retrieve and optional record format (USMARC, XML, SUTRS, MAB).
z39 server retrieves the requested records and sends a PresentResponse message to the client. The message contains the retrieved records in the requested format. If an error occurred, the message contains error indication.
All the processing is done using the pc_server.
z39 server receives a request from a client. It translates the request from ‘z39 language’ to ‘DigiTool language’ and passes the translated request to the pc_server.
The pc_server executes the request and passes the response to the z39 server. The z39 server translates the response from ‘DigiTool language’ to ‘z39 language’ and sends it to the client.
The records may be returned in the following formats:
USMARC, UNIMARC, XML, SUTRS, and MAB.
If local database contains USMARC record – the records can be returned in USMARC, if local database is in UNIMARC – the records can be returned in UNIMARC, if local database is in MAB - the records can be returned in MAB.
The configuration files of the z39 server
are under the dtle_tab/z39 server directory:
There are 3 types of files:
1. z39 server.conf
general z39 server parameters
2. z39 server <base>.conf
translation of z39 attributes to DigiTool codes
3. z39 server_base
record conversion parameters
1. z39 server.conf
The file contains general settings for the z39 server. Each setting should be defined in a separate line.
There are mandatory settings and optional settings:
The settings of the pc_server are mandatory:
where <host> is pc_server host and <port> is pc_server port.
means that pc_server runs on local host on port 6881
means that pc_server runs on host ram42 on port 6881
The following setting is optional:
log record indication
marclog <marc log file name> logfile. This is useful for debugging purpose.
This means that the records are stored in a file called
2. z39 server.<base>conf
For each base handled by the z39 server, you should define: z39 server_<base>.conf file, where <base> is base name:
The file contains different setting definitions for working with a given base. Each setting should be defined in a separate line.
2. z39 server.<base>conf
The file may contain the following settings:
when z39 server gets a SearchRequest message, it translates the z39.50 Use attribute into DigiTool CCL code. The search in the DigiTool database is performed by this DigiTool CCL code.
2. Translation of z39.50 User attributes to Scan codes:
when z39 server gets a ScanRequest message, it translates the z39.50 Use attribute into DigiTool Scan codes
3. Translation of z39.50 Use attribute and sort keywords
into DigiTool Sort Codes.
InitRequest has an optional parameter: idAuthentication. This parameter contains user and password. If the idAuthentication parameter in InitRequest is not empty, z39 server passes the received user and password to pc_server. If idAuthentication is empty, z39 server passes user = “z39” and password = “z39” to pc_server.
pc_server authenticates the user as a regular DigiTool user. The user must have z39.50 user permissions for the requested collection. The permissions are defined in the staff privileges portion of the Meditor.
This mechanism permits the administrator to grant access to a collection to all users or to specified users only.
To grant access to all users: assign to the “z39” user “z39.50 users permissions” to the collection. z39.50 clients connecting to our z39 server must send empty idAuthentication in Init Request.
To grant access to specified users: assign to specified users “z39.50 users permissions” for the collection. z39.50 clients connecting to your z39 server must send this user name and password in idAuthentication in Init Request.
How to add a new Base for z39 server
Enter any collection environment (For example, dlib GEN01).
Use the menu options to edit z39 server 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 server/z39 server_<base>.conf
will be opened in vi. Edit this file.