geoblacklight 4.0.0.pre.rc3 → 4.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/ruby.yml +22 -16
- data/.standard.yml +1 -0
- data/CODE_OF_CONDUCT.md +1 -1
- data/Gemfile +13 -11
- data/README.md +22 -14
- data/Rakefile +42 -50
- data/app/assets/images/blacklight/american-geographical-society-library-uwm-libraries.svg +26 -0
- data/app/assets/images/blacklight/arizona.svg +4 -0
- data/app/assets/images/blacklight/circle-info-solid.svg +1 -0
- data/app/assets/images/blacklight/fire-solid.svg +1 -0
- data/app/assets/images/blacklight/geoblacklight-icons.json +98 -66
- data/app/assets/images/blacklight/george-mason.svg +4 -0
- data/app/assets/images/blacklight/lightbulb-solid.svg +1 -0
- data/app/assets/images/blacklight/nebraska.svg +4 -0
- data/app/assets/images/blacklight/rutgers.svg +5 -0
- data/app/assets/images/blacklight/triangle-exclamation-solid.svg +1 -0
- data/app/assets/stylesheets/geoblacklight/modules/sidebar.scss +8 -0
- data/app/components/geoblacklight/display_note_component.html.erb +1 -0
- data/app/components/geoblacklight/display_note_component.rb +47 -0
- data/app/components/geoblacklight/icon_facet_item_component.rb +2 -2
- data/app/controllers/download_controller.rb +36 -37
- data/app/controllers/relation_controller.rb +1 -0
- data/app/controllers/wms_controller.rb +1 -0
- data/app/helpers/arcgis_helper.rb +2 -1
- data/app/helpers/blacklight_helper.rb +2 -1
- data/app/helpers/carto_helper.rb +3 -2
- data/app/helpers/geoblacklight/geoblacklight_helper_behavior.rb +2 -1
- data/app/helpers/geoblacklight_helper.rb +44 -36
- data/app/models/concerns/geoblacklight/bbox_filter_query.rb +1 -1
- data/app/models/concerns/geoblacklight/solr_document/arcgis.rb +1 -0
- data/app/models/concerns/geoblacklight/solr_document/carto.rb +1 -0
- data/app/models/concerns/geoblacklight/solr_document/citation.rb +3 -2
- data/app/models/concerns/geoblacklight/solr_document/finder.rb +1 -0
- data/app/models/concerns/geoblacklight/solr_document/inspection.rb +1 -0
- data/app/models/concerns/geoblacklight/solr_document.rb +17 -9
- data/app/models/concerns/geoblacklight/suppressed_records_search_behavior.rb +2 -1
- data/app/presenters/geoblacklight/document_presenter.rb +3 -2
- data/app/views/catalog/_show_default_display_note.html.erb +7 -0
- data/app/views/catalog/_show_sidebar.html.erb +1 -0
- data/app/views/catalog/_show_sidebar_static_map.html.erb +10 -0
- data/app/views/relation/index.json.jbuilder +1 -1
- data/config/initializers/new_gbl_settings_defaults_4.1.yml +104 -0
- data/config/initializers/rails_config.rb +5 -1
- data/config/locales/geoblacklight.en.yml +19 -10
- data/geoblacklight.gemspec +36 -40
- data/lib/generators/geoblacklight/assets_generator.rb +15 -15
- data/lib/generators/geoblacklight/install_generator.rb +24 -23
- data/lib/generators/geoblacklight/templates/catalog_controller.rb +66 -71
- data/lib/generators/geoblacklight/templates/settings.yml +74 -22
- data/lib/geoblacklight/bounding_box.rb +1 -0
- data/lib/geoblacklight/constants.rb +26 -25
- data/lib/geoblacklight/download/geojson_download.rb +10 -9
- data/lib/geoblacklight/download/geotiff_download.rb +6 -5
- data/lib/geoblacklight/download/hgl_download.rb +4 -3
- data/lib/geoblacklight/download/kmz_download.rb +11 -10
- data/lib/geoblacklight/download/shapefile_download.rb +10 -9
- data/lib/geoblacklight/download.rb +12 -11
- data/lib/geoblacklight/engine.rb +10 -9
- data/lib/geoblacklight/exceptions.rb +3 -0
- data/lib/geoblacklight/faraday_middleware/follow_redirects.rb +12 -11
- data/lib/geoblacklight/geometry.rb +6 -5
- data/lib/geoblacklight/item_viewer.rb +4 -3
- data/lib/geoblacklight/metadata/base.rb +4 -3
- data/lib/geoblacklight/metadata/fgdc.rb +1 -0
- data/lib/geoblacklight/metadata/html.rb +5 -4
- data/lib/geoblacklight/metadata/iso19139.rb +1 -0
- data/lib/geoblacklight/metadata.rb +1 -0
- data/lib/geoblacklight/metadata_transformer/base.rb +5 -4
- data/lib/geoblacklight/metadata_transformer/fgdc.rb +1 -0
- data/lib/geoblacklight/metadata_transformer/iso19139.rb +1 -0
- data/lib/geoblacklight/metadata_transformer.rb +6 -2
- data/lib/geoblacklight/reference.rb +3 -2
- data/lib/geoblacklight/references.rb +11 -6
- data/lib/geoblacklight/relation/ancestors.rb +4 -3
- data/lib/geoblacklight/relation/descendants.rb +4 -3
- data/lib/geoblacklight/relation/relation_response.rb +3 -2
- data/lib/geoblacklight/routes/downloadable.rb +3 -2
- data/lib/geoblacklight/routes/exportable.rb +4 -3
- data/lib/geoblacklight/routes/wms.rb +2 -1
- data/lib/geoblacklight/routes.rb +4 -3
- data/lib/geoblacklight/version.rb +2 -1
- data/lib/geoblacklight/view_helper_override.rb +3 -2
- data/lib/geoblacklight/wms_layer/feature_info_response.rb +5 -4
- data/lib/geoblacklight/wms_layer.rb +4 -3
- data/lib/geoblacklight.rb +32 -31
- data/lib/tasks/geoblacklight.rake +57 -39
- data/schema/geoblacklight-schema-1.0.json +3 -3
- data/schema/geoblacklight-schema-aardvark.json +6 -0
- data/schema/readme.md +8 -0
- data/spec/components/geoblacklight/display_note_component_spec.rb +27 -0
- data/spec/components/geoblacklight/homepage_feature_facet_component_spec.rb +11 -10
- data/spec/components/geoblacklight/icon_facet_item_component_spec.rb +8 -7
- data/spec/config/initializers/rails_config_spec.rb +10 -9
- data/spec/controllers/catalog_controller_spec.rb +27 -26
- data/spec/controllers/download_controller_spec.rb +50 -49
- data/spec/controllers/relation_controller_spec.rb +5 -4
- data/spec/controllers/wms_controller_spec.rb +10 -9
- data/spec/factories/user.rb +3 -2
- data/spec/features/bookmarks_spec.rb +7 -6
- data/spec/features/configurable_basemap_spec.rb +12 -11
- data/spec/features/data_dictionary_download_spec.rb +11 -10
- data/spec/features/download_layer_spec.rb +64 -63
- data/spec/features/empty_search_spec.rb +6 -5
- data/spec/features/esri_viewer_spec.rb +33 -32
- data/spec/features/exports_spec.rb +18 -17
- data/spec/features/full_screen_controll_spec.rb +8 -8
- data/spec/features/help_text_spec.rb +6 -5
- data/spec/features/home_page_spec.rb +30 -29
- data/spec/features/iiif_viewer_spec.rb +6 -5
- data/spec/features/index_map_spec.rb +17 -16
- data/spec/features/layer_inspection_spec.rb +8 -7
- data/spec/features/layer_opacity_spec.rb +15 -14
- data/spec/features/layer_preview_spec.rb +11 -10
- data/spec/features/layer_with_no_references_spec.rb +5 -4
- data/spec/features/linkified_attribute_table_spec.rb +8 -7
- data/spec/features/metadata_panel_spec.rb +32 -31
- data/spec/features/missing_metadata_spec.rb +18 -17
- data/spec/features/multiple_downloads_spec.rb +11 -10
- data/spec/features/oembed_spec.rb +6 -5
- data/spec/features/relations_spec.rb +51 -26
- data/spec/features/saved_searches_spec.rb +7 -6
- data/spec/features/search_bar_spec.rb +9 -8
- data/spec/features/search_results_complex_geometry_spec.rb +12 -11
- data/spec/features/search_results_icons_spec.rb +10 -9
- data/spec/features/search_results_map_spec.rb +21 -20
- data/spec/features/search_results_overlap_ratio_spec.rb +17 -16
- data/spec/features/search_spec.rb +19 -18
- data/spec/features/show_page_download_spec.rb +15 -14
- data/spec/features/show_page_metadata_spec.rb +9 -8
- data/spec/features/show_page_sidebar_static_map_spec.rb +21 -0
- data/spec/features/sms_spec.rb +12 -11
- data/spec/features/split_view.html.erb_spec.rb +56 -55
- data/spec/features/suppressed_records_spec.rb +10 -9
- data/spec/features/tilejson_spec.rb +9 -8
- data/spec/features/tms_spec.rb +6 -5
- data/spec/features/web_services_modal_spec.rb +37 -36
- data/spec/features/wmts_spec.rb +16 -15
- data/spec/features/xyz_spec.rb +6 -5
- data/spec/fixtures/solr_documents/actual-papermap1.json +1 -1
- data/spec/fixtures/solr_documents/actual-point1.json +1 -1
- data/spec/fixtures/solr_documents/actual-polygon1.json +1 -1
- data/spec/fixtures/solr_documents/actual-raster1.json +1 -1
- data/spec/fixtures/solr_documents/baruch_ancestor1.json +1 -1
- data/spec/fixtures/solr_documents/baruch_ancestor2.json +1 -1
- data/spec/fixtures/solr_documents/baruch_documentation_download.json +2 -2
- data/spec/fixtures/solr_documents/cornell_html_metadata.json +1 -1
- data/spec/fixtures/solr_documents/display-note.json +52 -0
- data/spec/fixtures/solr_documents/esri-dynamic-layer-all-layers.json +1 -1
- data/spec/fixtures/solr_documents/esri-dynamic-layer-single-layer.json +1 -1
- data/spec/fixtures/solr_documents/esri-feature-layer.json +1 -1
- data/spec/fixtures/solr_documents/esri-image-map-layer.json +1 -1
- data/spec/fixtures/solr_documents/esri-tiled_map_layer.json +1 -1
- data/spec/fixtures/solr_documents/esri-wms-layer.json +1 -1
- data/spec/fixtures/solr_documents/harvard_raster.json +1 -1
- data/spec/fixtures/solr_documents/iiif-eastern-hemisphere.json +1 -1
- data/spec/fixtures/solr_documents/index-map-polygon-no-downloadurl.json +1 -1
- data/spec/fixtures/solr_documents/index-map-polygon.json +1 -1
- data/spec/fixtures/solr_documents/index-map-stanford.json +1 -1
- data/spec/fixtures/solr_documents/index_map_point.json +1 -1
- data/spec/fixtures/solr_documents/princeton-parent.json +1 -1
- data/spec/fixtures/solr_documents/public_direct_download.json +1 -1
- data/spec/fixtures/solr_documents/public_iiif_princeton.json +1 -1
- data/spec/fixtures/solr_documents/restricted-line.json +1 -1
- data/spec/fixtures/solr_documents/tilejson.json +2 -2
- data/spec/fixtures/solr_documents/umn_metro_result1.json +2 -2
- data/spec/fixtures/solr_documents/umn_state_result1.json +1 -1
- data/spec/fixtures/solr_documents/umn_state_result2.json +1 -1
- data/spec/fixtures/solr_documents/uva_slug_colon.json +1 -1
- data/spec/fixtures/solr_documents/wmts-multiple.json +1 -1
- data/spec/fixtures/solr_documents/wmts-single-layer.json +6 -6
- data/spec/fixtures/solr_documents/xyz.json +3 -3
- data/spec/helpers/arcgis_helper_spec.rb +8 -7
- data/spec/helpers/carto_helper_spec.rb +6 -5
- data/spec/helpers/geoblacklight/geoblacklight_helper_behavior_spec.rb +10 -15
- data/spec/helpers/geoblacklight_helper_spec.rb +139 -138
- data/spec/lib/geoblacklight/bounding_box_spec.rb +14 -13
- data/spec/lib/geoblacklight/document_presenter_spec.rb +26 -25
- data/spec/lib/geoblacklight/download/geojson_download_spec.rb +8 -7
- data/spec/lib/geoblacklight/download/geotiff_download_spec.rb +8 -7
- data/spec/lib/geoblacklight/download/hgl_download_spec.rb +16 -15
- data/spec/lib/geoblacklight/download/kmz_download_spec.rb +9 -8
- data/spec/lib/geoblacklight/download/shapefile_download_spec.rb +8 -7
- data/spec/lib/geoblacklight/download_spec.rb +61 -60
- data/spec/lib/geoblacklight/geometry_spec.rb +29 -28
- data/spec/lib/geoblacklight/item_viewer_spec.rb +25 -24
- data/spec/lib/geoblacklight/metadata/base_spec.rb +44 -43
- data/spec/lib/geoblacklight/metadata/html_spec.rb +7 -6
- data/spec/lib/geoblacklight/metadata_spec.rb +15 -14
- data/spec/lib/geoblacklight/metadata_transformer/base_spec.rb +13 -12
- data/spec/lib/geoblacklight/metadata_transformer/fgdc_spec.rb +8 -7
- data/spec/lib/geoblacklight/metadata_transformer/iso19139_spec.rb +8 -7
- data/spec/lib/geoblacklight/metadata_transformer_spec.rb +15 -14
- data/spec/lib/geoblacklight/reference_spec.rb +28 -27
- data/spec/lib/geoblacklight/references_spec.rb +89 -76
- data/spec/lib/geoblacklight/relation/ancestors_spec.rb +17 -16
- data/spec/lib/geoblacklight/relation/descendants_spec.rb +17 -16
- data/spec/lib/geoblacklight/relation/relation_response_spec.rb +29 -28
- data/spec/lib/geoblacklight/view_helper_override_spec.rb +14 -13
- data/spec/lib/geoblacklight/wms_layer/feature_info_response_spec.rb +19 -18
- data/spec/lib/geoblacklight/wms_layer_spec.rb +31 -30
- data/spec/models/concerns/geoblacklight/bbox_filter_field_spec.rb +31 -31
- data/spec/models/concerns/geoblacklight/bbox_filter_query_spec.rb +32 -32
- data/spec/models/concerns/geoblacklight/solr_document/carto_spec.rb +16 -15
- data/spec/models/concerns/geoblacklight/solr_document/citation_spec.rb +7 -6
- data/spec/models/concerns/geoblacklight/solr_document/finder_spec.rb +16 -17
- data/spec/models/concerns/geoblacklight/solr_document/inspection_spec.rb +7 -6
- data/spec/models/concerns/geoblacklight/solr_document_spec.rb +121 -107
- data/spec/models/concerns/geoblacklight/suppressed_records_search_behavior_spec.rb +8 -7
- data/spec/presenters/geoblacklight/bbox_item_presenter_spec.rb +10 -10
- data/spec/routing/catalog_routing_spec.rb +4 -3
- data/spec/spec_helper.rb +34 -33
- data/spec/support/backport_test_helpers.rb +6 -5
- data/spec/support/features/session_helpers.rb +8 -7
- data/spec/support/features.rb +2 -1
- data/spec/support/fixtures.rb +2 -1
- data/spec/tasks/geoblacklight_spec.rb +10 -9
- data/spec/test_app_templates/lib/generators/test_app_generator.rb +16 -15
- data/spec/views/catalog/_document_split.html.erb_spec.rb +3 -2
- data/spec/views/catalog/_index_split.html.erb_spec.rb +3 -2
- data/spec/views/catalog/_results_pagination.html.erb_spec.rb +5 -4
- data/spec/views/catalog/_show_downloads.html.erb_spec.rb +11 -10
- data/spec/views/catalog/_show_tools.html.erb_spec.rb +13 -12
- data/template.rb +9 -8
- metadata +31 -212
- data/.gitmodules +0 -0
- data/.rubocop.yml +0 -111
- data/.rubocop_todo.yml +0 -418
- data/config/initializers/new_gbl_settings_defaults_3_4.yml +0 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c26827784f59e0d846384c2bfc37023df7b49a1d15166c727be785966ee4b651
|
4
|
+
data.tar.gz: daa3337fee9b870746d6a6dec960105e8c0ce0717134f4c0c72de4ace2f7a3d2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8fc7061cae6dad0d571274626d5329be5d651caf93efaae0403eb3d50527c7d641f814018438bb2f839b4a8a34d7eae247e8b9c1a4356b75c8bdc5c38ed69993
|
7
|
+
data.tar.gz: 9e8eaad05028d743875646e0b3e35bba917c350a9bdfc79b37ae94fc4c7117e6916bfbcba1a1f6de5c9b725b11b003c8e8ea6d4923eabc8323651e612ed45c9d
|
data/.github/workflows/ruby.yml
CHANGED
@@ -7,7 +7,7 @@ on:
|
|
7
7
|
pull_request:
|
8
8
|
|
9
9
|
jobs:
|
10
|
-
|
10
|
+
linter:
|
11
11
|
runs-on: ubuntu-latest
|
12
12
|
steps:
|
13
13
|
- uses: actions/checkout@v2
|
@@ -18,25 +18,28 @@ jobs:
|
|
18
18
|
- name: Install dependencies
|
19
19
|
run: bundle install
|
20
20
|
- name: Run linter
|
21
|
-
run: bundle exec
|
21
|
+
run: bundle exec standardrb
|
22
|
+
|
23
|
+
aardvark-fixture-linter:
|
24
|
+
runs-on: ubuntu-latest
|
25
|
+
steps:
|
26
|
+
- uses: actions/checkout@v2
|
27
|
+
- name: Set up Ruby
|
28
|
+
uses: ruby/setup-ruby@v1
|
29
|
+
with:
|
30
|
+
ruby-version: 2.7
|
31
|
+
- name: Install json schema validator
|
32
|
+
run: gem install json_schemer
|
33
|
+
- name: Run json_schemer against aarkvark fixtures
|
34
|
+
run: find spec/fixtures/solr_documents -type f -name "*.json" | xargs json_schemer schema/geoblacklight-schema-aardvark.json
|
22
35
|
|
23
36
|
test:
|
24
37
|
runs-on: ubuntu-latest
|
25
38
|
strategy:
|
26
39
|
matrix:
|
27
40
|
ruby_version: ['3.0', 2.7]
|
28
|
-
rails_version: [6.1]
|
29
|
-
bundler_version: [2.1.1]
|
41
|
+
rails_version: [7.0.2.2, 6.1]
|
30
42
|
faraday_version: ['>= 2', '~> 1.0']
|
31
|
-
include:
|
32
|
-
- ruby_version: 2.6
|
33
|
-
rails_version: 6.1
|
34
|
-
bundler_version: 2.1.1
|
35
|
-
faraday_version: '~> 1.0'
|
36
|
-
- ruby_version: '3.0'
|
37
|
-
rails_version: '7.0.2.2'
|
38
|
-
bundler_version: 2.1.1
|
39
|
-
faraday_version: '>= 2'
|
40
43
|
|
41
44
|
name: test ruby ${{ matrix.ruby_version }} / rails ${{ matrix.rails_version }} / faraday ${{ matrix.faraday_version }}
|
42
45
|
steps:
|
@@ -45,12 +48,15 @@ jobs:
|
|
45
48
|
uses: ruby/setup-ruby@v1
|
46
49
|
with:
|
47
50
|
ruby-version: ${{ matrix.ruby_version }}
|
51
|
+
# required to avoid https://github.com/actions/runner-images/issues/37
|
52
|
+
# because faraday depends on patron, which requires curl headers to build
|
53
|
+
- name: Install cURL Headers
|
54
|
+
run: sudo apt-get update && sudo apt-get install libcurl4-openssl-dev
|
55
|
+
if: matrix.faraday_version == '~> 1.0'
|
48
56
|
- name: Create Solr container
|
49
57
|
run: docker run -d -p 8983:8983 geoblacklight/solr:8.9-v1.0.0 server/scripts/ci-start.sh
|
50
|
-
- name: Install bundler
|
51
|
-
run: gem install bundler -v ${{ matrix.bundler_version }}
|
52
58
|
- name: Install dependencies
|
53
|
-
run: bundle
|
59
|
+
run: bundle install
|
54
60
|
env:
|
55
61
|
RAILS_VERSION: ${{ matrix.rails_version }}
|
56
62
|
FARADAY_VERSION: ${{ matrix.faraday_version }}
|
data/.standard.yml
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
format: progress
|
data/CODE_OF_CONDUCT.md
CHANGED
@@ -42,7 +42,7 @@ behavior and are expected to take appropriate and fair corrective action in
|
|
42
42
|
response to any instances of unacceptable behavior.
|
43
43
|
|
44
44
|
Project maintainers have the right and responsibility to remove, edit, or
|
45
|
-
reject comments, commits, code,
|
45
|
+
reject comments, commits, code, issues, and other contributions
|
46
46
|
that are not aligned to this Code of Conduct, or to ban temporarily or
|
47
47
|
permanently any contributor for other behaviors that they deem inappropriate,
|
48
48
|
threatening, offensive, or harmful.
|
data/Gemfile
CHANGED
@@ -1,39 +1,41 @@
|
|
1
|
-
source
|
1
|
+
source "https://rubygems.org"
|
2
2
|
|
3
3
|
# Specify your gem's dependencies in geoblacklight.gemspec
|
4
4
|
gemspec
|
5
5
|
|
6
6
|
group :development, :test do
|
7
7
|
# See https://github.com/rails/rails/issues/32955
|
8
|
-
gem
|
8
|
+
gem "thor", ">= 0.19.0"
|
9
9
|
end
|
10
10
|
|
11
11
|
# BEGIN ENGINE_CART BLOCK
|
12
12
|
# engine_cart: 0.10.0
|
13
13
|
# engine_cart stanza: 0.10.0
|
14
14
|
# the below comes from engine_cart, a gem used to test this Rails engine gem in the context of a Rails app.
|
15
|
-
file = File.expand_path(
|
15
|
+
file = File.expand_path("Gemfile", ENV["ENGINE_CART_DESTINATION"] || ENV["RAILS_ROOT"] || File.expand_path(".internal_test_app", File.dirname(__FILE__)))
|
16
16
|
if File.exist?(file)
|
17
17
|
begin
|
18
18
|
eval_gemfile file
|
19
19
|
rescue Bundler::GemfileError => e
|
20
|
-
Bundler.ui.warn
|
20
|
+
Bundler.ui.warn "[EngineCart] Skipping Rails application dependencies:"
|
21
21
|
Bundler.ui.warn e.message
|
22
22
|
end
|
23
23
|
else
|
24
24
|
Bundler.ui.warn "[EngineCart] Unable to find test application dependencies in #{file}, using placeholder dependencies"
|
25
25
|
|
26
|
-
if ENV[
|
27
|
-
if ENV[
|
28
|
-
gem
|
29
|
-
ENV[
|
26
|
+
if ENV["RAILS_VERSION"]
|
27
|
+
if ENV["RAILS_VERSION"] == "edge"
|
28
|
+
gem "rails", github: "rails/rails"
|
29
|
+
ENV["ENGINE_CART_RAILS_OPTIONS"] = "--edge --skip-turbolinks"
|
30
30
|
else
|
31
|
-
gem
|
31
|
+
gem "rails", ENV["RAILS_VERSION"]
|
32
32
|
end
|
33
33
|
end
|
34
34
|
end
|
35
35
|
|
36
|
-
if File.
|
37
|
-
|
36
|
+
if File.exist?("spec/test_app_templates/Gemfile.extra")
|
37
|
+
# rubocop:disable Security/Eval
|
38
|
+
eval File.read("spec/test_app_templates/Gemfile.extra"), nil, "spec/test_app_templates/Gemfile.extra"
|
39
|
+
# rubocop:enable Security/Eval
|
38
40
|
end
|
39
41
|
# END ENGINE_CART BLOCK
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# GeoBlacklight
|
2
2
|
|
3
|
-
![CI](https://github.com/geoblacklight/geoblacklight/actions/workflows/ruby.yml/badge.svg) | [![Coverage Status](https://img.shields.io/badge/coverage-100%25-brightgreen)]() | [![Gem Version](https://img.shields.io/gem/v/geoblacklight.svg)](https://github.com/geoblacklight/geoblacklight/releases)
|
3
|
+
![CI](https://github.com/geoblacklight/geoblacklight/actions/workflows/ruby.yml/badge.svg) | [![Coverage Status](https://img.shields.io/badge/coverage-100%25-brightgreen)]() | [![Gem Version](https://img.shields.io/gem/v/geoblacklight.svg)](https://github.com/geoblacklight/geoblacklight/releases) | [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.5851664.svg)](https://zenodo.org/record/5851664#.YyIculLMK2A)
|
4
4
|
|
5
5
|
GeoBlacklight is a world-class discovery platform for geospatial (GIS) holdings. It
|
6
6
|
is an open collaborative project aiming to build off of the successes
|
@@ -8,29 +8,37 @@ of the Blacklight Solr-powered discovery interface and the
|
|
8
8
|
multi-institutional [OpenGeoportal](http://opengeoportal.io/) and [OpenGeoMetadata](https://github.com/opengeometadata) federated metadata sharing
|
9
9
|
communities. We're actively looking for community input and development partners.
|
10
10
|
|
11
|
-
###
|
11
|
+
### Installation
|
12
12
|
|
13
|
-
|
13
|
+
Use Ruby v3.2 and Rails v7 to bootstrap a new GeoBlacklight application using the template script:
|
14
14
|
|
15
|
+
```bash
|
16
|
+
DISABLE_SPRING=1 rails new app-name -m https://raw.githubusercontent.com/geoblacklight/geoblacklight/main/template.rb
|
15
17
|
```
|
16
|
-
|
17
|
-
```
|
18
|
-
|
19
|
-
To launch app:
|
18
|
+
Then run the `geoblacklight:server` rake task to run the application:
|
20
19
|
|
21
|
-
```
|
20
|
+
```bash
|
22
21
|
$ cd app-name
|
23
|
-
$ rake geoblacklight:server
|
22
|
+
$ bundle exec rake geoblacklight:server
|
24
23
|
```
|
25
24
|
|
26
|
-
|
25
|
+
* Visit your GeoBlacklight application at: [http://localhost:3000](http://localhost:3000)
|
26
|
+
* Visit the Solr admin panel at: [http://localhost:8983/solr/#/blacklight-core](http://localhost:8983/solr/#/blacklight-core)
|
27
|
+
|
28
|
+
#### Index Example Data
|
29
|
+
|
30
|
+
Index the GeoBlacklight project's test fixtures via:
|
31
|
+
|
32
|
+
```bash
|
33
|
+
$ bundle exec rake "geoblacklight:index:seed[:remote]"
|
34
|
+
```
|
27
35
|
|
28
36
|
### Contributing
|
29
|
-
Interested in contributing to GeoBlacklight? Please see our [contributing](CONTRIBUTING.md) guide.
|
30
37
|
|
31
|
-
|
38
|
+
Interested in contributing to GeoBlacklight? Please see our [contributing](https://geoblacklight.org/docs/overview/contributing/) guide.
|
32
39
|
|
33
|
-
|
40
|
+
### Development
|
34
41
|
|
42
|
+
See the [Getting Started for Developers guide](https://geoblacklight.org/docs/installation/getting_started_developers/) for more information about setting up your development environment.
|
35
43
|
|
36
|
-
|
44
|
+
For more information, please see the [GeoBlacklight Documentation](https://geoblacklight.org/docs/) site.
|
data/Rakefile
CHANGED
@@ -1,130 +1,122 @@
|
|
1
|
-
# encoding: UTF-8
|
2
1
|
# frozen_string_literal: true
|
3
|
-
|
2
|
+
|
3
|
+
require "rails"
|
4
4
|
begin
|
5
|
-
require
|
6
|
-
require
|
5
|
+
require "bundler/setup"
|
6
|
+
require "bundler/gem_tasks"
|
7
7
|
rescue LoadError
|
8
|
-
puts
|
8
|
+
puts "You must `gem install bundler` and `bundle install` to run rake tasks"
|
9
9
|
end
|
10
10
|
|
11
|
-
require
|
12
|
-
require
|
13
|
-
require
|
14
|
-
require
|
15
|
-
require 'rubocop/rake_task'
|
16
|
-
require 'solr_wrapper/rake_task'
|
17
|
-
|
18
|
-
desc 'Run RuboCop style checker'
|
19
|
-
RuboCop::RakeTask.new(:rubocop) do |task|
|
20
|
-
task.requires << 'rubocop-rspec'
|
21
|
-
task.fail_on_error = true
|
22
|
-
end
|
11
|
+
require "solr_wrapper"
|
12
|
+
require "solr_wrapper/rake_task"
|
13
|
+
require "engine_cart/rake_task"
|
14
|
+
require "rspec/core/rake_task"
|
23
15
|
|
24
16
|
task(:spec).clear
|
25
17
|
RSpec::Core::RakeTask.new(:spec) do |t|
|
26
18
|
t.verbose = false
|
27
19
|
end
|
28
20
|
|
29
|
-
desc
|
21
|
+
desc "Run JavaScript unit tests"
|
30
22
|
task :javascript_tests do
|
31
|
-
system
|
23
|
+
system "/bin/bash -c yarn test"
|
32
24
|
end
|
33
25
|
|
34
|
-
desc
|
35
|
-
task ci: [
|
26
|
+
desc "Run test suite"
|
27
|
+
task ci: ["geoblacklight:generate"] do
|
36
28
|
within_test_app do
|
37
|
-
system
|
29
|
+
system "RAILS_ENV=test rake geoblacklight:index:seed"
|
38
30
|
end
|
39
31
|
|
40
32
|
# Run RSpec tests with Coverage
|
41
|
-
Rake::Task[
|
33
|
+
Rake::Task["geoblacklight:coverage"].invoke
|
42
34
|
|
43
35
|
# Run JavaScript tests
|
44
|
-
Rake::Task[
|
36
|
+
Rake::Task["javascript_tests"].invoke
|
45
37
|
end
|
46
38
|
|
47
39
|
namespace :geoblacklight do
|
48
|
-
desc
|
40
|
+
desc "Run tests with coverage"
|
49
41
|
task :coverage do
|
50
|
-
ENV[
|
51
|
-
Rake::Task[
|
42
|
+
ENV["COVERAGE"] = "true"
|
43
|
+
Rake::Task["spec"].invoke
|
52
44
|
end
|
53
45
|
|
54
|
-
desc
|
55
|
-
task generate: [
|
46
|
+
desc "Create the test rails app"
|
47
|
+
task generate: ["engine_cart:generate"] do
|
56
48
|
# Intentionally Empty Block
|
57
49
|
end
|
58
50
|
|
59
51
|
namespace :internal do
|
60
|
-
task seed: [
|
52
|
+
task seed: ["engine_cart:generate"] do
|
61
53
|
within_test_app do
|
62
|
-
system
|
63
|
-
system
|
54
|
+
system "bundle exec rake geoblacklight:index:seed"
|
55
|
+
system "bundle exec rake geoblacklight:downloads:mkdir"
|
64
56
|
end
|
65
57
|
end
|
66
58
|
end
|
67
59
|
|
68
|
-
desc
|
60
|
+
desc "Run Solr and GeoBlacklight for interactive development"
|
69
61
|
task :server, [:rails_server_args] do |_t, args|
|
70
62
|
if File.exist? EngineCart.destination
|
71
63
|
within_test_app do
|
72
|
-
system
|
64
|
+
system "bundle update"
|
73
65
|
end
|
74
66
|
else
|
75
|
-
Rake::Task[
|
67
|
+
Rake::Task["engine_cart:generate"].invoke
|
76
68
|
end
|
77
69
|
|
78
|
-
SolrWrapper.wrap(port:
|
79
|
-
solr.with_collection(name:
|
80
|
-
Rake::Task[
|
70
|
+
SolrWrapper.wrap(port: "8983") do |solr|
|
71
|
+
solr.with_collection(name: "blacklight-core", dir: File.join(File.expand_path(".", File.dirname(__FILE__)), "solr", "conf")) do
|
72
|
+
Rake::Task["geoblacklight:internal:seed"].invoke
|
81
73
|
|
82
74
|
within_test_app do
|
83
75
|
puts "\nSolr server running: http://localhost:#{solr.port}/solr/#/blacklight-core"
|
84
76
|
puts "\n^C to stop"
|
85
|
-
puts
|
77
|
+
puts " "
|
86
78
|
begin
|
87
79
|
system "bundle exec rails s #{args[:rails_server_args]}"
|
88
80
|
rescue Interrupt
|
89
|
-
puts
|
81
|
+
puts "Shutting down..."
|
90
82
|
end
|
91
83
|
end
|
92
84
|
end
|
93
85
|
end
|
94
86
|
end
|
95
87
|
|
96
|
-
desc
|
88
|
+
desc "Run Solr and seed with sample data"
|
97
89
|
task :solr do
|
98
90
|
if File.exist? EngineCart.destination
|
99
91
|
within_test_app do
|
100
|
-
system
|
92
|
+
system "bundle update"
|
101
93
|
end
|
102
94
|
else
|
103
|
-
Rake::Task[
|
95
|
+
Rake::Task["engine_cart:generate"].invoke
|
104
96
|
end
|
105
97
|
|
106
|
-
SolrWrapper.wrap(port:
|
107
|
-
solr.with_collection(name:
|
108
|
-
Rake::Task[
|
98
|
+
SolrWrapper.wrap(port: "8983") do |solr|
|
99
|
+
solr.with_collection(name: "blacklight-core", dir: File.join(File.expand_path(".", File.dirname(__FILE__)), "solr", "conf")) do
|
100
|
+
Rake::Task["geoblacklight:internal:seed"].invoke
|
109
101
|
|
110
102
|
within_test_app do
|
111
103
|
puts "\nSolr server running: http://localhost:#{solr.port}/solr/#/blacklight-core"
|
112
104
|
puts "\n^C to stop"
|
113
|
-
puts
|
105
|
+
puts " "
|
114
106
|
begin
|
115
107
|
sleep
|
116
108
|
rescue Interrupt
|
117
|
-
puts
|
109
|
+
puts "Shutting down..."
|
118
110
|
end
|
119
111
|
end
|
120
112
|
end
|
121
113
|
end
|
122
114
|
end
|
123
115
|
|
124
|
-
desc
|
116
|
+
desc "Stdout output asset paths"
|
125
117
|
task :asset_paths do
|
126
118
|
within_test_app do
|
127
|
-
system
|
119
|
+
system "bundle exec rake geoblacklight:application_asset_paths"
|
128
120
|
end
|
129
121
|
end
|
130
122
|
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<!-- Generator: Adobe Illustrator 27.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
3
|
+
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
4
|
+
viewBox="0 0 201 141.2" style="enable-background:new 0 0 201 141.2;" xml:space="preserve">
|
5
|
+
<style type="text/css">
|
6
|
+
.st0{fill-rule:evenodd;clip-rule:evenodd;fill:#6c757d;}
|
7
|
+
.st1{fill-rule:evenodd;clip-rule:evenodd;stroke:#6c757d;stroke-width:0.1;fill:#6c757d;}
|
8
|
+
.st2{fill:#6c757d;}
|
9
|
+
</style>
|
10
|
+
<path class="st0" d="M115.7,69.9h21.1l2.6-29.6c0.2-2.8,0.4-5.6,0.6-8.4h0.7c0.2,2.9,0.7,5.7,1.4,8.6l7.8,29.3h12.7l8.7-31
|
11
|
+
c0.6-2.2,1-4.6,1.4-6.9h0.4L176,70h21.1l-9.9-69.3H165l-6.8,27.2c-0.7,2.9-1.1,6.2-1.5,9.2h-0.6l-8.3-36.4h-22.5L115.7,69.9z"/>
|
12
|
+
<path class="st1" d="M197.1,98.5c-5-1.7-11-2.7-17.5-2.7c-23.3,0-37.2,15.4-65.7,13.3c-1.8,0-3.3-1.5-3.3-3.3c0-0.3,0-0.6,0.1-0.9
|
13
|
+
l-1.1,7.5c-0.1,0.3-0.1,0.6-0.1,0.9c0,1.8,1.5,3.3,3.3,3.3c28.5,2.1,43.4-13.3,66.8-13.3c6.5,0,12.5,1,17.5,2.7v20.8
|
14
|
+
c-5-1.7-11-2.7-17.5-2.7c-23.3,0-39.3,15.2-67.8,13.1c-2.6,0-4.8-2.1-4.8-4.8c0-0.3,0-0.6,0.1-0.8l1.9-13.1L5,130.2v-21.1l106.5-7.7
|
15
|
+
l0.8-5.7L5,99.9V78.8h104c2.6,0,4.7,2.1,4.7,4.8l-0.1,0.8c-0.1,0.3-0.1,0.6-0.1,0.9c0,1.8,1.5,3.3,3.3,3.3
|
16
|
+
c28.5,2.1,39.4-13.1,62.8-13.1c6.5,0,12.5,1,17.5,2.7L197.1,98.5L197.1,98.5z"/>
|
17
|
+
<path class="st2" d="M78.2,0.7C78.9,0.7,79,1,79,1.6v3.3c0,0.3-0.1,0.6-0.1,0.7c-0.1,0.1-2.2,0.2-2.4,0.2c-1.9,0.1-4,0.8-4,3.7
|
18
|
+
c0,1.6,0.3,2.8,1.6,8l8.3,34.8c5-19,10.9-44,13-51.3c0.3-0.3,0.4-0.3,0.7-0.3c1.9,0,2.7-0.2,2.9,0.4l15,54.8c0,0-1.4,9.8-1.9,13.2
|
19
|
+
c-0.1,0.8-0.4,0.8-1,0.8h-4.4c-0.6,0-0.7-0.2-0.9-0.9c-1.6-7.7-2.2-10.4-4.7-19.4c-2.6-9.5-5-20.5-6.8-28.8
|
20
|
+
c-2.4,10.3-2.9,12.6-8.3,33.5c-1.9,7.2-2.4,9.5-3.7,14.9c-0.2,0.6-0.3,0.7-0.9,0.7H76c-0.5,0-0.6-0.3-0.7-1
|
21
|
+
c-1.5-6.1-12.6-49.3-12.9-50.6C60.9,12.4,60,6.6,56.6,6.6c-2,0-2.4,2.7-2.4,6.4v28.1c-0.1,6.5-0.1,16.1-6.3,23.5
|
22
|
+
c-1.7,2.1-7.1,7.7-18,7.7C25,72.4,18.7,71,14,66.1c-5.9-6.2-6.2-13.9-6.3-20.9V14.6c0-7-0.7-9-6.2-9C1.1,5.6,1.1,5.5,1,4.9V1.6
|
23
|
+
c0-0.7,0-1.1,0.8-1.1c1.8,0,19.2,0.1,23.5,0c0.2,0,0.5,0.1,0.5,0.7v3.7c-0.1,0.7-0.2,0.7-1.1,0.7c-6.1,0-5.8,2.5-5.8,9.7v22.1
|
24
|
+
l0.1,7.9c0.2,4,0.5,7.7,2.2,11.7c1.2,2.7,4.9,8.4,12.2,8.4c4,0,7.9-1.7,10.8-5.1c4.3-5.1,4.9-12,5-19.5V14.3c0-6.9-0.6-8.6-7.5-9
|
25
|
+
c-0.5,0-0.6-0.1-0.6-0.6V1.4c0-0.6,0-0.7,0.5-0.7C41.8,0.7,77.2,0.7,78.2,0.7z"/>
|
26
|
+
</svg>
|
@@ -0,0 +1,4 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 34 32">
|
2
|
+
<path fill="#6c757d" d="M 17.03125 3.980469 L 23.546875 3.980469 L 23.546875 6.632812 L 20.839844 6.632812 L 27.957031 25.300781 L 30.058594 25.300781 L 30.058594 28.046875 L 21.242188 28.046875 L 21.242188 25.375 L 18.765625 25.375 L 18.765625 30.613281 L 32.683594 30.613281 L 32.683594 22.800781 L 29.558594 22.808594 L 24.546875 9.210938 L 26.121094 9.210938 L 26.121094 1.402344 L 7.941406 1.402344 L 7.941406 9.210938 L 9.515625 9.210938 L 4.503906 22.789062 L 1.378906 22.800781 L 1.378906 30.613281 L 15.300781 30.613281 L 15.300781 25.375 L 12.824219 25.375 L 12.824219 28.046875 L 4.003906 28.046875 L 4.003906 25.300781 L 6.109375 25.300781 L 13.222656 6.632812 L 10.515625 6.632812 L 10.515625 3.980469 Z M 17.03125 3.980469"/>
|
3
|
+
<path fill="#6c757d" d="M 17.027344 4.003906 L 24.25 23.074219 C 24.25 23.074219 25.175781 25.394531 26.679688 25.394531 L 21.417969 25.394531 C 21.417969 25.394531 21.683594 25.433594 21.945312 24.988281 C 22.097656 24.734375 21.96875 24.351562 21.96875 24.351562 L 20.34375 20.09375 L 13.722656 20.09375 L 12.09375 24.351562 C 12.09375 24.351562 11.96875 24.734375 12.117188 24.988281 C 12.378906 25.433594 12.644531 25.394531 12.644531 25.394531 L 7.382812 25.394531 C 8.886719 25.394531 9.8125 23.074219 9.8125 23.074219 L 17.027344 4.003906 M 17.019531 18.070312 L 19.566406 18.070312 L 17.070312 11.382812 L 14.488281 18.070312 Z M 17.019531 18.070312"/>
|
4
|
+
</svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path fill="#6c757d" d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z"/></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path fill="#6c757d" d="M159.3 5.4c7.8-7.3 19.9-7.2 27.7 .1c27.6 25.9 53.5 53.8 77.7 84c11-14.4 23.5-30.1 37-42.9c7.9-7.4 20.1-7.4 28 .1c34.6 33 63.9 76.6 84.5 118c20.3 40.8 33.8 82.5 33.8 111.9C448 404.2 348.2 512 224 512C98.4 512 0 404.1 0 276.5c0-38.4 17.8-85.3 45.4-131.7C73.3 97.7 112.7 48.6 159.3 5.4zM225.7 416c25.3 0 47.7-7 68.8-21c42.1-29.4 53.4-88.2 28.1-134.4c-4.5-9-16-9.6-22.5-2l-25.2 29.3c-6.6 7.6-18.5 7.4-24.7-.5c-16.5-21-46-58.5-62.8-79.8c-6.3-8-18.3-8.1-24.7-.1c-33.8 42.5-50.8 69.3-50.8 99.4C112 375.4 162.6 416 225.7 416z"/></svg>
|