Skip to content

A Rails engine for Blacklight that adds support for downloading records in RIS format

License

Notifications You must be signed in to change notification settings

upenn-libraries/blacklight-ris

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

blacklight-ris

Adds "Download in RIS format" functionality to Blacklight.

Description

Blacklight plugin that adds the ability to download a RIS representation of a record from a catalog show page and a set of records from the bookmarks index page.

Versioning

v0.1.0 -> Known to work with Blacklight v6 and Rails 4

v0.2.0 -> Known to work with Blacklight v8 and Rails 7 (untested with Blacklight v7 but might work)

Installation

Add this line to your application's Gemfile:

gem 'blacklight-ris'

And then execute:

$ bundle install

Usage

Modify your SolrDocument class with the extension modules for RIS, and define your field mappings using the ris_field_mappings hash.

class SolrDocument

  # ...existing code...

  include Blacklight::Ris::DocumentFields
  use_extension(Blacklight::Ris:DocumentExport)

  ris_field_mappings.merge!(
    # Procs are evaluated in context of SolrDocument instance
    :TY => Proc.new {
      format = fetch('format_a', [])
      if format.member?('Book')
        'BOOK'
      elsif format.member?('Journal/Periodical')
        'JOUR'
      else
        'GEN'
      end
    },
    # use solr field named 'title'
    :TI => 'title',
    :AU => 'author_creator_a',
    :PY => 'publication_date_a',
    # this assumes you're using blacklight-marc
    :CY => Proc.new { marclibrary.get_ris_cy_field(to_marc) },
    :PB => Proc.new { marclibrary.get_ris_pb_field(to_marc) },
    :ET => 'edition',
    :SN => Proc.new { marclibrary.get_ris_sn_field(to_marc) },
  )
end

Modify your CatalogController to include the Blacklight::Ris::Catalog module. Put this at the end of any existing includes.

class CatalogController < ApplicationController
  # ...existing includes...
  include Blacklight::Catalog
  
  # add this line
  include Blacklight::Ris::Catalog
end

The show view and bookmarks page should now display links for downloading records in RIS format.

License

The gem is available as open source under the terms of the MIT License.

About

A Rails engine for Blacklight that adds support for downloading records in RIS format

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published