README.md in umlaut-primo-0.0.1 vs README.md in umlaut-primo-0.1.0

- old
+ new

@@ -3,8 +3,96 @@ [![Build Status](https://api.travis-ci.org/team-umlaut/umlaut-primo.png?branch=master)](https://travis-ci.org/team-umlaut/umlaut-primo) [![Dependency Status](https://gemnasium.com/team-umlaut/umlaut-primo.png)](https://gemnasium.com/team-umlaut/umlaut-primo) [![Code Climate](https://codeclimate.com/github/team-umlaut/umlaut-primo.png)](https://codeclimate.com/github/team-umlaut/umlaut-primo) [![Coverage Status](https://coveralls.io/repos/team-umlaut/umlaut-primo/badge.png?branch=master)](https://coveralls.io/r/team-umlaut/umlaut-primo) -Umlaut service to provide full text service responses, holdings, etc. from the Primo discovery solution. +Umlaut services to provide full text service responses, holdings, etc. from the Primo discovery solution. -## DOCUMENTATION COMING SOON +## Installation +In order to use the Umlaut Primo service, first +[install Umlaut](https://github.com/team-umlaut/umlaut/wiki/Installation). +Then, in your Gemfile, add in the umlaut-primo gem, `gem 'umlaut-primo', '~> 0.1.0'`. +Run `bundle intall` to get the Gem and then start your application as you normally would. + +## Service Configuration +To use the Umlaut Primo services, they must be configured in `config/umlaut_service.yml`. +Two services are available for use, PrimoService and PrimoSource. + +### PrimoService +The `PrimoService` is the basic Primo service for getting service data from Primo. + +Several configurations parameters are available to be set in config/umlaut_services.yml. +A sample configuration is below. + + Primo: # Name of your choice + type: PrimoService # Required + priority: 2 # Required. I suggest running after the SFX service so you get the SFX referent enhancements + base_url: http://primo.library.edu # Required + vid: VID # Required + institution: INST # Required + holding_search_institution: SEARCH_INST # Optional. Defaults to the institution above. + holding_search_text: Search for this title in Primo. # Optional text for holding search. Defaults to "Search for this title." + suppress_holdings: [ !ruby/regexp '/\$\$LWEB/', !ruby/regexp '/\$\$1Restricted Internet Resources/' ] # Optional + ez_proxy: !ruby/regexp '/https\:\/\/ezproxy\.library\.edu\/login\?url=/' # Optional + service_types: # Optional. Defaults to [ "fulltext", "holding", "holding_search", "table_of_contents", "referent_enhance" ] + - holding + - holding_search + - fulltext + - table_of_contents + - referent_enhance + - highlighted_link + + + +### PrimoSource +The `PrimoSource` service depends on `PrimoService` and is used to expand Primo holdings based on information +from the data source. + +Fi8rst, PrimoService must be configured with the `primo_source` service type instead of `holding`. + + Primo: # Name of your choice + ... + service_types: + - primo_source + - holding_search + ... + +Then you can configure the PrimoSource service in config/umlaut_services.yml + + PrimoSource: # Name of your choice + type: PrimoSource # Required + priority: 3 # Required. Must be run after PrimoService + base_url: http://primo.library.edu # Required + vid: VID # Required + institution: INST # Required + source_attributes: # Optional. + - request_link_supports_ajax_call + - requestability + +## Primo Configuration +Primo offers several configuration options, specified in the Primo Back Office. +Since Umlaut doesn't have access to the Primo back office, the configurations need to be set in a separate file. +Umlaut Primo leverages the [exlibris-primo](https://github.com/scotdalton/exlibris-primo) gem which can set this configuration +via a YAML file. Umlaut Primo expects this YAML file to be in `config/primo.yml`, but you can tell the PrimoService where the +YAML file is with the `primo_config` parameter. + +A sample YAML config file would look like this: + + institutions: + "primo_institution_code": "Primo Institution String" + libraries: + "primo_library_code": "Primo Library String" + availability_statuses: + "status1_code": "Status One" + sources: + data_source1: + base_url: "http://source1.base.url + type: source_type + class_name: Source1Implementation (in exlibris/primo/sources or exlibris/primo/sources/local) + source1_config_option1: source1_config_option1 + source1_config_option2: source1_config_option2 + data_source2: + base_url: "http://source2.base.url + type: source_type + class_name: Source2Implementation (in exlibris/primo/sources or exlibris/primo/sources/local) + source2_config_option1: source2_config_option1 + source2_config_option2: source2_config_option2 \ No newline at end of file