geoblacklight_admin 0.6.3 → 0.7.1

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 (69) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -1
  3. data/app/assets/stylesheets/geoblacklight_admin/_core.scss +2 -1
  4. data/app/assets/stylesheets/geoblacklight_admin/modules/_icons.scss +9 -0
  5. data/app/assets/stylesheets/geoblacklight_admin/modules/_pagy.scss +7 -0
  6. data/app/controllers/admin/document_data_dictionaries_controller.rb +126 -0
  7. data/app/controllers/admin/document_data_dictionary_entries_controller.rb +124 -0
  8. data/app/controllers/admin/document_distributions_controller.rb +0 -38
  9. data/app/controllers/admin/import_distributions_controller.rb +126 -0
  10. data/app/controllers/concerns/blacklight/catalog.rb +373 -0
  11. data/app/helpers/facets_helper.rb +19 -0
  12. data/app/javascript/index.js +1 -1
  13. data/app/jobs/import_distributions_run_job.rb +32 -0
  14. data/app/jobs/import_document_distribution_job.rb +23 -0
  15. data/app/models/document.rb +5 -0
  16. data/app/models/document_data_dictionary/csv_header_validator.rb +30 -0
  17. data/app/models/document_data_dictionary.rb +39 -0
  18. data/app/models/document_data_dictionary_entry.rb +9 -0
  19. data/app/models/import_distribution/csv_header_validator.rb +32 -0
  20. data/app/models/import_distribution.rb +55 -0
  21. data/app/models/import_distribution_state_machine.rb +14 -0
  22. data/app/models/import_distribution_transition.rb +26 -0
  23. data/app/models/import_document_distribution.rb +25 -0
  24. data/app/models/import_document_distribution_state_machine.rb +13 -0
  25. data/app/models/import_document_distribution_transition.rb +19 -0
  26. data/app/views/admin/document_data_dictionaries/_data_dictionaries_table.html.erb +40 -0
  27. data/app/views/admin/document_data_dictionaries/_document_data_dictionary.html.erb +37 -0
  28. data/app/views/admin/document_data_dictionaries/_document_data_dictionary.json.jbuilder +2 -0
  29. data/app/views/admin/document_data_dictionaries/_form.html.erb +17 -0
  30. data/app/views/admin/document_data_dictionaries/edit.html.erb +12 -0
  31. data/app/views/admin/document_data_dictionaries/index.html.erb +45 -0
  32. data/app/views/admin/document_data_dictionaries/index.json.jbuilder +1 -0
  33. data/app/views/admin/document_data_dictionaries/new.html.erb +78 -0
  34. data/app/views/admin/document_data_dictionaries/show.html.erb +78 -0
  35. data/app/views/admin/document_data_dictionaries/show.json.jbuilder +1 -0
  36. data/app/views/admin/document_data_dictionary_entries/_form.html.erb +19 -0
  37. data/app/views/admin/document_data_dictionary_entries/edit.html.erb +12 -0
  38. data/app/views/admin/document_data_dictionary_entries/new.html.erb +16 -0
  39. data/app/views/admin/document_distributions/index.html.erb +2 -2
  40. data/app/views/admin/documents/_form_nav.html.erb +4 -0
  41. data/app/views/admin/import_distributions/_form.html.erb +21 -0
  42. data/app/views/admin/import_distributions/_import_distribution.json.jbuilder +5 -0
  43. data/app/views/admin/import_distributions/_show_failed_tab.html.erb +36 -0
  44. data/app/views/admin/import_distributions/_show_success_tab.html.erb +35 -0
  45. data/app/views/admin/import_distributions/edit.html.erb +8 -0
  46. data/app/views/admin/import_distributions/index.html.erb +58 -0
  47. data/app/views/admin/import_distributions/index.json.jbuilder +3 -0
  48. data/app/views/admin/import_distributions/new.html.erb +7 -0
  49. data/app/views/admin/import_distributions/show.html.erb +121 -0
  50. data/app/views/admin/import_distributions/show.json.jbuilder +3 -0
  51. data/app/views/admin/imports/index.html.erb +2 -2
  52. data/app/views/admin/shared/_navbar.html.erb +2 -2
  53. data/app/views/catalog/_facet_pagination.html.erb +6 -0
  54. data/app/views/catalog/_gbl_admin_data_dictionaries.html.erb +3 -0
  55. data/app/views/catalog/_paginate_compact.html.erb +9 -0
  56. data/app/views/catalog/_results_pagination.html.erb +9 -0
  57. data/app/views/catalog/_show_gbl_admin_data_dictionaries.html.erb +44 -0
  58. data/app/views/catalog/data_dictionaries.html.erb +12 -0
  59. data/db/migrate/20241204163117_create_document_data_dictionaries.rb +14 -0
  60. data/db/migrate/20241218174455_create_document_data_dictionary_entries.rb +17 -0
  61. data/db/migrate/20250113213655_import_distributions.rb +56 -0
  62. data/lib/generators/geoblacklight_admin/config_generator.rb +61 -4
  63. data/lib/generators/geoblacklight_admin/templates/btaa_sample_document_data_dictionary_entries.csv +9 -0
  64. data/lib/generators/geoblacklight_admin/templates/btaa_sample_document_distributions.csv +17 -0
  65. data/lib/generators/geoblacklight_admin/templates/config/initializers/pagy.rb +53 -83
  66. data/lib/geoblacklight_admin/engine.rb +1 -0
  67. data/lib/geoblacklight_admin/routes/data_dictionariesable.rb +17 -0
  68. data/lib/geoblacklight_admin/version.rb +1 -1
  69. metadata +61 -14
@@ -1,37 +1,30 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "pagy"
4
-
5
- # Pagy initializer file (6.0.4)
3
+ # Pagy initializer file (9.3.3)
6
4
  # Customize only what you really need and notice that the core Pagy works also without any of the following lines.
7
5
  # Should you just cherry pick part of this file, please maintain the require-order of the extras
8
6
 
9
- # Pagy DEFAULT Variables
7
+ # Pagy Variables
10
8
  # See https://ddnexus.github.io/pagy/docs/api/pagy#variables
11
- # All the Pagy::DEFAULT are set for all the Pagy instances but can be overridden per instance by just passing them to
9
+ # You can set any pagy variable as a Pagy::DEFAULT. They can also be overridden per instance by just passing them to
12
10
  # Pagy.new|Pagy::Countless.new|Pagy::Calendar::*.new or any of the #pagy* controller methods
13
-
14
- # Instance variables
15
- # See https://ddnexus.github.io/pagy/docs/api/pagy#instance-variables
16
- # Pagy::DEFAULT[:page] = 1 # default
17
- # Pagy::DEFAULT[:items] = 20 # default
18
- # Pagy::DEFAULT[:outset] = 0 # default
19
-
20
- # Other Variables
21
- # See https://ddnexus.github.io/pagy/docs/api/pagy#other-variables
22
- # Pagy::DEFAULT[:size] = [1,4,4,1] # default
23
- # Pagy::DEFAULT[:page_param] = :page # default
24
- # The :params can be also set as a lambda e.g ->(params){ params.exclude('useless').merge!('custom' => 'useful') }
25
- # Pagy::DEFAULT[:params] = {} # default
26
- # Pagy::DEFAULT[:fragment] = '#fragment' # example
27
- # Pagy::DEFAULT[:link_extra] = 'data-remote="true"' # example
28
- # Pagy::DEFAULT[:i18n_key] = 'pagy.item_name' # default
29
- # Pagy::DEFAULT[:cycle] = true # example
30
- # Pagy::DEFAULT[:request_path] = "/foo" # example
11
+ # Here are the few that make more sense as DEFAULTs:
12
+ # Pagy::DEFAULT[:limit] = 20 # default
13
+ # Pagy::DEFAULT[:size] = 7 # default
14
+ # Pagy::DEFAULT[:ends] = true # default
15
+ # Pagy::DEFAULT[:page_param] = :page # default
16
+ # Pagy::DEFAULT[:count_args] = [] # example for non AR ORMs
17
+ # Pagy::DEFAULT[:max_pages] = 3000 # example
31
18
 
32
19
  # Extras
33
20
  # See https://ddnexus.github.io/pagy/categories/extra
34
21
 
22
+ # Legacy Compatibility Extras
23
+
24
+ # Size extra: Enable the Array type for the `:size` variable (e.g. `size: [1,4,4,1]`)
25
+ # See https://ddnexus.github.io/pagy/docs/extras/size
26
+ # require 'pagy/extras/size' # must be required before the other extras
27
+
35
28
  # Backend Extras
36
29
 
37
30
  # Arel extra: For better performance utilizing grouped ActiveRecord collections:
@@ -45,21 +38,12 @@ require "pagy"
45
38
  # Calendar extra: Add pagination filtering by calendar time unit (year, quarter, month, week, day)
46
39
  # See https://ddnexus.github.io/pagy/docs/extras/calendar
47
40
  # require 'pagy/extras/calendar'
48
- # Default for each unit
49
- # Pagy::Calendar::Year::DEFAULT[:order] = :asc # Time direction of pagination
50
- # Pagy::Calendar::Year::DEFAULT[:format] = '%Y' # strftime format
51
- #
52
- # Pagy::Calendar::Quarter::DEFAULT[:order] = :asc # Time direction of pagination
53
- # Pagy::Calendar::Quarter::DEFAULT[:format] = '%Y-Q%q' # strftime format
54
- #
55
- # Pagy::Calendar::Month::DEFAULT[:order] = :asc # Time direction of pagination
56
- # Pagy::Calendar::Month::DEFAULT[:format] = '%Y-%m' # strftime format
57
- #
58
- # Pagy::Calendar::Week::DEFAULT[:order] = :asc # Time direction of pagination
59
- # Pagy::Calendar::Week::DEFAULT[:format] = '%Y-%W' # strftime format
60
- #
61
- # Pagy::Calendar::Day::DEFAULT[:order] = :asc # Time direction of pagination
62
- # Pagy::Calendar::Day::DEFAULT[:format] = '%Y-%m-%d' # strftime format
41
+ # Default for each calendar unit class in IRB:
42
+ # >> Pagy::Calendar::Year::DEFAULT
43
+ # >> Pagy::Calendar::Quarter::DEFAULT
44
+ # >> Pagy::Calendar::Month::DEFAULT
45
+ # >> Pagy::Calendar::Week::DEFAULT
46
+ # >> Pagy::Calendar::Day::DEFAULT
63
47
  #
64
48
  # Uncomment the following lines, if you need calendar localization without using the I18n extra
65
49
  # module LocalizePagyCalendar
@@ -84,13 +68,17 @@ require "pagy"
84
68
  # require 'pagy/extras/elasticsearch_rails'
85
69
 
86
70
  # Headers extra: http response headers (and other helpers) useful for API pagination
87
- # See http://ddnexus.github.io/pagy/extras/headers
71
+ # See https://ddnexus.github.io/pagy/docs/extras/headers
88
72
  # require 'pagy/extras/headers'
89
73
  # Pagy::DEFAULT[:headers] = { page: 'Current-Page',
90
- # items: 'Page-Items',
74
+ # limit: 'Page-Items',
91
75
  # count: 'Total-Count',
92
76
  # pages: 'Total-Pages' } # default
93
77
 
78
+ # Keyset extra: Paginate with the Pagy keyset pagination technique
79
+ # See https://ddnexus.github.io/pagy/docs/extras/keyset
80
+ # require 'pagy/extras/keyset'
81
+
94
82
  # Meilisearch extra: Paginate `Meilisearch` result objects
95
83
  # See https://ddnexus.github.io/pagy/docs/extras/meilisearch
96
84
  # Default :pagy_search method: change only if you use also
@@ -102,8 +90,8 @@ require "pagy"
102
90
 
103
91
  # Metadata extra: Provides the pagination metadata to Javascript frameworks like Vue.js, react.js, etc.
104
92
  # See https://ddnexus.github.io/pagy/docs/extras/metadata
105
- # you must require the frontend helpers internal extra (BEFORE the metadata extra) ONLY if you need also the :sequels
106
- # require 'pagy/extras/frontend_helpers'
93
+ # you must require the JS Tools internal extra (BEFORE the metadata extra) ONLY if you need also the :sequels
94
+ # require 'pagy/extras/js_tools'
107
95
  # require 'pagy/extras/metadata'
108
96
  # For performance reasons, you should explicitly set ONLY the metadata you use in the frontend
109
97
  # Pagy::DEFAULT[:metadata] = %i[scaffold_url page prev next last] # example
@@ -112,7 +100,7 @@ require "pagy"
112
100
  # See https://ddnexus.github.io/pagy/docs/extras/searchkick
113
101
  # Default :pagy_search method: change only if you use also
114
102
  # the elasticsearch_rails or meilisearch extra that defines the same
115
- # DEFAULT[:searchkick_pagy_search] = :pagy_search
103
+ # Pagy::DEFAULT[:searchkick_pagy_search] = :pagy_search
116
104
  # Default original :search method called internally to do the actual search
117
105
  # Pagy::DEFAULT[:searchkick_search] = :search
118
106
  # require 'pagy/extras/searchkick'
@@ -129,58 +117,37 @@ require "pagy/extras/bootstrap"
129
117
  # See https://ddnexus.github.io/pagy/docs/extras/bulma
130
118
  # require 'pagy/extras/bulma'
131
119
 
132
- # Foundation extra: Add nav, nav_js and combo_nav_js helpers and templates for Foundation pagination
133
- # See https://ddnexus.github.io/pagy/docs/extras/foundation
134
- # require 'pagy/extras/foundation'
135
-
136
- # Materialize extra: Add nav, nav_js and combo_nav_js helpers for Materialize pagination
137
- # See https://ddnexus.github.io/pagy/docs/extras/materialize
138
- # require 'pagy/extras/materialize'
139
-
140
- # Navs extra: Add nav_js and combo_nav_js javascript helpers
141
- # Notice: the other frontend extras add their own framework-styled versions,
142
- # so require this extra only if you need the unstyled version
143
- # See https://ddnexus.github.io/pagy/docs/extras/navs
144
- # require 'pagy/extras/navs'
145
-
146
- # Semantic extra: Add nav, nav_js and combo_nav_js helpers for Semantic UI pagination
147
- # See https://ddnexus.github.io/pagy/docs/extras/semantic
148
- # require 'pagy/extras/semantic'
149
-
150
- # UIkit extra: Add nav helper and templates for UIkit pagination
151
- # See https://ddnexus.github.io/pagy/docs/extras/uikit
152
- # require 'pagy/extras/uikit'
120
+ # Pagy extra: Add the pagy styled versions of the javascript-powered navs
121
+ # and a few other components to the Pagy::Frontend module.
122
+ # See https://ddnexus.github.io/pagy/docs/extras/pagy
123
+ require "pagy/extras/pagy"
153
124
 
154
125
  # Multi size var used by the *_nav_js helpers
155
- # See https://ddnexus.github.io/pagy/docs/extras/navs#steps
156
- # Pagy::DEFAULT[:steps] = { 0 => [2,3,3,2], 540 => [3,5,5,3], 720 => [5,7,7,5] } # example
126
+ # See https://ddnexus.github.io/pagy/docs/extras/pagy#steps
127
+ # Pagy::DEFAULT[:steps] = { 0 => 5, 540 => 7, 720 => 9 } # example
157
128
 
158
129
  # Feature Extras
159
130
 
160
- # Gearbox extra: Automatically change the number of items per page depending on the page number
131
+ # Gearbox extra: Automatically change the limit per page depending on the page number
161
132
  # See https://ddnexus.github.io/pagy/docs/extras/gearbox
162
133
  # require 'pagy/extras/gearbox'
163
134
  # set to false only if you want to make :gearbox_extra an opt-in variable
164
135
  # Pagy::DEFAULT[:gearbox_extra] = false # default true
165
- # Pagy::DEFAULT[:gearbox_items] = [15, 30, 60, 100] # default
136
+ # Pagy::DEFAULT[:gearbox_limit] = [15, 30, 60, 100] # default
166
137
 
167
- # Items extra: Allow the client to request a custom number of items per page with an optional selector UI
168
- # See https://ddnexus.github.io/pagy/docs/extras/items
169
- # require 'pagy/extras/items'
170
- # set to false only if you want to make :items_extra an opt-in variable
171
- # Pagy::DEFAULT[:items_extra] = false # default true
172
- # Pagy::DEFAULT[:items_param] = :items # default
173
- # Pagy::DEFAULT[:max_items] = 100 # default
138
+ # Limit extra: Allow the client to request a custom limit per page with an optional selector UI
139
+ # See https://ddnexus.github.io/pagy/docs/extras/limit
140
+ require "pagy/extras/limit"
141
+ # set to false only if you want to make :limit_extra an opt-in variable
142
+ # Pagy::DEFAULT[:limit_extra] = false # default true
143
+ # Pagy::DEFAULT[:limit_param] = :limit # default
144
+ Pagy::DEFAULT[:limit_max] = 100 # default
174
145
 
175
146
  # Overflow extra: Allow for easy handling of overflowing pages
176
147
  # See https://ddnexus.github.io/pagy/docs/extras/overflow
177
148
  # require 'pagy/extras/overflow'
178
149
  # Pagy::DEFAULT[:overflow] = :empty_page # default (other options: :last_page and :exception)
179
150
 
180
- # Support extra: Extra support for features like: incremental, infinite, auto-scroll pagination
181
- # See https://ddnexus.github.io/pagy/docs/extras/support
182
- # require 'pagy/extras/support'
183
-
184
151
  # Trim extra: Remove the page=1 param from links
185
152
  # See https://ddnexus.github.io/pagy/docs/extras/trim
186
153
  # require 'pagy/extras/trim'
@@ -192,9 +159,15 @@ require "pagy/extras/bootstrap"
192
159
  # require 'pagy/extras/standalone'
193
160
  # Pagy::DEFAULT[:url] = 'http://www.example.com/subdir' # optional default
194
161
 
162
+ # Jsonapi extra: Implements JSON:API specifications
163
+ # See https://ddnexus.github.io/pagy/docs/extras/jsonapi
164
+ # require 'pagy/extras/jsonapi' # must be required after the other extras
165
+ # set to false only if you want to make :jsonapi an opt-in variable
166
+ # Pagy::DEFAULT[:jsonapi] = false # default true
167
+
195
168
  # Rails
196
169
  # Enable the .js file required by the helpers that use javascript
197
- # (pagy*_nav_js, pagy*_combo_nav_js, and pagy_items_selector_js)
170
+ # (pagy*_nav_js, pagy*_combo_nav_js, and pagy_limit_selector_js)
198
171
  # See https://ddnexus.github.io/pagy/docs/api/javascript
199
172
 
200
173
  # With the asset pipeline
@@ -235,8 +208,5 @@ require "pagy/extras/bootstrap"
235
208
  # See https://ddnexus.github.io/pagy/docs/extras/i18n
236
209
  # require 'pagy/extras/i18n'
237
210
 
238
- # Default i18n key
239
- # Pagy::DEFAULT[:i18n_key] = 'pagy.item_name' # default
240
-
241
211
  # When you are done setting your own default freeze it, so it will not get changed accidentally
242
212
  Pagy::DEFAULT.freeze
@@ -18,6 +18,7 @@ module GeoblacklightAdmin
18
18
  ActionView::Base.include DocumentHelper
19
19
  ActionView::Base.include FormInputHelper
20
20
  ActionView::Base.include MappingsHelper
21
+ ActionView::Base.include FacetsHelper
21
22
  end
22
23
  end
23
24
  end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GeoblacklightAdmin
4
+ module Routes
5
+ class DataDictionariesable
6
+ def initialize(defaults = {})
7
+ @defaults = defaults
8
+ end
9
+
10
+ def call(mapper, _options = {})
11
+ mapper.member do
12
+ mapper.get "data_dictionaries"
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module GeoblacklightAdmin
4
- VERSION = "0.6.3"
4
+ VERSION = "0.7.1"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: geoblacklight_admin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.3
4
+ version: 0.7.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Larson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-01-06 00:00:00.000000000 Z
11
+ date: 2025-02-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: active_storage_validations
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '7.33'
47
+ version: '7.0'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '7.33'
54
+ version: '7.0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: blacklight_advanced_search
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -184,14 +184,14 @@ dependencies:
184
184
  requirements:
185
185
  - - "~>"
186
186
  - !ruby/object:Gem::Version
187
- version: '4.4'
187
+ version: '4.0'
188
188
  type: :runtime
189
189
  prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
192
  - - "~>"
193
193
  - !ruby/object:Gem::Version
194
- version: '4.4'
194
+ version: '4.0'
195
195
  - !ruby/object:Gem::Dependency
196
196
  name: haml
197
197
  requirement: !ruby/object:Gem::Requirement
@@ -296,14 +296,14 @@ dependencies:
296
296
  requirements:
297
297
  - - "~>"
298
298
  - !ruby/object:Gem::Version
299
- version: '6.0'
299
+ version: '9.0'
300
300
  type: :runtime
301
301
  prerelease: false
302
302
  version_requirements: !ruby/object:Gem::Requirement
303
303
  requirements:
304
304
  - - "~>"
305
305
  - !ruby/object:Gem::Version
306
- version: '6.0'
306
+ version: '9.0'
307
307
  - !ruby/object:Gem::Dependency
308
308
  name: paper_trail
309
309
  requirement: !ruby/object:Gem::Requirement
@@ -353,9 +353,6 @@ dependencies:
353
353
  - - "~>"
354
354
  - !ruby/object:Gem::Version
355
355
  version: '7.0'
356
- - - "<"
357
- - !ruby/object:Gem::Version
358
- version: '7.3'
359
356
  type: :runtime
360
357
  prerelease: false
361
358
  version_requirements: !ruby/object:Gem::Requirement
@@ -363,9 +360,6 @@ dependencies:
363
360
  - - "~>"
364
361
  - !ruby/object:Gem::Version
365
362
  version: '7.0'
366
- - - "<"
367
- - !ruby/object:Gem::Version
368
- version: '7.3'
369
363
  - !ruby/object:Gem::Dependency
370
364
  name: ruby-progressbar
371
365
  requirement: !ruby/object:Gem::Requirement
@@ -813,6 +807,7 @@ files:
813
807
  - app/assets/stylesheets/geoblacklight_admin/modules/_icons.scss
814
808
  - app/assets/stylesheets/geoblacklight_admin/modules/_images.scss
815
809
  - app/assets/stylesheets/geoblacklight_admin/modules/_nav.scss
810
+ - app/assets/stylesheets/geoblacklight_admin/modules/_pagy.scss
816
811
  - app/assets/stylesheets/geoblacklight_admin/modules/_results.scss
817
812
  - app/assets/stylesheets/geoblacklight_admin/modules/_tables.scss
818
813
  - app/assets/stylesheets/geoblacklight_admin/modules/_toasts.scss
@@ -826,12 +821,15 @@ files:
826
821
  - app/controllers/admin/bulk_actions_controller.rb
827
822
  - app/controllers/admin/document_accesses_controller.rb
828
823
  - app/controllers/admin/document_assets_controller.rb
824
+ - app/controllers/admin/document_data_dictionaries_controller.rb
825
+ - app/controllers/admin/document_data_dictionary_entries_controller.rb
829
826
  - app/controllers/admin/document_distributions_controller.rb
830
827
  - app/controllers/admin/document_downloads_controller.rb
831
828
  - app/controllers/admin/documents_controller.rb
832
829
  - app/controllers/admin/elements_controller.rb
833
830
  - app/controllers/admin/form_elements_controller.rb
834
831
  - app/controllers/admin/ids_controller.rb
832
+ - app/controllers/admin/import_distributions_controller.rb
835
833
  - app/controllers/admin/import_documents_controller.rb
836
834
  - app/controllers/admin/imports_controller.rb
837
835
  - app/controllers/admin/mappings_controller.rb
@@ -839,9 +837,11 @@ files:
839
837
  - app/controllers/admin/reference_types_controller.rb
840
838
  - app/controllers/admin/search_controller.rb
841
839
  - app/controllers/admin/users_controller.rb
840
+ - app/controllers/concerns/blacklight/catalog.rb
842
841
  - app/helpers/asset_helper.rb
843
842
  - app/helpers/bulk_actions_helper.rb
844
843
  - app/helpers/document_helper.rb
844
+ - app/helpers/facets_helper.rb
845
845
  - app/helpers/form_input_helper.rb
846
846
  - app/helpers/geoblacklight_admin_helper.rb
847
847
  - app/helpers/mappings_helper.rb
@@ -863,6 +863,8 @@ files:
863
863
  - app/jobs/geoblacklight_admin/remove_parent_dct_references_uri_job.rb
864
864
  - app/jobs/geoblacklight_admin/set_parent_dct_references_uri_job.rb
865
865
  - app/jobs/geoblacklight_admin/store_image_job.rb
866
+ - app/jobs/import_distributions_run_job.rb
867
+ - app/jobs/import_document_distribution_job.rb
866
868
  - app/jobs/import_document_job.rb
867
869
  - app/jobs/import_run_job.rb
868
870
  - app/models/active_storage_attachment.rb
@@ -895,6 +897,9 @@ files:
895
897
  - app/models/document/geom_validator.rb
896
898
  - app/models/document/reference.rb
897
899
  - app/models/document_access.rb
900
+ - app/models/document_data_dictionary.rb
901
+ - app/models/document_data_dictionary/csv_header_validator.rb
902
+ - app/models/document_data_dictionary_entry.rb
898
903
  - app/models/document_distribution.rb
899
904
  - app/models/document_download.rb
900
905
  - app/models/document_state_machine.rb
@@ -918,7 +923,14 @@ files:
918
923
  - app/models/import/csv_header_validator.rb
919
924
  - app/models/import_btaa.rb
920
925
  - app/models/import_btaa_aardvark.rb
926
+ - app/models/import_distribution.rb
927
+ - app/models/import_distribution/csv_header_validator.rb
928
+ - app/models/import_distribution_state_machine.rb
929
+ - app/models/import_distribution_transition.rb
921
930
  - app/models/import_document.rb
931
+ - app/models/import_document_distribution.rb
932
+ - app/models/import_document_distribution_state_machine.rb
933
+ - app/models/import_document_distribution_transition.rb
922
934
  - app/models/import_document_state_machine.rb
923
935
  - app/models/import_document_transition.rb
924
936
  - app/models/import_gblv1.rb
@@ -984,6 +996,19 @@ files:
984
996
  - app/views/admin/document_assets/display_attach_form.html.erb
985
997
  - app/views/admin/document_assets/edit.html.erb
986
998
  - app/views/admin/document_assets/index.html.erb
999
+ - app/views/admin/document_data_dictionaries/_data_dictionaries_table.html.erb
1000
+ - app/views/admin/document_data_dictionaries/_document_data_dictionary.html.erb
1001
+ - app/views/admin/document_data_dictionaries/_document_data_dictionary.json.jbuilder
1002
+ - app/views/admin/document_data_dictionaries/_form.html.erb
1003
+ - app/views/admin/document_data_dictionaries/edit.html.erb
1004
+ - app/views/admin/document_data_dictionaries/index.html.erb
1005
+ - app/views/admin/document_data_dictionaries/index.json.jbuilder
1006
+ - app/views/admin/document_data_dictionaries/new.html.erb
1007
+ - app/views/admin/document_data_dictionaries/show.html.erb
1008
+ - app/views/admin/document_data_dictionaries/show.json.jbuilder
1009
+ - app/views/admin/document_data_dictionary_entries/_form.html.erb
1010
+ - app/views/admin/document_data_dictionary_entries/edit.html.erb
1011
+ - app/views/admin/document_data_dictionary_entries/new.html.erb
987
1012
  - app/views/admin/document_distributions/_document_distribution.html.erb
988
1013
  - app/views/admin/document_distributions/_document_distribution.json.jbuilder
989
1014
  - app/views/admin/document_distributions/_form.html.erb
@@ -1061,6 +1086,16 @@ files:
1061
1086
  - app/views/admin/form_elements/show.json.jbuilder
1062
1087
  - app/views/admin/ids/fetch.json.jbuilder
1063
1088
  - app/views/admin/ids/index.json.jbuilder
1089
+ - app/views/admin/import_distributions/_form.html.erb
1090
+ - app/views/admin/import_distributions/_import_distribution.json.jbuilder
1091
+ - app/views/admin/import_distributions/_show_failed_tab.html.erb
1092
+ - app/views/admin/import_distributions/_show_success_tab.html.erb
1093
+ - app/views/admin/import_distributions/edit.html.erb
1094
+ - app/views/admin/import_distributions/index.html.erb
1095
+ - app/views/admin/import_distributions/index.json.jbuilder
1096
+ - app/views/admin/import_distributions/new.html.erb
1097
+ - app/views/admin/import_distributions/show.html.erb
1098
+ - app/views/admin/import_distributions/show.json.jbuilder
1064
1099
  - app/views/admin/import_documents/show.html.haml
1065
1100
  - app/views/admin/imports/_form.html.erb
1066
1101
  - app/views/admin/imports/_import.json.jbuilder
@@ -1105,7 +1140,13 @@ files:
1105
1140
  - app/views/admin/shared/_schema_timestamp.html.erb
1106
1141
  - app/views/admin/shared/_toast.html.erb
1107
1142
  - app/views/admin/users/index.html.erb
1143
+ - app/views/catalog/_facet_pagination.html.erb
1144
+ - app/views/catalog/_gbl_admin_data_dictionaries.html.erb
1145
+ - app/views/catalog/_paginate_compact.html.erb
1146
+ - app/views/catalog/_results_pagination.html.erb
1108
1147
  - app/views/catalog/_show_gbl_admin.html.erb
1148
+ - app/views/catalog/_show_gbl_admin_data_dictionaries.html.erb
1149
+ - app/views/catalog/data_dictionaries.html.erb
1109
1150
  - config/authorities/formats.yml
1110
1151
  - config/authorities/languages.yml
1111
1152
  - config/authorities/resource_type.yml
@@ -1129,6 +1170,9 @@ files:
1129
1170
  - db/migrate/20241009200524_create_admin_reference_types.rb
1130
1171
  - db/migrate/20241010161420_create_document_references.rb
1131
1172
  - db/migrate/20241120238823_rename_references_to_distributions.rb
1173
+ - db/migrate/20241204163117_create_document_data_dictionaries.rb
1174
+ - db/migrate/20241218174455_create_document_data_dictionary_entries.rb
1175
+ - db/migrate/20250113213655_import_distributions.rb
1132
1176
  - db/seeds.rb
1133
1177
  - db/seeds_elements.csv
1134
1178
  - db/seeds_elements.numbers
@@ -1147,6 +1191,8 @@ files:
1147
1191
  - lib/generators/geoblacklight_admin/templates/_user_util_links.html.erb
1148
1192
  - lib/generators/geoblacklight_admin/templates/api_controller.rb
1149
1193
  - lib/generators/geoblacklight_admin/templates/base.html.erb
1194
+ - lib/generators/geoblacklight_admin/templates/btaa_sample_document_data_dictionary_entries.csv
1195
+ - lib/generators/geoblacklight_admin/templates/btaa_sample_document_distributions.csv
1150
1196
  - lib/generators/geoblacklight_admin/templates/btaa_sample_records.csv
1151
1197
  - lib/generators/geoblacklight_admin/templates/config/database.yml
1152
1198
  - lib/generators/geoblacklight_admin/templates/config/geomg_aardvark_schema.json
@@ -1207,6 +1253,7 @@ files:
1207
1253
  - lib/geoblacklight_admin.rb
1208
1254
  - lib/geoblacklight_admin/engine.rb
1209
1255
  - lib/geoblacklight_admin/rake_task.rb
1256
+ - lib/geoblacklight_admin/routes/data_dictionariesable.rb
1210
1257
  - lib/geoblacklight_admin/tasks/distributions.rake
1211
1258
  - lib/geoblacklight_admin/tasks/images.rake
1212
1259
  - lib/geoblacklight_admin/tasks/solr.rake