geoblacklight_admin 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
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,399 @@
1
+ class AddGeoblacklightAdmin < ActiveRecord::Migration[6.1]
2
+ def change
3
+ # These are extensions that must be enabled in order to support this database
4
+ enable_extension "pgcrypto"
5
+ enable_extension "plpgsql"
6
+
7
+ create_function :kithe_models_friendlier_id_gen, sql_definition: <<-'SQL'
8
+ CREATE OR REPLACE FUNCTION public.kithe_models_friendlier_id_gen(min_value bigint, max_value bigint)
9
+ RETURNS text
10
+ LANGUAGE plpgsql
11
+ AS $function$
12
+ DECLARE
13
+ new_id_int bigint;
14
+ new_id_str character varying := '';
15
+ done bool;
16
+ tries integer;
17
+ alphabet char[] := ARRAY['0','1','2','3','4','5','6','7','8','9',
18
+ 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n',
19
+ 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'];
20
+ alphabet_length integer := array_length(alphabet, 1);
21
+
22
+ BEGIN
23
+ done := false;
24
+ tries := 0;
25
+ WHILE (NOT done) LOOP
26
+ tries := tries + 1;
27
+ IF (tries > 3) THEN
28
+ RAISE 'Could not find non-conflicting friendlier_id in 3 tries';
29
+ END IF;
30
+
31
+ new_id_int := trunc(random() * (max_value - min_value) + min_value);
32
+
33
+ -- convert bigint to a Base-36 alphanumeric string
34
+ -- see https://web.archive.org/web/20130420084605/http://www.jamiebegin.com/base36-conversion-in-postgresql/
35
+ -- https://gist.github.com/btbytes/7159902
36
+ WHILE new_id_int != 0 LOOP
37
+ new_id_str := alphabet[(new_id_int % alphabet_length)+1] || new_id_str;
38
+ new_id_int := new_id_int / alphabet_length;
39
+ END LOOP;
40
+
41
+ done := NOT exists(SELECT 1 FROM kithe_models WHERE friendlier_id=new_id_str);
42
+ END LOOP;
43
+ RETURN new_id_str;
44
+ END;
45
+ $function$
46
+ SQL
47
+
48
+ create_table "blazer_audits", force: :cascade do |t|
49
+ t.bigint "user_id"
50
+ t.bigint "query_id"
51
+ t.text "statement"
52
+ t.string "data_source"
53
+ t.datetime "created_at"
54
+ t.index ["query_id"], name: "index_blazer_audits_on_query_id"
55
+ t.index ["user_id"], name: "index_blazer_audits_on_user_id"
56
+ end
57
+
58
+ create_table "blazer_checks", force: :cascade do |t|
59
+ t.bigint "creator_id"
60
+ t.bigint "query_id"
61
+ t.string "state"
62
+ t.string "schedule"
63
+ t.text "emails"
64
+ t.text "slack_channels"
65
+ t.string "check_type"
66
+ t.text "message"
67
+ t.datetime "last_run_at"
68
+ t.datetime "created_at", precision: 6, null: false
69
+ t.datetime "updated_at", precision: 6, null: false
70
+ t.index ["creator_id"], name: "index_blazer_checks_on_creator_id"
71
+ t.index ["query_id"], name: "index_blazer_checks_on_query_id"
72
+ end
73
+
74
+ create_table "blazer_dashboard_queries", force: :cascade do |t|
75
+ t.bigint "dashboard_id"
76
+ t.bigint "query_id"
77
+ t.integer "position"
78
+ t.datetime "created_at", precision: 6, null: false
79
+ t.datetime "updated_at", precision: 6, null: false
80
+ t.index ["dashboard_id"], name: "index_blazer_dashboard_queries_on_dashboard_id"
81
+ t.index ["query_id"], name: "index_blazer_dashboard_queries_on_query_id"
82
+ end
83
+
84
+ create_table "blazer_dashboards", force: :cascade do |t|
85
+ t.bigint "creator_id"
86
+ t.string "name"
87
+ t.datetime "created_at", precision: 6, null: false
88
+ t.datetime "updated_at", precision: 6, null: false
89
+ t.index ["creator_id"], name: "index_blazer_dashboards_on_creator_id"
90
+ end
91
+
92
+ create_table "blazer_queries", force: :cascade do |t|
93
+ t.bigint "creator_id"
94
+ t.string "name"
95
+ t.text "description"
96
+ t.text "statement"
97
+ t.string "data_source"
98
+ t.string "status"
99
+ t.datetime "created_at", precision: 6, null: false
100
+ t.datetime "updated_at", precision: 6, null: false
101
+ t.index ["creator_id"], name: "index_blazer_queries_on_creator_id"
102
+ end
103
+
104
+ create_table "blazer_uploads", force: :cascade do |t|
105
+ t.bigint "creator_id"
106
+ t.string "table"
107
+ t.text "description"
108
+ t.datetime "created_at", precision: 6, null: false
109
+ t.datetime "updated_at", precision: 6, null: false
110
+ t.index ["creator_id"], name: "index_blazer_uploads_on_creator_id"
111
+ end
112
+
113
+ create_table "bookmarks", force: :cascade do |t|
114
+ t.integer "user_id", null: false
115
+ t.string "user_type"
116
+ t.string "document_id"
117
+ t.string "document_type"
118
+ t.binary "title"
119
+ t.datetime "created_at", precision: 6, null: false
120
+ t.datetime "updated_at", precision: 6, null: false
121
+ t.index ["document_id"], name: "index_bookmarks_on_document_id"
122
+ t.index ["user_id"], name: "index_bookmarks_on_user_id"
123
+ end
124
+
125
+ create_table "bulk_action_document_transitions", force: :cascade do |t|
126
+ t.string "to_state", null: false
127
+ t.text "metadata", default: "{}"
128
+ t.integer "sort_key", null: false
129
+ t.integer "bulk_action_document_id", null: false
130
+ t.boolean "most_recent", null: false
131
+ t.datetime "created_at", precision: 6, null: false
132
+ t.datetime "updated_at", precision: 6, null: false
133
+ t.index ["bulk_action_document_id", "most_recent"], name: "index_bulk_action_document_transitions_parent_most_recent", unique: true, where: "most_recent"
134
+ t.index ["bulk_action_document_id", "sort_key"], name: "index_bulk_action_document_transitions_parent_sort", unique: true
135
+ end
136
+
137
+ create_table "bulk_action_documents", force: :cascade do |t|
138
+ t.string "friendlier_id", null: false
139
+ t.integer "version", null: false
140
+ t.bigint "bulk_action_id", null: false
141
+ t.datetime "created_at", precision: 6, null: false
142
+ t.datetime "updated_at", precision: 6, null: false
143
+ t.uuid "document_id"
144
+ t.index ["bulk_action_id"], name: "index_bulk_action_documents_on_bulk_action_id"
145
+ end
146
+
147
+ create_table "bulk_action_transitions", force: :cascade do |t|
148
+ t.string "to_state", null: false
149
+ t.text "metadata", default: "{}"
150
+ t.integer "sort_key", null: false
151
+ t.integer "bulk_action_id", null: false
152
+ t.boolean "most_recent", null: false
153
+ t.datetime "created_at", precision: 6, null: false
154
+ t.datetime "updated_at", precision: 6, null: false
155
+ t.index ["bulk_action_id", "most_recent"], name: "index_bulk_action_transitions_parent_most_recent", unique: true, where: "most_recent"
156
+ t.index ["bulk_action_id", "sort_key"], name: "index_bulk_action_transitions_parent_sort", unique: true
157
+ end
158
+
159
+ create_table "bulk_actions", force: :cascade do |t|
160
+ t.string "name"
161
+ t.string "scope", null: false
162
+ t.string "field_name", null: false
163
+ t.string "field_value", null: false
164
+ t.text "notes"
165
+ t.datetime "created_at", precision: 6, null: false
166
+ t.datetime "updated_at", precision: 6, null: false
167
+ end
168
+
169
+ create_table "document_accesses", force: :cascade do |t|
170
+ t.string "friendlier_id", null: false
171
+ t.string "institution_code", null: false
172
+ t.text "access_url", null: false
173
+ t.datetime "created_at", precision: 6, null: false
174
+ t.datetime "updated_at", precision: 6, null: false
175
+ end
176
+
177
+ create_table "document_downloads", force: :cascade do |t|
178
+ t.string "friendlier_id"
179
+ t.string "label"
180
+ t.string "value"
181
+ t.integer "position"
182
+ t.datetime "created_at", precision: 6, null: false
183
+ t.datetime "updated_at", precision: 6, null: false
184
+ end
185
+
186
+ create_table "document_transitions", force: :cascade do |t|
187
+ t.string "to_state", null: false
188
+ t.text "metadata", default: "{}"
189
+ t.integer "sort_key", null: false
190
+ t.uuid "kithe_model_id", null: false
191
+ t.boolean "most_recent", null: false
192
+ t.datetime "created_at", precision: 6, null: false
193
+ t.datetime "updated_at", precision: 6, null: false
194
+ t.index ["kithe_model_id", "most_recent"], name: "index_document_transitions_parent_most_recent", unique: true, where: "most_recent"
195
+ t.index ["kithe_model_id", "sort_key"], name: "index_document_transitions_parent_sort", unique: true
196
+ end
197
+
198
+ create_table "elements", force: :cascade do |t|
199
+ t.string "label", null: false
200
+ t.string "solr_field", null: false
201
+ t.string "field_definition"
202
+ t.string "field_type", null: false
203
+ t.boolean "required", default: false, null: false
204
+ t.boolean "repeatable", default: false, null: false
205
+ t.boolean "formable", default: true, null: false
206
+ t.string "placeholder_text"
207
+ t.string "data_entry_hint"
208
+ t.string "test_fixture_example"
209
+ t.string "controlled_vocabulary"
210
+ t.string "js_behaviors"
211
+ t.text "html_attributes"
212
+ t.boolean "display_only_on_persisted", default: false, null: false
213
+ t.boolean "importable", default: true, null: false
214
+ t.boolean "import_deliminated", default: false, null: false
215
+ t.string "import_transformation_method"
216
+ t.boolean "exportable", default: true, null: false
217
+ t.string "export_transformation_method"
218
+ t.boolean "indexable", default: true, null: false
219
+ t.string "index_transformation_method"
220
+ t.string "validation_method"
221
+ t.datetime "created_at", precision: 6, null: false
222
+ t.datetime "updated_at", precision: 6, null: false
223
+ t.integer "position"
224
+ end
225
+
226
+ create_table "form_elements", force: :cascade do |t|
227
+ t.string "type", null: false
228
+ t.string "label"
229
+ t.string "element_solr_field"
230
+ t.integer "position"
231
+ t.datetime "created_at", precision: 6, null: false
232
+ t.datetime "updated_at", precision: 6, null: false
233
+ end
234
+
235
+ create_table "import_document_transitions", force: :cascade do |t|
236
+ t.string "to_state", null: false
237
+ t.text "metadata", default: "{}"
238
+ t.integer "sort_key", null: false
239
+ t.integer "import_document_id", null: false
240
+ t.boolean "most_recent", null: false
241
+ t.datetime "created_at", precision: 6, null: false
242
+ t.datetime "updated_at", precision: 6, null: false
243
+ t.index ["import_document_id", "most_recent"], name: "index_import_document_transitions_parent_most_recent", unique: true, where: "most_recent"
244
+ t.index ["import_document_id", "sort_key"], name: "index_import_document_transitions_parent_sort", unique: true
245
+ end
246
+
247
+ create_table "import_documents", force: :cascade do |t|
248
+ t.string "friendlier_id", null: false
249
+ t.string "title", null: false
250
+ t.json "json_attributes", default: "{}"
251
+ t.bigint "import_id", null: false
252
+ t.datetime "created_at", precision: 6, null: false
253
+ t.datetime "updated_at", precision: 6, null: false
254
+ t.index ["import_id"], name: "index_import_documents_on_import_id"
255
+ end
256
+
257
+ create_table "import_transitions", force: :cascade do |t|
258
+ t.string "to_state", null: false
259
+ t.text "metadata", default: "{}"
260
+ t.integer "sort_key", null: false
261
+ t.integer "import_id", null: false
262
+ t.boolean "most_recent", null: false
263
+ t.datetime "created_at", precision: 6, null: false
264
+ t.datetime "updated_at", precision: 6, null: false
265
+ t.index ["import_id", "most_recent"], name: "index_import_transitions_parent_most_recent", unique: true, where: "most_recent"
266
+ t.index ["import_id", "sort_key"], name: "index_import_transitions_parent_sort", unique: true
267
+ end
268
+
269
+ create_table "imports", force: :cascade do |t|
270
+ t.string "name", null: false
271
+ t.string "source"
272
+ t.text "description"
273
+ t.string "filename"
274
+ t.integer "row_count"
275
+ t.text "headers", default: [], array: true
276
+ t.string "encoding"
277
+ t.string "content_type"
278
+ t.string "extension"
279
+ t.boolean "validity", default: false, null: false
280
+ t.text "validation_result"
281
+ t.datetime "created_at", precision: 6, null: false
282
+ t.datetime "updated_at", precision: 6, null: false
283
+ t.string "type"
284
+ end
285
+
286
+ create_table "kithe_derivatives", force: :cascade do |t|
287
+ t.string "key", null: false
288
+ t.jsonb "file_data"
289
+ t.uuid "asset_id", null: false
290
+ t.datetime "created_at", null: false
291
+ t.datetime "updated_at", null: false
292
+ t.index ["asset_id", "key"], name: "index_kithe_derivatives_on_asset_id_and_key", unique: true
293
+ t.index ["asset_id"], name: "index_kithe_derivatives_on_asset_id"
294
+ end
295
+
296
+ create_table "kithe_model_contains", id: false, force: :cascade do |t|
297
+ t.uuid "containee_id"
298
+ t.uuid "container_id"
299
+ t.index ["containee_id"], name: "index_kithe_model_contains_on_containee_id"
300
+ t.index ["container_id"], name: "index_kithe_model_contains_on_container_id"
301
+ end
302
+
303
+ create_table "kithe_models", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t|
304
+ t.string "title", null: false
305
+ t.string "type", null: false
306
+ t.integer "position"
307
+ t.jsonb "json_attributes"
308
+ t.datetime "created_at", null: false
309
+ t.datetime "updated_at", null: false
310
+ t.uuid "parent_id"
311
+ t.string "friendlier_id", default: -> { "kithe_models_friendlier_id_gen('2821109907456'::bigint, '101559956668415'::bigint)" }, null: false
312
+ t.jsonb "file_data"
313
+ t.uuid "representative_id"
314
+ t.uuid "leaf_representative_id"
315
+ t.integer "kithe_model_type", null: false
316
+ t.bigint "import_id"
317
+ t.string "publication_state", default: "draft"
318
+ t.index ["friendlier_id"], name: "index_kithe_models_on_friendlier_id", unique: true
319
+ t.index ["import_id"], name: "index_kithe_models_on_import_id"
320
+ t.index ["leaf_representative_id"], name: "index_kithe_models_on_leaf_representative_id"
321
+ t.index ["parent_id"], name: "index_kithe_models_on_parent_id"
322
+ t.index ["representative_id"], name: "index_kithe_models_on_representative_id"
323
+ end
324
+
325
+ create_table "mappings", force: :cascade do |t|
326
+ t.string "source_header"
327
+ t.string "destination_field"
328
+ t.boolean "delimited"
329
+ t.string "transformation_method"
330
+ t.bigint "import_id", null: false
331
+ t.datetime "created_at", precision: 6, null: false
332
+ t.datetime "updated_at", precision: 6, null: false
333
+ t.index ["import_id"], name: "index_mappings_on_import_id"
334
+ end
335
+
336
+ create_table "notifications", force: :cascade do |t|
337
+ t.string "recipient_type", null: false
338
+ t.bigint "recipient_id", null: false
339
+ t.string "type", null: false
340
+ t.jsonb "params"
341
+ t.datetime "read_at"
342
+ t.datetime "created_at", precision: 6, null: false
343
+ t.datetime "updated_at", precision: 6, null: false
344
+ t.index ["read_at"], name: "index_notifications_on_read_at"
345
+ t.index ["recipient_type", "recipient_id"], name: "index_notifications_on_recipient"
346
+ end
347
+
348
+ create_table "users", force: :cascade do |t|
349
+ t.string "email", default: "", null: false
350
+ t.string "encrypted_password", default: "", null: false
351
+ t.string "reset_password_token"
352
+ t.datetime "reset_password_sent_at"
353
+ t.datetime "remember_created_at"
354
+ t.datetime "created_at", precision: 6, null: false
355
+ t.datetime "updated_at", precision: 6, null: false
356
+ t.string "invitation_token"
357
+ t.datetime "invitation_created_at"
358
+ t.datetime "invitation_sent_at"
359
+ t.datetime "invitation_accepted_at"
360
+ t.integer "invitation_limit"
361
+ t.string "invited_by_type"
362
+ t.bigint "invited_by_id"
363
+ t.integer "invitations_count", default: 0
364
+ t.boolean "admin", default: false, null: false
365
+ t.index ["email"], name: "index_users_on_email", unique: true
366
+ t.index ["invitation_token"], name: "index_users_on_invitation_token", unique: true
367
+ t.index ["invitations_count"], name: "index_users_on_invitations_count"
368
+ t.index ["invited_by_id"], name: "index_users_on_invited_by_id"
369
+ t.index ["invited_by_type", "invited_by_id"], name: "index_users_on_invited_by_type_and_invited_by_id"
370
+ t.index ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true
371
+ end
372
+
373
+ create_table "versions", force: :cascade do |t|
374
+ t.string "item_type", null: false
375
+ t.uuid "item_id", null: false
376
+ t.string "event", null: false
377
+ t.string "whodunnit"
378
+ t.text "object"
379
+ t.datetime "created_at"
380
+ t.text "object_changes"
381
+ t.index ["item_type", "item_id"], name: "index_versions_on_item_type_and_item_id"
382
+ end
383
+
384
+ add_foreign_key "bulk_action_document_transitions", "bulk_action_documents"
385
+ add_foreign_key "bulk_action_documents", "bulk_actions"
386
+ add_foreign_key "bulk_action_transitions", "bulk_actions"
387
+ add_foreign_key "import_document_transitions", "import_documents"
388
+ add_foreign_key "import_documents", "imports"
389
+ add_foreign_key "import_transitions", "imports"
390
+ add_foreign_key "kithe_derivatives", "kithe_models", column: "asset_id"
391
+ add_foreign_key "kithe_model_contains", "kithe_models", column: "containee_id"
392
+ add_foreign_key "kithe_model_contains", "kithe_models", column: "container_id"
393
+ add_foreign_key "kithe_models", "kithe_models", column: "leaf_representative_id"
394
+ add_foreign_key "kithe_models", "kithe_models", column: "parent_id"
395
+ add_foreign_key "kithe_models", "kithe_models", column: "representative_id"
396
+ add_foreign_key "mappings", "imports"
397
+
398
+ end
399
+ end
data/db/seeds.rb ADDED
@@ -0,0 +1,26 @@
1
+ require "csv"
2
+
3
+ # frozen_string_literal: true
4
+ # This file should contain all the record creation needed to seed the database with its default values.
5
+ # The data can then be loaded with the rails db:seed command (or created alongside the database with db:setup).
6
+ #
7
+ # Examples:
8
+ #
9
+ # movies = Movie.create([{ name: 'Star Wars' }, { name: 'Lord of the Rings' }])
10
+ # Character.create(name: 'Luke', movie: movies.first)
11
+
12
+ # Elements
13
+ CSV.foreach(File.expand_path("seeds_elements.csv", File.dirname(__FILE__)), headers: true) do |row|
14
+ hash = row.to_hash
15
+ # YES, I'm calling eval - It's hard to seed a serialized field via a CSV file
16
+ hash["html_attributes"] = eval(hash["html_attributes"]) if hash["html_attributes"].present?
17
+ Element.create!(hash)
18
+ end
19
+
20
+ # FormElements
21
+ CSV.foreach(File.expand_path("seeds_form_elements.csv", File.dirname(__FILE__)), headers: true) do |row|
22
+ FormElement.create!(row.to_hash)
23
+ end
24
+
25
+ # Users
26
+ User.create(email: "admin@geoblacklight.org", password: "123456", password_confirmation: "123456", admin: true)
@@ -0,0 +1,56 @@
1
+ label,solr_field,field_definition,field_type,required,repeatable,formable,placeholder_text,data_entry_hint,test_fixture_example,controlled_vocabulary,js_behaviors,html_attributes,display_only_on_persisted,importable,import_deliminated,import_transformation_method,exportable,export_transformation_method,indexable,index_transformation_method,validation_method,position
2
+ Title,dct_title_s,https://opengeometadata.org/docs/ogm-aardvark/title,string,TRUE,FALSE,TRUE,,"Theme: city, state, temporal coverage",title,,,,FALSE,TRUE,FALSE,,TRUE,,TRUE,title,presence,1
3
+ Alternative Title,dct_alternative_sm,https://opengeometadata.org/docs/ogm-aardvark/alternative-title,string,FALSE,TRUE,TRUE,,,alternative-title1|alternative-title2,,,,FALSE,TRUE,TRUE,,TRUE,,TRUE,,,2
4
+ Description,dct_description_sm,https://opengeometadata.org/docs/ogm-aardvark/description,text,FALSE,TRUE,TRUE,,,description1|description2,,,,FALSE,TRUE,TRUE,,TRUE,,TRUE,,,3
5
+ Language,dct_language_sm,https://opengeometadata.org/docs/ogm-aardvark/language,string,FALSE,TRUE,TRUE,,,language1|language2,languages,autocomplete,,FALSE,TRUE,TRUE,,TRUE,,TRUE,,,4
6
+ B1G Language,b1g_language_sm,https://geobtaa.github.io/metadata/b1g-custom-elements.html#language-string,string,FALSE,TRUE,TRUE,,,b1g_language1|b1g_language2,,,,FALSE,TRUE,TRUE,,TRUE,,TRUE,iso_language_mapping,,5
7
+ Creator,dct_creator_sm,https://opengeometadata.org/docs/ogm-aardvark/creator,string,FALSE,TRUE,TRUE,,,creator1|creator2,,,,FALSE,TRUE,TRUE,,TRUE,,TRUE,,,6
8
+ Creator ID,b1g_creatorID_sm,https://geobtaa.github.io/metadata/b1g-custom-elements/#creatorID,string,FALSE,TRUE,TRUE,,,creatorID1|creatorID2,,,,FALSE,TRUE,TRUE,,TRUE,,TRUE,,,7
9
+ Publisher,dct_publisher_sm,https://opengeometadata.org/docs/ogm-aardvark/publisher,string,FALSE,TRUE,TRUE,,,publisher1|publisher2,,,,FALSE,TRUE,TRUE,,TRUE,,TRUE,,,8
10
+ Provider,schema_provider_s,https://opengeometadata.org/docs/ogm-aardvark/provider,string,FALSE,FALSE,TRUE,,,Provider,,,,FALSE,TRUE,FALSE,,TRUE,,TRUE,,,9
11
+ Resource Class,gbl_resourceClass_sm,https://opengeometadata.org/docs/ogm-aardvark/resource-class,string,TRUE,TRUE,TRUE,,,Geospatial data|Maps,resource_classes,,,FALSE,TRUE,TRUE,,TRUE,,TRUE,,presence,10
12
+ Resource Type,gbl_resourceType_sm,https://opengeometadata.org/docs/ogm-aardvark/resource-type,string,FALSE,TRUE,TRUE,,,resource-type1|resource-type2,resource_types,autocomplete,,FALSE,TRUE,TRUE,,TRUE,,TRUE,,,11
13
+ Subject,dct_subject_sm,https://opengeometadata.org/docs/ogm-aardvark/subject,string,FALSE,TRUE,TRUE,,,subject1|subject2,,,,FALSE,TRUE,TRUE,,TRUE,,TRUE,,,12
14
+ Theme,dcat_theme_sm,https://opengeometadata.org/docs/ogm-aardvark/theme,string,FALSE,TRUE,TRUE,,,Farming|Biota,themes,,,FALSE,TRUE,TRUE,,TRUE,,TRUE,,,13
15
+ Keyword,dcat_keyword_sm,https://opengeometadata.org/docs/ogm-aardvark/keyword,string,FALSE,TRUE,TRUE,,,keyword1|keyword2,,,,FALSE,TRUE,TRUE,,TRUE,,TRUE,,,14
16
+ Temporal Coverage,dct_temporal_sm,https://opengeometadata.org/docs/ogm-aardvark/temporal-coverage,string,FALSE,TRUE,TRUE,,,2019|2020,,,,FALSE,TRUE,TRUE,,TRUE,,TRUE,,,15
17
+ Date Issued,dct_issued_s,https://opengeometadata.org/docs/ogm-aardvark/date-issued,string,FALSE,FALSE,TRUE,,YYYY,1/1/20,,datepicker-years,,FALSE,TRUE,FALSE,,TRUE,,TRUE,,,16
18
+ Index Year,gbl_indexYear_im,https://opengeometadata.org/docs/ogm-aardvark/index-year,integer,FALSE,TRUE,TRUE,,YYYY,2020|2021,,,,FALSE,TRUE,TRUE,,TRUE,,TRUE,,,17
19
+ Date Range,gbl_dateRange_drsim,https://opengeometadata.org/docs/ogm-aardvark/date-range,string,FALSE,TRUE,TRUE,YYYY-YYYY,,2020-2020,,mask,"{:""data-inputmask""=>""'mask': '9999-9999'""}",FALSE,TRUE,TRUE,,TRUE,date_range_json,TRUE,date_range_json,Document::DateRangeValidator,18
20
+ Spatial Coverage,dct_spatial_sm,https://opengeometadata.org/docs/ogm-aardvark/spatial-coverage,string,FALSE,TRUE,TRUE,,,spatial-coverage1|spatial-coverage2,,,,FALSE,TRUE,TRUE,,TRUE,,TRUE,,,19
21
+ Bounding Box,dcat_bbox,https://opengeometadata.org/docs/ogm-aardvark/bounding-box,string,FALSE,FALSE,TRUE,,"W,S,E,N - A centroid will be derived from this value.","-95.0379,40.6333,-91.198,43.1373",,,,FALSE,TRUE,FALSE,,TRUE,derive_dcat_bbox,TRUE,derive_dcat_bbox,Document::BboxValidator,20
22
+ Geometry,locn_geometry,https://opengeometadata.org/docs/ogm-aardvark/geometry,string,FALSE,FALSE,TRUE,,"WKT - An ENVELOPE, POLYGON, or MULTIPOLYGON value. Use ENVELOPE(-180,180,90,-90) for a whole earth geometry.","POLYGON((-88.11 41.75, -84.75 41.75, -84.75 37.86, -88.11 37.86, -88.11 41.75))",,,,FALSE,TRUE,FALSE,,TRUE,derive_locn_geometry,TRUE,derive_locn_geometry,Document::GeomValidator,21
23
+ Centroid,dcat_centroid,https://opengeometadata.org/docs/ogm-aardvark/centroid,string,FALSE,FALSE,TRUE,,,"39.805,-86.43",,,,FALSE,TRUE,FALSE,,TRUE,derive_dcat_centroid,TRUE,derive_dcat_centroid,,22
24
+ GeoNames,b1g_geonames_sm,https://geobtaa.github.io/metadata/b1g-custom-elements.html#geonames,string,FALSE,TRUE,TRUE,,,geonames1|geonames2,,,,FALSE,TRUE,TRUE,,TRUE,,TRUE,,,23
25
+ Relation,dct_relation_sm,https://opengeometadata.org/docs/ogm-aardvark/relation,string,FALSE,TRUE,TRUE,,,relation1|relation2,,,,FALSE,TRUE,TRUE,,TRUE,,TRUE,,,24
26
+ Member Of,pcdm_memberOf_sm,https://opengeometadata.org/docs/ogm-aardvark/member-of,string,FALSE,TRUE,TRUE,,,member-of1|member-of2,,,,FALSE,TRUE,TRUE,,TRUE,,TRUE,,,25
27
+ Is Part Of,dct_isPartOf_sm,https://opengeometadata.org/docs/ogm-aardvark/is-part-of,string,FALSE,TRUE,TRUE,,,is-part-of1|is-part-of2,,,,FALSE,TRUE,TRUE,,TRUE,,TRUE,,,26
28
+ Source,dct_source_sm,https://opengeometadata.org/docs/ogm-aardvark/source,string,FALSE,TRUE,TRUE,,,source1|source2,,,,FALSE,TRUE,TRUE,,TRUE,,TRUE,,,27
29
+ Is Version Of,dct_isVersionOf_sm,https://opengeometadata.org/docs/ogm-aardvark/is-version-of,string,FALSE,TRUE,TRUE,,,version1|version2,,,,FALSE,TRUE,TRUE,,TRUE,,TRUE,,,28
30
+ Replaces,dct_replaces_sm,https://opengeometadata.org/docs/ogm-aardvark/replaces,string,FALSE,TRUE,TRUE,,,replaces1|replaces2,,,,FALSE,TRUE,TRUE,,TRUE,,TRUE,,,29
31
+ Is Replaced By,dct_isReplacedBy_sm,https://opengeometadata.org/docs/ogm-aardvark/is-replaced-by,string,FALSE,TRUE,TRUE,,,is-replaced-by1|is-replaced-by2,,,,FALSE,TRUE,TRUE,,TRUE,,TRUE,,,30
32
+ Format,dct_format_s,https://opengeometadata.org/docs/ogm-aardvark/format,string,FALSE,FALSE,TRUE,,,format,formats,autocomplete,,FALSE,TRUE,FALSE,,TRUE,,TRUE,,,31
33
+ File Size,gbl_fileSize_s,https://opengeometadata.org/docs/ogm-aardvark/file-size,string,FALSE,FALSE,TRUE,,,60mb,,,,FALSE,TRUE,FALSE,,TRUE,,TRUE,,,32
34
+ WxS Identifier,gbl_wxsIdentifier_s,https://opengeometadata.org/docs/ogm-aardvark/wxs-identifier,string,FALSE,FALSE,TRUE,,,wxs-identifier,,,,FALSE,TRUE,FALSE,,TRUE,,TRUE,,,33
35
+ Georeferenced,gbl_georeferenced_b,https://opengeometadata.org/docs/ogm-aardvark/georeferenced,boolean,FALSE,FALSE,TRUE,,,FALSE,,,,FALSE,TRUE,FALSE,,TRUE,,TRUE,,,34
36
+ Reference,dct_references_s,https://opengeometadata.org/docs/ogm-aardvark/references,text,FALSE,TRUE,TRUE,,URIs and Values,,reference_values,,,FALSE,TRUE,FALSE,build_dct_references,TRUE,references_json,TRUE,references_json,,35
37
+ B1G Image URL,b1g_image_ss,https://geobtaa.github.io/metadata/b1g-custom-elements.html#image,string,FALSE,FALSE,TRUE,,,image,,,,FALSE,TRUE,FALSE,,TRUE,,TRUE,,,36
38
+ ID,geomg_id_s,https://opengeometadata.org/docs/ogm-aardvark/id,string,TRUE,FALSE,TRUE,,,slug,,disable_if_persisted,,FALSE,TRUE,FALSE,,TRUE,,TRUE,,presence,37
39
+ Identifier,dct_identifier_sm,https://opengeometadata.org/docs/ogm-aardvark/identifier,string,FALSE,TRUE,TRUE,,,identifier1|identifier2,,,,FALSE,TRUE,TRUE,,TRUE,,TRUE,,,38
40
+ Code,b1g_code_s,https://geobtaa.github.io/metadata/b1g-custom-elements.html#code,string,FALSE,FALSE,TRUE,,,code,,,,FALSE,TRUE,FALSE,,TRUE,,TRUE,,,39
41
+ Access Rights,dct_accessRights_s,https://opengeometadata.org/docs/ogm-aardvark/access-rights,string,TRUE,FALSE,TRUE,,,access-rights1|access-rights2,access_rights,,,FALSE,TRUE,FALSE,,TRUE,,TRUE,,presence,40
42
+ Rights Holder,dct_rightsHolder_sm,https://opengeometadata.org/docs/ogm-aardvark/rights-holder,string,FALSE,TRUE,TRUE,,,rights-holder1|rights-holder2,,,,FALSE,TRUE,TRUE,,TRUE,,TRUE,,,41
43
+ License,dct_license_sm,https://opengeometadata.org/docs/ogm-aardvark/license,string,FALSE,TRUE,TRUE,,,license1|license2,,,,FALSE,TRUE,TRUE,,TRUE,,TRUE,,,42
44
+ Rights,dct_rights_sm,https://opengeometadata.org/docs/ogm-aardvark/rights,string,FALSE,TRUE,TRUE,,,rights,,,,FALSE,TRUE,TRUE,,TRUE,,TRUE,,,43
45
+ Accrual Method,b1g_dct_accrualMethod_s,https://geobtaa.github.io/metadata/b1g-custom-elements.html#accrual-method,string,FALSE,FALSE,TRUE,,,accrual-method,,,,FALSE,TRUE,FALSE,,TRUE,,TRUE,,,44
46
+ Accrual Periodicity,b1g_dct_accrualPeriodicity_s,https://geobtaa.github.io/metadata/b1g-custom-elements.html#accrual-periodicity,string,FALSE,FALSE,TRUE,,,Annually,accrual_periodicity,,,FALSE,TRUE,FALSE,,TRUE,,TRUE,,,45
47
+ Date Accessioned,b1g_dateAccessioned_sm,https://geobtaa.github.io/metadata/b1g-custom-elements.html#date-accessioned,string,FALSE,TRUE,TRUE,,,date-accessioned1|date-accessioned2,,,,FALSE,TRUE,TRUE,,TRUE,,TRUE,,,46
48
+ Date Retired,b1g_dateRetired_s,https://geobtaa.github.io/metadata/b1g-custom-elements.html#date-retired,string,FALSE,FALSE,TRUE,,YYYY-MM-DD,date-retired,,datepicker,,FALSE,TRUE,FALSE,,TRUE,,TRUE,,,47
49
+ Status,b1g_status_s,https://geobtaa.github.io/metadata/b1g-custom-elements.html#status,string,FALSE,FALSE,TRUE,,,Active,,,,FALSE,TRUE,FALSE,,TRUE,,TRUE,,,48
50
+ Publication State,b1g_publication_state_s,https://geobtaa.github.io/metadata/b1g-custom-elements.html#publication-state,string,TRUE,FALSE,TRUE,,,published,publication_states,,,TRUE,FALSE,FALSE,,TRUE,current_state,TRUE,current_state,,49
51
+ Suppressed Record,gbl_suppressed_b,https://opengeometadata.org/docs/ogm-aardvark/suppressed,boolean,FALSE,FALSE,TRUE,,,FALSE,,,,FALSE,TRUE,FALSE,,TRUE,,TRUE,,,50
52
+ Child Record,b1g_child_record_b,https://geobtaa.github.io/metadata/b1g-custom-elements.html#child-record,boolean,FALSE,FALSE,TRUE,,,FALSE,,,,FALSE,TRUE,FALSE,,TRUE,,TRUE,,,51
53
+ Mediator,b1g_dct_mediator_sm,https://geobtaa.github.io/metadata/b1g-custom-elements.html#mediator,string,FALSE,TRUE,TRUE,,,mediator1|mediator2,,,,FALSE,TRUE,TRUE,,TRUE,,TRUE,,,52
54
+ Access,b1g_access_s,https://geobtaa.github.io/metadata/b1g-custom-elements.html#access,string,FALSE,FALSE,TRUE,,,access,,,,FALSE,TRUE,FALSE,,TRUE,,TRUE,access_json,,53
55
+ Created At,date_created_dtsi,,datetime,FALSE,FALSE,FALSE,,,2021-12-09 15:50:49.803415,,,,TRUE,FALSE,FALSE,,TRUE,created_at_dt,TRUE,created_at_dt,,54
56
+ Updated At,date_modified_dtsi,,datetime,FALSE,FALSE,FALSE,,,2022-12-12 17:02:03.422663,,,,TRUE,FALSE,FALSE,,TRUE,gbl_mdModified_dt,TRUE,gbl_mdModified_dt,,55
Binary file
@@ -0,0 +1,71 @@
1
+ type,label,element_solr_field,position
2
+ FormHeader,Identification,,1
3
+ FormGroup,Descriptive,,2
4
+ FormControl,,dct_title_s,3
5
+ FormControl,NULL,dct_alternative_sm,4
6
+ FormControl,,dct_description_sm,5
7
+ FormControl,,dct_language_sm,6
8
+ FormGroup,Credits,,7
9
+ FormControl,,dct_creator_sm,8
10
+ FormControl,,b1g_creatorID_sm,9
11
+ FormControl,,dct_publisher_sm,10
12
+ FormControl,,schema_provider_s,11
13
+ FormGroup,Categories,,12
14
+ FormControl,,gbl_resourceClass_sm,13
15
+ FormControl,,gbl_resourceType_sm,14
16
+ FormControl,,dct_subject_sm,15
17
+ FormControl,,dcat_theme_sm,16
18
+ FormControl,,dcat_keyword_sm,17
19
+ FormGroup,Temporal,,18
20
+ FormControl,,dct_temporal_sm,19
21
+ FormControl,,dct_issued_s,20
22
+ FormControl,,gbl_dateRange_drsim,21
23
+ FormGroup,Spatial,,22
24
+ FormControl,,dct_spatial_sm,23
25
+ FormControl,,dcat_bbox,24
26
+ FormControl,,locn_geometry,25
27
+ FormControl,,b1g_geonames_sm,26
28
+ FormGroup,Relations,,27
29
+ FormControl,,dct_relation_sm,28
30
+ FormControl,,pcdm_memberOf_sm,29
31
+ FormControl,,dct_isPartOf_sm,30
32
+ FormControl,,dct_source_sm,31
33
+ FormControl,,dct_isVersionOf_sm,32
34
+ FormControl,,dct_replaces_sm,33
35
+ FormControl,,dct_isReplacedBy_sm,34
36
+ FormHeader,Distribution,,35
37
+ FormGroup,Object,,36
38
+ FormControl,,dct_format_s,37
39
+ FormControl,,gbl_fileSize_s,38
40
+ FormControl,,gbl_wxsIdentifier_s,39
41
+ FormControl,,gbl_georeferenced_b,40
42
+ FormGroup,Links,,41
43
+ FormControl,,dct_references_s,42
44
+ FormControl,,b1g_image_ss,43
45
+ FormFeature,Multiple Download Links,,44
46
+ FormHeader,Administrative,,45
47
+ FormGroup,Codes,,46
48
+ FormControl,,geomg_id_s,47
49
+ FormControl,,dct_identifier_sm,48
50
+ FormControl,,b1g_code_s,49
51
+ FormGroup,Rights,,50
52
+ FormControl,,dct_accessRights_s,51
53
+ FormControl,,dct_rightsHolder_sm,52
54
+ FormControl,,dct_license_sm,53
55
+ FormControl,,dct_rights_sm,54
56
+ FormGroup,Life Cycle,,55
57
+ FormControl,,date_created_dtsi,56
58
+ FormControl,,date_modified_dtsi,57
59
+ FormControl,,b1g_dct_accrualMethod_s,58
60
+ FormControl,,b1g_dct_accrualPeriodicity_s,59
61
+ FormControl,,b1g_dateAccessioned_sm,60
62
+ FormControl,,b1g_dateRetired_s,61
63
+ FormControl,,b1g_status_s,62
64
+ FormControl,,b1g_publication_state_s,63
65
+ FormGroup,Accessibility,,64
66
+ FormControl,,gbl_suppressed_b,65
67
+ FormControl,,b1g_child_record_b,66
68
+ FormControl,,b1g_dct_mediator_sm,67
69
+ FormControl,,b1g_access_s,68
70
+ FormHeader,Related Items,,69
71
+ FormFeature,Institutional Access Links,,70
Binary file