blacklight_allmaps 0.1.1 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +49 -7
  3. data/Rakefile +4 -0
  4. data/app/assets/javascripts/blacklight/allmaps/blacklight-allmaps.esm.js +26817 -0
  5. data/app/assets/javascripts/blacklight/allmaps/blacklight-allmaps.esm.js.map +1 -0
  6. data/app/assets/javascripts/blacklight/allmaps/blacklight-allmaps.js +26824 -0
  7. data/app/assets/javascripts/blacklight/allmaps/blacklight-allmaps.js.map +1 -0
  8. data/app/assets/stylesheets/blacklight/allmaps/base.scss +9 -0
  9. data/app/controllers/allmaps/annotations_controller.rb +65 -0
  10. data/app/helpers/blacklight/allmaps/application_helper.rb +1 -1
  11. data/app/javascript/blacklight/allmaps/index.js +17 -0
  12. data/app/javascript/blacklight/allmaps/initialize_blacklight_map.js +44 -0
  13. data/app/javascript/blacklight/allmaps/initialize_geoblacklight_map.js +53 -0
  14. data/app/javascript/blacklight/allmaps/leaflet_layer_opacity.js +69 -0
  15. data/app/javascript/blacklight/allmaps/update_georef_links.js +36 -0
  16. data/app/jobs/blacklight/allmaps/store_sidecar_annotation.rb +4 -1
  17. data/app/models/concerns/blacklight/allmaps/solr_document.rb +1 -2
  18. data/app/views/allmaps/show/_blacklight.html.erb +2 -212
  19. data/app/views/allmaps/show/_geoblacklight.html.erb +2 -46
  20. data/app/views/allmaps/sidebar/_allmaps.html.erb +4 -32
  21. data/app/views/annotations/_annotation.json.jbuilder +1 -0
  22. data/app/views/annotations/_pagination.json.jbuilder +9 -0
  23. data/app/views/annotations/index.json.jbuilder +4 -0
  24. data/app/views/annotations/show.json.jbuilder +1 -0
  25. data/app/views/catalog/_blacklight_allmaps.html.erb +5 -0
  26. data/app/views/catalog/{_show_default_viewer_container.html.erb → _show_allmaps_tabbed_viewer_container.html.erb} +4 -5
  27. data/config/locales/allmaps.en.yml +11 -0
  28. data/config/routes.rb +7 -0
  29. data/lib/blacklight/allmaps/tasks/index.rake +6 -57
  30. data/lib/blacklight/allmaps/tasks/sidecars.rake +9 -0
  31. data/lib/blacklight/allmaps/version.rb +1 -1
  32. data/lib/generators/blacklight/allmaps/blacklight_generator.rb +48 -0
  33. data/lib/generators/blacklight/allmaps/config_generator.rb +14 -19
  34. data/lib/generators/blacklight/allmaps/geoblacklight_generator.rb +50 -0
  35. data/lib/generators/blacklight/allmaps/install_generator.rb +10 -0
  36. metadata +43 -17
  37. data/app/assets/stylesheets/blacklight_allmaps/application.css +0 -15
  38. data/app/controllers/blacklight/allmaps/application_controller.rb +0 -6
  39. data/app/javascripts/map_controller.js +0 -39
  40. data/app/jobs/blacklight/allmaps/application_job.rb +0 -6
  41. data/app/mailers/blacklight/allmaps/application_mailer.rb +0 -8
  42. data/app/models/blacklight/allmaps/application_record.rb +0 -7
  43. data/app/views/catalog/_show_main_content.html.erb +0 -58
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 68d2d44ebaeae3f57846f37606e6a576e06a50d452e629cc715fbaf68a307f59
4
- data.tar.gz: 61c1cb052866a522abe1e743da1e15d483e86ee96550f7081bacdb491f69c83c
3
+ metadata.gz: 1b77dce03fda3d3aab9db13861e8e1fc6b0dc8e39db47dcf75a8dc8ee34a27f2
4
+ data.tar.gz: 83e85dc411bcacefcb92b0b9b12701e778c58116e6cefda56768de040f0d7c50
5
5
  SHA512:
6
- metadata.gz: 62f5d6a8a91d32fe95b3f205e31eb1a9d92776239aae871d8984feb65660b8bd4e6ba9133fde12bd49a1cee547eae5bef894e013aa54672853cef08be3a9278b
7
- data.tar.gz: 49efe24708e9ca9e04308a591e82e7e48baf85b4c4ef5fc4b2e650ce53024e5ad86ff8510a90fb1dd86d7a0a2602b9f68a82cec9854afb0470d6b7b0dc86be51
6
+ metadata.gz: b182818f63f0e5a5fca137c8e7fbb8373a8e7955ffb93650a9fb0ccae01fbe2daaecedf29967c73bb5617c86cd92672653c67291bb3fe8244e0459180d4f205a
7
+ data.tar.gz: c9419afe74db352bdf7160b3900a856914b73f2171f9f13b0425dbe8087feb8b6142ccf78f000ec8dc4f545ce8064b938dec9452ee72a4417e37fd4ae0899b7b
data/README.md CHANGED
@@ -1,6 +1,7 @@
1
1
  # Blacklight::Allmaps
2
2
 
3
3
  ![CI](https://github.com/bplmaps/blacklight-allmaps/actions/workflows/ci.yml/badge.svg)
4
+ [![Gem Version](https://img.shields.io/gem/v/blacklight_allmaps.svg)](https://github.com/bplmaps/blacklight-allmaps/releases)
4
5
 
5
6
  <img alt="Allmaps Logo" src="app/assets/images/blacklight/allmaps/allmaps-logo.svg" height="40px"/> <img alt="Blacklight Logo" src="app/assets/images/blacklight/allmaps/blacklight-logo.png" height="40px"/> <img alt="GeoBlacklight Logo" src="app/assets/images/blacklight/allmaps/geoblacklight-logo.png" height="40px"/>
6
7
 
@@ -11,7 +12,7 @@ A [Blacklight](https://projectblacklight.org/) / [GeoBlacklight](https://geoblac
11
12
  ## Dependencies
12
13
 
13
14
  * Blacklight v7 (v8 forthcoming)
14
- * GeoBlacklight v4.1 (v4.2+ forthcoming)
15
+ * GeoBlacklight v4.4+
15
16
 
16
17
  ## Installation
17
18
  Add this line to your application's Gemfile:
@@ -35,6 +36,27 @@ LIGHT=blacklight bundle exec rails generate blacklight:allmaps:install
35
36
  LIGHT=geoblacklight bundle exec rails generate blacklight:allmaps:install
36
37
  ```
37
38
 
39
+ ## CatalogController Configuration
40
+
41
+ Configure options for local use are set into the `catalog_controller.rb` file.
42
+
43
+ ### Blacklight
44
+
45
+ ```ruby
46
+ # Blacklight::Allmaps Viewer
47
+ config.show.partials.insert(1, :blacklight_allmaps)
48
+ config.default_solr_unique_key = "id"
49
+ config.default_georeferenced_field = "bl_georeferenced_bsi"
50
+ config.default_iiif_manifest_field = "iiif_manifest_url_ssi"
51
+ ```
52
+
53
+ ### GeoBlacklight
54
+ ```ruby
55
+ # Blacklight::Allmaps Viewer
56
+ config.default_solr_unique_key = "id"
57
+ config.default_georeferenced_field = "gbl_georeferenced_b"
58
+ ```
59
+
38
60
  ## Rake Tasks
39
61
 
40
62
  ### Seed Fixtures
@@ -60,6 +82,13 @@ The rake task here kicks off a background harvest process that walks through you
60
82
  rake blacklight_allmaps:sidecars:harvest:allmaps
61
83
  ```
62
84
 
85
+ Alternatively, you can harvest Allmaps data for a list of identifers
86
+
87
+ ```bash
88
+ # For Blacklight or GeoBlacklight
89
+ rake "blacklight_allmaps:sidecars:harvest_ids[id1 id2 ...]"
90
+ ```
91
+
63
92
  ### Populate the Georeferenced Facet
64
93
 
65
94
  We expose the georeferenced items in the Blacklight user interface via a Georeferenced facet:
@@ -67,11 +96,8 @@ We expose the georeferenced items in the Blacklight user interface via a Georefe
67
96
  ![Screen shot](doc/georeferenced_facet.png)
68
97
 
69
98
  ```bash
70
- # For Blacklight...
71
- LIGHT=blacklight rake blacklight_allmaps:index:bl_georeferenced_facet
72
-
73
- # For GeoBlacklight...
74
- LIGHT=geoblacklight rake blacklight_allmaps:index:gbl_georeferenced_facet
99
+ # For Blacklight or GeoBlacklight
100
+ rake blacklight_allmaps:index:georeferenced_facet
75
101
  ```
76
102
 
77
103
  ## ActiveRecord Objects — Blacklight::Allmaps::Sidecar
@@ -80,7 +106,8 @@ Blacklight::Allmaps adopts the SolrDocumentSidecar "sidecar" pattern from [Spotl
80
106
 
81
107
  We use this `document.sidecar_allmaps` object to hold the results of the Allmaps Annotation harvest task.
82
108
 
83
- The Blacklight::Allmaps::Sidecar object contains:
109
+ The `Blacklight::Allmaps::Sidecar` object contains:
110
+
84
111
  | Field | Value |
85
112
  | --- | --- |
86
113
  | id | primary key |
@@ -114,6 +141,21 @@ document.sidecar_allmaps =>
114
141
  updated_at: Tue, 26 Mar 2024 16:39:42.427682000 UTC +00:00>
115
142
  ```
116
143
 
144
+ ## Allmaps::AnnotationsController
145
+
146
+ We've added an annotations controller to the application to expose the `Blacklight::Allmaps::Sidecar` data we've harvested. This controller returns only JSON.
147
+
148
+ The `#fetch` method will query Allmaps in real time for updated annotation data, should a nightly harvest (rake) be insufficient for Solr indexing or local development needs.
149
+
150
+ ```
151
+ Routes for Blacklight::Allmaps::Engine:
152
+ fetch_allmaps_annotation GET /allmaps/annotations/:id/fetch(.:format) allmaps/annotations#fetch {:format=>:json}
153
+ allmaps_annotations GET /allmaps/annotations(.:format) allmaps/annotations#index {:format=>:json}
154
+ allmaps_annotation GET /allmaps/annotations/:id(.:format) allmaps/annotations#show {:format=>:json}
155
+ PATCH /allmaps/annotations/:id(.:format) allmaps/annotations#update {:format=>:json}
156
+ PUT /allmaps/annotations/:id(.:format) allmaps/annotations#update {:format=>:json}
157
+ ```
158
+
117
159
  ## Contributing
118
160
 
119
161
  For Developer documentation see [doc/developer.md](./doc/development.md)
data/Rakefile CHANGED
@@ -1,12 +1,16 @@
1
+ require "rails"
1
2
  require "rake"
2
3
  require "bundler"
4
+
3
5
  Bundler::GemHelper.install_tasks
4
6
 
7
+ require "bundler/setup"
5
8
  require "bundler/gem_tasks"
6
9
 
7
10
  require "rspec/core/rake_task"
8
11
  require "engine_cart/rake_task"
9
12
  require "solr_wrapper"
13
+ require "solr_wrapper/rake_task"
10
14
  require "blacklight/allmaps/rake_task"
11
15
 
12
16
  task default: :ci