Git Product home page Git Product logo

bl6demo's Introduction

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...

bl6demo's People

Contributors

nestorw avatar raylubinsky avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.