Exlibris::Aleph

Exlibris::Primo offers a set of libraries for interacting with the ExLibris Aleph ILS.

Exlibris::Aleph::Patron

Exlibris::Aleph::Patron provides access to the Aleph Patron REST API.

Example of Exlibris::Aleph::Patron in action

patron = 
  Exlibris::Aleph::Patron.
    new("S0M31D", "http://aleph.institution.edu")
patron.address # Returns HTTParty::Response of patron's address
patron.loans # Returns HTTParty::Response patron's loan
patron.renew_loans # Renews all loans
patron.renew_loans("ADM5000000001") # Renews loan of item 00000001 in ADM50
patron.place_hold("ADM50", "SBLIB", "00000001", "00000001", {:pickup_location => "SBLIB"}) # Places hold on the specified item for pickup at SBLIB

Exlibris::Aleph::Record

Provides access to the Aleph Record REST API.

Example of Exlibris::Aleph::Record in action

record = 
  Exlibris::Aleph::Record.
    new("ADM50", "00000001", "http://aleph.institution.edu")
record.bib # Returns HTTParty::Response of record's bibliographic metadata
record.holdings # Returns HTTParty::Response of record's holdings
record.items # Returns HTTParty::Response of record's items

Exlibris::Aleph::TabHelper

Exlibris::Aleph::TabHelper provides a way to access the various tab settings for patrons, patron_permissions, items, item_permission (both by item status and by item processing status), collections and pickup locations. It also provides convenience methods for common tasks like getting the pickup location for a given combination of item status, item process status and borrower status or getting an item’s web text. Support a

Example of Exlibris::Aleph::TabHelper in action

# Placed this in an initializer.
Exlibris::Aleph::TabHelper.init("/mnt/aleph_tab", ["ADM50", "ADM50"])

# Rake task to refresh the config yml files
rake exlibris:aleph:refresh

# Get an instance of TabHelper
helper = Exlibris::Aleph::TabHelper.instance
helper.sub_library_text("SBLIB") # Returns display text for the give code
helper.sub_library_adm("SBLIB") # Returns ADM for the give code
helper.item_pickup_locations({:adm_library_code => "ADM50", :sub_library_code => "SBLIB", :bor_status => "51"}) # Returns the pickup locations for the given parameters
helper.collection_text({:adm_library_code => "ADM50", :sub_library_code => "SBLIB", :collection_code => "MAIN"}) # Returns the collection display text for the give parameters
helper.item_web_text({:adm_library_code => "ADM50", :item_process_status => "Item Process Status"}) # Returns the web text for the given parameters
helper.item_web_text({:adm_library_code => "ADM50", :sub_library_code => "SBLIB", :item_process_status_code => "DP"}) # Returns the web text for the given parameters

Configure irrelevant sub libraries in TabHelper

To configure the gem to ignore sub libraries pulled from Aleph but not relevant to working with permissions call the following setter with an array of sub library Aleph codes.

# Place this in an initializer.
Exlibris::Aleph::TabHelper.set_irrelevant_sub_libraries(["IRRLIB1", "IRRLIB1"], replace = false)

If the boolean variable replace is true the array passed in will replace the defaults. If it is false the array passed in will merge with the results. The default value is true.

Exlibris::Aleph::BorAuth

Exlibris::Aleph::BorAuth provides access to the BorAuth Aleph XService.

Example of Exlibris::Aleph::BorAuth in action

bor_auth = 
  Exlibris::Aleph::BorAuth.
    new("http://aleph.institution.edu", "ADM50", "SBLIB", "N", "S0M31D", "V3R1F1C@T10N")
permissions = bor_auth.permissions # Return a Hash of permissions based on the Exlibris::Aleph::BorAuth instance