geoblacklight 4.1.0 → 4.2.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 (87) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +3 -11
  3. data/.gitignore +12 -0
  4. data/.solr_wrapper +0 -1
  5. data/Gemfile +14 -0
  6. data/Procfile.dev +3 -0
  7. data/README.md +5 -30
  8. data/app/assets/images/blacklight/geoblacklight-icons.json +1857 -966
  9. data/app/assets/javascripts/geoblacklight/basemaps.js +1 -1
  10. data/app/assets/javascripts/geoblacklight/modules/util.js +8 -3
  11. data/app/assets/javascripts/geoblacklight/templates/index_map_info.hbs +22 -1
  12. data/app/assets/javascripts/geoblacklight/viewers/cog.js +5 -0
  13. data/app/assets/javascripts/geoblacklight/viewers/pmtiles.js +5 -0
  14. data/app/controllers/download_controller.rb +1 -21
  15. data/app/frontend/clover/clover_initializer.js +29 -0
  16. data/app/frontend/entrypoints/application.js +28 -0
  17. data/app/frontend/entrypoints/clover.js +5 -0
  18. data/app/frontend/entrypoints/ol.js +5 -0
  19. data/app/frontend/openlayers/basemaps.js +47 -0
  20. data/app/frontend/openlayers/ol_initializer.js +105 -0
  21. data/app/frontend/stylesheets/openlayers.css +1 -0
  22. data/app/helpers/geoblacklight/application_helper.rb +8 -0
  23. data/app/helpers/geoblacklight_helper.rb +57 -0
  24. data/app/views/catalog/_citation.html.erb +35 -10
  25. data/app/views/catalog/_show_default_viewer_container.html.erb +1 -2
  26. data/app/views/catalog/_web_services_default.html.erb +6 -1
  27. data/app/views/catalog/_web_services_wfs.html.erb +6 -1
  28. data/app/views/catalog/_web_services_wms.html.erb +6 -1
  29. data/app/views/catalog/web_services.html.erb +16 -0
  30. data/bin/vite +29 -0
  31. data/config/locales/geoblacklight.en.yml +12 -2
  32. data/config/vite.json +14 -0
  33. data/geoblacklight.gemspec +8 -6
  34. data/lib/generators/geoblacklight/install_generator.rb +19 -4
  35. data/lib/generators/geoblacklight/templates/base.html.erb +52 -0
  36. data/lib/generators/geoblacklight/templates/catalog_controller.rb +0 -2
  37. data/lib/generators/geoblacklight/templates/settings.gbl_v1.yml +2 -2
  38. data/lib/generators/geoblacklight/templates/settings.yml +6 -2
  39. data/lib/generators/geoblacklight/templates/vite.json +16 -0
  40. data/lib/geoblacklight/constants.rb +3 -1
  41. data/lib/geoblacklight/engine.rb +24 -0
  42. data/lib/geoblacklight/faraday_middleware/follow_redirects.rb +3 -1
  43. data/lib/geoblacklight/item_viewer.rb +13 -1
  44. data/lib/geoblacklight/metadata_transformer/base.rb +1 -1
  45. data/lib/geoblacklight/references.rb +1 -1
  46. data/lib/geoblacklight/version.rb +1 -1
  47. data/package.json +8 -12
  48. data/spec/features/citations_spec.rb +12 -0
  49. data/spec/features/download_layer_spec.rb +1 -2
  50. data/spec/features/full_screen_controll_spec.rb +8 -1
  51. data/spec/features/home_page_spec.rb +3 -0
  52. data/spec/features/layer_inspection_spec.rb +1 -1
  53. data/spec/features/saved_searches_spec.rb +1 -1
  54. data/spec/features/search_results_map_spec.rb +1 -0
  55. data/spec/features/tilejson_spec.rb +4 -2
  56. data/spec/features/web_services_modal_spec.rb +32 -2
  57. data/spec/features/wmts_spec.rb +5 -3
  58. data/spec/fixtures/index_maps/index-map-point.geojson +949 -0
  59. data/spec/fixtures/index_maps/index-map-polygon-no-downloadurl.geojson +970 -0
  60. data/spec/fixtures/index_maps/index-map-polygon.geojson +970 -0
  61. data/spec/fixtures/index_maps/index-map-stanford.geojson +390 -0
  62. data/spec/fixtures/index_maps/index-map-v1-complex.geojson +12249 -0
  63. data/spec/fixtures/manifests/tilejson.json +1 -1
  64. data/spec/fixtures/manifests/wmts-single.xml +5 -5
  65. data/spec/fixtures/solr_documents/README.md +1 -0
  66. data/spec/fixtures/solr_documents/b1g_iiif_manifest.json +64 -0
  67. data/spec/fixtures/solr_documents/index-map-polygon-no-downloadurl.json +1 -1
  68. data/spec/fixtures/solr_documents/index-map-polygon.json +1 -1
  69. data/spec/fixtures/solr_documents/index-map-stanford.json +1 -1
  70. data/spec/fixtures/solr_documents/index-map-v1-complex.json +56 -0
  71. data/spec/fixtures/solr_documents/index_map_point.json +1 -1
  72. data/spec/fixtures/solr_documents/public_cog_princeton.json +57 -0
  73. data/spec/fixtures/solr_documents/public_pmtiles_princeton.json +41 -0
  74. data/spec/fixtures/solr_documents/tilejson.json +1 -1
  75. data/spec/fixtures/solr_documents/wmts-single-layer.json +1 -1
  76. data/spec/helpers/geoblacklight_helper_spec.rb +42 -0
  77. data/spec/spec_helper.rb +7 -11
  78. data/spec/test_app_templates/Gemfile.extra +0 -1
  79. data/spec/test_app_templates/lib/generators/test_app_generator.rb +7 -17
  80. data/vite.config.ts +8 -0
  81. metadata +80 -26
  82. data/spec/test_app_templates/solr_documents +0 -1
  83. /data/app/assets/images/blacklight/{berkeley.svg → university-of-california-berkeley.svg} +0 -0
  84. /data/spec/{test_app_templates → fixtures}/metadata/fgdc.html +0 -0
  85. /data/spec/{test_app_templates → fixtures}/metadata/fgdc.xml +0 -0
  86. /data/spec/{test_app_templates → fixtures}/metadata/iso.html +0 -0
  87. /data/spec/{test_app_templates → fixtures}/metadata/iso.xml +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c26827784f59e0d846384c2bfc37023df7b49a1d15166c727be785966ee4b651
4
- data.tar.gz: daa3337fee9b870746d6a6dec960105e8c0ce0717134f4c0c72de4ace2f7a3d2
3
+ metadata.gz: 6a9b830e90a8580443044e898289baf0c5cf4406256b5d7a559be7feda46b046
4
+ data.tar.gz: c8fcc76101713b079a36a8bbb17709b4a8ce4554d2021abaa198e8c501b08434
5
5
  SHA512:
6
- metadata.gz: 8fc7061cae6dad0d571274626d5329be5d651caf93efaae0403eb3d50527c7d641f814018438bb2f839b4a8a34d7eae247e8b9c1a4356b75c8bdc5c38ed69993
7
- data.tar.gz: 9e8eaad05028d743875646e0b3e35bba917c350a9bdfc79b37ae94fc4c7117e6916bfbcba1a1f6de5c9b725b11b003c8e8ea6d4923eabc8323651e612ed45c9d
6
+ metadata.gz: 45b0e722ebb055ecc603e8fa39a8473910aa5a703dfcc8c0d489c6bc490ca840ec2f257adb7ba04ac563fd103912f78a39da8004cebc1bae79df4030c82a249c
7
+ data.tar.gz: 3fb12b9e06b472fbc3b87e822644721c151052d0082888e758e27067df1c5e50434d792e3e8f57239ab34dff18eee5778a66ba1e52509562923505c9c111075d
@@ -37,29 +37,22 @@ jobs:
37
37
  runs-on: ubuntu-latest
38
38
  strategy:
39
39
  matrix:
40
- ruby_version: ['3.0', 2.7]
41
- rails_version: [7.0.2.2, 6.1]
42
- faraday_version: ['>= 2', '~> 1.0']
40
+ ruby_version: ['3.2', '3.3']
41
+ rails_version: [6.1.7.6, 7.1.3]
43
42
 
44
- name: test ruby ${{ matrix.ruby_version }} / rails ${{ matrix.rails_version }} / faraday ${{ matrix.faraday_version }}
43
+ name: test ruby ${{ matrix.ruby_version }} / rails ${{ matrix.rails_version }}
45
44
  steps:
46
45
  - uses: actions/checkout@v2
47
46
  - name: Set up Ruby
48
47
  uses: ruby/setup-ruby@v1
49
48
  with:
50
49
  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'
56
50
  - name: Create Solr container
57
51
  run: docker run -d -p 8983:8983 geoblacklight/solr:8.9-v1.0.0 server/scripts/ci-start.sh
58
52
  - name: Install dependencies
59
53
  run: bundle install
60
54
  env:
61
55
  RAILS_VERSION: ${{ matrix.rails_version }}
62
- FARADAY_VERSION: ${{ matrix.faraday_version }}
63
56
  - name: Setup Yarn
64
57
  run: exec "yarnpkg"
65
58
  - name: Load config into solr
@@ -72,7 +65,6 @@ jobs:
72
65
  run: bundle exec rake ci
73
66
  env:
74
67
  RAILS_VERSION: ${{ matrix.rails_version }}
75
- FARADAY_VERSION: ${{ matrix.faraday_version }}
76
68
  ENGINE_CART_RAILS_OPTIONS: '--skip-git --skip-listen --skip-spring --skip-keeps --skip-action-cable --skip-coffee --skip-test'
77
69
  SOLR_URL: http://solr:SolrRocks@localhost:8983/solr/blacklight-core
78
70
  - name: Upload coverage artifacts
data/.gitignore CHANGED
@@ -28,3 +28,15 @@ jetty
28
28
  yarn-debug.log*
29
29
  .yarn-integrity
30
30
  yarn.lock
31
+
32
+ # Ignore IDE files
33
+ .idea
34
+
35
+ # Vite Ruby
36
+ /public/vite*
37
+ /public/geoblacklight-vite*
38
+ node_modules
39
+ # Vite uses dotenv and suggests to ignore local-only env files. See
40
+ # https://vitejs.dev/guide/env-and-mode.html#env-files
41
+ *.local
42
+
data/.solr_wrapper CHANGED
@@ -1,4 +1,3 @@
1
- url: https://archive.apache.org/dist/lucene/solr/8.11.2/solr-8.11.2.tgz
2
1
  validate: false
3
2
  instance_dir: tmp/solr
4
3
  download_dir: tmp/solr
data/Gemfile CHANGED
@@ -8,6 +8,20 @@ group :development, :test do
8
8
  gem "thor", ">= 0.19.0"
9
9
  end
10
10
 
11
+ group :test do
12
+ gem "capybara", require: false
13
+ gem "database_cleaner", require: false
14
+ gem "engine_cart", require: false
15
+ gem "factory_bot_rails", require: false
16
+ gem "foreman", require: false
17
+ gem "rails-controller-testing", require: false
18
+ gem "rspec-rails", require: false
19
+ gem "simplecov", require: false
20
+ gem "standardrb", require: false
21
+ gem "webdrivers", require: false
22
+ gem "webmock", require: false
23
+ end
24
+
11
25
  # BEGIN ENGINE_CART BLOCK
12
26
  # engine_cart: 0.10.0
13
27
  # engine_cart stanza: 0.10.0
data/Procfile.dev ADDED
@@ -0,0 +1,3 @@
1
+
2
+ vite: bin/vite dev
3
+ web: bin/rails s
data/README.md CHANGED
@@ -4,41 +4,16 @@
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
7
- of the Blacklight Solr-powered discovery interface and the
7
+ of the [Blacklight](https://projectblacklight.org) 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
- ### Installation
11
+ ### Documentation
12
12
 
13
- Use Ruby v3.2 and Rails v7 to bootstrap a new GeoBlacklight application using the template script:
13
+ Our full [GeoBlacklight Documentation](https://geoblacklight.org/docs/) has how-to guides for installing, customizing, and maintaining a GeoBlacklight instance.
14
14
 
15
- ```bash
16
- DISABLE_SPRING=1 rails new app-name -m https://raw.githubusercontent.com/geoblacklight/geoblacklight/main/template.rb
17
- ```
18
- Then run the `geoblacklight:server` rake task to run the application:
19
-
20
- ```bash
21
- $ cd app-name
22
- $ bundle exec rake geoblacklight:server
23
- ```
24
-
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
- ```
15
+ See the [Quick Start](https://geoblacklight.org/docs/geoblacklight_quick_start/) section to create a new GeoBlacklight application, or see [For Developers](https://geoblacklight.org/docs/developers/) for more information about setting up a development environment.
35
16
 
36
17
  ### Contributing
37
18
 
38
- Interested in contributing to GeoBlacklight? Please see our [contributing](https://geoblacklight.org/docs/overview/contributing/) guide.
39
-
40
- ### Development
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.
43
-
44
- For more information, please see the [GeoBlacklight Documentation](https://geoblacklight.org/docs/) site.
19
+ Interested in contributing to GeoBlacklight? Please see [CONTRIBUTING.md](./CONTRIBUTING.md).