geoblacklight_sidecar_images 0.5.1 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (80) hide show
  1. checksums.yaml +5 -5
  2. data/.rubocop.yml +4 -4
  3. data/.travis.yml +4 -4
  4. data/Gemfile +2 -2
  5. data/README.md +8 -7
  6. data/Rakefile +0 -3
  7. data/app/assets/stylesheets/geoblacklight_sidecar_images/_gblsci.scss +13 -0
  8. data/app/assets/stylesheets/geoblacklight_sidecar_images/application.scss +10 -0
  9. data/app/assets/stylesheets/geoblacklight_sidecar_images/modules/_results.scss +10 -0
  10. data/app/jobs/geoblacklight_sidecar_images/store_image_job.rb +18 -0
  11. data/app/models/{geoblacklight_sidecar_images/application_record.rb → application_record.rb} +0 -0
  12. data/{lib/generators/geoblacklight_sidecar_images/templates → app}/models/concerns/wms_rewrite_concern.rb +0 -0
  13. data/{lib/generators/geoblacklight_sidecar_images/templates → app}/models/sidecar_image_state_machine.rb +1 -1
  14. data/{lib/generators/geoblacklight_sidecar_images/templates → app}/models/sidecar_image_transition.rb +0 -0
  15. data/{lib/generators/geoblacklight_sidecar_images/templates → app}/models/solr_document_sidecar.rb +3 -3
  16. data/app/services/geoblacklight_sidecar_images/image_service.rb +226 -0
  17. data/app/services/geoblacklight_sidecar_images/image_service/dynamic_map_layer.rb +15 -0
  18. data/app/services/geoblacklight_sidecar_images/image_service/iiif.rb +17 -0
  19. data/app/services/geoblacklight_sidecar_images/image_service/image_map_layer.rb +17 -0
  20. data/app/services/geoblacklight_sidecar_images/image_service/tiled_map_layer.rb +15 -0
  21. data/app/services/geoblacklight_sidecar_images/image_service/wms.rb +28 -0
  22. data/geoblacklight_sidecar_images.gemspec +5 -5
  23. data/lib/generators/geoblacklight_sidecar_images/install_generator.rb +9 -9
  24. data/lib/generators/geoblacklight_sidecar_images/jobs_generator.rb +1 -6
  25. data/lib/generators/geoblacklight_sidecar_images/models_generator.rb +0 -28
  26. data/lib/generators/geoblacklight_sidecar_images/templates/gblsci.scss +3 -0
  27. data/lib/generators/geoblacklight_sidecar_images/templates/views/catalog/_index_split_default.html.erb +28 -28
  28. data/lib/geoblacklight_sidecar_images/version.rb +1 -1
  29. data/lib/tasks/geoblacklight_sidecar_images_tasks.rake +10 -13
  30. data/solr/conf/schema.xml +11 -3
  31. data/solr/conf/solrconfig.xml +4 -4
  32. data/spec/fixtures/files/README.md +40 -0
  33. data/spec/fixtures/files/actual-papermap1.json +1 -1
  34. data/spec/fixtures/files/actual-point1.json +26 -13
  35. data/spec/fixtures/files/actual-polygon1.json +1 -1
  36. data/spec/fixtures/files/actual-raster1.json +6 -5
  37. data/spec/fixtures/files/bbox-spans-180.json +20 -0
  38. data/spec/fixtures/files/cornell_html_metadata.json +42 -0
  39. data/spec/fixtures/files/esri-dynamic-layer-all-layers.json +36 -34
  40. data/spec/fixtures/files/esri-dynamic-layer-single-layer.json +30 -27
  41. data/spec/fixtures/files/esri-feature-layer.json +37 -24
  42. data/spec/fixtures/files/esri-image-map-layer.json +39 -18
  43. data/spec/fixtures/files/iiif-eastern-hemisphere.json +30 -0
  44. data/spec/fixtures/files/index-map-polygon-no-downloadurl.json +37 -0
  45. data/spec/fixtures/files/index-map-polygon.json +37 -0
  46. data/spec/fixtures/files/index-map-stanford.json +37 -0
  47. data/spec/fixtures/files/index_map_point.json +27 -0
  48. data/spec/fixtures/files/princeton-child1.json +30 -0
  49. data/spec/fixtures/files/princeton-child2.json +30 -0
  50. data/spec/fixtures/files/princeton-child3.json +30 -0
  51. data/spec/fixtures/files/princeton-child4.json +30 -0
  52. data/spec/fixtures/files/princeton-parent.json +25 -0
  53. data/spec/fixtures/files/public_direct_download.json +13 -7
  54. data/spec/fixtures/files/public_polygon_mit.json +15 -27
  55. data/spec/fixtures/files/restricted-line.json +7 -6
  56. data/spec/fixtures/files/umn_iiif_jpg.json +1 -2
  57. data/spec/fixtures/files/umn_metro_result1.json +30 -26
  58. data/spec/fixtures/files/umn_state_result1.json +25 -18
  59. data/spec/fixtures/files/umn_state_result2.json +27 -25
  60. data/spec/fixtures/files/uva_slug_colon.json +25 -0
  61. data/spec/jobs/store_image_job_spec.rb +2 -2
  62. data/spec/models/solr_document_sidecar_spec.rb +1 -1
  63. data/spec/services/image_service_spec.rb +1 -1
  64. data/spec/test_app_templates/lib/generators/test_app_generator.rb +2 -2
  65. data/template.rb +3 -3
  66. metadata +55 -30
  67. data/app/assets/config/geoblacklight_sidecar_images_manifest.js +0 -2
  68. data/app/assets/images/geoblacklight_sidecar_images/.keep +0 -0
  69. data/app/assets/javascripts/geoblacklight_sidecar_images/application.js +0 -13
  70. data/app/assets/stylesheets/geoblacklight_sidecar_images/application.css +0 -15
  71. data/lib/generators/geoblacklight_sidecar_images/services_generator.rb +0 -19
  72. data/lib/generators/geoblacklight_sidecar_images/templates/assets/javascripts/geoblacklight.js +0 -9
  73. data/lib/generators/geoblacklight_sidecar_images/templates/assets/stylesheets/geoblacklight.scss +0 -3
  74. data/lib/generators/geoblacklight_sidecar_images/templates/jobs/store_image_job.rb +0 -17
  75. data/lib/generators/geoblacklight_sidecar_images/templates/services/image_service.rb +0 -224
  76. data/lib/generators/geoblacklight_sidecar_images/templates/services/image_service/dynamic_map_layer.rb +0 -13
  77. data/lib/generators/geoblacklight_sidecar_images/templates/services/image_service/iiif.rb +0 -15
  78. data/lib/generators/geoblacklight_sidecar_images/templates/services/image_service/image_map_layer.rb +0 -15
  79. data/lib/generators/geoblacklight_sidecar_images/templates/services/image_service/tiled_map_layer.rb +0 -13
  80. data/lib/generators/geoblacklight_sidecar_images/templates/services/image_service/wms.rb +0 -26
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GeoblacklightSidecarImages
4
+ class ImageService
5
+ module DynamicMapLayer
6
+ ##
7
+ # Formats and returns a thumbnail url from an ESRI Dynamic Map Layer endpoint.
8
+ # @param [SolrDocument]
9
+ # @return [String] image url
10
+ def self.image_url(document, _size)
11
+ "#{document.viewer_endpoint}/info/thumbnail/thumbnail.png"
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GeoblacklightSidecarImages
4
+ class ImageService
5
+ module Iiif
6
+ ##
7
+ # Formats and returns a thumbnail url from an International Image
8
+ # Interoperability Framework endpoint.
9
+ # @param [SolrDocument]
10
+ # @param [Integer] thumbnail size
11
+ # @return [String] iiif thumbnail url
12
+ def self.image_url(document, size)
13
+ "#{document.viewer_endpoint.gsub('info.json', '')}full/#{size},/0/default.jpg"
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GeoblacklightSidecarImages
4
+ class ImageService
5
+ module ImageMapLayer
6
+ ##
7
+ # Formats and returns a thumbnail url from an ESRI Image Map Layer endpoint.
8
+ # information about the layer.
9
+ # @param [SolrDocument]
10
+ # @param [Integer] thumbnail size
11
+ # @return [String] thumbnail url
12
+ def self.image_url(document, _size)
13
+ "#{document.viewer_endpoint}/info/thumbnail/thumbnail.png"
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GeoblacklightSidecarImages
4
+ class ImageService
5
+ module TiledMapLayer
6
+ ##
7
+ # Formats and returns an image url from an ESRI Tiled Map Layer endpoint.
8
+ # @param [SolrDocument]
9
+ # @return [String] image url
10
+ def self.image_url(document, _size)
11
+ "#{document.viewer_endpoint}/info/thumbnail/thumbnail.png"
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GeoblacklightSidecarImages
4
+ class ImageService
5
+ module Wms
6
+ ##
7
+ # Formats and returns a thumbnail url from a Web Map Service endpoint.
8
+ # This utilizes the GeoServer specific 'reflect' service to generate
9
+ # parameters like bbox that are difficult to tweak without more detailed
10
+ # information about the layer.
11
+ # @param [SolrDocument]
12
+ # @param [Integer] thumbnail size
13
+ # @return [String] wms thumbnail url
14
+ def self.image_url(document, size)
15
+ # Swap proxy url with princeton geoserver url.
16
+ # Thumbnail requests send geoserver auth.
17
+ endpoint = document.viewer_endpoint.gsub(Settings.PROXY_GEOSERVER_URL,
18
+ Settings.INSTITUTION_GEOSERVER_URL)
19
+ "#{endpoint}/reflect?" \
20
+ '&FORMAT=image%2Fpng' \
21
+ '&TRANSPARENT=TRUE' \
22
+ "&LAYERS=#{document['layer_id_s']}" \
23
+ "&WIDTH=#{size}" \
24
+ "&HEIGHT=#{size}"
25
+ end
26
+ end
27
+ end
28
+ end
@@ -9,7 +9,7 @@ Gem::Specification.new do |s|
9
9
  s.version = GeoblacklightSidecarImages::VERSION
10
10
  s.authors = ['Eric Larson', 'Eliot Jordan']
11
11
  s.email = ['ewlarson@umn.edu']
12
- s.homepage = 'https://github.com/ewlarson/geoblacklight_sidecar_images'
12
+ s.homepage = 'https://github.com/geoblacklight/geoblacklight_sidecar_images'
13
13
  s.summary = 'Store local copies of remote imagery in GeoBlacklight'
14
14
  s.license = 'Apache 2.0'
15
15
 
@@ -18,8 +18,8 @@ Gem::Specification.new do |s|
18
18
  s.executables = s.files.grep(%r{^bin/}) { |f| File.basename(f) }
19
19
  s.require_paths = ['lib']
20
20
 
21
- s.add_dependency 'geoblacklight', '~> 1.9'
22
- s.add_dependency 'mini_magick', '~> 4.8'
21
+ s.add_dependency 'geoblacklight', '~> 2.0'
22
+ s.add_dependency 'mini_magick', '~> 4.9.4'
23
23
  s.add_dependency 'image_processing', '~> 1.6'
24
24
  s.add_dependency 'statesman', '~> 3.4'
25
25
  s.add_dependency 'mimemagic', '~> 0.3'
@@ -27,9 +27,9 @@ Gem::Specification.new do |s|
27
27
 
28
28
  s.add_development_dependency 'byebug'
29
29
  s.add_development_dependency 'capybara'
30
- s.add_development_dependency 'chromedriver-helper'
30
+ s.add_development_dependency 'webdrivers'
31
31
  s.add_development_dependency 'database_cleaner', '~> 1.3'
32
- s.add_development_dependency 'engine_cart', '~> 1.0'
32
+ s.add_development_dependency 'engine_cart', '~> 2.2'
33
33
  s.add_development_dependency 'rspec-rails', '~> 3.0'
34
34
  s.add_development_dependency 'rubocop', '~> 0.60.0'
35
35
  s.add_development_dependency 'rubocop-rspec', '~> 1.30.0'
@@ -16,23 +16,23 @@ GBLSI_THUMBNAIL_FIELD: 'thumbnail_path_ss'"
16
16
  end
17
17
  end
18
18
 
19
- def generate_geoblacklight_example_docs
19
+ def generate_gblsci_assets
20
+ copy_file 'gblsci.scss', 'app/assets/stylesheets/gblsci.scss'
21
+ end
22
+
23
+ def generate_gblsci_example_docs
20
24
  generate 'geoblacklight_sidecar_images:example_docs'
21
25
  end
22
26
 
23
- def generate_geoblacklight_jobs
27
+ def generate_gblsci_jobs
24
28
  generate 'geoblacklight_sidecar_images:jobs'
25
29
  end
26
30
 
27
- def generate_geoblacklight_models
31
+ def generate_gblsci_models
28
32
  generate 'geoblacklight_sidecar_images:models'
29
33
  end
30
34
 
31
- def generate_geoblacklight_services
32
- generate 'geoblacklight_sidecar_images:services'
33
- end
34
-
35
- def generate_geoblacklight_views
35
+ def generate_gblsci_views
36
36
  generate 'geoblacklight_sidecar_images:views'
37
37
  end
38
38
 
@@ -40,7 +40,7 @@ GBLSI_THUMBNAIL_FIELD: 'thumbnail_path_ss'"
40
40
  rake 'active_storage:install'
41
41
  end
42
42
 
43
- def generate_geoblacklight_config
43
+ def generate_gblsci_config
44
44
  generate 'geoblacklight_sidecar_images:config'
45
45
  end
46
46
 
@@ -8,14 +8,9 @@ module GeoblacklightSidecarImages
8
8
 
9
9
  desc <<-DESCRIPTION
10
10
  This generator makes the following changes to your application:
11
- 1. Copies jobs files to host app/jobs
12
- 2. Configures a default development environment queue adapter
11
+ 1. Configures a default development environment queue adapter
13
12
  DESCRIPTION
14
13
 
15
- def create_store_image_jobs
16
- copy_file 'jobs/store_image_job.rb', 'app/jobs/store_image_job.rb'
17
- end
18
-
19
14
  def config_development_jobs_queue_adapter
20
15
  job_config = <<-"JOBS"
21
16
  config.active_job.queue_adapter = :inline
@@ -42,34 +42,6 @@ module GeoblacklightSidecarImages
42
42
  inject_into_file 'app/models/solr_document.rb', sidecar, before: /^end/
43
43
  end
44
44
 
45
- def create_solr_document_sidecar
46
- copy_file(
47
- 'models/solr_document_sidecar.rb',
48
- 'app/models/solr_document_sidecar.rb'
49
- )
50
- end
51
-
52
- def create_sidecar_image_transition
53
- copy_file(
54
- 'models/sidecar_image_transition.rb',
55
- 'app/models/sidecar_image_transition.rb'
56
- )
57
- end
58
-
59
- def create_sidecar_image_state_machine
60
- copy_file(
61
- 'models/sidecar_image_state_machine.rb',
62
- 'app/models/sidecar_image_state_machine.rb'
63
- )
64
- end
65
-
66
- def create_wms_rewrite_concern
67
- copy_file(
68
- 'models/concerns/wms_rewrite_concern.rb',
69
- 'app/models/concerns/wms_rewrite_concern.rb'
70
- )
71
- end
72
-
73
45
  def include_wms_rewrite_solrdocument
74
46
  inject_into_file(
75
47
  'app/models/solr_document.rb',
@@ -0,0 +1,3 @@
1
+ /*
2
+ *= require geoblacklight_sidecar_images/application
3
+ */
@@ -1,33 +1,33 @@
1
1
  <% # header bar for doc items in index view -%>
2
2
  <%= content_tag :div, class: 'documentHeader row', data: { layer_id: document.id, bbox: document.bounding_box_as_wsen } do %>
3
- <div class="document-wrapper">
4
- <h3 class="index_title col-sm-9s cosl-lg-10 text-span">
5
- <% counter = document_counter_with_offset(document_counter) %>
6
- <span class="document-counter">
7
- <%= t('blacklight.search.documents.counter', :counter => counter) if counter %>
8
- </span>
9
- <%= link_to_document document, document_show_link_field(document), counter: counter, title: document[blacklight_config.index.title_field] %>
10
- </h3>
11
- <div class='col-xs-12'>
12
- <div class='media'>
13
- <div class='media-left'>
14
- <% if document.sidecar.image.attached? %>
15
- <% if document.sidecar.image.variable? %>
16
- <%= image_tag document.sidecar.image.variant(resize: "100x100"), {class: 'media-object'} %>
17
- <% else %>
18
- <%= image_tag document.sidecar.image, {class: 'media-object'} %>
19
- <% end %>
20
- <% else %>
21
- <span title="<%=document[Settings.FIELDS.GEOM_TYPE]%>">
22
- <%= geoblacklight_icon(document[Settings.FIELDS.GEOM_TYPE]) %>
23
- </span>
24
- <% end %>
25
- </div>
26
- <div class='media-body'>
27
- <small>
28
- <%= geoblacklight_present(:index_fields_display, document) %>
29
- </small>
30
- </div>
3
+ <div class='status-icons'>
4
+ <%= render partial: 'header_icons', locals: { document: document } %>
5
+ </div>
6
+ <h3 class="index_title col-sm-9s cosl-lg-10 text-span">
7
+ <% counter = document_counter_with_offset(document_counter) %>
8
+ <span class="document-counter">
9
+ <%= t('blacklight.search.documents.counter', :counter => counter) if counter %>
10
+ </span>
11
+ <%= link_to_document document, counter: counter, title: document[blacklight_config.index.title_field] %>
12
+ </h3>
13
+
14
+ <div class='col-md-12 more-info-area'>
15
+ <div class='media'>
16
+ <% if document.sidecar.image.attached? %>
17
+ <% if document.sidecar.image.variable? %>
18
+ <%= image_tag document.sidecar.image.variant(resize: "100x100"), {class: 'mr-3'} %>
19
+ <% else %>
20
+ <%= image_tag document.sidecar.image, {class: 'mr-3'} %>
21
+ <% end %>
22
+ <% else %>
23
+ <span class="icon square mr-3" title="<%=document[Settings.FIELDS.GEOM_TYPE]%>">
24
+ <%= geoblacklight_icon(document[Settings.FIELDS.GEOM_TYPE]) %>
25
+ </span>
26
+ <% end %>
27
+ <div class='media-body'>
28
+ <small>
29
+ <%= geoblacklight_present(:index_fields_display, document) %>
30
+ </small>
31
31
  </div>
32
32
  </div>
33
33
  </div>
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module GeoblacklightSidecarImages
4
- VERSION = '0.5.1'
4
+ VERSION = '0.6.0'
5
5
  end
@@ -3,9 +3,8 @@ require 'csv'
3
3
  namespace :gblsci do
4
4
  namespace :sample_data do
5
5
  desc 'Ingests a directory of geoblacklight.json files'
6
- task :ingest, [:directory] => :environment do |_t, args|
7
- args.with_defaults(directory: 'data')
8
- Dir.glob(File.join(args[:directory], '**', '*.json')).each do |fn|
6
+ task seed: :environment do
7
+ Dir.glob(File.join(Rails.root, 'solr', 'geoblacklight', 'example_docs', '**', '*.json')).each do |fn|
9
8
  puts "Ingesting #{fn}"
10
9
  begin
11
10
  Blacklight.default_index.connection.add(JSON.parse(File.read(fn)))
@@ -38,7 +37,7 @@ namespace :gblsci do
38
37
  results.docs.each do |document|
39
38
  sleep(1)
40
39
  begin
41
- StoreImageJob.perform_later(document.id)
40
+ GeoblacklightSidecarImages::StoreImageJob.perform_later(document.id)
42
41
  rescue Blacklight::Exceptions::RecordNotFound
43
42
  next
44
43
  end
@@ -84,10 +83,9 @@ namespace :gblsci do
84
83
  puts "#{state} - #{sidecars.size}"
85
84
 
86
85
  sidecars.each do |sc|
87
- cat = CatalogController.new
88
86
  begin
89
- resp, doc = cat.fetch(sc.document_id)
90
- StoreImageJob.perform_later(doc.id)
87
+ document = Geoblacklight::SolrDocument.find(sc.document_id)
88
+ GeoblacklightSidecarImages::StoreImageJob.perform_later(document.id)
91
89
  rescue
92
90
  puts "orphaned / #{sc.document_id}"
93
91
  end
@@ -121,14 +119,14 @@ namespace :gblsci do
121
119
  sidecars.each do |sc|
122
120
  cat = CatalogController.new
123
121
  begin
124
- resp, doc = cat.fetch(sc.document_id)
122
+ document = Geoblacklight::SolrDocument.find(sc.document_id)
125
123
  writer << [
126
124
  sc.id,
127
125
  sc.document_id,
128
126
  sc.image_state.current_state,
129
- doc._source['layer_geom_type_s'],
130
- doc._source['dc_title_s'],
131
- doc._source['dct_provenance_s'],
127
+ document._source['layer_geom_type_s'],
128
+ document._source['dc_title_s'],
129
+ document._source['dct_provenance_s'],
132
130
  sc.image_state.last_transition.metadata['exception'],
133
131
  sc.image_state.last_transition.metadata['viewer_protocol'],
134
132
  sc.image_state.last_transition.metadata['image_url'],
@@ -163,9 +161,8 @@ namespace :gblsci do
163
161
  # Remove all images
164
162
  sidecars = SolrDocumentSidecar.all
165
163
  sidecars.each do |sc|
166
- cat = CatalogController.new
167
164
  begin
168
- resp, doc = cat.fetch(sc.document_id)
165
+ document = Geoblacklight::SolrDocument.find(sc.document_id)
169
166
  rescue
170
167
  sc.destroy
171
168
  puts "orphaned / #{sc.document_id} / destroyed"
data/solr/conf/schema.xml CHANGED
@@ -1,5 +1,5 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <schema name="geoblacklight-schema" version="1.6">
2
+ <schema name="geoblacklight-schema" version="1.7">
3
3
  <uniqueKey>layer_slug_s</uniqueKey>
4
4
  <fields>
5
5
  <field name="_version_" type="long" stored="true" indexed="true"/>
@@ -64,6 +64,8 @@
64
64
  <dynamicField name="*_pt" type="location" stored="true" indexed="true"/>
65
65
  <dynamicField name="*_bbox" type="location_rpt" stored="true" indexed="true"/><!-- deprecated -->
66
66
  <dynamicField name="*_geom" type="location_rpt" stored="true" indexed="true"/>
67
+ <dynamicField name="*_bboxtype" type="bbox" stored="true" indexed="true"/>
68
+
67
69
  </fields>
68
70
 
69
71
  <types>
@@ -123,7 +125,6 @@
123
125
  <analyzer>
124
126
  <tokenizer class="solr.StandardTokenizerFactory"/>
125
127
  <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords_en.txt"/>
126
- <filter class="solr.StandardFilterFactory"/>
127
128
  <filter class="solr.LowerCaseFilterFactory"/>
128
129
  <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
129
130
  </analyzer>
@@ -133,7 +134,6 @@
133
134
  <fieldType class="solr.TextField" name="textSuggest" positionIncrementGap="100">
134
135
  <analyzer>
135
136
  <tokenizer class="solr.KeywordTokenizerFactory"/>
136
- <filter class="solr.StandardFilterFactory"/>
137
137
  <filter class="solr.LowerCaseFilterFactory"/>
138
138
  <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
139
139
  </analyzer>
@@ -144,6 +144,11 @@
144
144
 
145
145
  <fieldType name="location_rpt" class="solr.SpatialRecursivePrefixTreeFieldType"
146
146
  geo="true" distErrPct="0.025" maxDistErr="0.001" distanceUnits="kilometers"/>
147
+ <!-- Adding field type for bboxField that enables, among other things, overlap ratio calculations -->
148
+ <fieldType name="bbox" class="solr.BBoxField"
149
+ geo="true" distanceUnits="kilometers" numberType="pdouble" />
150
+ <fieldType name="pdouble" class="solr.DoublePointField" docValues="true"/>
151
+
147
152
 
148
153
  </types>
149
154
 
@@ -187,4 +192,7 @@
187
192
  <copyField source="dct_provenance_s" dest="suggest"/>
188
193
  <copyField source="dc_subject_sm" dest="suggest"/>
189
194
  <copyField source="dct_spatial_sm" dest="suggest"/>
195
+
196
+ <!-- for bbox value -->
197
+ <copyField source="solr_geom" dest="solr_bboxtype"/>
190
198
  </schema>
@@ -20,15 +20,15 @@
20
20
  this file, see http://wiki.apache.org/solr/SolrConfigXml.
21
21
  -->
22
22
  <config>
23
-
23
+
24
24
  <!-- Controls what version of Lucene various components of Solr
25
25
  adhere to. Generally, you want to use the latest version to
26
26
  get all bug fixes and improvements. It is highly recommended
27
27
  that you fully re-index after changing this setting as it can
28
28
  affect both how text is indexed and queried.
29
29
  -->
30
- <luceneMatchVersion>6.1</luceneMatchVersion>
31
-
30
+ <luceneMatchVersion>7.6</luceneMatchVersion>
31
+
32
32
  <lib dir="${solr.install.dir:../../../..}/contrib/analysis-extras/lib" />
33
33
  <lib dir="${solr.install.dir:../../../..}/contrib/analysis-extras/lucene-libs" />
34
34
 
@@ -38,7 +38,7 @@
38
38
  <schemaFactory class="ClassicIndexSchemaFactory"/>
39
39
 
40
40
  <dataDir>${solr.blacklight-core.data.dir:}</dataDir>
41
-
41
+
42
42
  <indexConfig>
43
43
  <lockType>${solr.lock.type:native}</lockType>
44
44
  </indexConfig>
@@ -0,0 +1,40 @@
1
+ # Listing of GeoBlacklight .json test documents
2
+
3
+ If you add a new document, please add it to the table below, and indicate its purpose.
4
+
5
+ | document | purpose |
6
+ | -------- | ------- |
7
+ | actual-papermap1 |Nondigitized paper map with a link to a library catalog|
8
+ | actual-point1 |Point dataset with WMS and WFS|
9
+ | actual-polygon1 |Polygon dataset (no direct download) with WFS, WMS, and FGDC metadata as XML|
10
+ | actual-raster1 |Restricted raster layer with WMS and metadata in MODS and ISO 19139|
11
+ | baruch_ancestor1 |SQLite Database with documentation download. Referenced as parent|
12
+ | baruch_ancestor2 |Geodatabase with documentation download. Referenced as parent|
13
+ | baruch_documentation_download |Point dataset with WMS and WFS, documentation download, and two parent records|
14
+ | bbox-spans-180 |Scanned map with IIIF and direct TIFF download that spans across the 180th meridian|
15
+ | cornell_html_metadata |Point dataset with WMS, WFS, direct download, and FGDC metadata XML and HTML|
16
+ | esri-dynamic-layer-single-layer |ArcGIS Dynamic Map Layer with single layer indicated|
17
+ | esri-feature-layer |ArcGIS Feature Layer - point dataset|
18
+ | esri-image-map-layer |ArcGIS Image Map Layer with GeoTIFF direct download|
19
+ | esri-tiled_map_layer |ArcGIS tiled map layer|
20
+ | esri-wms-layer |Dataset with ArcGIS Dynamic Map Layer, ArcGIS WMS, and direct download|
21
+ | harvard_raster |Raster with WMS and Harvard style download function|
22
+ | iiif-eastern-hemisphere |Eastern hemisphere scanned map with IIIF and direct TIFF download|
23
+ | index_map_point | GeoJSON index map of points |
24
+ | index_map_polygon | GeoJSON index map of polygons, with a downloadUrl for the index itself |
25
+ | index_map_polygon-no-downloadurl | GeoJSON index map of polygons, but lacking a downloadUrl for the index itself |
26
+ | index-map-stanford | old-style (pre-GeoJSON) index map of rectangular polygons |
27
+ | no_spatial |File without geometry type or solr_geometry (will cause error)|
28
+ | princeton-child1.json | Child record for testing the `suppressed_b` property |
29
+ | princeton-child2.json | Child record for testing the `suppressed_b` property |
30
+ | princeton-child3.json | Child record for testing the `suppressed_b` property |
31
+ | princeton-child4.json | Child record for testing the `suppressed_b` property |
32
+ | princeton-parent.json | Parent record for testing the `suppressed_b` property |
33
+ | public_direct_download | includes a tentative `dcat_distribution_sm` property |
34
+ | public_iiif_princeton |Scanned map with IIIF|
35
+ | public_polygon_mit |Polygon shapefile with WMS and WFS|
36
+ | restricted-line |Restricted line layer with WFS, WMS and metadata in MODS and ISO 19139|
37
+ | umn_metro_result1.json |Bounding box of metropolitan area and ArcGIS Dynamic Map Layer|
38
+ | umn_state_result1.json |Bounding box of state area and static image in references|
39
+ | umn_state_result2.json |Bounding box of state area and raster download|
40
+ | uva_slug_colon.json | Multipoint dataset with WMS and WFS and a colon in the slug and layer ID |