ILLiad Z39.50 searching currently supports the following OPACS or systems:
These default profiles are available in the Customization Manager. In addition, you have the option to select Other if you wish to set up some other Z39.50 compatible system.
In our testing, we've determined that the following searches work with a sampling of the shown databases. As more sites use the Z39.50 link, this list will be updated with the latest information on compatibility. Compatibility consists of both searching and holdings importing in ILLiad.
ILLiad currently supports the OPACS shown above. These default profiles are available in the Customization Manager.
The following systems have been tested and no problems were found: Innopac, Voyager, Sirsi, Aleph. In the test systems we've used, Dynix and Geac were not able to be searched using the OCLC number.
Importing Holdings Information
The following systems have been tested and no problems were found: Innopac, Voyager, Sirsi, Aleph, Dynix, and Geac.
The following systems have been tested and are not currently compatible with ILLiad: VTLS, Notis. The following systems were not tested with ILLiad: Horizon.
Setting Up Z39.50 OPAC Searching
The following are instructions for setting up the Z39.50 interface between ILLiad and your OPAC.
The Z39.50 Setup Window
The configuration of Z39.50 Searching is performed in the Customization Manager. At the top of the left-hand side of the Customization Manager is a tab labeled Z39.50. Clicking this tab will open a Z39.50 ribbon containing three groups, Servers, Searches and Editing.
The Servers group contains information for setting up a Z39.50 link to the desired resource(s). The Select Server icon contains a dropdown list of all of the existing Z39.50 server configurations that you have already set up for your system. Selecting an existing server entry will display the server configuration data for the chosen Z39.50 server.
Creating a new server configuration
Select the New icon from the Servers group of the ribbon at the top of the Z39.50 Setup screen. Apply a default server configuration profile by selecting an OPAC type for your system. Applying this profile will insert information into the form for use as a server configuration template. Fill in the information in any required fields (highlighted in yellow) for your Z39.50 server. Then, fill in the other configuration information specific to your OPAC in the appropriate fields.
These values will be very different for most institutions. If you are unable to determine the appropriate values for any of these fields relative to your institution's Z39.50 server, contact your local Z39.50 server administrator.
The following fields are required in order to save the Z39.50 Server Configuration information:
- Server Type
- Server Address
When the Z39.50 Server Configuration is complete, click the Save icon located on the ribbon in the Editing group.
Each Z39.50 profile has default options for the syntax to use when searching the Z39.50 server. These are based on typical settings for Z39.50 servers of each type. Generally, you should be able to leave those settings as is, but if you notice certain searches giving errors, contact your Z39.50 server administrator for information on editing those values.
The Result Mapping section of each Z39.50 server configuration determines which fields in the results are used to complete the call number, location and availability fields within the client. The default settings that appear work for the majority of Z39.50 servers, but if searches against your server return results do not fill out correct values for call number, location, and availability, you may need to change the settings within Result Mapping.
Z39.50 holdings results are typically in either XML format or MARC format. You will need to choose one from the drop-down. If the format is XML, the identifier field is the tag that contains the holdings information within the results (i.e. holdingsAndCirc). These values are case-sensitive. The Call Number, Location and Availability tags would then be the tags under the identifier tag that contain those values.
If the format is MARC, the identifier is the numerical MARC field that holds the call number, location and availability information (i.e. 930). The Call Number, Location and Availability tags would then be the tags under the identifier tag that start each of those values. For example, if within the 930 fields the call number is after $h, then $h would go in the call number field. If the location is after $a, then $a would go in the location field.
For either XML or MARC formatted results, you can choose between the availability tag being a value or a regular expression. If you choose the value, then the results will show whatever text is in that tag. If you choose the regular expression, then the regular expression is used to match on the value from the tag. For example, your Z39.50 server may put a 1 in the available tag if it is available and a 0 if it is not. You could have the regular expression say  and if it matches it would replace that value with the text from Available Text. If it didn't match (was anything other than 1), it would replace the value with the text from Not Available Text.
Multiple Option Sets and Concatenation of Values for Z39.50 Holdings Information
The value for Call Number, Location, and Availability can contain pipe (|) characters and plus characters to create multiple result sets and concatenation of values respectively.
These characters can be used together and there is no limit to the number of configurations you can specify (within the length of the configuration field in the database).
Examples (example values are assuming XML holdings, but the same options are available for MARC):
- A value of "localLocation|shelvingLocation" states to attempt to retrieve the value from localLocation and if a value is not found (or is empty) then attempt to return the value from shelvingLocation.
- A value of "localLocation+shelvingLocation" states to retrieve the value from localLocation and from shelvingLocation and concatenate them with a space separator.
- A value of "localLocation+shelvingLocation|someOtherValue" states to attempt to retrieve the value from localLocation and from shelvingLocation concatenated with a space separator and if a value is not found (or is empty) then attempt to return the value from someOtherValue.
Modifying an existing server configuration
Select the server configuration from the Select Server icon. Make modifications as necessary. When the Z39.50 Server Configuration is complete, click the Save icon.
Deleting a server configuration
Select the server configuration from the Select Server icon. Click the Delete icon. You will be prompted to confirm the deletion of the server configuration.
If the server exists in any of the existing searches, it will be removed from those as well.
The Searches group of the Z39.50 ribbon contains information for setting up specific Z39.50 searches of the desired resource(s). The Select Searches icon contains a list of the existing search configurations. Selecting the New icon from the ribbon prepares the form for a new entry.
Creating a new search
Select New from the Z39.50 Ribbon. Specify a Search Name for the search (required). Then, specify one or more Z39.50 server(s) to be used by the new search by selecting it from the Available Servers list and adding it to the Included Servers list by dropping and dragging it.
At least one server must exist in the Included Servers list. The Default Search option, in the drop-down menu below the search name, is not required, but you may choose a default search if you so desire. If a default search is specified, the search will automatically be performed when the associated Search Source is chosen in the ILLiad Client.
When the Z39.50 Search Configuration is complete, click the Save icon.
Modifying an existing search
Select the search from the Select Search icon. Make modifications as necessary. When the Z39.50 Search Configuration is complete, click the Save icon.
Adding servers to a search
Select the server to add to the search from the Available Servers list and either double-click it, or drag it to the Included Servers list.
Removing servers from a search
Select the server to remove from the search from the Included Servers list and either double-click it or drag it to the Available Servers list.
Reordering the Searches list
If you wish to do so, you may edit the order in which the Searches display in the ILLiad Z39.50 Search form to make searching easier for your ILL staff. Be aware that the first search in the list will be performed as a default each time the form is opened in the ILLiad Client.
To reorder the list of searches, select the Reorder icon and drag the name of the server up or down to the desired position on the list.
ILLiad uses Z39.50 searching profiles to let you customize your Z39.50 searching abilities. This article shows some examples of the default searching profiles for different OPACS, as well as discusses ways to change the profiles to better enable the mode of searching you would like to achieve.
ILLiad currently supports the following OPACS: Aleph, Dynix, Geac, Innopac, Sirsi, and Voyager. These default profiles are available in the Customization Manager.
The following is a sample profile from an INNOPAC site:
System Number Search
@attr 1=1007 "<#SystemNumber>"
@attr 1=4 "<#Title>"
@attr 1=1 "<#Author>"
@attr 1=7 "<#ISSN>"
@attr 1=7 "<#ISBN>"
Keyword Author Search
@attr 1=1 @attr 4=2 @attr 3=3
Keyword Title Search
@attr 1=4 @attr 4=2 @attr 3=3
These values are in a format called Prefix Notation. Each Z39.50 attribute is shown, along with an ILLiad field tag (like this: <#ILLiadFieldTag>). When the search is run in ILLiad, the field tag is replaced with the appropriate word from the ILLiad record.
As an example, if the Z39.50 attribute for doing a title search on your OPAC is 4, then the sample from above, @attr 1=4 "<#Title>", will work. Generally, without any other search modifiers, the title search as shown will only search for titles starting with the search words. It will not by default search anywhere in the title for the title information from the field tag.
The Keyword Author and Keyword Title searches don't have field tags - they are used by the system to denote a combination of search attributes that will result in a keyword search for the author and title respectively. In the example above, the Z39.50 Position attribute (3) is modified to be 3 (any position in the field), allowing a keyword search to happen.
Changing the profile is as simple as changing the entries in the Customization Manager for the selected server. You will need knowledge of your server's Z39.50 setup and profile information in order to make changes to the profile in ILLiad. Incorrect profiles will simply not work; they should not cause any problems on the server end.
An example of something a site may want to change is the Author Search. The default profile in ILLiad runs an exact Author Search - it will not search other pieces of the author to make a match. A search for "Ayn Rand" may not return the same results as a search for "Rand, Ayn". One way to fix this is to change the author search to be more like a keyword author search. From the example above, changing the author search from @attr 1=1 "<#Author>" to @attr 1=1 @attr 4=2 @attr 3=3 "<#Author>", should make author searches more flexible.
ALEPH AND THE SEARCH SYSTEM NUMBER SETTING
Aleph requires system number searches (OCLC numbers and the like) to be 8 digits, padded with leading zeros if necessary.
To configure the system number search correctly:
Change the value in the SearchSystemNumber field for that OPAC from
@attr 1=12 "<#SystemNumber>"
@attr 1=12 "<#SystemNumber>"
The  tag tells ILLiad to fill that field with leading zeros.
SIRSI AND THE SEARCH SYSTEM NUMBER SETTING
When configuring your connection to a Z39.50 SIRSI server, you have the option of using a SystemNumberPrefix tag in conjunction with the SystemNumber tag.
This SystemNumberPrefix tag will be replaced by either OCM or OCN depending on the length of your system number. This eliminates the need to frequently change your SystemNumber search settings.
Using this tag, a 9-digit OCLC Number will be prefixed in Z39.50 search results on a SIRSI server with OCN, as in ocn123456789. An 8-digit OCLC Number will be prefixed with OCM.