Skip to content
This repository has been archived by the owner on Aug 10, 2018. It is now read-only.
/ bl6demo Public archive

Virgo 4.x proof-of-concept using Blacklight 6

Notifications You must be signed in to change notification settings

uvalib/bl6demo

Repository files navigation

Virgo 4.x - based on Blacklight 6

This project is proof-of-concept for a "greenfield" follow-on to the current Virgo search-and-discovery interface for the University of Virginia Library system.

Installation

The application is based on the latest versions of Ruby, Rails and Blacklight.

Versions

To execute, the following software should be in place before installation.

(Note that some adjustments were required due to Ruby 2.5.)

Development and execution environment
VERSION NOTES
ruby >= 2.5.1
bundler >= 1.16 Must be explicitly installed for ruby 2.5.
rubygems >= 2.7.6 Prior versions have a problem with ruby 2.5.
java >= 1.8.0_161 Per Blacklight QuickStart documentation.
rvm >= 1.29.3 (Used at UVA; not required for general use.)
Solr >= 4 (Configured for external UVA Solr server.)
Selected notes for Gemfile gem versions
VERSION NOTES
rails >= 5.2
blacklight >= 6.15 Display templates and interface to Solr.
blacklight-marc >= 6.2 Processing of MARC metadata.
blacklight_advanced_search >= 6.3 Advanced field and facet searching.
devise >= 4.4 Prior versions have a problem with ruby 2.5.
ebsco-eds >= 1.0 Translates Solr queries in EBSCO EDS searches.

Steps

  • Verify execution environment:

    • ruby --version >= 2.5.1
    • bundle --version >= 1.16.0
    • gem --version >= 2.7.6
  • Set up the code repository:

    git clone https://github.com/uvalib/bl6demo
    cd bl6demo
    bundle install
  • Localize URLs to match your deployment environment:

  • Create empty database tables:

    rake db:migrate
  • Localize metadata fields to match your Solr configuration:

    • Edit app/controllers/concerns/config/_solr.rb to provide the literal Solr field names for:

      • Facets
      • Index (search results) display fields
      • Show (item details) display fields
      • Search fields
      • Sort fields
    • Edit config/locales/zz_local.en.yml to associate base field names with human-readable field labels.

      YAML SUBTREE USAGE
      blacklight.field General field labels.
      blacklight.facet_field Labels for fields used as facets.
      blacklight.index_field Labels for fields in search results.
      blacklight.show_field Labels for fields on item details pages.
      blacklight.search_field Labels for the "search field" menu.
      blacklight.sort_field Labels for the "sort by" menu.
      blacklight.lens Labels used in any search lens.
      blacklight.LLL.field Labels for fields only on the LLL lens.
      blacklight.LLL.facet_field Labels for facets only on the LLL lens.
      etc
    • Edit other config/locales/*.yml files to customize the display of other human-readable elements.

  • Sensitive information is not stored with the code but supplied through the environment when executing the application:

    export SECRET_KEY_BASE='xxx' # Generate once with `rails secret` and save.
    export EDS_PROFILE='xxx'     # Supplied to you from EBSCO.
    export EDS_CACHE_DIR='/tmp/faraday_cache/eds' # vs. /tmp/faraday_cache/solr
    export TRACE_LOADING='false'        # Optional; already *false* by default.
    export TRACE_CONCERNS='false'       # Optional; already *false* by default.
    export TRACE_NOTIFICATIONS='false'  # Optional; already *false* by default.
    rails server

Background

More to come...