Searching External Datasources with Z39.50

Make the following changes in OLE to enable searching of external datasources with Z39.50 protocol

Setting up external dependencies for jz3950 library for connecting to Z39.50 datasources.

  1. Get source code from https://jz3950.svn.sourceforge.net/svnroot/jz3950/trunk and build the jar file.

    Dependency Resolution

    While building if you encounter any dependency resolution issues, it would be most likely due to the fact that Kuali developers have a local maven settings.xml file that forces dependencies to be resolved from our internal Nexus repository. If you have it, uncomment the mirrors/servers section in the settings.xml and then re-run the build. It should get all the necessary plugins and dependent jar files down. Don't forget to un-comment the portions in the settings.xml after a successful build as it will be needed for regular Kuali development.
  2. Create maven dependency for the above created jar file using below command;

    mvn install:install-file -DgroupId=net.sf.jz3950 -DartifactId=jz3950 -Dversion=1.0-SNAPSHOT -Dfile=<path_to_your_jar_file> -Dpackaging=jar -DgeneratePom=true
    
    

You may do these two steps in this way:

svn checkout https://svn.code.sf.net/p/jz3950/code/trunk/ jz3950
cd jz3950/
mvn clean install -DskipTests=true

 

Changes in ole-docstore-search project

File pom.xml

Uncomment the following lines.

<!--
      <dependency>
          <groupId>net.sf.jz3950</groupId>
          <artifactId>jz3950</artifactId>
          <version>1.0-SNAPSHOT</version>
      </dependency>
      <dependency>
          <groupId>org.jzkit</groupId>
          <artifactId>a2j</artifactId>
          <version>2.0.4</version>
      </dependency>
-->

Class Z3950DataSource

Uncomment the code in this class  ( /* code */ ).

Changes in ole project

Class ImportBibController

Uncomment the following code.

  /* try {
             results = externalDataSource.searchForBibs(searchParams, dataSourceConfig);
         } catch (Exception e){
             LOG.error("Error occurred while fetching the records :ImportBibController"+e);
             GlobalVariables.getMessageMap().putError(KRADConstants.GLOBAL_ERRORS, OLEConstants.DATA_IMPORT_ERROR);   
         }
   */

File ImportBibSearchPage.xml

Uncomment the commented line in the following snippet.

<!--<ref bean="ExternalSourceSearch-Buttons"/>-->
<!--<ref bean="ExternalSourceResults-Section"/>-->
<!--<ref bean="externalNext-Button"/>-->

Creating an external data source:

Create an external data source. E.g.(  

 1)

z3950.loc.gov    
z3950.loc.gov
z3950.loc.gov  
7090
 VOYAGER
     
     Empty/Empty

 

2)

 

Abertay Dundee University-voyager    
Abertay Dundee University    
catalogue.abertay.ac.uk    
10790    
kuali/voyager    
     
     

 

 Note :  Domain Name, Port Number ,Database Name are mandatory . Format for Login Id/Database Name is kuali/voyager   .  If we are not mentioning with '/' it will consider as  Database Name .

For more info about external data sources, please refer to http://www.loc.gov/z3950/lcserver.html  , http://staff.library.mun.ca/staff/toolbox/z3950hosts.htm

Importing records from external source:

  • Navigate to Describe tab in OLE home page.

  • Click “Import Bib” link.

  • Select tab “Import from External Data Source”.

  • Select the source which you are created.

  • Enter the search criteria and click “Search” button.

     

     

 

Operated as a Community Resource by the Open Library Foundation