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,67 @@
1
+ $LOAD_PATH.push File.expand_path("../lib", __FILE__)
2
+
3
+ # Maintain your gem's version:
4
+ require "geoblacklight_admin/version"
5
+
6
+ # Describe your gem and declare its dependencies:
7
+ Gem::Specification.new do |s|
8
+ s.name = "geoblacklight_admin"
9
+ s.version = GeoblacklightAdmin::VERSION
10
+ s.authors = ["Eric Larson"]
11
+ s.email = ["ewlarson@gmail.com"]
12
+ s.homepage = "https://github.com/geobtaa/geoblacklight_admin"
13
+ s.summary = "Administrative UI for GeoBlacklight. Built on Kithe."
14
+ s.license = "MIT"
15
+
16
+ s.files = `git ls-files -z`.split(%(\x0))
17
+ s.executables = s.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ s.require_paths = ["lib"]
19
+
20
+ s.add_dependency "active_storage_validations", "~> 1.0"
21
+ s.add_dependency "amazing_print"
22
+ s.add_dependency "bootstrap", "~> 4.0"
23
+ s.add_dependency "cocoon", "~> 1.2"
24
+ s.add_dependency "config", "~> 4.0"
25
+ s.add_dependency "chosen-rails", "1.0"
26
+ s.add_dependency "devise", "~> 4.7"
27
+ s.add_dependency "devise-bootstrap-views", "~> 1.0"
28
+ s.add_dependency "devise_invitable", "~> 2.0"
29
+ s.add_dependency "blacklight", "~> 7.33"
30
+ s.add_dependency "blacklight_advanced_search"
31
+ s.add_dependency "geoblacklight", "~> 4.0"
32
+ s.add_dependency "haml", "~> 5.2.0"
33
+ s.add_dependency "httparty", "~> 0.21"
34
+ s.add_dependency "inline_svg", "~> 1.9"
35
+ s.add_dependency "jquery-rails", "~> 4.4"
36
+ s.add_dependency "kithe", "~> 2.0"
37
+ s.add_dependency "noticed", "~> 1.6"
38
+ s.add_dependency "pagy", "~> 3.8"
39
+ s.add_dependency "paper_trail", "~> 14.0"
40
+ s.add_dependency "pg", "~> 1.4"
41
+ s.add_dependency "qa", "~> 5.0"
42
+ s.add_dependency "rails", ">= 6.1", "< 7.1"
43
+ s.add_dependency "ruby-progressbar"
44
+ s.add_dependency "simple_form", "~> 5.0"
45
+ s.add_dependency "sprockets", "< 4"
46
+ s.add_dependency "statesman", "~> 7.1.0"
47
+
48
+ s.add_development_dependency "byebug", "~> 11.1"
49
+ s.add_development_dependency "capybara", "~> 3.0"
50
+ s.add_development_dependency "capybara-screenshot", "~> 1.0"
51
+ s.add_development_dependency "database_cleaner", "~> 1.3"
52
+ s.add_development_dependency "database_cleaner-active_record", "~> 2.1"
53
+ s.add_development_dependency "engine_cart", "~> 2.4"
54
+ s.add_development_dependency "m", "~> 1.5"
55
+ s.add_development_dependency "minitest", "~> 5.18"
56
+ s.add_development_dependency "minitest-ci", "~> 3.4"
57
+ s.add_development_dependency "minitest-rails", "~> 6.1"
58
+ s.add_development_dependency "minitest-reporters", "~> 1.6"
59
+ s.add_development_dependency "rspec-rails", "~> 3.0"
60
+ s.add_development_dependency "selenium-webdriver"
61
+ s.add_development_dependency "shoulda-context", "~> 2.0"
62
+ s.add_development_dependency "simplecov", "~> 0.22"
63
+ s.add_development_dependency "solr_wrapper", "~> 4.0"
64
+ s.add_development_dependency "sprockets", "< 4"
65
+ s.add_development_dependency "standard", "~> 1.24"
66
+ s.add_development_dependency "webdrivers"
67
+ end
@@ -0,0 +1,336 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "rails/generators"
4
+
5
+ module GeoblacklightAdmin
6
+ class ConfigGenerator < Rails::Generators::Base
7
+ source_root File.expand_path("templates", __dir__)
8
+
9
+ desc <<-DESCRIPTION
10
+ This generator makes the following changes to your application:
11
+ 1. Copies GBL Admin initializer file to host config
12
+ 2. Copies Kithe initializer file to host config
13
+ 3. Copies Pagy initializer file to host config
14
+ 4. Copies Statesman initializer file to host config
15
+ 5. Copies PG database.yml connection to host config
16
+ 6. Copies .env.development to host
17
+ 7. Copies solr/* to host
18
+ 8. Sets Routes
19
+ 9. Sets Gems
20
+ 10.Sets MimeTypes
21
+ 11.Sets DB Seeds
22
+ 12.Sets Pagy Backend
23
+
24
+ DESCRIPTION
25
+
26
+ def create_gbl_admin_initializer
27
+ copy_file "config/initializers/geoblacklight_admin.rb", "config/initializers/geoblacklight_admin.rb"
28
+ end
29
+
30
+ def create_kithe_initializer
31
+ copy_file "config/initializers/kithe.rb", "config/initializers/kithe.rb"
32
+ end
33
+
34
+ def create_pagy_initializer
35
+ copy_file "config/initializers/pagy.rb", "config/initializers/pagy.rb"
36
+ end
37
+
38
+ def create_statesman_initializer
39
+ copy_file "config/initializers/statesman.rb", "config/initializers/statesman.rb"
40
+ end
41
+
42
+ def create_database_yml
43
+ copy_file "config/database.yml", "config/database.yml", force: true
44
+ end
45
+
46
+ def create_dotenv
47
+ copy_file ".env.development.example", ".env.development"
48
+ end
49
+
50
+ def copy_json_schema
51
+ copy_file "config/geomg_aardvark_schema.json", "config/geomg_aardvark_schema.json"
52
+ end
53
+
54
+ def copy_solr
55
+ directory 'solr', 'solr', force: true
56
+ end
57
+
58
+ def create_solr_yml
59
+ copy_file ".solr_wrapper.yml", ".solr_wrapper.yml", force: true
60
+ end
61
+
62
+ def set_routes
63
+ gbl_admin_routes = <<-"ROUTES"
64
+ ####################
65
+ # GBL‡ADMIN
66
+
67
+ # Bulk Actions
68
+ resources :bulk_actions do
69
+ patch :run, on: :member
70
+ patch :revert, on: :member
71
+ end
72
+
73
+ # Users
74
+ devise_for :users, controllers: {invitations: "devise/invitations"}, skip: [:registrations]
75
+ as :user do
76
+ get "/sign_in" => "devise/sessions#new" # custom path to login/sign_in
77
+ get "/sign_up" => "devise/registrations#new", :as => "new_user_registration" # custom path to sign_up/registration
78
+ get "users/edit" => "devise/registrations#edit", :as => "edit_user_registration"
79
+ put "users" => "devise/registrations#update", :as => "user_registration"
80
+ end
81
+
82
+ namespace :admin do
83
+ # Root
84
+ root to: "documents#index"
85
+
86
+ # Bulk Actions
87
+ resources :bulk_actions do
88
+ patch :run, on: :member
89
+ patch :revert, on: :member
90
+ end
91
+
92
+ # Imports
93
+ resources :imports do
94
+ resources :mappings
95
+ resources :import_documents, only: [:show]
96
+ patch :run, on: :member
97
+ end
98
+
99
+ # Elements
100
+ resources :elements do
101
+ post :sort, on: :collection
102
+ end
103
+
104
+ # Form Elements
105
+ resources :form_elements do
106
+ post :sort, on: :collection
107
+ end
108
+ resources :form_header, path: :form_elements, controller: :form_elements
109
+ resources :form_group, path: :form_elements, controller: :form_elements
110
+ resources :form_control, path: :form_elements, controller: :form_elements
111
+ resources :form_feature, path: :form_elements, controller: :form_elements
112
+
113
+ # Notifications
114
+ resources :notifications do
115
+ put "batch", on: :collection
116
+ end
117
+
118
+ # Users
119
+ get "users/index"
120
+
121
+ # Bookmarks
122
+ resources :bookmarks
123
+ delete "/bookmarks", to: "bookmarks#destroy", as: :bookmarks_destroy_by_fkeys
124
+
125
+ # AdvancedSearch controller
126
+ get '/advanced_search' => 'advanced_search#index', constraints: lambda { |req| req.format == :json }
127
+ get '/advanced_search/facets' => 'advanced_search#facets', constraints: lambda { |req| req.format == :json }
128
+ get '/advanced_search/facet/:id' => 'advanced_search#facet', constraints: lambda { |req| req.format == :json }, as: 'advanced_search_facet'
129
+
130
+ # Ids controller
131
+ get '/api/ids' => 'ids#index', constraints: lambda { |req| req.format == :json }
132
+ get '/api' => 'api#index', constraints: lambda { |req| req.format == :json }
133
+ get '/api/fetch' => 'api#fetch', constraints: lambda { |req| req.format == :json }
134
+ get '/api/facet/:id' => 'api#facet', constraints: lambda { |req| req.format == :json }
135
+
136
+ # Documents
137
+ resources :documents do
138
+ get "versions"
139
+
140
+ # DocumentAccesses
141
+ resources :document_accesses, path: "access" do
142
+ collection do
143
+ get "import"
144
+ post "import"
145
+
146
+ get "destroy_all"
147
+ post "destroy_all"
148
+ end
149
+ end
150
+
151
+ # DocumentDownloads
152
+ resources :document_downloads, path: "downloads" do
153
+ collection do
154
+ get "import"
155
+ post "import"
156
+
157
+ get "destroy_all"
158
+ post "destroy_all"
159
+ end
160
+ end
161
+
162
+ # Document Assets
163
+ resources :document_assets, path: "assets" do
164
+ collection do
165
+ get "display_attach_form"
166
+ post "attach_files"
167
+
168
+ get "destroy_all"
169
+ post "destroy_all"
170
+ end
171
+ end
172
+
173
+ collection do
174
+ get "fetch"
175
+ end
176
+ end
177
+
178
+ # Document Accesses
179
+ resources :document_accesses, path: "access" do
180
+ collection do
181
+ get "import"
182
+ post "import"
183
+
184
+ get "destroy_all"
185
+ post "destroy_all"
186
+ end
187
+ end
188
+
189
+ # Document Downloads
190
+ resources :document_downloads, path: "downloads" do
191
+ collection do
192
+ get "import"
193
+ post "import"
194
+
195
+ get "destroy_all"
196
+ post "destroy_all"
197
+ end
198
+ end
199
+
200
+ # Document Assets
201
+ resources :document_assets, path: "assets" do
202
+ collection do
203
+ get "display_attach_form"
204
+ post "attach_files"
205
+
206
+ get "destroy_all"
207
+ post "destroy_all"
208
+ end
209
+ end
210
+
211
+ get "/documents/:id/ingest", to: "document_assets#display_attach_form", as: "asset_ingest"
212
+ post "/documents/:id/ingest", to: "document_assets#attach_files"
213
+ #mount Kithe::AssetUploader.upload_endpoint(:cache) => "/direct_upload", :as => :direct_app_upload
214
+
215
+ resources :collections, except: [:show]
216
+
217
+ # Note "assets" is Rails reserved word for routing, oops. So we use
218
+ # asset_files.
219
+ resources :assets, path: "asset_files", except: [:new, :create] do
220
+ member do
221
+ put "convert_to_child_work"
222
+ end
223
+ end
224
+
225
+ # @TODO
226
+ # mount Qa::Engine => "/authorities"
227
+ mount ActionCable.server => "/cable"
228
+
229
+ # @TODO
230
+ # authenticate :user, ->(user) { user } do
231
+ # mount Blazer::Engine, at: "blazer"
232
+ # end
233
+ end
234
+ ROUTES
235
+
236
+ inject_into_file "config/routes.rb", gbl_admin_routes, before: /^end/
237
+ end
238
+
239
+ def set_gems
240
+ append_to_file "Gemfile" do
241
+ "
242
+ # GBL‡ADMIN // @TODO: Why is this necessary? Shouldn't the engine dependencies get installed on their own?
243
+ gem 'active_storage_validations', '~> 1.0'
244
+ gem 'amazing_print'
245
+ gem 'blacklight_advanced_search'
246
+ gem 'bootstrap', '~> 4.0'
247
+ gem 'cocoon', '~> 1.2'
248
+ # gem 'devise', '~> 4.7'
249
+ gem 'devise-bootstrap-views', '~> 1.0'
250
+ gem 'devise_invitable', '~> 2.0'
251
+ gem 'dotenv-rails'
252
+ gem 'haml', '~> 5.2'
253
+ gem 'httparty'
254
+ gem 'inline_svg'
255
+ # gem 'jquery-rails', '~> 4.4'
256
+ gem 'kithe', '~> 2.0'
257
+ gem 'noticed'
258
+ gem 'pagy'
259
+ gem 'paper_trail'
260
+ gem 'qa', '~> 5.0'
261
+ gem 'ruby-progressbar'
262
+ gem 'simple_form', '~> 5.0'
263
+ gem 'statesman', '~> 7.1.0'
264
+ "
265
+ end
266
+ end
267
+
268
+ def set_mime_types
269
+ append_to_file "config/initializers/mime_types.rb" do
270
+ '
271
+ # GBL‡ADMIN
272
+ # Order is important. ActiveStorage needs :json to be last
273
+ Mime::Type.register "application/json", :json_aardvark
274
+ Mime::Type.register "application/json", :json_btaa_aardvark
275
+ Mime::Type.register "application/json", :json_gbl_v1
276
+ Mime::Type.register "application/json", :json
277
+ Mime::Type.register "text/csv", :csv_document_downloads
278
+ Mime::Type.register "text/csv", :csv_document_access_links
279
+ '
280
+ end
281
+ end
282
+
283
+ def set_seeds
284
+ append_to_file "db/seeds.rb" do
285
+ 'GeoblacklightAdmin::Engine.load_seed'
286
+ end
287
+ end
288
+
289
+ def add_pagy
290
+ inject_into_class "app/controllers/application_controller.rb", "ApplicationController" do
291
+ " include Pagy::Backend\n" \
292
+ end
293
+ end
294
+
295
+ def add_activestorage
296
+ append_to_file "app/assets/javascripts/application.js" do
297
+ "
298
+
299
+ // Required by GBL Admin
300
+ //= require activestorage"
301
+ end
302
+ end
303
+
304
+ def add_user_util_links
305
+ copy_file "_user_util_links.html.erb", "app/views/shared/_user_util_links.html.erb"
306
+ end
307
+
308
+ # @TODO
309
+ # I'm certain this is not the best way to inject our JS behaviors into the root app
310
+ # But for now, this will do...
311
+ # Long term I hope to avoid webpack here altogether.
312
+ def copy_app_javascript
313
+ directory 'javascript', 'app/javascript', force: true
314
+ end
315
+
316
+ def add_package_json
317
+ copy_file "package.json", "package.json", force: true
318
+ end
319
+
320
+ def add_assets_initialier
321
+ append_to_file "config/initializers/assets.rb" do
322
+ "
323
+ # GBL ADMIN
324
+ Rails.application.config.assets.paths << Rails.root.join('node_modules')
325
+ Rails.application.config.assets.precompile += %w( geoblacklight_admin.js )
326
+ Rails.application.config.assets.precompile += %w[application.js]"
327
+ end
328
+ end
329
+
330
+ def add_catalog_controller_default_params
331
+ inject_into_file "app/controllers/catalog_controller.rb", after: "'q.alt' => '*:*'" do
332
+ ",\n 'fq' => ['b1g_publication_state_s:published']"
333
+ end
334
+ end
335
+ end
336
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "rails/generators"
4
+
5
+ module GeoblacklightAdmin
6
+ class ExampleDocsGenerator < Rails::Generators::Base
7
+ source_root File.expand_path("../../../spec/fixtures", __dir__)
8
+
9
+ desc <<-DESCRIPTION
10
+ This generator makes the following changes to your application:
11
+ 1. Copies the dir of example solr doc files to host app/solr/geoblacklight/example_docs
12
+ DESCRIPTION
13
+
14
+ def create_services
15
+ directory "files", "solr/geoblacklight/example_docs"
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "rails/generators"
4
+
5
+ module GeoblacklightAdmin
6
+ class HelpersGenerator < Rails::Generators::Base
7
+ source_root File.expand_path("templates", __dir__)
8
+
9
+ desc <<-DESCRIPTION
10
+ This generator makes the following changes to your application:
11
+ 1. Creates an app/helpers/blacklight directory
12
+ DESCRIPTION
13
+
14
+ def create_views
15
+ # @TODO
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,60 @@
1
+ require "rails/generators"
2
+
3
+ module GeoblacklightAdmin
4
+ class Install < Rails::Generators::Base
5
+ source_root File.expand_path("templates", __dir__)
6
+
7
+ desc "Install GeoblacklightAdmin"
8
+
9
+ def add_settings_vars
10
+ end
11
+
12
+ def bundle_install
13
+ Bundler.with_unbundled_env do
14
+ run "bundle install"
15
+ end
16
+ end
17
+
18
+ def generate_gbl_admin_assets
19
+ inject_into_file "app/assets/stylesheets/application.scss", after: "@import 'geoblacklight';\n" do
20
+ "@import 'geoblacklight_admin/core';"
21
+ end
22
+ end
23
+
24
+ def generate_gbl_admin_example_docs
25
+ generate "geoblacklight_admin:example_docs"
26
+ end
27
+
28
+ def generate_gbl_admin_jobs
29
+ generate "geoblacklight_admin:jobs"
30
+ end
31
+
32
+ def generate_gbl_admin_models
33
+ generate "geoblacklight_admin:models"
34
+ end
35
+
36
+ def generate_gbl_admin_views
37
+ generate "geoblacklight_admin:views"
38
+ end
39
+
40
+ def generate_gbl_admin_helpers
41
+ generate "geoblacklight_admin:helpers"
42
+ end
43
+
44
+ def generate_gbl_admin_config
45
+ generate "geoblacklight_admin:config"
46
+ end
47
+
48
+ def kithe_install
49
+ run "bundle exec rails generate simple_form:install --bootstrap"
50
+ end
51
+
52
+ def install_active_storage
53
+ run "bin/rails active_storage:install"
54
+ end
55
+
56
+ def yarn_install
57
+ run "yarn install"
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "rails/generators"
4
+
5
+ module GeoblacklightAdmin class JobsGenerator < Rails::Generators::Base
6
+ source_root File.expand_path("templates", __dir__)
7
+
8
+ desc <<-DESCRIPTION
9
+ This generator makes the following changes to your application:
10
+ 1. Configures a default development environment queue adapter
11
+ DESCRIPTION
12
+
13
+ def config_development_jobs_queue_adapter
14
+ job_config = <<-"JOBS"
15
+ config.active_job.queue_adapter = :inline
16
+ JOBS
17
+
18
+ inject_into_file "config/environments/development.rb", job_config, before: /^end/
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "rails/generators"
4
+ require "rails/generators/migration"
5
+
6
+ module GeoblacklightAdmin
7
+ class ModelsGenerator < Rails::Generators::Base
8
+ include Rails::Generators::Migration
9
+
10
+ source_root File.expand_path("templates", __dir__)
11
+
12
+ desc <<-DESCRIPTION
13
+ This generator makes the following changes to your application:
14
+ 1. Preps engine migrations
15
+ DESCRIPTION
16
+
17
+ # Setup the database migrations
18
+ def copy_migrations
19
+ rake "geoblacklight_admin:install:migrations"
20
+ end
21
+
22
+ end
23
+ end
@@ -0,0 +1,28 @@
1
+ SOLR_VERSION=8.11.1
2
+
3
+ # Solr - Local development
4
+ SOLR_URL=http://127.0.0.1:8983/solr/blacklight-core
5
+
6
+ # Solr - Remote development
7
+ # SOLR_URL=https://remote_server/solr/core
8
+ # SOLR_BASIC_AUTH_USER=user
9
+ # SOLR_BASIC_AUTH_PASSWORD=password
10
+
11
+ # BL API
12
+ BLACKLIGHT_URL=http://localhost:3000
13
+ BLACKLIGHT_JSON_API=http://localhost:3000/admin/api.json
14
+ BLACKLIGHT_JSON_API_IDS=http://localhost:3000/admin/api/ids.json
15
+ BLACKLIGHT_JSON_API_FACETS=http://localhost:3000/admin/advanced_search/facets.json
16
+
17
+ # BL IDS
18
+ BLACKLIGHT_JSON_IDS=http://localhost:3000/admin/ids.json
19
+
20
+ GEOMG_DB_DATABASE=geoblacklight_development
21
+ GEOMG_DB_USER=
22
+ GEOMG_DB_PASSWORD=
23
+
24
+ GEOMG_DEVISE_SECRET_KEY=generated-by-rake-secret
25
+
26
+ # Blazer
27
+ BLAZER_UPLOADS_URL=postgresql://127.0.0.1:5432/geoblacklight_development
28
+ MAPBOX_ACCESS_TOKEN=your-key-here
@@ -0,0 +1,7 @@
1
+ validate: false
2
+ instance_dir: tmp/solr
3
+ download_dir: tmp/solr
4
+ collection:
5
+ dir: solr/conf/
6
+ name: blacklight-core
7
+ persist: true
@@ -0,0 +1,30 @@
1
+ <ul class="navbar-nav">
2
+ <%= render_nav_actions do |config, action|%>
3
+ <li class="nav-item"><%= action %></li>
4
+ <% end %>
5
+
6
+ <% if has_user_authentication_provider? %>
7
+ <% if current_user %>
8
+
9
+ <% if current_user.admin? %>
10
+ <li class="nav-item">
11
+ <%= link_to "GBL Admin", admin_documents_path, {class: 'nav-link'} %>
12
+ </li>
13
+ <% end %>
14
+
15
+ <li class="nav-item">
16
+ <%= link_to "Sign out", destroy_user_session_path, { :method => :delete, class: 'nav-link'} %>
17
+ </li>
18
+
19
+ <% unless current_user.to_s.blank? -%>
20
+ <li class="nav-item">
21
+ <%= link_to(current_user.email, edit_user_registration_path, {class: 'nav-link'}) %>
22
+ </li>
23
+ <% end %>
24
+ <% else %>
25
+ <li class="nav-item">
26
+ <%= link_to "Sign in", new_user_session_path, class: 'nav-link' %>
27
+ </li>
28
+ <% end %>
29
+ <% end %>
30
+ </ul>
@@ -0,0 +1,18 @@
1
+ default: &default
2
+ adapter: postgresql
3
+ encoding: unicode
4
+ host: <%= ENV['GBL_ADMIN_DB_HOST'] || '127.0.0.1' %>
5
+ port: <%= ENV['GBL_ADMIN_DB_PORT'] || '5432' %>
6
+ database: <%= ENV['GBL_ADMIN_DB_DATABASE'] || 'geoblacklight_development' %>
7
+ username: <%= ENV['GBL_ADMIN_DB_USER'] %>
8
+ password: <%= ENV['GBL_ADMIN_DB_PASSWORD'] %>
9
+ pool: 5
10
+
11
+ test:
12
+ <<: *default
13
+
14
+ development:
15
+ <<: *default
16
+
17
+ production:
18
+ <<: *default