Ready to Learn?Ex Libris products all provide open APIs

General Purpose

The WorldCat Deep-Search is an implementation of the Deep Search plugin.

The WorldCat Deep-Search enables end users to search in WorldCat via the Primo interface and then link to the record in WorldCat.

Primo comes with this implementation built in, but turned off by default.
You will need to follow the implementation steps below to turn on it's functionality.

NOTE:

  1. If your installation has multiple institutions, you can configure multiple adaptors, one for each institution.
    For this you will need to enable the WorldCatLocal plugin from the "Deep-Search Plugins" mapping table.
     
  2. In version 4.9.1+ The installation level should have the WorldCatLocal plugin  in the "Deep-Search Plugins" mapping table, so the institution level can inherit from it.
In order to be able to configure its parameters in "Deep Search Plugin parameters", you'll need to enable the plugin itself.

 

Implementation Steps

  1. In the Back-office application go to: Primo Home > Advanced Configuration > All Mapping Tables
  2. Under Sub System "Plugins" you will find the "Deep-Search Plugins" mapping table. Edit it.
    • Make sure that the "WorldCatLocal" plugin is there and that it's enabled. Plugin class should be "worldcat.local.WorldCatDeepSearch".
    • Save the mapping table.
  3. Edit the "Deep Search Plugin parameters" mapping table.
    • Make sure that all of the required parameters are present and enabled (See further details below). 
    • Save if there were any changes.
  4. Go to "Deploy All" screen in the Back-office, check the "Deep Search Configuration" checkbox and hit "Deploy".
  5. Some important parameters to be configured:
    ParameterExplanation
    URLEnter the URL for the WorldCat search API.
    WCKey

    Enter the key used by the institution to authenticate with WorldCat services. You should not encrypt it in any way.

    Make sure though to insert the value in the "Param value – Encrypted" column, and leave the "Param value" column empty for this row.

    primo_rankIf you blend WorldCat with other search engines (such as Primo local and Primo Central), it is recommended to set this parameter to true.
    This means that Primo will apply its own ranking algorithm to the records returned by WorldCat so that they can be blended with the other results.
  6. (Optional) Configure conversion parameters to override the OTB configurations.
    This should be considered only if you are not satisfied with the OTB results.
    These settings affect the conversion of the Primo’s search syntax to the WorldCat SRU/SRW API
    as well as the conversion from the WorldCat records to a PNX.
     
  7. The following are 4 parameters that can be configured also through the mapping table.
    ParameterExplanation
    QueryConversionDefines additional mappings for the conversion of the Primo index to the WorldCat index.
    For more information, see QueryConversion Parameter.
    MapConversionConverts WorldCat values to Primo values in the query that is sent from Primo to WorldCat.
    For more information, see MapConversion Parameter.
    ResponseConversionConverts additional fields from the WorldCat record to the PNX in addition to the fields converted by the adapter program.
    For more information, see ResponseConversion Parameter.
    PnxConversionConverts WorldCat values to Primo values.
    For more information, see PnxConversion Parameter.
  8. Add the WorldCat adapter to a search scope in the view and then deploy the view.
    The adapter can be added separately to a new search scope or to an existing one:


     
  9. Optionally, you can configure availability and delivery as explained in the section below.*
    If this is not done, no GetIt tab will display for WorldCat records and the availability status will display WorldCat.

     

QueryConversion Parameter

This parameter defines additional or overrides mappings for the conversion of the Primo search fields to the WorldCat fields.
The adapter uses the following format for each conversion, which contains a Primo field, a WorldCat field, and a relational operator.

To implement this parameter edit the "Deep Search Plugin parameters" Mapping table:

Enter "QueryConversion" in the "Param name*" column and the value (for example: "Primo_field,WorldCat_field+Relational_operator+;Conversion_2_entry;Conversion_3_entry;...") in the "Param value" column.
Make sure to select/type-in the correct plugin in the "Plugin*" column.

Additional conversions are separated with a semicolon, and only one entry is permitted per Primo field.
The following relational operators are valid:

    any - Any of your search terms can match.
    all - All of your search terms must find a match.
    = (equal sign) - Your search terms must all match without intervening words. This is sometimes called an unanchored phrase search.

Out of the box, the adapter is configured with:

    title,srw.ti+all+
    creator,srw.au+all+
    (subject) = sub,srw.su+all+
    isbn,srw.bn+all+
    issn,srw.in+all+
    (language from Advanced search) = facet_lang,srw.la+all+
    (material type pre-filter) = facet_pfilter,srw.dt+any+ (For more information about the way Primo searches WorldCat's document type index , see MapConversion Parameter.)

WorldCat does not return facets, but the adapter will map facet types to WorldCat fields and send the requested facet value with the
“AND” Boolean operator added to the original query.
Out of the box, the adapter supports the following mappings between facets and WorldCat indexes:

    facet_topic,srw.su+all+
    facet_rtyp,srw.dt+any+
    facet_creator,srw.au+all+
    facet_jtitle,srw.ti+all+
    facet_creationdate,srw.yr+=+ (as required)

If the user selects a facet that is not mapped to a WorldCat index, no query is sent to WorldCat.
Note that since WorldCat does not return facet counters, counters will not display for any Search Engine
in a blended search with the exception of the top-level facets.

In the following example, the Primo title search will now be
performed against WorldCat's srw.kw field, using the ‘all’ relational operator:

"Param name*": "QueryConversion"
"Param value": "title,srw.kw+all+"

 

MapConversion Parameter

This parameter defines additional or overrides mappings that convert Primo values to WorldCat values in the query that is sent from Primo to WorldCat.
This is required when the search is limited to a specific resource type.
The adapter uses the following format for this parameter:

"Param name*": "MapConversion"
"Param value": <Primo_field_code>,<Primo_resource_type>,<WorldCat_resource_type>;entry_2;entry_3;...

Additional conversions are separated with a semicolon.

Out of the box, the adapter maps the following resource types for facet_pfilter values (pre-filter searches):

    facet_pfilter,books,bks
    facet_pfilter,journals,ser
    facet_pfilter,maps,map
    facet_pfilter,images,vis
    facet_pfilter,scores,sco
    facet_pfilter,audio_video,vis rec
    facet_pfilter,websites,url
    facet_pfilter,articles,art

Out of the box, the adapter maps the following resource types for facet_rtype values (resource type facet):

    facet_rtype,books,bks
    facet_rtype,text_resources,bks
    facet_rtype,media,rec
    facet_rtype,media,vis
    facet_rtype,journals,ser
    facet_rtype,maps,map
    facet_rtype,images,vis
    facet_rtype,scores,sco
    facet_rtype,audio_video,vis
    facet_rtype,audio_video,rec
    facet_rtype,databases,url
    facet_rtype,websites,url
    facet_rtype,articles,art

Here are the descriptions for the WorldCat resource types:

    art - Articles
    bks - Books
    com - Computer files
    int - Continually updated resources
    map - Maps
    mix - Mixed material (Archival Materials)
    sco - Musical scores
    ser - Serials (Journals and Magazines)
    rec - Sound recordings
    url - Internet Resource
    vis - Visual Materials

In the following example, the value YYY will be sent to WorldCat if the user searches for XXX in Primo's resource type field:

"Param name*": "MapConversion"
"Param value": "facet_pfilter,XXX,YYY"

ResponseConversion Parameter

This parameter defines additional or override mappings for the conversion of fields from the WorldCat record to the PNX.

"Param name*": "ResponseConversion"
"Param value": <PNX_section>,<PNX_property>,<WorldCat_field>;entry_2;entry_3;...

Additional conversions are separated with a semicolon.
For information on how the adapter converts the WorldCat record to the PNX, see Converting the WorldCat Record to the PNX.

For example:

"Param name*": "ResponseConversion"
"Param value": "display,format,dc:format;display,description,dc:description"

PnxConversion Parameter

This parameter enables the conversion of values for specific fields in the source WorldCat record to other values in the PNX.
In the out-of-the-box adaptor settings, it maps WorldCat resource types to PNX resource types.
The adapter uses the following format for this parameter:

"Param name*": "PnxConversion"
"Param value": <WorldCat_field_name>,<WorldCat_value>,<Primo_value>;entry_2;entry_3;...

Additional conversions are separated with a semicolon.

NOTE: The PNX field that is used is defined with the ResponseConversion parameter,
             which defines the mapping between the WorldCat record field and the PNX field.
             For more information, see ResponseConversion Parameter.

Out of the box, the adapter maps the following WorldCat types (dc:type) to Primo types, which can be overridden:

    dc:type,Text,book
    dc:type,Dataset,statistical_data_set
    dc:type,Event,other
    dc:type,Image,image
    dc:type,Interactive Resource,website
    dc:type,Model,other
    dc:type,Party,other
    dc:type,physical object,other
    dc:type,Place,other
    dc:type,Software,other
    dc:type,Service,other
    dc:type,Sound,audio
    dc:type,Collection,other

In the following example, the WorldCat type field (dc:type) maps the WorldCat value XXX to the Primo value YYY:

"Param name*": "PnxConversion"
"Param value": "dc:type,XXX,YYY"

Converting the WorldCat Record to the PNX

This section describes the default conversion to the PNX.
Note that in some cases a hardcoded value is either used as the value of the PNX field or appended to the WorldCat value.
Examples of fields that use hardcoded values include the <control:recordid> and <control:sourceid> fields.

Out of the box, the adapter makes the following conversions:

    Control section:
        control,recordid,WorldCat
        control,sourcerecordid,trm:recordIdentifier
        control,sourcerecordid,trm:recordIdentifier
        control,sourceid,WorldCat

    Additional Data section:
        addata,abstract,dc:description
        addata,addau,dc:contributor
        addata,au,dc:creator
        addata,btitle,dc:title
        addata,format,book
        addata,date,dc:date
        addata,risdate,dc:date
        addata,genre,dc:type
        addata,ristype,dc:type
        addata,pub,dc:publisher
        addata,oclcid,oclcterms:recordIdentifier

    Display section:
        display,source,WorldCat
        display,language,dc:language
        display,subject,dc:subject
        display,title,dc:title
        display,type,dc:type
        display,creator,dc:creator
        display,contributor,dc:contributor
        display,publisher,dc:publisher
        display,creationdate,dc:date
        display,ispartof,dc:source
        display,identifier,dc:identifier
        display,description,dc:description
        display,relation,dc:relation
        display,coverage,dc:coverage
        display,rights,dc:rights

    Search section:
        search,subject,dc:subject
        search,title,dc:title
        search,rsrctype,dc:type
        search,recordtype,dc:type

    Sort section:
        sort:creationdate,dc:date
        sort:title,dc:title

    Delivery section:
        delivery:delcategory,Remote Search Resource
        delivery:fulltext,worldcat

    Links section:
        links:linktorsrc,$$Uhttp://www.worldcat.org/wcpa/oclc/
        links:linktorsrc,trm:recordIdentifier

NOTE: The last two lines are concatenated to create the following link: $$Uhttp://www.worldcat.org/wcpa/oclc/<Worldcat ID>
 

Setting Up Availability and Delivery

Delivery for WorldCat records can be set up in two different ways via the standard Delivery code and mapping tables.
The important thing to keep in mind is that the delivery category for WorldCat records is Remote Search Resource.
Since availability for this delivery category always concerns availability of full text,
the availability status is defined in the delivery/fulltext field and is defaulted to worldcat.

Option 1: The GetIt! Tab Links to the Record in WorldCat

Perform the following steps to configure availability and delivery:
 

  1.     Update the Getit! Link 1 Configuration mapping table.
        Add a line for delivery category=Remote Search Resource and Availability status=worldcat in order to define the GetIt 1 tab.
        Assign linktorsrc as the field to use for linking.
        You can also mark the row as having a direct link to Worldcat in case your view is defined to
        enable a direct link from the title to an online resource.

        
     
  2. Update the Getit! Tab 1 Text Configuration mapping table. Add a code for the new tab:


     
  3. Update the GetIT! Tab 1 code table. Create label for new table:


     
  4. Update the Calculated Availability Status code table. Define the availability status label and color:


     
  5. Deploy All Code Tables and Mapping Tables and Delivery Settings (GetIt and Availability) settings.
     

 

Option 2: Link to Alma Get It Services

Perform the following steps to configure availability and delivery:
 

  1.     Update the Getit! Link 1 Configuration mapping table.
        Add a line for delivery category=Remote Search Resource and Availability status=worldcat
        in order to define the GetIt 1 tab. Assign Almagetit_remote as the field to use for linking:



     
  2. Update the Getit! Tab 1 Text Configuration mapping table. Add a code for the new tab:


     
  3. Update the GetIT! Tab 1 code table. Create a label for the new table:


     
  4. Update the Calculated Availability Status code table. Define the availability status label and color:


     
  5. Deploy All Code Tables and Mapping Tables and Delivery Settings (GetIt and Availability) settings.

 

Configuring the WorldCat API for Multiple Institution

The WorldCat adapter can be configured differently for each institution so that each can insert its own WorldCat API key. 

In Back Office:

1. Customize the mapping tables "Deep-Search Plugins" and "Deep Search Plugin parameters" (if there's a need) for each institution and define different parameters and values according to your needs.

2. Save the mapping tables at all modified levels and deploy "Deep Search Configuration" from the "Deploy all" section. 

3. Add the adaptor to a search scope via the View Wizard. Deploy the View.

4. Availability and Delivery can also be configured per institution if the relevant code and mapping tables (see explanation above) are configured at the institution level.