geoblacklight_admin 0.0.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 (346) hide show
  1. checksums.yaml +7 -0
  2. data/.editorconfig +18 -0
  3. data/.gitignore +75 -0
  4. data/.standard.yml +4 -0
  5. data/Gemfile +59 -0
  6. data/LICENSE +21 -0
  7. data/README.md +84 -0
  8. data/Rakefile +72 -0
  9. data/app/assets/images/.keep +0 -0
  10. data/app/assets/images/aerial_photo.jpg +0 -0
  11. data/app/assets/images/archive-solid.svg +1 -0
  12. data/app/assets/images/bookmark-regular.svg +1 -0
  13. data/app/assets/images/bookmark-solid.svg +1 -0
  14. data/app/assets/images/btaa-logo.jpg +0 -0
  15. data/app/assets/images/cloud-download-alt-solid.svg +1 -0
  16. data/app/assets/images/file-import-solid.svg +1 -0
  17. data/app/assets/images/trash-alt-solid.svg +1 -0
  18. data/app/assets/javascripts/geoblacklight_admin/chosen.js +4 -0
  19. data/app/assets/javascripts/geoblacklight_admin/date_range_picker.js +173 -0
  20. data/app/assets/javascripts/geoblacklight_admin/datepicker.js +22 -0
  21. data/app/assets/javascripts/geoblacklight_admin/elements.js +38 -0
  22. data/app/assets/javascripts/geoblacklight_admin/exports.js +3 -0
  23. data/app/assets/javascripts/geoblacklight_admin/fields.js +11 -0
  24. data/app/assets/javascripts/geoblacklight_admin/geoblacklight_admin.js +2 -0
  25. data/app/assets/javascripts/geoblacklight_admin/inputmask.js +4 -0
  26. data/app/assets/javascripts/geoblacklight_admin/locale.js +5 -0
  27. data/app/assets/javascripts/geoblacklight_admin/sortable.js +2544 -0
  28. data/app/assets/javascripts/geoblacklight_admin/tooltips.js +3 -0
  29. data/app/assets/javascripts/geoblacklight_admin/truncate.js +4 -0
  30. data/app/assets/javascripts/geoblacklight_admin.js +40 -0
  31. data/app/assets/stylesheets/geoblacklight_admin/_core.scss +47 -0
  32. data/app/assets/stylesheets/geoblacklight_admin/modules/_autocomplete.scss +32 -0
  33. data/app/assets/stylesheets/geoblacklight_admin/modules/_blazer.scss +3 -0
  34. data/app/assets/stylesheets/geoblacklight_admin/modules/_code.scss +3 -0
  35. data/app/assets/stylesheets/geoblacklight_admin/modules/_datepicker.scss +477 -0
  36. data/app/assets/stylesheets/geoblacklight_admin/modules/_elements.scss +3 -0
  37. data/app/assets/stylesheets/geoblacklight_admin/modules/_forms.scss +28 -0
  38. data/app/assets/stylesheets/geoblacklight_admin/modules/_icons.scss +15 -0
  39. data/app/assets/stylesheets/geoblacklight_admin/modules/_nav.scss +9 -0
  40. data/app/assets/stylesheets/geoblacklight_admin/modules/_tables.scss +4 -0
  41. data/app/assets/stylesheets/geoblacklight_admin/modules/_toasts.scss +7 -0
  42. data/app/assets/stylesheets/geoblacklight_admin/modules/_visibility.scss +3 -0
  43. data/app/assets/stylesheets/geoblacklight_admin/settings/_variables.scss +1 -0
  44. data/app/channels/export_channel.rb +12 -0
  45. data/app/controllers/admin/admin_controller.rb +16 -0
  46. data/app/controllers/admin/advanced_search_controller.rb +365 -0
  47. data/app/controllers/admin/api_controller.rb +386 -0
  48. data/app/controllers/admin/bookmarks_controller.rb +68 -0
  49. data/app/controllers/admin/bulk_actions_controller.rb +94 -0
  50. data/app/controllers/admin/concerns/.keep +0 -0
  51. data/app/controllers/admin/concerns/upload_util.rb +8 -0
  52. data/app/controllers/admin/document_accesses_controller.rb +125 -0
  53. data/app/controllers/admin/document_assets_controller.rb +198 -0
  54. data/app/controllers/admin/document_downloads_controller.rb +127 -0
  55. data/app/controllers/admin/documents_controller.rb +219 -0
  56. data/app/controllers/admin/elements_controller.rb +81 -0
  57. data/app/controllers/admin/form_elements_controller.rb +81 -0
  58. data/app/controllers/admin/ids_controller.rb +379 -0
  59. data/app/controllers/admin/import_documents_controller.rb +18 -0
  60. data/app/controllers/admin/imports_controller.rb +105 -0
  61. data/app/controllers/admin/mappings_controller.rb +95 -0
  62. data/app/controllers/admin/notifications_controller.rb +51 -0
  63. data/app/controllers/admin/search_controller.rb +10 -0
  64. data/app/controllers/admin/users_controller.rb +10 -0
  65. data/app/helpers/bulk_actions_helper.rb +9 -0
  66. data/app/helpers/document_helper.rb +60 -0
  67. data/app/helpers/form_input_helper.rb +73 -0
  68. data/app/helpers/geoblacklight_admin_helper.rb +118 -0
  69. data/app/helpers/import_documents_helper.rb +5 -0
  70. data/app/helpers/mappings_helper.rb +27 -0
  71. data/app/indexers/document_indexer.rb +34 -0
  72. data/app/jobs/bulk_action_revert_document_job.rb +49 -0
  73. data/app/jobs/bulk_action_revert_job.rb +25 -0
  74. data/app/jobs/bulk_action_run_document_job.rb +42 -0
  75. data/app/jobs/bulk_action_run_job.rb +27 -0
  76. data/app/jobs/export_job.rb +72 -0
  77. data/app/jobs/export_json_job.rb +120 -0
  78. data/app/jobs/import_document_job.rb +25 -0
  79. data/app/jobs/import_run_job.rb +33 -0
  80. data/app/models/active_storage_attachment.rb +5 -0
  81. data/app/models/active_storage_blob.rb +5 -0
  82. data/app/models/api_search_builder.rb +12 -0
  83. data/app/models/application_record.rb +6 -0
  84. data/app/models/blacklight_api.rb +93 -0
  85. data/app/models/blacklight_api_facets.rb +15 -0
  86. data/app/models/blacklight_api_ids.rb +103 -0
  87. data/app/models/bookmark.rb +17 -0
  88. data/app/models/bulk_action.rb +88 -0
  89. data/app/models/bulk_action_document.rb +22 -0
  90. data/app/models/bulk_action_document_state_machine.rb +16 -0
  91. data/app/models/bulk_action_document_transition.rb +19 -0
  92. data/app/models/bulk_action_state_machine.rb +16 -0
  93. data/app/models/bulk_action_transition.rb +26 -0
  94. data/app/models/concerns/.keep +0 -0
  95. data/app/models/document/bbox_validator.rb +70 -0
  96. data/app/models/document/controlled_lists.rb +104 -0
  97. data/app/models/document/date_range_validator.rb +63 -0
  98. data/app/models/document/geom_validator.rb +117 -0
  99. data/app/models/document/reference.rb +107 -0
  100. data/app/models/document.rb +264 -0
  101. data/app/models/document_access.rb +35 -0
  102. data/app/models/document_download.rb +35 -0
  103. data/app/models/document_state_machine.rb +14 -0
  104. data/app/models/document_transition.rb +26 -0
  105. data/app/models/element.rb +90 -0
  106. data/app/models/form_control.rb +2 -0
  107. data/app/models/form_element.rb +19 -0
  108. data/app/models/form_feature.rb +2 -0
  109. data/app/models/form_group.rb +2 -0
  110. data/app/models/form_header.rb +2 -0
  111. data/app/models/geoblacklight_admin/field_mappings_btaa_aardvark.rb +379 -0
  112. data/app/models/geoblacklight_admin/field_mappings_gblv1.rb +344 -0
  113. data/app/models/geoblacklight_admin/iso_language_codes.rb +515 -0
  114. data/app/models/geoblacklight_admin/schema.rb +194 -0
  115. data/app/models/geoblacklight_admin.rb +3 -0
  116. data/app/models/import/csv_duplicates_validator.rb +36 -0
  117. data/app/models/import/csv_header_validator.rb +24 -0
  118. data/app/models/import.rb +186 -0
  119. data/app/models/import_btaa.rb +91 -0
  120. data/app/models/import_btaa_aardvark.rb +109 -0
  121. data/app/models/import_document.rb +34 -0
  122. data/app/models/import_document_state_machine.rb +12 -0
  123. data/app/models/import_document_transition.rb +19 -0
  124. data/app/models/import_gblv1.rb +92 -0
  125. data/app/models/import_state_machine.rb +16 -0
  126. data/app/models/import_transition.rb +26 -0
  127. data/app/models/mapping.rb +10 -0
  128. data/app/models/notification.rb +9 -0
  129. data/app/models/user.rb +26 -0
  130. data/app/notifications/export_notification.rb +30 -0
  131. data/app/services/export_csv_document_access_links_service.rb +47 -0
  132. data/app/services/export_csv_document_downloads_service.rb +47 -0
  133. data/app/services/export_csv_service.rb +44 -0
  134. data/app/services/export_json_service.rb +35 -0
  135. data/app/services/zip_file_generator.rb +56 -0
  136. data/app/views/admin/advanced_search/facets.json.jbuilder +80 -0
  137. data/app/views/admin/advanced_search/index.json.jbuilder +90 -0
  138. data/app/views/admin/api/_field.json.jbuilder +10 -0
  139. data/app/views/admin/api/fetch.json.jbuilder +86 -0
  140. data/app/views/admin/api/index.json.jbuilder +90 -0
  141. data/app/views/admin/bookmarks/_bookmark.json.jbuilder +4 -0
  142. data/app/views/admin/bookmarks/create.js.erb +7 -0
  143. data/app/views/admin/bookmarks/destroy.js.erb +7 -0
  144. data/app/views/admin/bookmarks/index.html.erb +21 -0
  145. data/app/views/admin/bookmarks/index.json.jbuilder +3 -0
  146. data/app/views/admin/bulk_actions/_bulk_action.json.jbuilder +4 -0
  147. data/app/views/admin/bulk_actions/_form.html.erb +17 -0
  148. data/app/views/admin/bulk_actions/edit.html.erb +6 -0
  149. data/app/views/admin/bulk_actions/index.html.erb +54 -0
  150. data/app/views/admin/bulk_actions/index.json.jbuilder +3 -0
  151. data/app/views/admin/bulk_actions/new.html.erb +5 -0
  152. data/app/views/admin/bulk_actions/show.html.erb +100 -0
  153. data/app/views/admin/bulk_actions/show.json.jbuilder +3 -0
  154. data/app/views/admin/devise/confirmations/new.html.erb +16 -0
  155. data/app/views/admin/devise/invitations/edit.html.erb +15 -0
  156. data/app/views/admin/devise/invitations/new.html.erb +15 -0
  157. data/app/views/admin/devise/mailer/invitation_instructions.html.erb +11 -0
  158. data/app/views/admin/devise/mailer/invitation_instructions.text.erb +11 -0
  159. data/app/views/admin/devise/passwords/edit.html.erb +26 -0
  160. data/app/views/admin/devise/passwords/new.html.erb +16 -0
  161. data/app/views/admin/devise/registrations/edit.html.erb +35 -0
  162. data/app/views/admin/devise/registrations/new.html.erb +30 -0
  163. data/app/views/admin/devise/sessions/new.html.erb +28 -0
  164. data/app/views/admin/devise/shared/_links.html.erb +27 -0
  165. data/app/views/admin/devise/unlocks/new.html.erb +16 -0
  166. data/app/views/admin/document_accesses/_document_access.json.jbuilder +4 -0
  167. data/app/views/admin/document_accesses/_form.html.erb +17 -0
  168. data/app/views/admin/document_accesses/destroy_all.html.erb +70 -0
  169. data/app/views/admin/document_accesses/edit.html.erb +5 -0
  170. data/app/views/admin/document_accesses/import.html.erb +70 -0
  171. data/app/views/admin/document_accesses/index.html.erb +74 -0
  172. data/app/views/admin/document_accesses/index.json.jbuilder +3 -0
  173. data/app/views/admin/document_accesses/new.html.erb +6 -0
  174. data/app/views/admin/document_accesses/show.html.erb +19 -0
  175. data/app/views/admin/document_accesses/show.json.jbuilder +3 -0
  176. data/app/views/admin/document_assets/display_attach_form.html.erb +44 -0
  177. data/app/views/admin/document_assets/index.html.erb +65 -0
  178. data/app/views/admin/document_downloads/_document_download.json.jbuilder +4 -0
  179. data/app/views/admin/document_downloads/_form.html.erb +15 -0
  180. data/app/views/admin/document_downloads/destroy_all.html.erb +70 -0
  181. data/app/views/admin/document_downloads/edit.html.erb +6 -0
  182. data/app/views/admin/document_downloads/import.html.erb +74 -0
  183. data/app/views/admin/document_downloads/index.html.erb +70 -0
  184. data/app/views/admin/document_downloads/index.json.jbuilder +3 -0
  185. data/app/views/admin/document_downloads/new.html.erb +5 -0
  186. data/app/views/admin/document_downloads/show.html.erb +24 -0
  187. data/app/views/admin/document_downloads/show.json.jbuilder +3 -0
  188. data/app/views/admin/documents/_document.html.erb +29 -0
  189. data/app/views/admin/documents/_document_bookmark.html.erb +17 -0
  190. data/app/views/admin/documents/_document_fields.html.erb +24 -0
  191. data/app/views/admin/documents/_form.html.erb +49 -0
  192. data/app/views/admin/documents/_form_control.html.erb +86 -0
  193. data/app/views/admin/documents/_form_group.html.erb +1 -0
  194. data/app/views/admin/documents/_form_header.html.erb +1 -0
  195. data/app/views/admin/documents/_form_nav.html.erb +21 -0
  196. data/app/views/admin/documents/_json_aardvark.jbuilder +47 -0
  197. data/app/views/admin/documents/_json_btaa_aardvark.jbuilder +16 -0
  198. data/app/views/admin/documents/_json_gbl_v1.jbuilder +32 -0
  199. data/app/views/admin/documents/_result_facets.html.erb +35 -0
  200. data/app/views/admin/documents/_result_pagination.html.erb +21 -0
  201. data/app/views/admin/documents/_result_selected_options.html.erb +54 -0
  202. data/app/views/admin/documents/_result_selection_options.html.erb +10 -0
  203. data/app/views/admin/documents/_result_toggle.html.erb +13 -0
  204. data/app/views/admin/documents/edit.html.erb +7 -0
  205. data/app/views/admin/documents/features/_assets.html.erb +3 -0
  206. data/app/views/admin/documents/features/_institutional_access_links.html.erb +3 -0
  207. data/app/views/admin/documents/features/_multiple_download_links.html.erb +27 -0
  208. data/app/views/admin/documents/fetch.json_aardvark.jbuilder +9 -0
  209. data/app/views/admin/documents/fetch.json_btaa_aardvark.jbuilder +9 -0
  210. data/app/views/admin/documents/fetch.json_gbl_v1.jbuilder +9 -0
  211. data/app/views/admin/documents/index.html.erb +49 -0
  212. data/app/views/admin/documents/index.json_aardvark.jbuilder +9 -0
  213. data/app/views/admin/documents/index.json_btaa_aardvark.jbuilder +9 -0
  214. data/app/views/admin/documents/index.json_gbl_v1.jbuilder +9 -0
  215. data/app/views/admin/documents/show.json_aardvark.jbuilder +3 -0
  216. data/app/views/admin/documents/show.json_btaa_aardvark.jbuilder +3 -0
  217. data/app/views/admin/documents/show.json_gbl_v1.jbuilder +3 -0
  218. data/app/views/admin/documents/versions.html.erb +110 -0
  219. data/app/views/admin/elements/_element.json.jbuilder +2 -0
  220. data/app/views/admin/elements/_form.html.erb +45 -0
  221. data/app/views/admin/elements/edit.html.erb +6 -0
  222. data/app/views/admin/elements/index.html.erb +68 -0
  223. data/app/views/admin/elements/index.json.jbuilder +1 -0
  224. data/app/views/admin/elements/new.html.erb +5 -0
  225. data/app/views/admin/elements/show.html.erb +121 -0
  226. data/app/views/admin/elements/show.json.jbuilder +1 -0
  227. data/app/views/admin/form_elements/_form.html.erb +46 -0
  228. data/app/views/admin/form_elements/_form_element.json.jbuilder +2 -0
  229. data/app/views/admin/form_elements/edit.html.erb +6 -0
  230. data/app/views/admin/form_elements/index.html.erb +49 -0
  231. data/app/views/admin/form_elements/index.json.jbuilder +1 -0
  232. data/app/views/admin/form_elements/new.html.erb +5 -0
  233. data/app/views/admin/form_elements/show.html.erb +19 -0
  234. data/app/views/admin/form_elements/show.json.jbuilder +1 -0
  235. data/app/views/admin/ids/fetch.json.jbuilder +86 -0
  236. data/app/views/admin/ids/index.json.jbuilder +41 -0
  237. data/app/views/admin/import_documents/show.html.haml +20 -0
  238. data/app/views/admin/imports/_form.html.erb +27 -0
  239. data/app/views/admin/imports/_import.json.jbuilder +4 -0
  240. data/app/views/admin/imports/_show_failed_tab.html.erb +37 -0
  241. data/app/views/admin/imports/_show_success_tab.html.erb +31 -0
  242. data/app/views/admin/imports/edit.html.erb +8 -0
  243. data/app/views/admin/imports/index.html.erb +56 -0
  244. data/app/views/admin/imports/index.json.jbuilder +3 -0
  245. data/app/views/admin/imports/new.html.erb +7 -0
  246. data/app/views/admin/imports/show.html.erb +123 -0
  247. data/app/views/admin/imports/show.json.jbuilder +3 -0
  248. data/app/views/admin/layouts/application.html.erb +30 -0
  249. data/app/views/admin/layouts/blazer/application.html.erb +23 -0
  250. data/app/views/admin/layouts/mailer.html.erb +13 -0
  251. data/app/views/admin/layouts/mailer.text.erb +1 -0
  252. data/app/views/admin/mappings/_form.html.erb +17 -0
  253. data/app/views/admin/mappings/_mapping.json.jbuilder +4 -0
  254. data/app/views/admin/mappings/edit.html.erb +6 -0
  255. data/app/views/admin/mappings/index.html.erb +37 -0
  256. data/app/views/admin/mappings/index.json.jbuilder +3 -0
  257. data/app/views/admin/mappings/new.html.erb +5 -0
  258. data/app/views/admin/mappings/show.html.erb +27 -0
  259. data/app/views/admin/mappings/show.json.jbuilder +3 -0
  260. data/app/views/admin/notifications/_notification.html.haml +31 -0
  261. data/app/views/admin/notifications/index.html.erb +54 -0
  262. data/app/views/admin/notifications/update.js.erb +7 -0
  263. data/app/views/admin/search/index.html.erb +38 -0
  264. data/app/views/admin/shared/_flash_messages.html.erb +5 -0
  265. data/app/views/admin/shared/_footer.html.erb +56 -0
  266. data/app/views/admin/shared/_js_behaviors.html.erb +147 -0
  267. data/app/views/admin/shared/_navbar.html.erb +78 -0
  268. data/app/views/admin/shared/_navbar_blazer.html.erb +42 -0
  269. data/app/views/admin/shared/_schema_timestamp.html.erb +16 -0
  270. data/app/views/admin/shared/_toast.html.erb +13 -0
  271. data/app/views/admin/users/index.html.erb +21 -0
  272. data/config/authorities/formats.yml +25 -0
  273. data/config/authorities/languages.yml +50 -0
  274. data/config/authorities/resource_type.yml +82 -0
  275. data/config/blazer.yml +79 -0
  276. data/config/gbl_v1_schema.json +118 -0
  277. data/config/geomg_aardvark_schema.json +211 -0
  278. data/config/geomg_schema.json +123 -0
  279. data/config/locales/devise.en.yml +65 -0
  280. data/config/locales/devise_invitable.en.yml +31 -0
  281. data/config/locales/documents.en.yml +189 -0
  282. data/config/locales/en.yml +51 -0
  283. data/config/locales/geoblacklight.en.yml +178 -0
  284. data/config/locales/simple_form.en.yml +31 -0
  285. data/config/routes.rb +162 -0
  286. data/db/migrate/20230316183001_add_geoblacklight_admin.rb +399 -0
  287. data/db/seeds.rb +26 -0
  288. data/db/seeds_elements.csv +56 -0
  289. data/db/seeds_elements.numbers +0 -0
  290. data/db/seeds_form_elements.csv +71 -0
  291. data/db/seeds_form_elements.numbers +0 -0
  292. data/db/structure.sql +816 -0
  293. data/geoblacklight_admin.gemspec +67 -0
  294. data/lib/generators/geoblacklight_admin/config_generator.rb +336 -0
  295. data/lib/generators/geoblacklight_admin/example_docs_generator.rb +18 -0
  296. data/lib/generators/geoblacklight_admin/helpers_generator.rb +18 -0
  297. data/lib/generators/geoblacklight_admin/install_generator.rb +60 -0
  298. data/lib/generators/geoblacklight_admin/jobs_generator.rb +21 -0
  299. data/lib/generators/geoblacklight_admin/models_generator.rb +23 -0
  300. data/lib/generators/geoblacklight_admin/templates/.env.development.example +28 -0
  301. data/lib/generators/geoblacklight_admin/templates/.solr_wrapper.yml +7 -0
  302. data/lib/generators/geoblacklight_admin/templates/_user_util_links.html.erb +30 -0
  303. data/lib/generators/geoblacklight_admin/templates/config/database.yml +18 -0
  304. data/lib/generators/geoblacklight_admin/templates/config/geomg_aardvark_schema.json +211 -0
  305. data/lib/generators/geoblacklight_admin/templates/config/initializers/geoblacklight_admin.rb +25 -0
  306. data/lib/generators/geoblacklight_admin/templates/config/initializers/kithe.rb +31 -0
  307. data/lib/generators/geoblacklight_admin/templates/config/initializers/pagy.rb +158 -0
  308. data/lib/generators/geoblacklight_admin/templates/config/initializers/statesman.rb +7 -0
  309. data/lib/generators/geoblacklight_admin/templates/javascript/channels/consumer.js +6 -0
  310. data/lib/generators/geoblacklight_admin/templates/javascript/channels/export_channel.js +30 -0
  311. data/lib/generators/geoblacklight_admin/templates/javascript/channels/index.js +5 -0
  312. data/lib/generators/geoblacklight_admin/templates/javascript/controllers/application_controller.js +17 -0
  313. data/lib/generators/geoblacklight_admin/templates/javascript/controllers/document_controller.js +26 -0
  314. data/lib/generators/geoblacklight_admin/templates/javascript/controllers/index.js +10 -0
  315. data/lib/generators/geoblacklight_admin/templates/javascript/controllers/results_controller.js +310 -0
  316. data/lib/generators/geoblacklight_admin/templates/javascript/packs/application.js +23 -0
  317. data/lib/generators/geoblacklight_admin/templates/javascript/src/js/admin/qa_autocomplete.js +1134 -0
  318. data/lib/generators/geoblacklight_admin/templates/package.json +32 -0
  319. data/lib/generators/geoblacklight_admin/templates/solr/README-geoblacklight-solr-development.txt +3 -0
  320. data/lib/generators/geoblacklight_admin/templates/solr/conf/_rest_managed.json +3 -0
  321. data/lib/generators/geoblacklight_admin/templates/solr/conf/admin-extra.html +31 -0
  322. data/lib/generators/geoblacklight_admin/templates/solr/conf/core.properties +5 -0
  323. data/lib/generators/geoblacklight_admin/templates/solr/conf/elevate.xml +36 -0
  324. data/lib/generators/geoblacklight_admin/templates/solr/conf/mapping-ISOLatin1Accent.txt +246 -0
  325. data/lib/generators/geoblacklight_admin/templates/solr/conf/protwords.txt +21 -0
  326. data/lib/generators/geoblacklight_admin/templates/solr/conf/schema.xml +229 -0
  327. data/lib/generators/geoblacklight_admin/templates/solr/conf/scripts.conf +24 -0
  328. data/lib/generators/geoblacklight_admin/templates/solr/conf/solrconfig.xml +266 -0
  329. data/lib/generators/geoblacklight_admin/templates/solr/conf/spellings.txt +2 -0
  330. data/lib/generators/geoblacklight_admin/templates/solr/conf/stopwords.txt +58 -0
  331. data/lib/generators/geoblacklight_admin/templates/solr/conf/stopwords_en.txt +58 -0
  332. data/lib/generators/geoblacklight_admin/templates/solr/conf/synonyms.txt +43 -0
  333. data/lib/generators/geoblacklight_admin/templates/solr/conf/xslt/example.xsl +132 -0
  334. data/lib/generators/geoblacklight_admin/templates/solr/conf/xslt/example_atom.xsl +67 -0
  335. data/lib/generators/geoblacklight_admin/templates/solr/conf/xslt/example_rss.xsl +66 -0
  336. data/lib/generators/geoblacklight_admin/templates/solr/conf/xslt/luke.xsl +337 -0
  337. data/lib/generators/geoblacklight_admin/templates/solr/snapshots/.keep +0 -0
  338. data/lib/generators/geoblacklight_admin/views_generator.rb +19 -0
  339. data/lib/geoblacklight_admin/engine.rb +20 -0
  340. data/lib/geoblacklight_admin/version.rb +5 -0
  341. data/lib/geoblacklight_admin.rb +7 -0
  342. data/lib/tasks/.keep +0 -0
  343. data/lib/tasks/geoblacklight_admin.rake +209 -0
  344. data/spec/test_app_templates/lib/generators/test_app_generator.rb +35 -0
  345. data/template.rb +16 -0
  346. metadata +1037 -0
@@ -0,0 +1,189 @@
1
+ en:
2
+ # Customizing model and attribute names that show up in forms:
3
+
4
+ activerecord:
5
+ attributes:
6
+ document:
7
+ schema_provider_s:
8
+ one: "Provider"
9
+ other: "Providers"
10
+ dct_issued_s:
11
+ one: "Date Issued"
12
+ other: "Date Issued"
13
+ dcat_bbox:
14
+ one: "Bounding Box"
15
+ other: "Bounding Box"
16
+ locn_geometry:
17
+ one: "Geometry"
18
+ other: "Geometry"
19
+ dct_format_s:
20
+ one: "Format"
21
+ other: "Format"
22
+ b1g_image_ss:
23
+ one: "B1G Image URL"
24
+ other: "B1G Image URL"
25
+ geomg_id_s:
26
+ one: "ID"
27
+ other: "ID"
28
+ b1g_code_s:
29
+ one: "Code"
30
+ other: "Code"
31
+ b1g_dct_accrualMethod_s:
32
+ one: "Accrual Method"
33
+ other: "Accrual Method"
34
+ b1g_dct_accrualPeriodicity_s:
35
+ one: "Accrual Periodicity"
36
+ other: "Accrual Periodicity"
37
+ b1g_dateRetired_s:
38
+ one: "Date Retired"
39
+ other: "Date Retired"
40
+ b1g_status_s:
41
+ one: "Status"
42
+ other: "Status"
43
+ b1g_publication_state_s:
44
+ one: Publication State
45
+ other: Publication State
46
+ gbl_suppressed_b:
47
+ one: Suppressed
48
+ other: Suppressed
49
+ dct_title_s:
50
+ one: "Title"
51
+ other: "Title"
52
+ dct_alternative_sm:
53
+ one: "Alternative Title"
54
+ other: "Alternative Title"
55
+ dct_description_sm:
56
+ one: "Description"
57
+ other: "Description"
58
+ dct_language_sm:
59
+ one: "Language"
60
+ other: "Languages"
61
+ dct_creator_sm:
62
+ one: "Creator"
63
+ other: "Creator"
64
+ b1g_creatorID_sm:
65
+ one: "Creator ID"
66
+ other: "Creator ID"
67
+ dct_publisher_sm:
68
+ one: "Publisher"
69
+ other: "Publisher"
70
+ gbl_resourceClass_sm:
71
+ one: "Resource Class"
72
+ other: "Resource Class"
73
+ gbl_resourceType_sm:
74
+ one: "Resource Type"
75
+ other: "Resource Type"
76
+ dct_subject_sm:
77
+ one: "Subject"
78
+ other: "Subject"
79
+ dcat_theme_sm:
80
+ one: "Theme"
81
+ other: "Theme"
82
+ dcat_keyword_sm:
83
+ one: "Keyword"
84
+ other: "Keyword"
85
+ dct_temporal_sm:
86
+ one: "Temporal Coverage"
87
+ other: "Temporal Coverage"
88
+ gbl_dateRange_drsim:
89
+ one: "Date Range"
90
+ other: "Date Range"
91
+ dct_spatial_sm:
92
+ one: "Spatial Coverage"
93
+ other: "Spatial Coverage"
94
+ b1g_geonames_sm:
95
+ one: "GeoNames"
96
+ other: "GeoNames"
97
+ dct_relation_sm:
98
+ one: "Relation"
99
+ other: "Relation"
100
+ pcdm_memberOf_sm:
101
+ one: "Member Of"
102
+ other: "Member Of"
103
+ dct_references_s:
104
+ one: "Reference"
105
+ other: "Reference"
106
+ dct_isPartOf_sm:
107
+ one: "Is Part Of"
108
+ other: "Is Part Of"
109
+ dct_source_sm:
110
+ one: "Source"
111
+ other: "Source"
112
+ dct_isVersionOf_sm:
113
+ one: "Version"
114
+ other: "Version"
115
+ dct_replaces_sm:
116
+ one: "Replaces"
117
+ other: "Replaces"
118
+ dct_isReplacedBy_sm:
119
+ one: "Is Replaced By"
120
+ other: "Is Replaced By"
121
+ gbl_fileSize_s:
122
+ one: "File Size"
123
+ gbl_wxsIdentifier_s:
124
+ one: "WxS Identifier"
125
+ gbl_georeferenced_b:
126
+ one: "Georeferenced"
127
+ dct_accessRights_s:
128
+ one: "Access Rights"
129
+ other: "Access Rights"
130
+ suppressed_b:
131
+ one: "Suppressed"
132
+ other: "Suppressed"
133
+ b1g_child_record_b:
134
+ one: "Child Record"
135
+ other: "Child Record"
136
+ dct_identifier_sm:
137
+ one: "Identifier"
138
+ other: "Identifier"
139
+ dct_rights_sm:
140
+ one: "Rights"
141
+ other: "Rights"
142
+ dct_rightsHolder_sm:
143
+ one: "Rights Holder"
144
+ other: "Rights Holder"
145
+ dct_license_sm:
146
+ one: "License"
147
+ other: "License"
148
+ b1g_dateAccessioned_sm:
149
+ one: "Date Accessioned"
150
+ other: "Date Accessioned"
151
+ b1g_dct_mediator_sm:
152
+ one: "Mediator"
153
+ other: "Mediator"
154
+ b1g_access_s:
155
+ one: "Access"
156
+ other: "Access"
157
+
158
+ activemodel:
159
+ models:
160
+ document/dct_references_s: "References"
161
+ enum_values:
162
+ document/reference:
163
+ category:
164
+ wcs: Web Coverage Service (WCS)
165
+ wms: Web Mapping Service (WMS)
166
+ wfs: Web Feature Service (WFS)
167
+ iiif_image: IIIF Image API
168
+ iiif_manifest: IIIF Manifest
169
+ download: Direct download file
170
+ image: Image file
171
+ thumbnail: Thumbnail file
172
+ documentation_download: Data dictionary / documentation download
173
+ documentation_external: Full layer description
174
+ metadata_iso: Metadata in ISO 19139
175
+ metadata_fgdc: Metadata in FGDC
176
+ metadata_mods: Metadata in MODS
177
+ metadata_html: Metadata in HTML
178
+ arcgis_feature_layer: ArcGIS FeatureLayer
179
+ arcgis_tiled_map_layer: ArcGIS TiledMapLayer
180
+ arcgis_dynamic_map_layer: ArcGIS DynamicMapLayer
181
+ arcgis_image_map_layer: ArcGIS ImageMapLayer
182
+ harvard_download: Harvard Download
183
+ open_index_map: OpenIndexMap
184
+ oembed: oEmbed
185
+
186
+ simple_form:
187
+ hints:
188
+ document:
189
+ dct_references_s: "URIs and Values"
@@ -0,0 +1,51 @@
1
+ # Files in the config/locales directory are used for internationalization
2
+ # and are automatically loaded by Rails. If you want to use locales other
3
+ # than English, add the necessary files in this directory.
4
+ #
5
+ # To use the locales, use `I18n.t`:
6
+ #
7
+ # I18n.t 'hello'
8
+ #
9
+ # In views, this is aliased to just `t`:
10
+ #
11
+ # <%= t('hello') %>
12
+ #
13
+ # To use a different locale, set it with `I18n.locale`:
14
+ #
15
+ # I18n.locale = :es
16
+ #
17
+ # This would use the information in config/locales/es.yml.
18
+ #
19
+ # The following keys must be escaped otherwise they will not be retrieved by
20
+ # the default I18n backend:
21
+ #
22
+ # true, false, on, off, yes, no
23
+ #
24
+ # Instead, surround them with single quotes.
25
+ #
26
+ # en:
27
+ # 'true': 'foo'
28
+ #
29
+ # To learn more, please read the Rails Internationalization guide
30
+ # available at https://guides.rubyonrails.org/i18n.html.
31
+
32
+ en:
33
+ hello: "Hello world"
34
+ facets:
35
+ b1g_publication_state_s: Publication State
36
+ gbl_resourceClass_sm: Resource Class
37
+ schema_provider_s: Provider
38
+ b1g_dct_accrualMethod_s: Accrual Method
39
+ dct_accessRights_s: Public/Restricted
40
+
41
+ date:
42
+ formats:
43
+ datepicker: 'YYYY-MM-DD' # fdatepicker date format
44
+ momentjs: 'MM/DD/YYYY' # momentjs date format
45
+ momentjs_datepicker: 'YYYY-MM-DD' # momentjs date format
46
+ momentjs_datetime: 'MM/DD/YYYY h:mma' # momentjs date format
47
+ momentjs_iso: 'YYYY-MM-DD' # momentjs date format
48
+ default: '%Y-%m-%d' # ruby date format
49
+ long: "%d %B %Y" # ruby date format
50
+ short: "%m-%d-%y" # ruby date format
51
+ iso: "%Y-%m-%d" # ruby date format
@@ -0,0 +1,178 @@
1
+ en:
2
+ geoblacklight:
3
+ bbox_label: 'Bounding Box'
4
+ download:
5
+ download: 'Download'
6
+ download_link: 'Original %{download_format}'
7
+ success: 'Your file %{title} is ready for download'
8
+ hgl_success: 'You should receive an email when your download is ready.'
9
+ hgl_request: 'Request Layer'
10
+ hgl_request_button: 'Request'
11
+ hgl_close: 'Close'
12
+ hgl_instructions: 'Please enter your email address. You will receive a link to download the layer when it is ready.' ## new variable
13
+ hgl_email: 'Email'
14
+ error: 'Sorry, the requested file could not be downloaded'
15
+ error_with_url: 'Sorry, the requested file could not be downloaded. Try downloading it directly from: %{link}'
16
+ export_formats: 'Export Formats'
17
+ export_link: 'Export'
18
+ export_shapefile_link: 'EPSG:4326 Shapefile'
19
+ export_kmz_link: 'KMZ'
20
+ export_geojson_link: 'GeoJSON'
21
+ home:
22
+ headline: 'Explore and discover...'
23
+ search_heading: 'Find the maps and data you need'
24
+ category_heading: 'Find by...'
25
+ map_heading: 'Find by location'
26
+ institution: 'Institution'
27
+ data_type: 'Data type'
28
+ placename: 'Placename'
29
+ subject: 'Subject'
30
+ tools:
31
+ login_to_view: 'Login to view and download'
32
+ open_carto: 'Open in Carto'
33
+ open_arcgis: 'Open in ArcGIS'
34
+ formats:
35
+ arcgrid: 'ArcGRID'
36
+ geojson: 'GeoJSON'
37
+ geotiff: 'GeoTIFF'
38
+ kmz: 'KMZ'
39
+ shapefile: 'Shapefile'
40
+ jpg: 'JPG'
41
+ esri_geodatabase: 'ESRI Geodatabase'
42
+ sqlite_database: 'SQLite Database'
43
+ references:
44
+ wms: 'Web Mapping Service (WMS)'
45
+ wms_abv: 'WMS'
46
+ wms_label: 'layers'
47
+ wfs: 'Web Feature Service (WFS)'
48
+ wfs_abv: 'WFS'
49
+ wfs_label: 'typeNames'
50
+ iiif: 'International Image Interoperability Framework (IIIF)'
51
+ iso19139: 'ISO 19139'
52
+ mods: 'MODS'
53
+ fgdc: 'FGDC'
54
+ html: 'HTML'
55
+ feature_layer: 'ArcGIS Feature Layer'
56
+ tiled_map_layer: 'ArcGIS Tiled Map Layer'
57
+ dynamic_map_layer: 'ArcGIS Dynamic Map Layer'
58
+ image_map_layer: 'ArcGIS Image Map Layer'
59
+ data_dictionary: 'Documentation'
60
+ services: 'Web services'
61
+ services_close: 'Close'
62
+ relations:
63
+ ancestor: 'Is derived from...'
64
+ browse_all: "Browse all %{count} records..."
65
+ descendant: 'Has derivatives...'
66
+ member_of_ancestors: 'Belongs to collection...'
67
+ member_of_descendants: 'Collection records...'
68
+ part_of_ancestors: 'Is part of...'
69
+ part_of_descendants: 'Has part...'
70
+ relation: 'Related Records'
71
+ replaces: 'Item replaces...'
72
+ source: 'Source Datasets'
73
+ title: 'Related items...'
74
+ version_of_ancestors: 'Is version of...'
75
+ version_of_descendants: 'Has version...'
76
+ metadata:
77
+ view_metadata: 'View Metadata'
78
+ more_details: 'Visit Source'
79
+ metadata_error: 'The metadata view for selected schema is not available'
80
+ metadata_trace: 'Please select another metadata view. Alternately, try downloading the file or reaching out to the holding institution.'
81
+ show:
82
+ attribute: 'Attribute'
83
+ value: 'Value'
84
+ click_map: 'Click on map to inspect values'
85
+ help_text:
86
+ viewer_protocol:
87
+ b1g_image:
88
+ title: Static Image
89
+ content: A downloadable image.
90
+ download:
91
+ title: Static Image
92
+ content: A downloadable image.
93
+ dynamic_map_layer:
94
+ title: ArcGIS Dynamic Map Layer
95
+ content: An ArcGIS Dynamic Map Layer represents vector data (points, lines, and polygons). Map image layers are dynamically rendered image tiles.
96
+ feature_layer:
97
+ title: ArcGIS Feature Layer
98
+ content: An ArcGIS Feature Layer Service displays vector data (points, lines, and polygons) as individual or collected features.
99
+ iiif:
100
+ title: IIIF Service
101
+ content: The International Image Interoperability Framework (IIIF) web service API displays an image from a server. This image can be panned and zoomed.
102
+ iiif_manifest:
103
+ title: IIIF Service
104
+ content: The International Image Interoperability Framework (IIIF) web service API displays an image from a server. This image can be panned and zoomed.
105
+ image_map_layer:
106
+ title: ArcGIS Image Map Layer
107
+ content: An ArcGIS Image Map Layer displays raster data (a grid of cells used to store imagery).
108
+ index_map:
109
+ title: Index Map
110
+ content: Index maps are a "table of contents" that allow users to select a specific map or item within a larger set and navigate to it for viewing or downloading.
111
+ oembed:
112
+ title: Embedded Content
113
+ content: This content is embedded through a third-party viewer.
114
+ tiled_map_layer:
115
+ title: ArcGIS Tiled Map Layer
116
+ content: An ArcGIS Tiled Map Layer Service displays set of web-accessible tiles that reside on a server.
117
+ wms:
118
+ title: Web Map Service (WMS)
119
+ content: A Web Map Service displays a geospatial dataset as map images.
120
+ aria-labels:
121
+ arrow-circle-down: Arrow within a circle, pointing down (icon)
122
+ baruch-cuny: Baruch College (logo)
123
+ berkeley: University of California, Berkeley (logo)
124
+ book: Book (icon)
125
+ bookmark: Bookmark (icon)
126
+ cd-rom: CD-Rom (icon)
127
+ chicago: The University of Chicago (logo)
128
+ columbia: Columbia University (logo)
129
+ cornell: Cornell University (logo)
130
+ dvd-rom: DVD-Rom (icon)
131
+ email: Email (icon)
132
+ esri-globe: Esri Global (logo)
133
+ globe: Globe (icon)
134
+ harvard: Harvard University (logo)
135
+ home: Home (icon)
136
+ illinois: University of Illinois (logo)
137
+ image: Image (icon)
138
+ indiana: Indiana University (logo)
139
+ iowa: University of Iowa (logo)
140
+ leaf: Leaf (icon)
141
+ lewis-clark: Lewis & Clark (logo)
142
+ line: Line (icon)
143
+ map-marker: Map marker (icon)
144
+ map: Map (icon)
145
+ maryland: University of Maryland (logo)
146
+ massgis: MassGIS (logo)
147
+ metadata: Metadata (icon)
148
+ michigan-state: Michigan State University (logo)
149
+ michigan: University of Michigan (logo)
150
+ minnesota: University of Minnesota (logo)
151
+ mit: Massachusetts Institute of Technology (logo)
152
+ mixed: Mixed (icon)
153
+ multilinestring: Multi-line string (icon)
154
+ multipoint: Multi-point (icon)
155
+ multipolygon: Multi-polygon (icon)
156
+ nyu: New York University (logo)
157
+ ohio-state: The Ohio State University (logo)
158
+ pagelines-brands: Pagelines brands (icon)
159
+ paper-map: Paper map (icon)
160
+ penn-state: Penn State University (logo)
161
+ point: Point (icon)
162
+ polygon: Polygon (icon)
163
+ polyline: Polyline (icon)
164
+ princeton: Princeton University (logo)
165
+ public: Public content (icon)
166
+ purdue: Purdue University (logo)
167
+ raster: Raster (icon)
168
+ restricted: Restricted content (icon)
169
+ sms: SMS (icon)
170
+ stanford: Stanford University (logo)
171
+ table: Table (icon)
172
+ tags: Tags (icon)
173
+ texas: The University of Texas at Austin (logo)
174
+ tufts: Tufts University (logo)
175
+ ucla: University of California, Los Angeles (logo)
176
+ uva: University of Virginia (logo)
177
+ web_services: Web services (icon)
178
+ wisconsin: University of Wisconsin (logo)
@@ -0,0 +1,31 @@
1
+ en:
2
+ simple_form:
3
+ "yes": 'Yes'
4
+ "no": 'No'
5
+ required:
6
+ text: 'required'
7
+ mark: '*'
8
+ # You can uncomment the line below if you need to overwrite the whole required html.
9
+ # When using html, text and mark won't be used.
10
+ # html: '<abbr title="required">*</abbr>'
11
+ error_notification:
12
+ default_message: "Please review the problems below:"
13
+ # Examples
14
+ # labels:
15
+ # defaults:
16
+ # password: 'Password'
17
+ # user:
18
+ # new:
19
+ # email: 'E-mail to sign in.'
20
+ # edit:
21
+ # email: 'E-mail.'
22
+ # hints:
23
+ # defaults:
24
+ # username: 'User name to sign in.'
25
+ # password: 'No special characters, please.'
26
+ # include_blanks:
27
+ # defaults:
28
+ # age: 'Rather not say'
29
+ # prompts:
30
+ # defaults:
31
+ # age: 'Select your age'
data/config/routes.rb ADDED
@@ -0,0 +1,162 @@
1
+ GeoblacklightAdmin::Engine.routes.draw do
2
+ # GBL‡ADMIN
3
+ resources :bulk_actions do
4
+ patch :run, on: :member
5
+ patch :revert, on: :member
6
+ end
7
+
8
+ # @TODO - Users
9
+ # devise_for :users, controllers: {invitations: "devise/invitations"}, skip: [:registrations]
10
+ # as :user do
11
+ # get "/sign_in" => "devise/sessions#new" # custom path to login/sign_in
12
+ # get "/sign_up" => "devise/registrations#new", :as => "new_user_registration" # custom path to sign_up/registration
13
+ # get "users/edit" => "devise/registrations#edit", :as => "edit_user_registration"
14
+ # put "users" => "devise/registrations#update", :as => "user_registration"
15
+ # end
16
+
17
+ namespace :admin do
18
+ # Root
19
+ root to: "documents#index"
20
+
21
+ # Bulk Actions
22
+ resources :bulk_actions do
23
+ patch :run, on: :member
24
+ patch :revert, on: :member
25
+ end
26
+
27
+ # Imports
28
+ resources :imports do
29
+ resources :mappings
30
+ resources :import_documents, only: [:show]
31
+ patch :run, on: :member
32
+ end
33
+
34
+ # Elements
35
+ resources :elements do
36
+ post :sort, on: :collection
37
+ end
38
+
39
+ # Form Elements
40
+ resources :form_elements do
41
+ post :sort, on: :collection
42
+ end
43
+ resources :form_header, path: :form_elements, controller: :form_elements
44
+ resources :form_group, path: :form_elements, controller: :form_elements
45
+ resources :form_control, path: :form_elements, controller: :form_elements
46
+ resources :form_feature, path: :form_elements, controller: :form_elements
47
+
48
+ # Notifications
49
+ resources :notifications do
50
+ put "batch", on: :collection
51
+ end
52
+
53
+ # Users
54
+ get "users/index"
55
+
56
+ # Bookmarks
57
+ resources :bookmarks
58
+ delete "/bookmarks", to: "bookmarks#destroy", as: :bookmarks_destroy_by_fkeys
59
+
60
+ # AdvancedSearch controller
61
+ get '/advanced_search' => 'advanced_search#index', constraints: lambda { |req| req.format == :json }
62
+ get '/advanced_search/facets' => 'advanced_search#facets', constraints: lambda { |req| req.format == :json }
63
+ get '/advanced_search/facet/:id' => 'advanced_search#facet', constraints: lambda { |req| req.format == :json }, as: 'advanced_search_facet'
64
+
65
+ # Ids controller
66
+ get '/api/ids' => 'ids#index', constraints: lambda { |req| req.format == :json }
67
+ get '/api' => 'api#index', constraints: lambda { |req| req.format == :json }
68
+ get '/api/fetch' => 'api#fetch', constraints: lambda { |req| req.format == :json }
69
+ get '/api/facet/:id' => 'api#facet', constraints: lambda { |req| req.format == :json }
70
+
71
+ resources :documents do
72
+ get "versions"
73
+
74
+ resources :document_accesses, path: "access" do
75
+ collection do
76
+ get "import"
77
+ post "import"
78
+
79
+ get "destroy_all"
80
+ post "destroy_all"
81
+ end
82
+ end
83
+
84
+ resources :document_downloads, path: "downloads" do
85
+ collection do
86
+ get "import"
87
+ post "import"
88
+
89
+ get "destroy_all"
90
+ post "destroy_all"
91
+ end
92
+ end
93
+
94
+ resources :document_assets, path: "assets" do
95
+ collection do
96
+ get "display_attach_form"
97
+ post "attach_files"
98
+
99
+ get "destroy_all"
100
+ post "destroy_all"
101
+ end
102
+ end
103
+
104
+ collection do
105
+ get "fetch"
106
+ end
107
+ end
108
+
109
+ resources :document_accesses, path: "access" do
110
+ collection do
111
+ get "import"
112
+ post "import"
113
+
114
+ get "destroy_all"
115
+ post "destroy_all"
116
+ end
117
+ end
118
+
119
+ resources :document_downloads, path: "downloads" do
120
+ collection do
121
+ get "import"
122
+ post "import"
123
+
124
+ get "destroy_all"
125
+ post "destroy_all"
126
+ end
127
+ end
128
+
129
+ resources :document_assets, path: "assets" do
130
+ collection do
131
+ get "display_attach_form"
132
+ post "attach_files"
133
+
134
+ get "destroy_all"
135
+ post "destroy_all"
136
+ end
137
+ end
138
+
139
+ get "/documents/:id/ingest", to: "document_assets#display_attach_form", as: "asset_ingest"
140
+ post "/documents/:id/ingest", to: "document_assets#attach_files"
141
+ #mount Kithe::AssetUploader.upload_endpoint(:cache) => "/direct_upload", :as => :direct_app_upload
142
+
143
+ resources :collections, except: [:show]
144
+
145
+ # Note "assets" is Rails reserved word for routing, oops. So we use
146
+ # asset_files.
147
+ resources :assets, path: "asset_files", except: [:new, :create] do
148
+ member do
149
+ put "convert_to_child_work"
150
+ end
151
+ end
152
+
153
+ # @TODO
154
+ # mount Qa::Engine => "/authorities"
155
+ mount ActionCable.server => "/cable"
156
+
157
+ # @TODO
158
+ # authenticate :user, ->(user) { user } do
159
+ # mount Blazer::Engine, at: "blazer"
160
+ # end
161
+ end
162
+ end