Z39.50 Servers

Z39.50 Server Administration

Permissions required:



Known issues when adding new servers

  • Cannot “clone” existing Z39.50 Attributes from other sources when creating a new source – worked in previous Evergreen versions

  • Other known attributes are not included in Z39.50 Attributes creator, such as Relation Attributes, Position Attributes and Completeness Attributes - see https://www.loc.gov/z3950/agency/bib1.html

  • Some sources/servers do not work as expected - see Bug 1745249

Reload service after making any changes

Reload the open-ils.search opensrf service after changes. Z39.50 Sources settings can be cached by the open-ils.search drone processes. Reloading them after changes are made will ensure that your changes are used immediately. Consult with your Evergreen System Administrator before making changes. Execute the command osrf_control --reload --service open-ils.search on each server that serves staff requests.

Add New Z39.50 Servers and Source Configuration

  1. Locate Server information via a Z39.50 Target Directory

  2. Go to Administration → Server Administration → Z39.50 Servers

  3. Select New Z39.50 source

  4. Fill out fields:

    1. Z39.50 Source - Source name

    2. Label - Source name - can be same as z39.50 Source; example, "Seattle Public Library"

    3. Host - URL link to their host, copied exactly from the source

    4. Port - the port for the host, copied exactly from the source

    5. DB - the host database name, copied exactly from the source

    6. Record format - valid values are F, B, FA, FI or T

      • F – Full record display

      • B – Brief record display

      • FA – Full with all Holdings

      • FI – Full record display with No Holdings

      • T – Full text

    7. Transmission format - typically usmarc or xml, copied exactly from the source

    8. Auth - Authentication; leave blank unless required for a resource like OCLC

    9. Use permission - leave blank unless required

  5. Click Save

Add Attribute Configuration to Z39.50 servers

Z39.50 Attributes dictate the fields that appear in the “Import Record from Z39.50” screen for that source

  1. Locate coding documentation for the Z39.50 Attributes used by your source, and consult this documentation to fill out the attributes below.

  2. Go to Administration → Server Administration → Z39.50 Servers

  3. Select the Attrs link on the source you wish to configure in order to open the Z39.50 Attribute Configuration interface

  4. Select New Z39.50 Attribute

  5. Fill out fields using appropriate coding.

    See the table below for common attributes and their coding.

    1. Code - This is a Use Attribute that specifies an access point (e.g., author, title, subject, ISBN, UPC). It is coded by number.

    2. Format - This is a Structure Attribute that specifies the type of search term (e.g., a single word, a phrase, several words to be treated as multiple single terms, etc.). It is coded by number, and a best practice is to mimic existing numeric coding for other z39.50 sources.

    3. Label - This is a Use Attribute and it is the term that appears next to blank field on Z39.50 import screen

    4. Name - This is the Attribute that is being searched, usually the same as Label

    5. Truncation This is a Truncation Attribute which specifies whether one or more characters may be omitted in matching the search term in the target system at the position specified by the Truncation attribute. This is coded by number.

    6. Z39.50 Source - Select the Z39.50 Server to which to apply the attribute. This may auto-fill depending on Server Source selected.

  6. Click Save

  7. Repeat the above steps as needed to create new Attributes that are required and/or useful for that particular Z39.50 server

Table of Common Attributes and Their Coding

Name Label Code Format Truncation






















Title Control Number





Publication Date





Item Type
























Restrict Z39.50 Sources by Permission Group

In Evergreen versions preceding 2.2, all users with cataloging privileges could view all of the Z39.50 servers that were available for use in the staff client. In Evergreen versions 2.2 and after, you can use a permission to restrict users' access to Z39.50 servers. You can apply a permission to the Z39.50 servers to restrict access to that server, and then assign that permission to users or groups so that they can access the restricted servers.

Administrative Settings

You can add a permission to limit use of Z39.50 servers, or you can use an existing permission.

You must be authorized to add permission types at the database level to add a new permission.

Add a new permission:

1) Create a permission at the database level.

2) Click Administration → Server Administration → Permissions to add a permission to the staff client.

3) In the New Permission field, enter the text that describes the new permission.

Create new permission to limit use of Z39.50 servers

4) Click Add.

5) The new permission appears in the list of permissions.

Restrict Z39.50 Sources by Permission Group

1) Click Administration → Server Administration → Z39.50 Servers

2) Click New Z39.50 Server, or double click on an existing Z39.50 server to restrict its use.

3) Select the permission that you added to restrict Z39.50 use from the drop down menu.

Restrict Z39 50 Sources by Permission Group1

4) Click Save.

5) Add the permission that you created to a user or user group so that they can access the restricted server.

Restrict Z39 50 Sources by Permission Group3

6) Users that log in to the staff client and have that permission will be able to see the restricted Z39.50 server.

As an alternative to creating a new permission to restrict use, you can use a preexisting permission. For example, your library uses a permission group called SuperCat, and only members in this group should have access to a restricted Z39.50 source. Identify a permission that is unique to the SuperCat group (e.g. CREATE_MARC) and apply that permission to the restricted Z39.50 server. Because these users are in the only group with the permission, they will be the only group w/ access to the restricted server.

Storing Z39.50 Server Credentials

Staff have the option to apply Z39.50 login credentials to each Z39.50 server at different levels of the organizational unit hierarchy. Credentials can be set at the library branch or system level, or for an entire consortium. When credentials are set for a Z39.50 server, searches of the Z39.50 server will use the stored credentials. If a staff member provides alternate credentials in the Z39.50 search interface, the supplied credentials will override the stored ones. Staff have the ability to apply new credentials or clear existing ones in this interface. For security purposes, it is not possible for staff to retrieve or report on passwords.

To set up stored credentials for a Z39.50 server:

1) Go to Administration → Server Administration → Z39.50 Servers.

2) Select a Z39.50 Source by clicking on the hyperlinked source name. This will take you the Z39.50 Attributes for the source.

3) At the top of the screen, select the org unit for which you would like to configure the credentials.

4) Enter the Username and Password, and click Apply Credentials.

Storing Z39.50 Credentials