blacklight-marc 5.10.0 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -1
  3. data/.travis.yml +12 -17
  4. data/Gemfile +21 -14
  5. data/README.md +18 -1
  6. data/Rakefile +2 -2
  7. data/app/assets/stylesheets/blacklight_marc.scss +42 -0
  8. data/app/helpers/blacklight_marc_helper.rb +17 -0
  9. data/{lib → app/models/concerns}/blacklight/solr/document/marc.rb +0 -0
  10. data/{lib → app/models/concerns}/blacklight/solr/document/marc_export.rb +0 -20
  11. data/app/views/bookmarks/_endnote.html.erb +1 -1
  12. data/app/views/bookmarks/_refworks.html.erb +1 -1
  13. data/app/views/catalog/_refworks_form.html.erb +6 -0
  14. data/app/views/catalog/show.refworks.erb +1 -0
  15. data/blacklight-marc.gemspec +9 -5
  16. data/config/locales/blacklight_marc.de.yml +5 -0
  17. data/config/locales/{blacklight.en.yml → blacklight_marc.en.yml} +2 -2
  18. data/config/locales/blacklight_marc.es.yml +5 -0
  19. data/config/locales/{blacklight.fr.yml → blacklight_marc.fr.yml} +0 -0
  20. data/config/locales/blacklight_marc.it.yml +5 -0
  21. data/config/locales/blacklight_marc.pt-BR.yml +5 -0
  22. data/lib/blacklight/marc.rb +2 -4
  23. data/lib/blacklight/marc/catalog.rb +23 -0
  24. data/lib/blacklight/marc/engine.rb +18 -0
  25. data/lib/blacklight/marc/indexer.rb +80 -0
  26. data/lib/blacklight/marc/indexer/dewey.rb +35 -0
  27. data/lib/blacklight/marc/indexer/formats.rb +194 -0
  28. data/lib/blacklight/marc/routes.rb +2 -2
  29. data/lib/blacklight/marc/version.rb +1 -1
  30. data/lib/generators/blacklight/marc/install_generator.rb +21 -7
  31. data/lib/generators/blacklight/marc/templates/app/models/marc_indexer.rb +161 -0
  32. data/lib/generators/blacklight/marc/templates/config/{SolrMarc/translation_maps → translation_maps}/README_MAPS +0 -0
  33. data/lib/generators/blacklight/marc/templates/config/{SolrMarc/translation_maps → translation_maps}/callnumber_map.properties +0 -0
  34. data/lib/generators/blacklight/marc/templates/config/{SolrMarc/translation_maps → translation_maps}/composition_era_map.properties +0 -0
  35. data/lib/generators/blacklight/marc/templates/config/{SolrMarc/translation_maps → translation_maps}/country_map.properties +0 -0
  36. data/lib/generators/blacklight/marc/templates/config/{SolrMarc/translation_maps → translation_maps}/format_map.properties +0 -0
  37. data/lib/generators/blacklight/marc/templates/config/{SolrMarc/translation_maps → translation_maps}/instrument_map.properties +0 -0
  38. data/lib/generators/blacklight/marc/templates/config/{SolrMarc/translation_maps → translation_maps}/language_map.properties +0 -0
  39. data/lib/railties/solr_marc.rake +24 -27
  40. data/spec/features/bookmarks_spec.rb +17 -0
  41. data/spec/features/librarian_view_spec.rb +1 -1
  42. data/spec/features/record_view_spec.rb +13 -0
  43. data/spec/features/search_formats_spec.rb +31 -0
  44. data/spec/helpers/blacklight_marc_helper_spec.rb +20 -0
  45. data/spec/lib/indexer/dewey_spec.rb +86 -0
  46. data/spec/lib/indexer/formats_spec.rb +65 -0
  47. data/spec/lib/tasks/solr_marc_task_spec.rb +14 -18
  48. data/spec/lib/traject_indexer_spec.rb +132 -0
  49. data/spec/routing/routes_spec.rb +2 -2
  50. data/spec/spec_helper.rb +8 -1
  51. data/spec/support/controller_level_helpers.rb +21 -0
  52. data/spec/test_app_templates/lib/generators/test_app_generator.rb +1 -3
  53. data/spec/views/bookmarks/_endnote.html.erb_spec.rb +4 -0
  54. data/spec/views/bookmarks/_refworks.html.erb_spec.rb +4 -0
  55. data/spec/views/catalog/_document_action.html.erb_spec.rb +21 -0
  56. data/spec/views/catalog/index.atom.builder_spec.rb +58 -0
  57. data/test_support/config/translation_maps/test_dewey.properties +99 -0
  58. data/test_support/config/translation_maps/test_formats.properties +22 -0
  59. metadata +101 -30
  60. data/lib/SolrMarc.jar +0 -0
  61. data/lib/blacklight/marc/railtie.rb +0 -17
  62. data/lib/generators/blacklight/marc/templates/config/SolrMarc/config-test.properties +0 -37
  63. data/lib/generators/blacklight/marc/templates/config/SolrMarc/config.properties +0 -37
  64. data/lib/generators/blacklight/marc/templates/config/SolrMarc/index.properties +0 -97
  65. data/lib/generators/blacklight/marc/templates/config/SolrMarc/index_scripts/dewey.bsh +0 -47
  66. data/lib/generators/blacklight/marc/templates/config/SolrMarc/index_scripts/format.bsh +0 -126
  67. data/lib/generators/blacklight_marc/marc_generator.rb +0 -9
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e8e43d7c8a9b57de3e972546f7c341ca55545a30
4
- data.tar.gz: fe618a0f2c13669d32457b783c47700096ca9ef0
3
+ metadata.gz: 3a674be3c4819a0ea53a8c949f68dc305adc2715
4
+ data.tar.gz: b2b7608c6e893f43fce519908d35f257a759a14f
5
5
  SHA512:
6
- metadata.gz: d55e417c12342255ba4839a1baa6364324e52141039adab7860fa02638734e9711611a5f3eb63df8404c073eeb02a6f38d6ed098d213cdcaa8a6339fae366d38
7
- data.tar.gz: 9050cf52fad6e56be7900fd07b53c9bdd8513ad807f2426f5e16565c81e7c578b17f61ed9795970cc0f152cf14b6a44443b0a243abcbfc3352be09533a84735f
6
+ metadata.gz: 506c0334c905f179256b15044a46c0bf6a8cc0b71d49af5fc482a8e24b0cf9fbc402612486b3a3a01fc926ee6a20ad4acd1e32b79c06d69e0fe4e0333bd6cb90
7
+ data.tar.gz: 00399aeb90e6f0098849378eb99155f1b9f07d476e0970af1b39f9ca654c5e636d080033347f82f9509bf4d2d360738d002fab3e40b36d126cee5b06bd7774bf
data/.gitignore CHANGED
@@ -16,5 +16,7 @@ test/tmp
16
16
  test/version_tmp
17
17
  tmp
18
18
  lib/solrmarc.log
19
+ lib/solrmarc.log.*
19
20
  spec/internal
20
- jetty
21
+ jetty
22
+ .internal_test_app
@@ -1,34 +1,29 @@
1
+ language: ruby
2
+ sudo: false
3
+
1
4
  notifications:
2
5
  email: false
3
6
 
4
-
5
7
  rvm:
6
- - 2.1.4
8
+ - 2.2.3
7
9
 
8
10
  matrix:
9
11
  include:
10
- - rvm: 2.1.4
11
- env: "RAILS_VERSION=4.0.12"
12
- - rvm: 2.0.0
13
- env: "RAILS_VERSION=4.1.8"
14
- - rvm: 1.9.3
15
- env: "RAILS_VERSION=4.1.8"
16
- - rvm: jruby
17
- env: "RAILS_VERSION=4.1.8 JRUBY_OPTS=\"-J-Xms512m -J-Xmx1024m\""
18
- - rvm: 2.1.4
19
- env: "RAILS_VERSION=4.2.0.rc3"
12
+ - rvm: 2.2.2
13
+ env: "RAILS_VERSION=4.1.13"
14
+ - rvm: 2.1.6
15
+ env: "RAILS_VERSION=4.2.4"
20
16
 
21
17
  before_install:
22
18
  - gem install bundler
23
19
 
24
20
  env:
25
- - "RAILS_VERSION=3.2.21"
26
- - "RAILS_VERSION=4.1.8"
21
+ - "RAILS_VERSION=4.2.4"
27
22
 
28
23
  notifications:
29
24
  irc: "irc.freenode.org#blacklight"
30
25
  email:
31
26
  - blacklight-commits@googlegroups.com
32
- env:
33
- global:
34
- - NOKOGIRI_USE_SYSTEM_LIBRARIES=true
27
+
28
+ global_env:
29
+ - NOKOGIRI_USE_SYSTEM_LIBRARIES=true
data/Gemfile CHANGED
@@ -3,26 +3,33 @@ source 'https://rubygems.org'
3
3
  # Please see blacklight_marc.gemspec for dependency information.
4
4
  gemspec path: File.expand_path('..', __FILE__)
5
5
 
6
-
7
- # Peg simplecov to < 0.8 until this is resolved:
8
- # https://github.com/colszowka/simplecov/issues/281
9
- gem 'simplecov', '~> 0.7.1', require: false
6
+ gem 'simplecov', '~> 0.10', require: false
10
7
  gem 'coveralls', require: false
11
8
 
12
- file = File.expand_path("Gemfile", ENV['ENGINE_CART_DESTINATION'] || ENV['RAILS_ROOT'] || File.expand_path("../spec/internal", __FILE__))
13
- if File.exists?(file)
14
- puts "Loading #{file} ..." if $DEBUG # `ruby -d` or `bundle -v`
15
- instance_eval File.read(file)
9
+ # BEGIN ENGINE_CART BLOCK
10
+ # engine_cart: 0.8.0
11
+ # engine_cart stanza: 0.8.0
12
+ # the below comes from engine_cart, a gem used to test this Rails engine gem in the context of a Rails app.
13
+ file = File.expand_path("Gemfile", ENV['ENGINE_CART_DESTINATION'] || ENV['RAILS_ROOT'] || File.expand_path(".internal_test_app", File.dirname(__FILE__)))
14
+ if File.exist?(file)
15
+ begin
16
+ eval_gemfile file
17
+ rescue Bundler::GemfileError => e
18
+ Bundler.ui.warn '[EngineCart] Skipping Rails application dependencies:'
19
+ Bundler.ui.warn e.message
20
+ end
16
21
  else
17
- gem 'rails', ENV['RAILS_VERSION']
22
+ Bundler.ui.warn "[EngineCart] Unable to find test application dependencies in #{file}, using placeholder dependencies"
23
+
24
+ gem 'rails', ENV['RAILS_VERSION'] if ENV['RAILS_VERSION']
18
25
 
19
- # explicitly include sass-rails to get compatible sprocket dependencies
20
- if ENV['RAILS_VERSION'] and ENV['RAILS_VERSION'] =~ /^4.2/
21
- gem 'sass-rails', ">= 5.0.0.beta1"
26
+ if ENV['RAILS_VERSION'].nil? || ENV['RAILS_VERSION'] =~ /^4.2/
27
+ gem 'bootstrap-sass', '>= 3.3.5.1'
22
28
  gem 'responders', "~> 2.0"
29
+ gem 'sass-rails', ">= 5.0"
23
30
  else
31
+ gem 'bootstrap-sass', '< 3.3.5' # 3.3.5 requires sass 3.3, incompatible with sass-rails 4.x
24
32
  gem 'sass-rails', "< 5.0"
25
- gem 'coffee-rails', "~> 4.0.0"
26
33
  end
27
34
  end
28
- gem 'transpec'
35
+ # END ENGINE_CART BLOCK
data/README.md CHANGED
@@ -18,8 +18,25 @@ After running the blacklight generator, run the blacklight_marc generator:
18
18
 
19
19
  $ rails generate blacklight_marc:marc
20
20
 
21
+ The generator will create a model called MarcIndexer. This model can be customized by modifying
22
+ the field configurations in its initializer as a Traject 2 indexer; new indexing behaviors can
23
+ be added to it via mixins or inline methods. Two example mixins are provided:
24
+ ```ruby
25
+ MarcIndexer
26
+ # you would add one or both of the mixins below
27
+ include Blacklight::Marc::Indexer::Formats
28
+ include Blacklight::Marc::Indexer::Dewey
29
+ def initialize
30
+ # and define fields as normal with the mixed-in methods
31
+ to_field 'format', get_format
32
+ to_field 'dewey100', dewey_facets(base: :hundreds)
33
+ to_field 'dewey010', dewey_facets(base: :tens)
34
+ to_field 'dewey_text', dewey_text
35
+ end
36
+ end
37
+ ```
21
38
  ## Features
22
- * Rake task `solr:marc:index` to import .mrc files using SolrMarc
39
+ * Rake task `solr:marc:index` to import .mrc files using Traject and app/models/marc_indexer
23
40
  * Librarian view at `catalog/:id/librarian_view`
24
41
  * Export records to refworks and endnote
25
42
  * Blacklight::Solr::Document mixins for exporting and transforming MARC data from a stored Solr field
data/Rakefile CHANGED
@@ -1,5 +1,5 @@
1
1
  require "bundler/gem_tasks"
2
- ZIP_URL = "https://github.com/projectblacklight/blacklight-jetty/archive/v4.10.3.zip"
2
+ ZIP_URL = "https://github.com/projectblacklight/blacklight-jetty/archive/v4.10.4.zip"
3
3
 
4
4
  require 'jettywrapper'
5
5
  require 'rspec/core/rake_task'
@@ -26,7 +26,7 @@ namespace :blacklight_marc do
26
26
  desc "Load fixtures"
27
27
  task :fixtures => [:generate] do
28
28
  within_test_app do
29
- system "rake solr:marc:index_test_data RAILS_ENV=test"
29
+ system "bundle exec rake solr:marc:index_test_data RAILS_ENV=test"
30
30
  abort "Error running fixtures" unless $?.success?
31
31
  end
32
32
  end
@@ -0,0 +1,42 @@
1
+ /* border between items on marc view */
2
+ $marc_item_separator: 1px solid $text-muted !default;
3
+
4
+ #librarian_view
5
+ {
6
+ left:-17%;
7
+ text-align:left;
8
+ top:10%;
9
+ width:700px;
10
+ }
11
+
12
+ #marc_view
13
+ {
14
+ text-align:left;
15
+
16
+ .field
17
+ {
18
+ border-bottom: $marc_item_separator;
19
+ clear:both;
20
+ }
21
+
22
+ .ind1, .ind2
23
+ {
24
+ display:inline;
25
+ padding:0 $padding-xs-horizontal;
26
+ }
27
+
28
+ .subfields
29
+ {
30
+ padding-left:5em;
31
+ }
32
+
33
+ .tag_ind
34
+ {
35
+ float:left;
36
+ }
37
+ }
38
+
39
+ /* refworks uses a form; we need to give it some additional padding to make it look like a link */
40
+ #refworks-form .btn {
41
+ padding: $nav-link-padding;
42
+ }
@@ -1,5 +1,22 @@
1
1
  module BlacklightMarcHelper
2
2
 
3
+ # This method should move to BlacklightMarc in Blacklight 6.x
4
+ def refworks_export_url params = {}
5
+ "http://www.refworks.com/express/expressimport.asp?vendor=#{CGI.escape(params[:vendor] || application_name)}&filter=#{CGI.escape(params[:filter] || "MARC Format")}&encoding=65001" + (("&url=#{CGI.escape(params[:url])}" if params[:url]) || "")
6
+ end
7
+
8
+ def refworks_solr_document_path opts = {}
9
+ if opts[:id]
10
+ refworks_export_url(url: solr_document_url(opts[:id], format: :refworks_marc_txt))
11
+ end
12
+ end
13
+
14
+ # For exporting a single endnote document. (endnote_catalog_path is defined by blacklight-marc and it is used for multiple document export)
15
+ def single_endnote_catalog_path opts = {}
16
+ solr_document_path(opts.merge(format: 'endnote'))
17
+ end
18
+
19
+
3
20
  # puts together a collection of documents into one refworks export string
4
21
  def render_refworks_texts(documents)
5
22
  val = ''
@@ -154,7 +154,6 @@ module Blacklight::Solr::Document::MarcExport
154
154
  "%7" => "250.a"
155
155
  }
156
156
  marc_obj = to_marc
157
-
158
157
  # TODO. This should be rewritten to guess
159
158
  # from actual Marc instead, probably.
160
159
  format_str = 'Generic'
@@ -190,25 +189,6 @@ module Blacklight::Solr::Document::MarcExport
190
189
  text
191
190
  end
192
191
 
193
- ## DEPRECATED stuff left in for backwards compatibility, but should
194
- # be gotten rid of eventually.
195
-
196
- def to_zotero(format)
197
- warn("[DEPRECATION] Simply call document.export_as_openurl_kev to get an openURL kev context object suitable for including in a COinS; then have view code make the span for the COinS. ")
198
- "<span class=\"Z3988\" title=\"#{export_as_openurl_kev(format)}\"></span>"
199
- end
200
-
201
- def to_apa
202
- warn("[DEPRECATION] Call document.export_as_apa_citation instead.")
203
- export_as_apa_citation
204
- end
205
-
206
- def to_mla
207
- warn("[DEPRECATION] Call document.export_as_mla_citation instead.")
208
- end
209
-
210
-
211
-
212
192
  protected
213
193
 
214
194
  # Main method for defining chicago style citation. If we don't end up converting to using a citation formatting service
@@ -1,5 +1,5 @@
1
1
  <% if @document_list.any? {|d| d.exports_as? :endnote } %>
2
2
  <li class="endnote">
3
- <%= link_to t('blacklight.tools.endnote'), bookmarks_path(:endnote, params_for_search), :class => "btn btn-default", :id => "endnoteLink" %>
3
+ <%= link_to t('blacklight.tools.endnote'), bookmarks_path(:endnote, search_state.params_for_search), :class => "btn btn-default", :id => "endnoteLink" %>
4
4
  </li>
5
5
  <% end %>
@@ -1,5 +1,5 @@
1
1
  <% if @document_list.any? {|d| d.exports_as? :refworks_marc_txt } %>
2
2
  <li class="refworks">
3
- <%= link_to t('blacklight.tools.refworks'), refworks_export_url(url: bookmarks_export_url(:refworks_marc_txt, params_for_search)), :class => "btn btn-default", :id => "refworksLink" %>
3
+ <%= link_to t('blacklight.tools.refworks'), refworks_export_url(url: bookmarks_export_url(:refworks_marc_txt, search_state.params_for_search)), :class => "btn btn-default", :id => "refworksLink" %>
4
4
  </li>
5
5
  <% end %>
@@ -0,0 +1,6 @@
1
+ <%# this partial is used by blacklight-marc 5.0 %>
2
+ <%= form_tag refworks_export_url, :name => "refworks", :role => 'form', :target => "_blank", :id => "refworks-form" do %>
3
+
4
+ <%= hidden_field_tag "ImportData", render_refworks_texts(documents) %>
5
+ <%= submit_tag t('blacklight.tools.refworks'), :class => 'submit btn btn-default'%>
6
+ <% end %>
@@ -0,0 +1 @@
1
+ <%= render_refworks_text(@document) %>
@@ -9,15 +9,16 @@ Gem::Specification.new do |spec|
9
9
  spec.email = ["justin@curationexperts.com"]
10
10
  spec.description = %q{MARC support for Blacklight}
11
11
  spec.summary = %q{MARC support for Blacklight}
12
- spec.homepage = "https://github.com/projectblacklight/blacklight_marc"
12
+ spec.homepage = "https://github.com/projectblacklight/blacklight-marc"
13
13
  spec.license = "Apache 2.0"
14
14
 
15
- spec.files = `git ls-files`.split($/)
16
- spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
15
+ spec.files = `git ls-files -z`.split("\x0")
17
16
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
17
+ spec.bindir = 'exe'
18
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
18
19
  spec.require_paths = ["lib"]
19
20
 
20
- spec.add_dependency "blacklight", "~> 5.10"
21
+ spec.add_dependency 'blacklight', '>= 6.0.0.pre3', '< 7'
21
22
 
22
23
  spec.add_development_dependency "bundler", "~> 1.3"
23
24
  spec.add_development_dependency "rake"
@@ -25,10 +26,13 @@ Gem::Specification.new do |spec|
25
26
  spec.add_development_dependency "rspec-activemodel-mocks"
26
27
  spec.add_development_dependency "jettywrapper"
27
28
  spec.add_development_dependency "capybara"
28
- spec.add_development_dependency "engine_cart", "~> 0.6"
29
+ spec.add_development_dependency "engine_cart", "~> 0.8"
29
30
 
31
+ spec.add_dependency "library_stdnums"
30
32
  spec.add_dependency "rails"
31
33
  # Let's allow future versions of marc, count on
32
34
  # them to be backwards compat until 1.1
33
35
  spec.add_dependency "marc", ">= 0.4.3", "< 1.1" # Marc record parser.
36
+ spec.add_dependency "traject", "~>2.1"
37
+ spec.add_dependency 'marc-fastxmlwriter' # NO REXML
34
38
  end
@@ -0,0 +1,5 @@
1
+ de:
2
+ blacklight:
3
+ tools:
4
+ endnote: 'Export nach EndNote'
5
+ refworks: 'Export nach Refworks'
@@ -1,8 +1,9 @@
1
1
  en:
2
-
3
2
  blacklight:
4
3
  tools:
5
4
  librarian_view: 'Librarian View'
5
+ endnote: 'Export to EndNote'
6
+ refworks: 'Export to Refworks'
6
7
 
7
8
 
8
9
  search:
@@ -10,4 +11,3 @@ en:
10
11
  title: 'Librarian View'
11
12
  leader: 'LEADER %{leader}'
12
13
  empty: 'No MARC data found.'
13
-
@@ -0,0 +1,5 @@
1
+ es:
2
+ blacklight:
3
+ tools:
4
+ endnote: 'Exportar a EndNote'
5
+ refworks: 'Exportar a Refworks'
@@ -0,0 +1,5 @@
1
+ it:
2
+ blacklight:
3
+ tools:
4
+ endnote: 'Esporta in EndNote'
5
+ refworks: 'Esporta in Refworks'
@@ -0,0 +1,5 @@
1
+ pt-BR:
2
+ blacklight:
3
+ tools:
4
+ endnote: 'Exportar para EndNote'
5
+ refworks: 'Exportar para Refworks'
@@ -3,13 +3,11 @@ require 'blacklight'
3
3
 
4
4
  module Blacklight
5
5
  module Marc
6
- Blacklight::Solr::Document.autoload :Marc, 'blacklight/solr/document/marc'
7
- Blacklight::Solr::Document.autoload :MarcExport, 'blacklight/solr/document/marc_export'
8
-
9
6
  require 'blacklight/marc/engine'
10
- require 'blacklight/marc/railtie'
7
+
11
8
  autoload :Routes, 'blacklight/marc/routes'
12
9
  autoload :Catalog, 'blacklight/marc/catalog'
10
+ autoload :Indexer, 'blacklight/marc/indexer'
13
11
 
14
12
  def self.add_routes(router, options = {})
15
13
  Blacklight::Marc::Routes.new(router, options).draw
@@ -1,5 +1,13 @@
1
1
  module Blacklight::Marc
2
2
  module Catalog
3
+ extend ActiveSupport::Concern
4
+
5
+ included do
6
+ add_show_tools_partial(:librarian_view, if: :render_librarian_view_control?, define_method: false)
7
+ add_show_tools_partial(:refworks, if: :render_refworks_action?, modal: false)
8
+ add_show_tools_partial(:endnote, if: :render_endnote_action?, modal: false, path: :single_endnote_catalog_path, define_method: false)
9
+ end
10
+
3
11
  def librarian_view
4
12
  @response, @document = fetch params[:id]
5
13
 
@@ -16,5 +24,20 @@ module Blacklight::Marc
16
24
  format.endnote { render :layout => false }
17
25
  end
18
26
  end
27
+
28
+ private
29
+
30
+ def render_refworks_action? config, options = {}
31
+ options[:document] && options[:document].respond_to?(:export_formats) && options[:document].export_formats.keys.include?(:refworks_marc_txt )
32
+ end
33
+
34
+ def render_endnote_action? config, options = {}
35
+ options[:document] && options[:document].respond_to?(:export_formats) && options[:document].export_formats.keys.include?(:endnote )
36
+ end
37
+
38
+ def render_librarian_view_control? config, options = {}
39
+ respond_to? :librarian_view_solr_document_path and options[:document] and options[:document].respond_to?(:to_marc)
40
+ end
41
+
19
42
  end
20
43
  end
@@ -3,6 +3,24 @@ require "rails"
3
3
 
4
4
  module Blacklight::Marc
5
5
  class Engine < Rails::Engine
6
+ config.autoload_paths += %W(
7
+ #{config.root}/app/presenters
8
+ #{config.root}/app/controllers/concerns
9
+ #{config.root}/app/models/concerns
10
+ )
6
11
 
12
+ rake_tasks do
13
+ load "railties/solr_marc.rake"
14
+ end
15
+
16
+ initializer 'blacklight_marc.initialize' do |app|
17
+ Mime::Type.register_alias "text/plain", :refworks_marc_txt
18
+ Mime::Type.register_alias "text/plain", :openurl_kev
19
+ Mime::Type.register "application/x-endnote-refer", :endnote
20
+ Mime::Type.register "application/marc", :marc
21
+ Mime::Type.register "application/marcxml+xml", :marcxml,
22
+ ["application/x-marc+xml", "application/x-marcxml+xml",
23
+ "application/marc+xml"]
24
+ end
7
25
  end
8
26
  end