hyrax 2.8.0 → 3.0.0.pre.rc2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (976) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +52 -51
  3. data/.engine_cart.yml +40 -1
  4. data/.gitignore +4 -0
  5. data/.regen +1 -1
  6. data/.rubocop.yml +11 -30
  7. data/.rubocop_fixme.yml +37 -61
  8. data/CONTRIBUTING.md +183 -0
  9. data/Gemfile +3 -1
  10. data/README.md +14 -17
  11. data/Rakefile +7 -0
  12. data/app/actors/hyrax/actors/abstract_actor.rb +1 -0
  13. data/app/actors/hyrax/actors/active_fedora_to_valkyrie.rb +59 -0
  14. data/app/actors/hyrax/actors/add_to_work_actor.rb +42 -39
  15. data/app/actors/hyrax/actors/apply_order_actor.rb +38 -37
  16. data/app/actors/hyrax/actors/apply_permission_template_actor.rb +20 -19
  17. data/app/actors/hyrax/actors/attach_members_actor.rb +57 -41
  18. data/app/actors/hyrax/actors/base_actor.rb +73 -47
  19. data/app/actors/hyrax/actors/cleanup_file_sets_actor.rb +13 -12
  20. data/app/actors/hyrax/actors/cleanup_trophies_actor.rb +4 -3
  21. data/app/actors/hyrax/actors/collections_membership_actor.rb +91 -136
  22. data/app/actors/hyrax/actors/create_with_files_actor.rb +38 -27
  23. data/app/actors/hyrax/actors/create_with_files_ordered_members_actor.rb +3 -2
  24. data/app/actors/hyrax/actors/create_with_remote_files_actor.rb +50 -49
  25. data/app/actors/hyrax/actors/create_with_remote_files_ordered_members_actor.rb +1 -0
  26. data/app/actors/hyrax/actors/default_admin_set_actor.rb +20 -19
  27. data/app/actors/hyrax/actors/embargo_actor.rb +1 -0
  28. data/app/actors/hyrax/actors/environment.rb +9 -1
  29. data/app/actors/hyrax/actors/featured_work_actor.rb +8 -7
  30. data/app/actors/hyrax/actors/file_actor.rb +83 -16
  31. data/app/actors/hyrax/actors/file_set_actor.rb +117 -58
  32. data/app/actors/hyrax/actors/initialize_workflow_actor.rb +5 -4
  33. data/app/actors/hyrax/actors/interpret_visibility_actor.rb +155 -163
  34. data/app/actors/hyrax/actors/lease_actor.rb +1 -0
  35. data/app/actors/hyrax/actors/model_actor.rb +12 -5
  36. data/app/actors/hyrax/actors/null_actor.rb +12 -0
  37. data/app/actors/hyrax/actors/optimistic_lock_validator.rb +12 -11
  38. data/app/actors/hyrax/actors/ordered_members_actor.rb +1 -1
  39. data/app/actors/hyrax/actors/terminator.rb +1 -0
  40. data/app/actors/hyrax/actors/transactional_request.rb +9 -8
  41. data/app/actors/hyrax/actors/transfer_request_actor.rb +8 -7
  42. data/app/actors/hyrax/actors/valkyrie_to_active_fedora.rb +60 -0
  43. data/app/assets/images/unauthorized.png +0 -0
  44. data/app/assets/javascripts/hyrax.js +1 -0
  45. data/app/assets/javascripts/hyrax/admin/admin_set/visibility.es6 +57 -0
  46. data/app/assets/javascripts/hyrax/autocomplete.es6 +29 -0
  47. data/app/assets/javascripts/hyrax/batch_select_all.js +5 -0
  48. data/app/assets/javascripts/hyrax/collapse.js +91 -0
  49. data/app/assets/javascripts/hyrax/collections.js +5 -4
  50. data/app/assets/javascripts/hyrax/collections/editor.es6 +1 -6
  51. data/app/assets/javascripts/hyrax/editor.es6 +9 -10
  52. data/app/assets/javascripts/hyrax/editor/controlled_vocabulary.es6 +1 -1
  53. data/app/assets/javascripts/hyrax/file_manager/save_manager.es6 +6 -5
  54. data/app/assets/javascripts/hyrax/monkey_patch_turbolinks.js +36 -0
  55. data/app/assets/javascripts/hyrax/nav_safety.js +23 -5
  56. data/app/assets/javascripts/hyrax/proxy_rights.js +8 -0
  57. data/app/assets/stylesheets/fileupload/jquery.fileupload-ui.scss +1 -15
  58. data/app/assets/stylesheets/hyrax/_collections.scss +8 -20
  59. data/app/assets/stylesheets/hyrax/_featured.scss +4 -0
  60. data/app/assets/stylesheets/hyrax/_file-listing.scss +1 -2
  61. data/app/assets/stylesheets/hyrax/_file_sets.scss +27 -0
  62. data/app/assets/stylesheets/hyrax/_forms.scss +0 -2
  63. data/app/assets/stylesheets/hyrax/_header.scss +1 -1
  64. data/app/assets/stylesheets/hyrax/_home-page.scss +23 -7
  65. data/app/assets/stylesheets/hyrax/_hyrax.scss +10 -10
  66. data/app/assets/stylesheets/hyrax/_login_signup.scss +20 -0
  67. data/app/assets/stylesheets/hyrax/_settings.scss +2 -2
  68. data/app/assets/stylesheets/hyrax/_styles.scss +10 -0
  69. data/app/assets/stylesheets/hyrax/_users.scss +16 -0
  70. data/app/assets/stylesheets/hyrax/_viewer.scss +14 -3
  71. data/app/assets/stylesheets/hyrax/_work-show.scss +42 -5
  72. data/app/assets/stylesheets/hyrax/dashboard.scss +3 -3
  73. data/app/authorities/qa/authorities/collections.rb +8 -7
  74. data/app/authorities/qa/authorities/find_works.rb +4 -3
  75. data/app/builders/hyrax/bootstrap_breadcrumbs_builder.rb +5 -4
  76. data/app/builders/hyrax/form_builder.rb +1 -0
  77. data/app/builders/hyrax/manifest_helper.rb +2 -1
  78. data/app/channels/hyrax/application_cable/channel.rb +1 -0
  79. data/app/channels/hyrax/application_cable/connection.rb +16 -15
  80. data/app/channels/hyrax/notifications_channel.rb +1 -0
  81. data/app/connections/hyrax/clean_connection.rb +9 -8
  82. data/app/controllers/concerns/hyrax/admin/stats_behavior.rb +6 -5
  83. data/app/controllers/concerns/hyrax/admin/users_controller_behavior.rb +4 -3
  84. data/app/controllers/concerns/hyrax/api.rb +23 -20
  85. data/app/controllers/concerns/hyrax/breadcrumbs.rb +3 -0
  86. data/app/controllers/concerns/hyrax/breadcrumbs_for_collections.rb +4 -3
  87. data/app/controllers/concerns/hyrax/breadcrumbs_for_works.rb +22 -21
  88. data/app/controllers/concerns/hyrax/collections.rb +1 -0
  89. data/app/controllers/concerns/hyrax/collections/accepts_batches.rb +26 -25
  90. data/app/controllers/concerns/hyrax/collections_controller_behavior.rb +59 -58
  91. data/app/controllers/concerns/hyrax/controller.rb +57 -48
  92. data/app/controllers/concerns/hyrax/deny_access_override_behavior.rb +2 -1
  93. data/app/controllers/concerns/hyrax/embargoes_controller_behavior.rb +7 -4
  94. data/app/controllers/concerns/hyrax/leases_controller_behavior.rb +7 -3
  95. data/app/controllers/concerns/hyrax/local_file_downloads_controller_behavior.rb +69 -68
  96. data/app/controllers/concerns/hyrax/manages_embargoes.rb +1 -0
  97. data/app/controllers/concerns/hyrax/singular_subresource_controller.rb +1 -0
  98. data/app/controllers/concerns/hyrax/themed_layout_controller.rb +1 -0
  99. data/app/controllers/concerns/hyrax/works_controller_behavior.rb +242 -172
  100. data/app/controllers/hyrax/admin/admin_sets_controller.rb +50 -49
  101. data/app/controllers/hyrax/admin/appearances_controller.rb +7 -6
  102. data/app/controllers/hyrax/admin/collection_type_participants_controller.rb +1 -0
  103. data/app/controllers/hyrax/admin/collection_types_controller.rb +31 -32
  104. data/app/controllers/hyrax/admin/features_controller.rb +1 -0
  105. data/app/controllers/hyrax/admin/permission_template_accesses_controller.rb +47 -46
  106. data/app/controllers/hyrax/admin/permission_templates_controller.rb +63 -62
  107. data/app/controllers/hyrax/admin/stats_controller.rb +1 -0
  108. data/app/controllers/hyrax/admin/strategies_controller.rb +1 -0
  109. data/app/controllers/hyrax/admin/users_controller.rb +1 -0
  110. data/app/controllers/hyrax/admin/workflow_roles_controller.rb +4 -3
  111. data/app/controllers/hyrax/admin/workflows_controller.rb +4 -3
  112. data/app/controllers/hyrax/api/items_controller.rb +34 -33
  113. data/app/controllers/hyrax/api/zotero_controller.rb +39 -38
  114. data/app/controllers/hyrax/batch_edits_controller.rb +48 -54
  115. data/app/controllers/hyrax/batch_uploads_controller.rb +50 -49
  116. data/app/controllers/hyrax/citations_controller.rb +4 -3
  117. data/app/controllers/hyrax/collections_controller.rb +13 -12
  118. data/app/controllers/hyrax/contact_form_controller.rb +14 -10
  119. data/app/controllers/hyrax/content_blocks_controller.rb +13 -12
  120. data/app/controllers/hyrax/dashboard/collection_members_controller.rb +24 -23
  121. data/app/controllers/hyrax/dashboard/collections_controller.rb +226 -225
  122. data/app/controllers/hyrax/dashboard/nest_collections_controller.rb +29 -28
  123. data/app/controllers/hyrax/dashboard/profiles_controller.rb +27 -26
  124. data/app/controllers/hyrax/dashboard/works_controller.rb +8 -7
  125. data/app/controllers/hyrax/dashboard_controller.rb +10 -0
  126. data/app/controllers/hyrax/depositors_controller.rb +35 -27
  127. data/app/controllers/hyrax/downloads_controller.rb +50 -58
  128. data/app/controllers/hyrax/embargoes_controller.rb +1 -0
  129. data/app/controllers/hyrax/featured_work_lists_controller.rb +4 -3
  130. data/app/controllers/hyrax/featured_works_controller.rb +1 -0
  131. data/app/controllers/hyrax/file_sets_controller.rb +96 -85
  132. data/app/controllers/hyrax/fixity_checks_controller.rb +9 -8
  133. data/app/controllers/hyrax/homepage_controller.rb +19 -18
  134. data/app/controllers/hyrax/leases_controller.rb +1 -0
  135. data/app/controllers/hyrax/my/collections_controller.rb +16 -15
  136. data/app/controllers/hyrax/my/highlights_controller.rb +22 -21
  137. data/app/controllers/hyrax/my/shares_controller.rb +8 -7
  138. data/app/controllers/hyrax/my/works_controller.rb +16 -15
  139. data/app/controllers/hyrax/my_controller.rb +18 -17
  140. data/app/controllers/hyrax/notifications_controller.rb +4 -3
  141. data/app/controllers/hyrax/operations_controller.rb +1 -0
  142. data/app/controllers/hyrax/pages_controller.rb +17 -16
  143. data/app/controllers/hyrax/permissions_controller.rb +2 -1
  144. data/app/controllers/hyrax/resource_sync_controller.rb +23 -22
  145. data/app/controllers/hyrax/single_use_links_controller.rb +13 -12
  146. data/app/controllers/hyrax/single_use_links_viewer_controller.rb +45 -44
  147. data/app/controllers/hyrax/static_controller.rb +1 -0
  148. data/app/controllers/hyrax/stats_controller.rb +11 -13
  149. data/app/controllers/hyrax/transfers_controller.rb +14 -13
  150. data/app/controllers/hyrax/trophies_controller.rb +1 -0
  151. data/app/controllers/hyrax/uploads_controller.rb +1 -0
  152. data/app/controllers/hyrax/users_controller.rb +57 -36
  153. data/app/controllers/hyrax/workflow_actions_controller.rb +19 -18
  154. data/app/conversions/power_converters.rb +1 -0
  155. data/app/conversions/power_converters/polymorphic_type.rb +2 -0
  156. data/app/conversions/power_converters/sipity_action.rb +2 -0
  157. data/app/conversions/power_converters/sipity_action_name.rb +2 -0
  158. data/app/conversions/power_converters/sipity_agent.rb +3 -0
  159. data/app/conversions/power_converters/sipity_entity.rb +2 -0
  160. data/app/conversions/power_converters/sipity_role.rb +2 -0
  161. data/app/conversions/power_converters/sipity_workflow_id.rb +1 -0
  162. data/app/conversions/power_converters/sipity_workflow_state.rb +3 -0
  163. data/app/forms/hyrax/forms/admin/appearance.rb +20 -19
  164. data/app/forms/hyrax/forms/admin/collection_type_form.rb +12 -1
  165. data/app/forms/hyrax/forms/admin/collection_type_participant_form.rb +1 -0
  166. data/app/forms/hyrax/forms/admin_set_form.rb +4 -3
  167. data/app/forms/hyrax/forms/batch_edit_form.rb +18 -17
  168. data/app/forms/hyrax/forms/batch_upload_form.rb +1 -1
  169. data/app/forms/hyrax/forms/collection_form.rb +25 -22
  170. data/app/forms/hyrax/forms/dashboard/nest_collection_form.rb +23 -22
  171. data/app/forms/hyrax/forms/file_manager_form.rb +4 -3
  172. data/app/forms/hyrax/forms/file_set_edit_form.rb +2 -1
  173. data/app/forms/hyrax/forms/permission_template_form.rb +178 -176
  174. data/app/forms/hyrax/forms/resource_form.rb +190 -0
  175. data/app/forms/hyrax/forms/widgets/admin_set_embargo_period.rb +1 -0
  176. data/app/forms/hyrax/forms/widgets/admin_set_visibility.rb +1 -0
  177. data/app/forms/hyrax/forms/work_form.rb +22 -22
  178. data/app/forms/hyrax/forms/workflow_action_form.rb +12 -5
  179. data/app/forms/hyrax/forms/workflow_responsibility_form.rb +1 -4
  180. data/app/helpers/hyrax/ability_helper.rb +5 -4
  181. data/app/helpers/hyrax/batch_edits_helper.rb +1 -0
  182. data/app/helpers/hyrax/blacklight_override.rb +1 -0
  183. data/app/helpers/hyrax/charts_helper.rb +1 -0
  184. data/app/helpers/hyrax/citations_behavior.rb +1 -0
  185. data/app/helpers/hyrax/citations_behaviors/common_behavior.rb +1 -0
  186. data/app/helpers/hyrax/citations_behaviors/formatters.rb +1 -0
  187. data/app/helpers/hyrax/citations_behaviors/formatters/apa_formatter.rb +40 -38
  188. data/app/helpers/hyrax/citations_behaviors/formatters/chicago_formatter.rb +14 -14
  189. data/app/helpers/hyrax/citations_behaviors/formatters/mla_formatter.rb +10 -9
  190. data/app/helpers/hyrax/citations_behaviors/formatters/open_url_formatter.rb +1 -0
  191. data/app/helpers/hyrax/citations_behaviors/name_behavior.rb +5 -4
  192. data/app/helpers/hyrax/citations_behaviors/publication_behavior.rb +5 -5
  193. data/app/helpers/hyrax/citations_behaviors/title_behavior.rb +2 -1
  194. data/app/helpers/hyrax/collections_helper.rb +57 -7
  195. data/app/helpers/hyrax/contact_form_helper.rb +24 -0
  196. data/app/helpers/hyrax/content_block_helper.rb +1 -0
  197. data/app/helpers/hyrax/content_block_helper_behavior.rb +2 -1
  198. data/app/helpers/hyrax/dashboard_helper_behavior.rb +1 -0
  199. data/app/helpers/hyrax/embargo_helper.rb +21 -0
  200. data/app/helpers/hyrax/file_set_helper.rb +2 -1
  201. data/app/helpers/hyrax/hyrax_helper_behavior.rb +58 -49
  202. data/app/helpers/hyrax/iiif_helper.rb +9 -0
  203. data/app/helpers/hyrax/lease_helper.rb +21 -0
  204. data/app/helpers/hyrax/membership_helper.rb +48 -0
  205. data/app/helpers/hyrax/permission_levels_helper.rb +32 -0
  206. data/app/helpers/hyrax/permissions_helper.rb +8 -7
  207. data/app/helpers/hyrax/title_helper.rb +11 -5
  208. data/app/helpers/hyrax/trophy_helper.rb +1 -0
  209. data/app/helpers/hyrax/url_helper.rb +1 -0
  210. data/app/helpers/hyrax/work_form_helper.rb +48 -0
  211. data/app/indexers/concerns/hyrax/indexes_basic_metadata.rb +1 -0
  212. data/app/indexers/concerns/hyrax/indexes_linked_metadata.rb +1 -0
  213. data/app/indexers/hyrax/admin_set_indexer.rb +7 -1
  214. data/app/indexers/hyrax/basic_metadata_indexer.rb +37 -36
  215. data/app/indexers/hyrax/collection_indexer.rb +2 -1
  216. data/app/indexers/hyrax/collection_with_basic_metadata_indexer.rb +1 -0
  217. data/app/indexers/hyrax/deep_indexing_service.rb +65 -73
  218. data/app/indexers/hyrax/file_set_indexer.rb +21 -24
  219. data/app/indexers/hyrax/indexes_workflow.rb +7 -8
  220. data/app/indexers/hyrax/permission_indexer.rb +25 -0
  221. data/app/indexers/hyrax/repository_reindexer.rb +1 -0
  222. data/app/indexers/hyrax/resource_indexer.rb +13 -0
  223. data/app/indexers/hyrax/valkyrie_collection_indexer.rb +19 -0
  224. data/app/indexers/hyrax/valkyrie_indexer.rb +87 -0
  225. data/app/indexers/hyrax/valkyrie_work_indexer.rb +12 -0
  226. data/app/indexers/hyrax/visibility_indexer.rb +26 -0
  227. data/app/indexers/hyrax/work_indexer.rb +2 -1
  228. data/app/inputs/controlled_vocabulary_input.rb +62 -62
  229. data/app/inputs/multi_value_select_input.rb +31 -30
  230. data/app/inputs/multifile_input.rb +1 -0
  231. data/app/jobs/attach_files_to_work_job.rb +78 -21
  232. data/app/jobs/attach_files_to_work_with_ordered_members_job.rb +19 -18
  233. data/app/jobs/batch_create_job.rb +15 -14
  234. data/app/jobs/characterize_job.rb +17 -2
  235. data/app/jobs/concerns/hyrax/members_permission_job_behavior.rb +28 -0
  236. data/app/jobs/concerns/hyrax/permission_job_behavior.rb +23 -0
  237. data/app/jobs/content_delete_event_job.rb +1 -0
  238. data/app/jobs/content_deposit_event_job.rb +1 -0
  239. data/app/jobs/content_depositor_change_event_job.rb +1 -0
  240. data/app/jobs/content_event_job.rb +1 -0
  241. data/app/jobs/content_new_version_event_job.rb +1 -0
  242. data/app/jobs/content_restored_version_event_job.rb +1 -0
  243. data/app/jobs/content_update_event_job.rb +1 -0
  244. data/app/jobs/create_derivatives_job.rb +1 -0
  245. data/app/jobs/create_work_job.rb +4 -3
  246. data/app/jobs/event_job.rb +3 -1
  247. data/app/jobs/file_set_attached_event_job.rb +16 -15
  248. data/app/jobs/fixity_check_job.rb +28 -29
  249. data/app/jobs/hyrax/application_job.rb +6 -0
  250. data/app/jobs/hyrax/grant_edit_job.rb +13 -8
  251. data/app/jobs/hyrax/grant_edit_to_members_job.rb +5 -13
  252. data/app/jobs/hyrax/grant_read_job.rb +13 -8
  253. data/app/jobs/hyrax/grant_read_to_members_job.rb +5 -13
  254. data/app/jobs/hyrax/revoke_edit_from_members_job.rb +6 -13
  255. data/app/jobs/hyrax/revoke_edit_job.rb +13 -8
  256. data/app/jobs/iiif_manifest_cache_prewarm_job.rb +16 -0
  257. data/app/jobs/import_export_job.rb +14 -13
  258. data/app/jobs/import_url_job.rb +74 -63
  259. data/app/jobs/ingest_job.rb +1 -0
  260. data/app/jobs/ingest_local_file_job.rb +4 -3
  261. data/app/jobs/inherit_permissions_job.rb +55 -4
  262. data/app/jobs/resolrize_job.rb +1 -0
  263. data/app/jobs/stream_notifications_job.rb +1 -0
  264. data/app/jobs/user_edit_profile_event_job.rb +1 -0
  265. data/app/jobs/visibility_copy_job.rb +4 -17
  266. data/app/mailers/hyrax/contact_mailer.rb +2 -1
  267. data/app/models/admin_set.rb +44 -49
  268. data/app/models/batch_upload_item.rb +1 -0
  269. data/app/models/checksum_audit_log.rb +1 -0
  270. data/app/models/collection_branding_info.rb +1 -0
  271. data/app/models/concerns/hyrax/ability.rb +144 -132
  272. data/app/models/concerns/hyrax/ability/admin_set_ability.rb +1 -0
  273. data/app/models/concerns/hyrax/ability/collection_ability.rb +12 -11
  274. data/app/models/concerns/hyrax/ability/collection_type_ability.rb +1 -0
  275. data/app/models/concerns/hyrax/ability/permission_template_ability.rb +1 -0
  276. data/app/models/concerns/hyrax/ability/solr_document_ability.rb +1 -0
  277. data/app/models/concerns/hyrax/basic_metadata.rb +9 -2
  278. data/app/models/concerns/hyrax/collection_behavior.rb +52 -33
  279. data/app/models/concerns/hyrax/collection_nesting.rb +5 -4
  280. data/app/models/concerns/hyrax/core_metadata.rb +1 -0
  281. data/app/models/concerns/hyrax/file_set/belongs_to_works.rb +2 -1
  282. data/app/models/concerns/hyrax/file_set/characterization.rb +11 -3
  283. data/app/models/concerns/hyrax/file_set/derivatives.rb +5 -4
  284. data/app/models/concerns/hyrax/file_set/indexing.rb +2 -1
  285. data/app/models/concerns/hyrax/file_set/querying.rb +3 -2
  286. data/app/models/concerns/hyrax/file_set_behavior.rb +2 -1
  287. data/app/models/concerns/hyrax/has_rendering.rb +1 -0
  288. data/app/models/concerns/hyrax/has_representative.rb +1 -0
  289. data/app/models/concerns/hyrax/human_readable_type.rb +4 -11
  290. data/app/models/concerns/hyrax/in_admin_set.rb +4 -0
  291. data/app/models/concerns/hyrax/naming.rb +11 -2
  292. data/app/models/concerns/hyrax/nested_works.rb +1 -0
  293. data/app/models/concerns/hyrax/permissions.rb +1 -0
  294. data/app/models/concerns/hyrax/permissions/readable.rb +1 -0
  295. data/app/models/concerns/hyrax/permissions/writable.rb +1 -0
  296. data/app/models/concerns/hyrax/proxy_deposit.rb +1 -0
  297. data/app/models/concerns/hyrax/serializers.rb +2 -1
  298. data/app/models/concerns/hyrax/solr_document/characterization.rb +23 -22
  299. data/app/models/concerns/hyrax/solr_document/export.rb +24 -23
  300. data/app/models/concerns/hyrax/solr_document/metadata.rb +31 -31
  301. data/app/models/concerns/hyrax/solr_document/ordered_members.rb +44 -0
  302. data/app/models/concerns/hyrax/solr_document_behavior.rb +19 -12
  303. data/app/models/concerns/hyrax/suppressible.rb +6 -4
  304. data/app/models/concerns/hyrax/user.rb +12 -3
  305. data/app/models/concerns/hyrax/user_usage_stats.rb +1 -0
  306. data/app/models/concerns/hyrax/virus_check.rb +21 -0
  307. data/app/models/concerns/hyrax/with_events.rb +17 -7
  308. data/app/models/concerns/hyrax/with_file_sets.rb +6 -0
  309. data/app/models/concerns/hyrax/work_behavior.rb +5 -9
  310. data/app/models/concerns/hyrax/works/metadata.rb +1 -0
  311. data/app/models/content_block.rb +8 -1
  312. data/app/models/featured_work.rb +1 -0
  313. data/app/models/featured_work_list.rb +17 -16
  314. data/app/models/file_download_stat.rb +3 -1
  315. data/app/models/file_view_stat.rb +1 -0
  316. data/app/models/hyrax/access_control.rb +44 -0
  317. data/app/models/hyrax/active_job_proxy.rb +43 -0
  318. data/app/models/hyrax/administrative_set.rb +12 -0
  319. data/app/models/hyrax/avatar_validator.rb +1 -0
  320. data/app/models/hyrax/base.rb +18 -0
  321. data/app/models/hyrax/batch_create_operation.rb +3 -2
  322. data/app/models/hyrax/change_set.rb +45 -0
  323. data/app/models/hyrax/collection_type.rb +63 -49
  324. data/app/models/hyrax/collection_type_participant.rb +6 -5
  325. data/app/models/hyrax/contact_form.rb +1 -0
  326. data/app/models/hyrax/download.rb +1 -0
  327. data/app/models/hyrax/embargo.rb +21 -0
  328. data/app/models/hyrax/event.rb +30 -0
  329. data/app/models/hyrax/feature.rb +1 -0
  330. data/app/models/hyrax/file_metadata.rb +147 -0
  331. data/app/models/hyrax/file_set.rb +28 -0
  332. data/app/models/hyrax/group.rb +13 -6
  333. data/app/models/hyrax/lease.rb +21 -0
  334. data/app/models/hyrax/operation.rb +5 -4
  335. data/app/models/hyrax/orcid_validator.rb +13 -5
  336. data/app/models/hyrax/pageview.rb +1 -0
  337. data/app/models/hyrax/pcdm_collection.rb +22 -0
  338. data/app/models/hyrax/permission.rb +19 -0
  339. data/app/models/hyrax/permission_template.rb +42 -37
  340. data/app/models/hyrax/resource.rb +116 -0
  341. data/app/models/hyrax/statistic.rb +22 -17
  342. data/app/models/hyrax/uploaded_file.rb +11 -0
  343. data/app/models/hyrax/version_committer.rb +1 -0
  344. data/app/models/hyrax/virus_scanner.rb +57 -0
  345. data/app/models/hyrax/work.rb +30 -0
  346. data/app/models/hyrax/workflow_action_info.rb +3 -2
  347. data/app/models/job_io_wrapper.rb +47 -31
  348. data/app/models/proxy_deposit_request.rb +41 -33
  349. data/app/models/proxy_deposit_rights.rb +1 -0
  350. data/app/models/single_use_link.rb +21 -13
  351. data/app/models/sipity.rb +102 -0
  352. data/app/models/sipity/agent.rb +3 -3
  353. data/app/models/sipity/comment.rb +1 -0
  354. data/app/models/sipity/entity.rb +4 -3
  355. data/app/models/sipity/entity_specific_responsibility.rb +1 -0
  356. data/app/models/sipity/method.rb +1 -0
  357. data/app/models/sipity/notifiable_context.rb +2 -1
  358. data/app/models/sipity/notification.rb +2 -3
  359. data/app/models/sipity/notification_recipient.rb +1 -0
  360. data/app/models/sipity/role.rb +4 -4
  361. data/app/models/sipity/workflow.rb +19 -18
  362. data/app/models/sipity/workflow_action.rb +24 -0
  363. data/app/models/sipity/workflow_responsibility.rb +1 -0
  364. data/app/models/sipity/workflow_role.rb +1 -0
  365. data/app/models/sipity/workflow_state.rb +1 -0
  366. data/app/models/sipity/workflow_state_action.rb +1 -0
  367. data/app/models/sipity/workflow_state_action_permission.rb +1 -0
  368. data/app/models/solr_hit.rb +24 -0
  369. data/app/models/trophy.rb +1 -0
  370. data/app/models/user_mailbox.rb +15 -14
  371. data/app/models/user_stat.rb +1 -0
  372. data/app/models/vocab/fedora_resource_status.rb +5 -4
  373. data/app/models/work_view_stat.rb +1 -0
  374. data/app/presenters/hyrax/admin/dashboard_presenter.rb +1 -0
  375. data/app/presenters/hyrax/admin/repository_growth_presenter.rb +9 -8
  376. data/app/presenters/hyrax/admin/repository_object_presenter.rb +19 -18
  377. data/app/presenters/hyrax/admin/user_activity_presenter.rb +9 -8
  378. data/app/presenters/hyrax/admin/users_presenter.rb +5 -4
  379. data/app/presenters/hyrax/admin/workflow_role_presenter.rb +8 -7
  380. data/app/presenters/hyrax/admin/workflow_roles_presenter.rb +1 -0
  381. data/app/presenters/hyrax/admin_set_options_presenter.rb +37 -31
  382. data/app/presenters/hyrax/admin_set_presenter.rb +2 -1
  383. data/app/presenters/hyrax/admin_stats_presenter.rb +7 -6
  384. data/app/presenters/hyrax/characterization_behavior.rb +15 -14
  385. data/app/presenters/hyrax/collapsable_section_presenter.rb +24 -24
  386. data/app/presenters/hyrax/collection_presenter.rb +4 -3
  387. data/app/presenters/hyrax/composite_presenter_factory.rb +1 -0
  388. data/app/presenters/hyrax/dashboard/user_presenter.rb +11 -10
  389. data/app/presenters/hyrax/displays_image.rb +54 -35
  390. data/app/presenters/hyrax/embargo_presenter.rb +1 -0
  391. data/app/presenters/hyrax/file_set_presenter.rb +13 -17
  392. data/app/presenters/hyrax/file_usage.rb +7 -6
  393. data/app/presenters/hyrax/fixity_status_presenter.rb +49 -48
  394. data/app/presenters/hyrax/homepage_presenter.rb +5 -4
  395. data/app/presenters/hyrax/iiif_manifest_presenter.rb +237 -0
  396. data/app/presenters/hyrax/inspect_work_presenter.rb +18 -17
  397. data/app/presenters/hyrax/lease_presenter.rb +1 -0
  398. data/app/presenters/hyrax/member_presenter_factory.rb +21 -26
  399. data/app/presenters/hyrax/menu_presenter.rb +3 -2
  400. data/app/presenters/hyrax/model_icon.rb +1 -0
  401. data/app/presenters/hyrax/model_proxy.rb +13 -9
  402. data/app/presenters/hyrax/page_title_decorator.rb +30 -0
  403. data/app/presenters/hyrax/permission_badge.rb +14 -13
  404. data/app/presenters/hyrax/presenter_factory.rb +11 -23
  405. data/app/presenters/hyrax/presenter_renderer.rb +30 -22
  406. data/app/presenters/hyrax/presents_attributes.rb +22 -21
  407. data/app/presenters/hyrax/select_collection_type_list_presenter.rb +1 -0
  408. data/app/presenters/hyrax/select_collection_type_presenter.rb +1 -0
  409. data/app/presenters/hyrax/select_type_list_presenter.rb +4 -2
  410. data/app/presenters/hyrax/select_type_presenter.rb +17 -16
  411. data/app/presenters/hyrax/single_use_link_presenter.rb +9 -8
  412. data/app/presenters/hyrax/stats_usage_presenter.rb +28 -27
  413. data/app/presenters/hyrax/transfers_presenter.rb +9 -8
  414. data/app/presenters/hyrax/trophy_presenter.rb +2 -1
  415. data/app/presenters/hyrax/twitter_presenter.rb +1 -0
  416. data/app/presenters/hyrax/user_profile_presenter.rb +1 -0
  417. data/app/presenters/hyrax/version_list_presenter.rb +7 -6
  418. data/app/presenters/hyrax/version_presenter.rb +1 -0
  419. data/app/presenters/hyrax/work_show_presenter.rb +69 -69
  420. data/app/presenters/hyrax/work_usage.rb +4 -3
  421. data/app/presenters/hyrax/workflow_presenter.rb +10 -9
  422. data/app/renderers/hyrax/renderers.rb +1 -0
  423. data/app/renderers/hyrax/renderers/attribute_renderer.rb +38 -34
  424. data/app/renderers/hyrax/renderers/configured_microdata.rb +4 -3
  425. data/app/renderers/hyrax/renderers/date_attribute_renderer.rb +4 -3
  426. data/app/renderers/hyrax/renderers/external_link_attribute_renderer.rb +5 -4
  427. data/app/renderers/hyrax/renderers/faceted_attribute_renderer.rb +10 -9
  428. data/app/renderers/hyrax/renderers/license_attribute_renderer.rb +15 -14
  429. data/app/renderers/hyrax/renderers/linked_attribute_renderer.rb +12 -11
  430. data/app/renderers/hyrax/renderers/rights_statement_attribute_renderer.rb +16 -15
  431. data/app/search_builders/hyrax/abstract_type_relation.rb +1 -0
  432. data/app/search_builders/hyrax/admin_admin_set_member_search_builder.rb +3 -2
  433. data/app/search_builders/hyrax/admin_set_search_builder.rb +8 -7
  434. data/app/search_builders/hyrax/catalog_search_builder.rb +48 -19
  435. data/app/search_builders/hyrax/collection_member_search_builder.rb +9 -9
  436. data/app/search_builders/hyrax/collection_search_builder.rb +14 -13
  437. data/app/search_builders/hyrax/dashboard/collections_search_builder.rb +6 -5
  438. data/app/search_builders/hyrax/dashboard/managed_search_filters.rb +1 -0
  439. data/app/search_builders/hyrax/dashboard/nested_collections_search_builder.rb +69 -68
  440. data/app/search_builders/hyrax/dashboard/works_search_builder.rb +1 -0
  441. data/app/search_builders/hyrax/deactivated_embargo_search_builder.rb +1 -0
  442. data/app/search_builders/hyrax/deactivated_lease_search_builder.rb +1 -0
  443. data/app/search_builders/hyrax/deposit_search_builder.rb +5 -4
  444. data/app/search_builders/hyrax/embargo_search_builder.rb +1 -0
  445. data/app/search_builders/hyrax/expired_embargo_search_builder.rb +1 -0
  446. data/app/search_builders/hyrax/expired_lease_search_builder.rb +1 -0
  447. data/app/search_builders/hyrax/exposed_models_relation.rb +2 -1
  448. data/app/search_builders/hyrax/file_set_search_builder.rb +1 -0
  449. data/app/search_builders/hyrax/filter_by_type.rb +40 -40
  450. data/app/search_builders/hyrax/filter_suppressed.rb +1 -0
  451. data/app/search_builders/hyrax/filter_suppressed_with_roles.rb +26 -19
  452. data/app/search_builders/hyrax/homepage_search_builder.rb +1 -0
  453. data/app/search_builders/hyrax/lease_search_builder.rb +1 -0
  454. data/app/search_builders/hyrax/member_with_files_search_builder.rb +4 -3
  455. data/app/search_builders/hyrax/my/collections_search_builder.rb +1 -0
  456. data/app/search_builders/hyrax/my/find_works_search_builder.rb +6 -9
  457. data/app/search_builders/hyrax/my/highlights_search_builder.rb +2 -3
  458. data/app/search_builders/hyrax/my/search_builder.rb +1 -0
  459. data/app/search_builders/hyrax/my/search_builder_behavior.rb +1 -0
  460. data/app/search_builders/hyrax/my/shares_search_builder.rb +1 -0
  461. data/app/search_builders/hyrax/my/works_search_builder.rb +1 -0
  462. data/app/search_builders/hyrax/nested_collections_parent_search_builder.rb +2 -1
  463. data/app/search_builders/hyrax/parent_collection_search_builder.rb +2 -1
  464. data/app/search_builders/hyrax/search_builder.rb +1 -0
  465. data/app/search_builders/hyrax/search_filters.rb +9 -8
  466. data/app/search_builders/hyrax/single_admin_set_search_builder.rb +1 -0
  467. data/app/search_builders/hyrax/single_collection_search_builder.rb +1 -0
  468. data/app/search_builders/hyrax/single_result.rb +1 -0
  469. data/app/search_builders/hyrax/single_use_link_search_builder.rb +1 -0
  470. data/app/search_builders/hyrax/stats/work_status_search_builder.rb +4 -3
  471. data/app/search_builders/hyrax/work_relation.rb +1 -0
  472. data/app/search_builders/hyrax/work_search_builder.rb +1 -0
  473. data/app/search_builders/hyrax/works_search_builder.rb +1 -0
  474. data/app/services/hyrax/abstract_message_service.rb +4 -3
  475. data/app/services/hyrax/access_control_list.rb +218 -0
  476. data/app/services/hyrax/adapters/nesting_index_adapter.rb +12 -11
  477. data/app/services/hyrax/admin_set_create_service.rb +50 -49
  478. data/app/services/hyrax/admin_set_member_service.rb +14 -13
  479. data/app/services/hyrax/admin_set_service.rb +18 -26
  480. data/app/services/hyrax/analytics.rb +7 -6
  481. data/app/services/hyrax/batch_create_failure_service.rb +3 -2
  482. data/app/services/hyrax/batch_create_success_service.rb +3 -2
  483. data/app/services/hyrax/caching_iiif_manifest_builder.rb +57 -0
  484. data/app/services/hyrax/change_content_depositor_service.rb +33 -1
  485. data/app/services/hyrax/characterization/file_set_description.rb +45 -0
  486. data/app/services/hyrax/characterization/model_wrapper.rb +0 -0
  487. data/app/services/hyrax/child_types.rb +40 -0
  488. data/app/services/hyrax/collection_member_service.rb +1 -0
  489. data/app/services/hyrax/collection_types/create_service.rb +1 -0
  490. data/app/services/hyrax/collection_types/permissions_service.rb +9 -5
  491. data/app/services/hyrax/collections/collection_member_service.rb +43 -42
  492. data/app/services/hyrax/collections/managed_collections_service.rb +1 -0
  493. data/app/services/hyrax/collections/migration_service.rb +6 -5
  494. data/app/services/hyrax/collections/nested_collection_persistence_service.rb +3 -2
  495. data/app/services/hyrax/collections/nested_collection_query_service.rb +11 -10
  496. data/app/services/hyrax/collections/permissions_create_service.rb +3 -2
  497. data/app/services/hyrax/collections/permissions_service.rb +3 -2
  498. data/app/services/hyrax/collections/search_service.rb +1 -0
  499. data/app/services/hyrax/collections_service.rb +6 -5
  500. data/app/services/hyrax/contextual_path.rb +1 -0
  501. data/app/services/hyrax/curation_concern.rb +1 -0
  502. data/app/services/hyrax/custom_queries/find_access_control.rb +28 -0
  503. data/app/services/hyrax/custom_queries/find_by_collection_type.rb +0 -0
  504. data/app/services/hyrax/custom_queries/find_collections_by_type.rb +38 -0
  505. data/app/services/hyrax/custom_queries/find_file_metadata.rb +72 -0
  506. data/app/services/hyrax/custom_queries/find_many_by_alternate_ids.rb +33 -0
  507. data/app/services/hyrax/custom_queries/navigators/child_collections_navigator.rb +35 -0
  508. data/app/services/hyrax/custom_queries/navigators/child_filesets_navigator.rb +34 -0
  509. data/app/services/hyrax/custom_queries/navigators/child_works_navigator.rb +38 -0
  510. data/app/services/hyrax/custom_queries/navigators/collection_members.rb +47 -0
  511. data/app/services/hyrax/custom_queries/navigators/find_files.rb +88 -0
  512. data/app/services/hyrax/database_migrator.rb +13 -13
  513. data/app/services/hyrax/default_middleware_stack.rb +1 -6
  514. data/app/services/hyrax/derivative_path.rb +24 -23
  515. data/app/services/hyrax/derivative_service.rb +1 -0
  516. data/app/services/hyrax/embargo_manager.rb +204 -0
  517. data/app/services/hyrax/embargo_service.rb +4 -3
  518. data/app/services/hyrax/file_set_csv_service.rb +2 -0
  519. data/app/services/hyrax/file_set_derivatives_service.rb +61 -60
  520. data/app/services/hyrax/file_set_fixity_check_service.rb +39 -45
  521. data/app/services/hyrax/file_set_visibility_propagator.rb +41 -0
  522. data/app/services/hyrax/fixity/active_fedora_fixity_service.rb +20 -0
  523. data/app/services/hyrax/fixity/missing_content_error.rb +9 -0
  524. data/app/services/hyrax/fixity_check_failure_service.rb +3 -2
  525. data/app/services/hyrax/form_factory.rb +29 -0
  526. data/app/services/hyrax/form_metadata_service.rb +1 -0
  527. data/app/services/hyrax/graph_exporter.rb +54 -53
  528. data/app/services/hyrax/identifier/builder.rb +45 -0
  529. data/app/services/hyrax/identifier/dispatcher.rb +61 -0
  530. data/app/services/hyrax/identifier/registrar.rb +41 -0
  531. data/app/services/hyrax/iiif_authorization_service.rb +4 -3
  532. data/app/services/hyrax/import_url_failure_service.rb +2 -1
  533. data/app/services/hyrax/indexes_thumbnails.rb +2 -1
  534. data/app/services/hyrax/institution.rb +1 -0
  535. data/app/services/hyrax/lease_manager.rb +126 -0
  536. data/app/services/hyrax/lease_service.rb +4 -4
  537. data/app/services/hyrax/license_service.rb +1 -0
  538. data/app/services/hyrax/list_source_exporter.rb +17 -16
  539. data/app/services/hyrax/listeners/acl_index_listener.rb +21 -0
  540. data/app/services/hyrax/listeners/batch_notification_listener.rb +26 -0
  541. data/app/services/hyrax/listeners/file_set_lifecycle_listener.rb +22 -0
  542. data/app/services/hyrax/listeners/file_set_lifecycle_notification_listener.rb +34 -0
  543. data/app/services/hyrax/listeners/metadata_index_listener.rb +23 -0
  544. data/app/services/hyrax/listeners/object_lifecycle_listener.rb +27 -0
  545. data/app/services/hyrax/local_file_service.rb +1 -0
  546. data/app/services/hyrax/lock_manager.rb +1 -0
  547. data/app/services/hyrax/lockable.rb +1 -0
  548. data/app/services/hyrax/manifest_builder_service.rb +88 -0
  549. data/app/services/hyrax/messenger_service.rb +1 -0
  550. data/app/services/hyrax/microdata.rb +22 -21
  551. data/app/services/hyrax/multiple_membership_checker.rb +24 -23
  552. data/app/services/hyrax/noid.rb +4 -3
  553. data/app/services/hyrax/permission_manager.rb +199 -0
  554. data/app/services/hyrax/persist_derivatives.rb +1 -0
  555. data/app/services/hyrax/persist_directly_contained_output_file_service.rb +2 -1
  556. data/app/services/hyrax/qa_select_service.rb +2 -1
  557. data/app/services/hyrax/query_service.rb +0 -0
  558. data/app/services/hyrax/quick_classification_query.rb +21 -9
  559. data/app/services/hyrax/repository_fixity_check_service.rb +1 -0
  560. data/app/services/hyrax/resource_status.rb +60 -0
  561. data/app/services/hyrax/resource_types_service.rb +1 -0
  562. data/app/services/hyrax/resource_visibility_propagator.rb +52 -0
  563. data/app/services/hyrax/restriction_service.rb +14 -13
  564. data/app/services/hyrax/rights_statement_service.rb +1 -0
  565. data/app/services/hyrax/simple_schema_loader.rb +152 -0
  566. data/app/services/hyrax/solr_query_builder_service.rb +72 -0
  567. data/app/services/hyrax/solr_service.rb +154 -0
  568. data/app/services/hyrax/statistics/collections/over_time.rb +4 -3
  569. data/app/services/hyrax/statistics/depositors/summary.rb +24 -23
  570. data/app/services/hyrax/statistics/file_sets/by_format.rb +5 -4
  571. data/app/services/hyrax/statistics/over_time.rb +17 -16
  572. data/app/services/hyrax/statistics/query_service.rb +7 -6
  573. data/app/services/hyrax/statistics/system_stats.rb +9 -8
  574. data/app/services/hyrax/statistics/term_query.rb +8 -12
  575. data/app/services/hyrax/statistics/users/over_time.rb +8 -7
  576. data/app/services/hyrax/statistics/works/by_depositor.rb +4 -3
  577. data/app/services/hyrax/statistics/works/by_resource_type.rb +4 -3
  578. data/app/services/hyrax/statistics/works/count.rb +12 -11
  579. data/app/services/hyrax/statistics/works/over_time.rb +4 -3
  580. data/app/services/hyrax/thumbnail_path_service.rb +33 -31
  581. data/app/services/hyrax/time_service.rb +1 -0
  582. data/app/services/hyrax/user_stat_importer.rb +83 -82
  583. data/app/services/hyrax/versioning_service.rb +75 -19
  584. data/app/services/hyrax/virus_checker_service.rb +53 -0
  585. data/app/services/hyrax/visibility_intention.rb +78 -0
  586. data/app/services/hyrax/visibility_intention_applicator.rb +43 -0
  587. data/app/services/hyrax/visibility_map.rb +65 -0
  588. data/app/services/hyrax/visibility_propagator.rb +20 -0
  589. data/app/services/hyrax/visibility_reader.rb +47 -0
  590. data/app/services/hyrax/visibility_writer.rb +50 -0
  591. data/app/services/hyrax/work_form_service.rb +3 -0
  592. data/app/services/hyrax/work_query_service.rb +14 -13
  593. data/app/services/hyrax/work_thumbnail_path_service.rb +1 -0
  594. data/app/services/hyrax/workflow/abstract_notification.rb +18 -17
  595. data/app/services/hyrax/workflow/action_taken_service.rb +1 -0
  596. data/app/services/hyrax/workflow/activate_object.rb +1 -0
  597. data/app/services/hyrax/workflow/changes_required_notification.rb +13 -10
  598. data/app/services/hyrax/workflow/deactivate_object.rb +1 -0
  599. data/app/services/hyrax/workflow/deposited_notification.rb +12 -10
  600. data/app/services/hyrax/workflow/grant_edit_to_depositor.rb +1 -0
  601. data/app/services/hyrax/workflow/grant_read_to_depositor.rb +1 -0
  602. data/app/services/hyrax/workflow/invalid_state_removal_exception.rb +1 -0
  603. data/app/services/hyrax/workflow/method_generator.rb +18 -17
  604. data/app/services/hyrax/workflow/notification_configuration_parameter.rb +1 -0
  605. data/app/services/hyrax/workflow/notification_generator.rb +26 -25
  606. data/app/services/hyrax/workflow/notification_service.rb +1 -0
  607. data/app/services/hyrax/workflow/pending_review_notification.rb +12 -9
  608. data/app/services/hyrax/workflow/permission_generator.rb +41 -40
  609. data/app/services/hyrax/workflow/permission_query.rb +31 -18
  610. data/app/services/hyrax/workflow/revoke_edit_from_depositor.rb +1 -0
  611. data/app/services/hyrax/workflow/sipity_actions_generator.rb +47 -46
  612. data/app/services/hyrax/workflow/state_machine_generator.rb +53 -52
  613. data/app/services/hyrax/workflow/status_list_service.rb +27 -26
  614. data/app/services/hyrax/workflow/workflow_action_service.rb +29 -28
  615. data/app/services/hyrax/workflow/workflow_factory.rb +33 -27
  616. data/app/services/hyrax/workflow/workflow_importer.rb +58 -44
  617. data/app/services/hyrax/workflow/workflow_permissions_generator.rb +13 -12
  618. data/app/services/hyrax/workflow/workflow_schema.rb +28 -94
  619. data/app/services/hyrax/working_directory.rb +17 -16
  620. data/app/services/hyrax/works/managed_works_service.rb +1 -0
  621. data/app/services/hyrax/works/migration_service.rb +34 -0
  622. data/app/strategies/hyrax/strategies/yaml_strategy.rb +13 -12
  623. data/app/uploaders/hyrax/avatar_uploader.rb +1 -0
  624. data/app/uploaders/hyrax/uploaded_file_uploader.rb +7 -6
  625. data/app/validators/hyrax/has_one_title_validator.rb +1 -0
  626. data/app/values/hyrax/chart_data.rb +14 -13
  627. data/app/views/_masthead.html.erb +3 -2
  628. data/app/views/catalog/_index_list_default.html.erb +3 -3
  629. data/app/views/hyrax/admin/admin_sets/_form.html.erb +6 -5
  630. data/app/views/hyrax/admin/admin_sets/_form_participant_table.html.erb +2 -2
  631. data/app/views/hyrax/admin/admin_sets/_form_participants.html.erb +57 -52
  632. data/app/views/hyrax/admin/admin_sets/_form_visibility.html.erb +5 -4
  633. data/app/views/hyrax/admin/admin_sets/_form_workflow.erb +1 -1
  634. data/app/views/hyrax/admin/admin_sets/_show_actions.html.erb +3 -2
  635. data/app/views/hyrax/admin/admin_sets/index.json.jbuilder +1 -0
  636. data/app/views/hyrax/base/_attribute_rows.html.erb +4 -1
  637. data/app/views/hyrax/base/_attributes.html.erb +3 -3
  638. data/app/views/hyrax/base/_citations.html.erb +4 -4
  639. data/app/views/hyrax/base/_file_manager_actions.html.erb +2 -2
  640. data/app/views/hyrax/base/_file_manager_member_resource_options.html.erb +2 -2
  641. data/app/views/hyrax/base/_form.html.erb +2 -2
  642. data/app/views/hyrax/base/_form_child_work_relationships.html.erb +2 -2
  643. data/app/views/hyrax/base/_form_files.html.erb +13 -11
  644. data/app/views/hyrax/base/_form_member_of_collections.html.erb +2 -2
  645. data/app/views/hyrax/base/_form_permission.html.erb +3 -4
  646. data/app/views/hyrax/base/_form_progress.html.erb +6 -2
  647. data/app/views/hyrax/base/_form_relationships.html.erb +1 -1
  648. data/app/views/hyrax/base/_form_share.html.erb +17 -16
  649. data/app/views/hyrax/base/_form_visibility_component.html.erb +3 -3
  650. data/app/views/hyrax/base/_guts4form.html.erb +0 -1
  651. data/app/views/hyrax/base/_items.html.erb +1 -1
  652. data/app/views/hyrax/base/_metadata.html.erb +2 -3
  653. data/app/views/hyrax/base/_relationships.html.erb +1 -2
  654. data/app/views/hyrax/base/_show_actions.html.erb +31 -24
  655. data/app/views/hyrax/base/_social_media.html.erb +6 -16
  656. data/app/views/hyrax/base/_work_button_row.html.erb +49 -0
  657. data/app/views/hyrax/base/_work_title.erb +13 -18
  658. data/app/views/hyrax/base/_work_type.html.erb +2 -2
  659. data/app/views/hyrax/base/_workflow_actions.html.erb +4 -4
  660. data/app/views/hyrax/base/edit.html.erb +1 -1
  661. data/app/views/hyrax/base/file_manager.html.erb +2 -2
  662. data/app/views/hyrax/base/iiif_viewers/_universal_viewer.html.erb +5 -2
  663. data/app/views/hyrax/base/inspect_work.html.erb +13 -13
  664. data/app/views/hyrax/base/new.html.erb +1 -1
  665. data/app/views/hyrax/base/show.html.erb +26 -12
  666. data/app/views/hyrax/base/show.json.jbuilder +5 -1
  667. data/app/views/hyrax/base/unauthorized.html.erb +4 -4
  668. data/app/views/hyrax/batch_edits/_check_all.html.erb +2 -2
  669. data/app/views/hyrax/batch_edits/_delete_selected.html.erb +1 -1
  670. data/app/views/hyrax/batch_edits/edit.html.erb +11 -11
  671. data/app/views/hyrax/batch_select/_add_button.html.erb +1 -1
  672. data/app/views/hyrax/batch_uploads/_form.html.erb +1 -1
  673. data/app/views/hyrax/citations/work.html.erb +1 -1
  674. data/app/views/hyrax/collections/_list_collections.html.erb +1 -1
  675. data/app/views/hyrax/collections/_media_display.html.erb +1 -1
  676. data/app/views/hyrax/collections/_search_form.html.erb +1 -1
  677. data/app/views/hyrax/collections/_show_descriptions.html.erb +5 -5
  678. data/app/views/hyrax/collections/_show_document_list.html.erb +1 -1
  679. data/app/views/hyrax/collections/_show_document_list_row.html.erb +2 -2
  680. data/app/views/hyrax/collections/_sort_and_per_page.html.erb +6 -6
  681. data/app/views/hyrax/collections/show.html.erb +12 -11
  682. data/app/views/hyrax/contact_form/new.html.erb +1 -3
  683. data/app/views/hyrax/dashboard/_index_partials/_transfers.html.erb +2 -2
  684. data/app/views/hyrax/dashboard/_sidebar.html.erb +1 -1
  685. data/app/views/hyrax/dashboard/collections/_collection_title.html.erb +2 -2
  686. data/app/views/hyrax/dashboard/collections/_default_group.html.erb +1 -1
  687. data/app/views/hyrax/dashboard/collections/_form.html.erb +6 -5
  688. data/app/views/hyrax/dashboard/collections/_form_branding.html.erb +10 -10
  689. data/app/views/hyrax/dashboard/collections/_form_for_select_collection.html.erb +1 -1
  690. data/app/views/hyrax/dashboard/collections/_form_share.html.erb +68 -70
  691. data/app/views/hyrax/dashboard/collections/_list_collections.html.erb +3 -2
  692. data/app/views/hyrax/dashboard/collections/_list_works.html.erb +1 -1
  693. data/app/views/hyrax/dashboard/collections/_show_descriptions.html.erb +4 -4
  694. data/app/views/hyrax/dashboard/collections/_show_document_list.html.erb +6 -6
  695. data/app/views/hyrax/dashboard/collections/_show_document_list_menu.html.erb +1 -1
  696. data/app/views/hyrax/dashboard/collections/_show_document_list_row.html.erb +5 -5
  697. data/app/views/hyrax/dashboard/collections/_sort_and_per_page.html.erb +4 -5
  698. data/app/views/hyrax/dashboard/collections/_work_action_menu.html.erb +8 -8
  699. data/app/views/hyrax/dashboard/collections/show.html.erb +9 -8
  700. data/app/views/hyrax/dashboard/profiles/_edit_primary.html.erb +8 -8
  701. data/app/views/hyrax/dashboard/show_admin.html.erb +8 -8
  702. data/app/views/hyrax/dashboard/show_user.html.erb +4 -4
  703. data/app/views/hyrax/dashboard/sidebar/_activity.html.erb +2 -0
  704. data/app/views/hyrax/dashboard/sidebar/_configuration.html.erb +4 -1
  705. data/app/views/hyrax/dashboard/sidebar/_menu_partials.html.erb +3 -0
  706. data/app/views/hyrax/dashboard/sidebar/_repository_content.html.erb +4 -0
  707. data/app/views/hyrax/dashboard/sidebar/_tasks.html.erb +10 -4
  708. data/app/views/hyrax/dashboard/works/_default_group.html.erb +4 -4
  709. data/app/views/hyrax/dashboard/works/_list_works.html.erb +3 -3
  710. data/app/views/hyrax/depositors/_modal_proxy_deny.html.erb +14 -0
  711. data/app/views/hyrax/depositors/index.html.erb +3 -0
  712. data/app/views/hyrax/embargoes/_list_expired_active_embargoes.html.erb +1 -1
  713. data/app/views/hyrax/file_sets/_actions.html.erb +1 -1
  714. data/app/views/hyrax/file_sets/_asset_deleted_flash.html.erb +1 -1
  715. data/app/views/hyrax/file_sets/_asset_saved_flash.html.erb +5 -6
  716. data/app/views/hyrax/file_sets/_asset_updated_flash.html.erb +2 -1
  717. data/app/views/hyrax/file_sets/_descriptions.html.erb +2 -2
  718. data/app/views/hyrax/file_sets/_extra_fields_modal.html.erb +3 -3
  719. data/app/views/hyrax/file_sets/_form.html.erb +1 -1
  720. data/app/views/hyrax/file_sets/_permission.html.erb +2 -1
  721. data/app/views/hyrax/file_sets/_permission_form.html.erb +12 -12
  722. data/app/views/hyrax/file_sets/_show_actions.html.erb +6 -4
  723. data/app/views/hyrax/file_sets/_show_details.html.erb +7 -7
  724. data/app/views/hyrax/file_sets/_single_use_link_rows.html.erb +1 -1
  725. data/app/views/hyrax/file_sets/_versioning.html.erb +56 -10
  726. data/app/views/hyrax/file_sets/edit.html.erb +5 -4
  727. data/app/views/hyrax/file_sets/media_display/_audio.html.erb +2 -2
  728. data/app/views/hyrax/file_sets/media_display/_video.html.erb +2 -2
  729. data/app/views/hyrax/file_sets/proxy.html.erb +2 -2
  730. data/app/views/hyrax/file_sets/show.json.jbuilder +1 -0
  731. data/app/views/hyrax/homepage/_announcement.html.erb +2 -2
  732. data/app/views/hyrax/homepage/_explore_collections.html.erb +1 -1
  733. data/app/views/hyrax/homepage/_featured_fields.html.erb +1 -1
  734. data/app/views/hyrax/homepage/_home_content.html.erb +8 -8
  735. data/app/views/hyrax/homepage/_marketing.html.erb +1 -1
  736. data/app/views/hyrax/homepage/_recent_document.html.erb +1 -1
  737. data/app/views/hyrax/homepage/_sortable_featured.html.erb +1 -0
  738. data/app/views/hyrax/homepage/index.html.erb +21 -23
  739. data/app/views/hyrax/my/_sort_and_per_page.html.erb +1 -1
  740. data/app/views/hyrax/my/collections/_default_group.html.erb +1 -1
  741. data/app/views/hyrax/my/collections/_list_collections.html.erb +3 -2
  742. data/app/views/hyrax/my/collections/_modal_add_subcollection.html.erb +1 -1
  743. data/app/views/hyrax/my/collections/_modal_delete_selected_collections.html.erb +4 -1
  744. data/app/views/hyrax/my/collections/_tabs.html.erb +3 -4
  745. data/app/views/hyrax/my/collections/index.html.erb +1 -1
  746. data/app/views/hyrax/my/index.html.erb +1 -1
  747. data/app/views/hyrax/my/works/_default_group.html.erb +4 -4
  748. data/app/views/hyrax/my/works/_list_works.html.erb +5 -5
  749. data/app/views/hyrax/my/works/_tabs.html.erb +1 -1
  750. data/app/views/hyrax/my/works/index.html.erb +1 -1
  751. data/app/views/hyrax/notifications/index.html.erb +1 -1
  752. data/app/views/hyrax/operations/index.html.erb +4 -4
  753. data/app/views/hyrax/pages/_form.html.erb +61 -60
  754. data/app/views/hyrax/permissions/confirm_access.html.erb +1 -1
  755. data/app/views/hyrax/single_use_links_viewer/single_use_error.html.erb +3 -7
  756. data/app/views/hyrax/static/mendeley.html.erb +2 -4
  757. data/app/views/hyrax/static/zotero.html.erb +2 -4
  758. data/app/views/hyrax/transfers/_received.html.erb +10 -10
  759. data/app/views/hyrax/transfers/_sent.html.erb +6 -6
  760. data/app/views/hyrax/uploads/_js_templates.html.erb +7 -7
  761. data/app/views/hyrax/uploads/_js_templates_branding.html.erb +8 -8
  762. data/app/views/hyrax/uploads/_js_templates_versioning.html.erb +172 -0
  763. data/app/views/hyrax/uploads/create.json.jbuilder +1 -0
  764. data/app/views/hyrax/users/_activity_log.html.erb +25 -22
  765. data/app/views/hyrax/users/_left_sidebar.html.erb +1 -1
  766. data/app/views/hyrax/users/_profile_tabs.html.erb +1 -1
  767. data/app/views/hyrax/users/_proxies.html.erb +1 -1
  768. data/app/views/hyrax/users/_search_form.html.erb +3 -3
  769. data/app/views/hyrax/users/_vitals.html.erb +3 -3
  770. data/app/views/hyrax/users/index.html.erb +6 -6
  771. data/app/views/hyrax/users/index.json.jbuilder +1 -0
  772. data/app/views/layouts/hyrax.html.erb +17 -3
  773. data/app/views/records/edit_fields/_abstract.html.erb +5 -0
  774. data/app/views/records/edit_fields/_access_right.html.erb +5 -0
  775. data/app/views/records/show_fields/_based_near.html.erb +1 -1
  776. data/app/views/records/show_fields/_creator.html.erb +1 -1
  777. data/app/views/records/show_fields/_keyword.html.erb +1 -1
  778. data/app/views/records/show_fields/_language.html.erb +1 -1
  779. data/app/views/records/show_fields/_publisher.html.erb +1 -1
  780. data/app/views/records/show_fields/_resource_type.html.erb +1 -1
  781. data/app/views/records/show_fields/_subject.html.erb +1 -1
  782. data/app/views/shared/_citations.html.erb +17 -0
  783. data/app/views/shared/_nav_safety_modal.html.erb +1 -0
  784. data/config/features.rb +6 -5
  785. data/config/initializers/1_healthz.rb +33 -0
  786. data/config/initializers/indexing_adapter_initializer.rb +14 -0
  787. data/config/initializers/listeners.rb +43 -0
  788. data/config/initializers/{samvera-nesting_indexer_initializer.rb → nesting_indexer_initializer.rb} +5 -5
  789. data/config/initializers/simple_form.rb +1 -0
  790. data/config/initializers/valkyrie_id_equality.rb +3 -0
  791. data/config/locales/hyrax.de.yml +382 -50
  792. data/config/locales/hyrax.en.yml +387 -2
  793. data/config/locales/hyrax.es.yml +340 -1
  794. data/config/locales/hyrax.fr.yml +339 -0
  795. data/config/locales/hyrax.it.yml +339 -0
  796. data/config/locales/hyrax.pt-BR.yml +350 -11
  797. data/config/locales/hyrax.zh.yml +339 -0
  798. data/config/metadata/basic_metadata.yaml +113 -0
  799. data/config/metadata/core_metadata.yaml +17 -0
  800. data/config/routes.rb +1 -0
  801. data/hyrax.gemspec +21 -18
  802. data/lib/generators/hyrax/arkivo_api_generator.rb +1 -0
  803. data/lib/generators/hyrax/assets_generator.rb +4 -3
  804. data/lib/generators/hyrax/clamav_generator.rb +1 -0
  805. data/lib/generators/hyrax/collection_generator.rb +1 -0
  806. data/lib/generators/hyrax/config_generator.rb +7 -0
  807. data/lib/generators/hyrax/health_check_generator.rb +14 -0
  808. data/lib/generators/hyrax/install_generator.rb +11 -0
  809. data/lib/generators/hyrax/models_generator.rb +4 -3
  810. data/lib/generators/hyrax/riiif_generator.rb +3 -2
  811. data/lib/generators/hyrax/sample_data_generator.rb +1 -0
  812. data/lib/generators/hyrax/templates/app/models/collection.rb +1 -0
  813. data/lib/generators/hyrax/templates/app/models/file_set.rb +1 -0
  814. data/lib/generators/hyrax/templates/catalog_controller.rb +77 -75
  815. data/lib/generators/hyrax/templates/config/action_dispatch_http_upload_monkey_patch.rb +1 -0
  816. data/lib/generators/hyrax/templates/config/analytics.yml +5 -5
  817. data/lib/generators/hyrax/templates/config/arkivo_constraint.rb +1 -0
  818. data/lib/generators/hyrax/templates/config/clamav.rb +1 -0
  819. data/lib/generators/hyrax/templates/config/initializers/hyrax.rb +23 -3
  820. data/lib/generators/hyrax/templates/config/initializers/mini_magick.rb +1 -0
  821. data/lib/generators/hyrax/templates/config/initializers/redis_config.rb +1 -0
  822. data/lib/generators/hyrax/templates/config/initializers/riiif.rb +6 -5
  823. data/lib/generators/hyrax/templates/config/initializers/simple_form.rb +1 -0
  824. data/lib/generators/hyrax/templates/config/initializers/simple_form_bootstrap.rb +1 -0
  825. data/lib/generators/hyrax/templates/config/locales/hyrax.pt-BR.yml +10 -10
  826. data/lib/generators/hyrax/templates/config/mime_types.rb +1 -0
  827. data/lib/generators/hyrax/templates/config/redis.yml +6 -6
  828. data/lib/generators/hyrax/templates/config/solr_wrapper_valkyrie_test.yml +7 -0
  829. data/lib/generators/hyrax/templates/config/valkyrie_index.yml +12 -0
  830. data/lib/generators/hyrax/templates/db/migrate/20180612002029_update_single_use_links_column_names.rb.erb +6 -0
  831. data/lib/generators/hyrax/templates/db/migrate/20200617002029_change_sipity_entity_specific_responsibility.rb.erb +9 -0
  832. data/lib/generators/hyrax/templates/db/seeds.rb +1 -0
  833. data/lib/generators/hyrax/templates/hyrax.scss +1 -0
  834. data/lib/generators/hyrax/templates/hyrax_helper.rb +1 -0
  835. data/lib/generators/hyrax/templates/package.json +17 -0
  836. data/lib/generators/hyrax/templates/spec/models/collection_spec.rb +1 -0
  837. data/lib/generators/hyrax/templates/spec/models/file_set_spec.rb +1 -0
  838. data/lib/generators/hyrax/templates/uv-config.json +3 -0
  839. data/lib/generators/hyrax/templates/uv.html +87 -0
  840. data/lib/generators/hyrax/work/USAGE +10 -5
  841. data/lib/generators/hyrax/work/templates/feature_spec.rb.erb +1 -2
  842. data/lib/generators/hyrax/work/templates/locale.pt-BR.yml.erb +1 -1
  843. data/lib/generators/hyrax/work/work_generator.rb +15 -14
  844. data/lib/generators/hyrax/work_resource/USAGE +17 -0
  845. data/lib/generators/hyrax/work_resource/templates/controller.rb.erb +22 -0
  846. data/lib/generators/hyrax/work_resource/templates/form.rb.erb +20 -0
  847. data/lib/generators/hyrax/work_resource/templates/indexer.rb.erb +16 -0
  848. data/lib/generators/hyrax/work_resource/templates/indexer_spec.rb.erb +12 -0
  849. data/lib/generators/hyrax/work_resource/templates/metadata.yaml +22 -0
  850. data/lib/generators/hyrax/work_resource/templates/work.html.erb_spec.rb.erb +6 -0
  851. data/lib/generators/hyrax/work_resource/templates/work.rb.erb +8 -0
  852. data/lib/generators/hyrax/work_resource/templates/work_spec.rb.erb +12 -0
  853. data/lib/generators/hyrax/work_resource/work_resource_generator.rb +112 -0
  854. data/lib/hyrax.rb +60 -2
  855. data/lib/hyrax/arkivo.rb +1 -0
  856. data/lib/hyrax/arkivo/actor.rb +49 -48
  857. data/lib/hyrax/arkivo/config.rb +1 -0
  858. data/lib/hyrax/arkivo/create_subscription_job.rb +31 -30
  859. data/lib/hyrax/arkivo/metadata_munger.rb +20 -19
  860. data/lib/hyrax/arkivo/schema_validator.rb +1 -0
  861. data/lib/hyrax/callbacks.rb +1 -0
  862. data/lib/hyrax/callbacks/registry.rb +20 -3
  863. data/lib/hyrax/collection_name.rb +15 -0
  864. data/lib/hyrax/configuration.rb +124 -27
  865. data/lib/hyrax/controlled_vocabularies.rb +1 -0
  866. data/lib/hyrax/controlled_vocabularies/location.rb +1 -0
  867. data/lib/hyrax/controlled_vocabulary/importer/downloader.rb +1 -0
  868. data/lib/hyrax/controlled_vocabulary/importer/language.rb +2 -1
  869. data/lib/hyrax/controller_resource.rb +5 -4
  870. data/lib/hyrax/engine.rb +27 -15
  871. data/lib/hyrax/errors.rb +5 -0
  872. data/lib/hyrax/event_store.rb +81 -0
  873. data/lib/hyrax/form_fields.rb +55 -0
  874. data/lib/hyrax/health_checks.rb +4 -0
  875. data/lib/hyrax/health_checks/solr_check.rb +24 -0
  876. data/lib/hyrax/indexer.rb +27 -0
  877. data/lib/hyrax/inflections.rb +1 -0
  878. data/lib/hyrax/model_decorator.rb +31 -0
  879. data/lib/hyrax/move_all_works_to_admin_set.rb +1 -0
  880. data/lib/hyrax/name.rb +2 -1
  881. data/lib/hyrax/publisher.rb +64 -0
  882. data/lib/hyrax/rails/routes.rb +24 -28
  883. data/lib/hyrax/redis_event_store.rb +25 -12
  884. data/lib/hyrax/resource_name.rb +18 -0
  885. data/lib/hyrax/resource_sync.rb +1 -0
  886. data/lib/hyrax/resource_sync/capability_list_writer.rb +15 -14
  887. data/lib/hyrax/resource_sync/change_list_writer.rb +58 -58
  888. data/lib/hyrax/resource_sync/resource_list_writer.rb +46 -45
  889. data/lib/hyrax/resource_sync/source_description_writer.rb +11 -10
  890. data/lib/hyrax/role_registry.rb +7 -6
  891. data/lib/hyrax/schema.rb +92 -0
  892. data/lib/hyrax/search_state.rb +1 -0
  893. data/lib/hyrax/specs/shared_specs.rb +4 -0
  894. data/lib/hyrax/specs/shared_specs/factories/strategies/valkyrie_resource.rb +32 -0
  895. data/lib/hyrax/specs/shared_specs/hydra_works.rb +292 -0
  896. data/lib/hyrax/specs/shared_specs/identifiers.rb +27 -0
  897. data/lib/hyrax/specs/shared_specs/indexers.rb +175 -0
  898. data/lib/hyrax/specs/shared_specs/metadata.rb +30 -0
  899. data/lib/hyrax/specs/spy_listener.rb +39 -0
  900. data/lib/hyrax/transactions.rb +2 -7
  901. data/lib/hyrax/transactions/apply_change_set.rb +47 -0
  902. data/lib/hyrax/transactions/container.rb +75 -3
  903. data/lib/hyrax/transactions/create_work.rb +16 -1
  904. data/lib/hyrax/transactions/destroy_work.rb +25 -0
  905. data/lib/hyrax/transactions/steps/add_to_collections.rb +36 -0
  906. data/lib/hyrax/transactions/steps/apply_collection_permission_template.rb +32 -0
  907. data/lib/hyrax/transactions/steps/apply_permission_template.rb +2 -1
  908. data/lib/hyrax/transactions/steps/apply_visibility.rb +39 -0
  909. data/lib/hyrax/transactions/steps/destroy_work.rb +24 -0
  910. data/lib/hyrax/transactions/steps/ensure_admin_set.rb +5 -5
  911. data/lib/hyrax/transactions/steps/save.rb +45 -0
  912. data/lib/hyrax/transactions/steps/set_default_admin_set.rb +10 -9
  913. data/lib/hyrax/transactions/steps/set_modified_date.rb +16 -7
  914. data/lib/hyrax/transactions/steps/set_uploaded_date_unless_present.rb +58 -0
  915. data/lib/hyrax/transactions/steps/set_user_as_depositor.rb +41 -0
  916. data/lib/hyrax/transactions/steps/validate.rb +36 -0
  917. data/lib/hyrax/transactions/transaction.rb +161 -0
  918. data/lib/hyrax/transactions/update_work.rb +16 -0
  919. data/lib/hyrax/transactions/work_create.rb +24 -0
  920. data/lib/hyrax/valkyrie_can_can_adapter.rb +25 -0
  921. data/lib/hyrax/version.rb +2 -1
  922. data/lib/hyrax/zotero.rb +1 -0
  923. data/lib/hyrax/zotero/config.rb +1 -0
  924. data/lib/tasks/controlled_vocabularies.rake +1 -0
  925. data/lib/tasks/default_admin_set.rake +1 -0
  926. data/lib/tasks/default_collection_type.rake +1 -0
  927. data/lib/tasks/hyrax.rake +1 -0
  928. data/lib/tasks/hyrax_user.rake +1 -0
  929. data/lib/tasks/install.rake +1 -0
  930. data/lib/tasks/migrate.rake +7 -0
  931. data/lib/tasks/reindex.rake +1 -0
  932. data/lib/tasks/stats_tasks.rake +1 -0
  933. data/lib/tasks/universal_viewer.rake +16 -0
  934. data/lib/tasks/workflow.rake +1 -0
  935. data/lib/valkyrie/indexing/null_indexing_adapter.rb +31 -0
  936. data/lib/valkyrie/indexing/solr/indexing_adapter.rb +97 -0
  937. data/lib/valkyrie/indexing_adapter.rb +29 -0
  938. data/lib/wings.rb +134 -0
  939. data/lib/wings/active_fedora_classifier.rb +16 -0
  940. data/lib/wings/active_fedora_converter.rb +217 -0
  941. data/lib/wings/attribute_transformer.rb +30 -0
  942. data/lib/wings/converter_value_mapper.rb +197 -0
  943. data/lib/wings/hydra/pcdm/models/concerns/collection_valkyrie_behavior.rb +28 -0
  944. data/lib/wings/hydra/pcdm/models/concerns/object_valkyrie_behavior.rb +28 -0
  945. data/lib/wings/hydra/pcdm/models/concerns/pcdm_valkyrie_behavior.rb +171 -0
  946. data/lib/wings/hydra/works/models/concerns/collection_valkyrie_behavior.rb +31 -0
  947. data/lib/wings/hydra/works/models/concerns/file_set_valkyrie_behavior.rb +31 -0
  948. data/lib/wings/hydra/works/models/concerns/work_valkyrie_behavior.rb +60 -0
  949. data/lib/wings/hydra/works/services/add_file_to_file_set.rb +57 -0
  950. data/lib/wings/model_registry.rb +54 -0
  951. data/lib/wings/model_transformer.rb +169 -0
  952. data/lib/wings/models/concerns/collection_behavior.rb +39 -0
  953. data/lib/wings/models/multi_checksum.rb +18 -0
  954. data/lib/wings/orm_converter.rb +102 -0
  955. data/lib/wings/services/custom_queries/find_access_control.rb +42 -0
  956. data/lib/wings/services/custom_queries/find_collections_by_type.rb +27 -0
  957. data/lib/wings/services/custom_queries/find_file_metadata.rb +90 -0
  958. data/lib/wings/services/custom_queries/find_many_by_alternate_ids.rb +35 -0
  959. data/lib/wings/services/file_converter_service.rb +68 -0
  960. data/lib/wings/services/file_metadata_builder.rb +90 -0
  961. data/lib/wings/services/id_converter_service.rb +15 -0
  962. data/lib/wings/setup.rb +49 -0
  963. data/lib/wings/transformer_value_mapper.rb +78 -0
  964. data/lib/wings/valkyrie/metadata_adapter.rb +29 -0
  965. data/lib/wings/valkyrie/persister.rb +113 -0
  966. data/lib/wings/valkyrie/query_service.rb +176 -0
  967. data/lib/wings/valkyrie/resource_factory.rb +45 -0
  968. data/lib/wings/valkyrie/storage/active_fedora.rb +27 -0
  969. data/lib/wings/valkyrizable.rb +24 -0
  970. data/tasks/hyrax_dev.rake +4 -1
  971. data/template.rb +2 -1
  972. metadata +332 -114
  973. data/app/presenters/hyrax/collection_options_presenter.rb +0 -31
  974. data/app/services/hyrax/collection_size_service.rb +0 -52
  975. data/config/initializers/hyrax_callbacks.rb +0 -43
  976. data/lib/hyrax/transactions/steps/set_uploaded_date.rb +0 -28
@@ -18,9 +18,11 @@ en:
18
18
  fields:
19
19
  facet:
20
20
  admin_set_sim: Admin Set
21
+ collection_type_gid_ssim: Collection Type
21
22
  member_of_collections_ssim: Collection
22
23
  resource_type_sim: Resource type
23
24
  suppressed_bsi: Status
25
+ visibility_ssi: Visibility
24
26
  show:
25
27
  admin_set: 'In Administrative Set:'
26
28
  based_near_label: Location
@@ -38,6 +40,7 @@ en:
38
40
  extension_whitelist_error: 'You are not allowed to upload %{extension} files, allowed types: %{allowed_types}'
39
41
  helpers:
40
42
  action:
43
+ accept: Accept
41
44
  add: Add
42
45
  admin_set:
43
46
  new: Create new administrative set
@@ -265,6 +268,7 @@ en:
265
268
  collections: Collections
266
269
  configuration: Configuration
267
270
  content_blocks: Content Blocks
271
+ delete_all: Delete All
268
272
  notifications: Notifications
269
273
  pages: Pages
270
274
  profile: Profile
@@ -279,6 +283,7 @@ en:
279
283
  workflow_review: Review Submissions
280
284
  workflow_roles: Workflow Roles
281
285
  works: Works
286
+ works_listing: Works listing
282
287
  stats:
283
288
  deposited_form:
284
289
  end_label: end [defaults to now]
@@ -346,11 +351,33 @@ en:
346
351
  default: The resource you attempted to modify cannot be modified according to your request.
347
352
  background_attribution_html: ''
348
353
  base:
354
+ attributes:
355
+ table_attribute_name: Attribute Name
356
+ table_heading_attributes: Attributes
357
+ table_values: Value
358
+ visibility: Visibility
349
359
  citations:
360
+ citations: Citations
361
+ endnote: EndNote
350
362
  header: 'Citations:'
363
+ mendeley: Mendeley
364
+ zotero: Zotero
365
+ file_manager:
366
+ back_to: Back to
367
+ toolbar: Toolbar
368
+ file_manager_actions:
369
+ save: Save
370
+ sort_alphabetically: Sort alphabetically
371
+ file_manager_member_resource_options:
372
+ representative_media: Representative Media
373
+ thumbnail: Thumbnail
374
+ form:
375
+ batch_link: Batch upload
376
+ batch_upload_hint: To create a separate work for each of the files, go to
351
377
  form_child_work_relationships:
352
378
  actions:
353
379
  remove: Remove from this work
380
+ add: Add
354
381
  attach_new_work: Deposit new work as child of this work
355
382
  caption: This work currently contains these child works
356
383
  confirm:
@@ -361,6 +388,9 @@ en:
361
388
  actions: Action
362
389
  title: Work title
363
390
  form_files:
391
+ add_files: Add files...
392
+ add_folder: Add folder...
393
+ cancel_upload: Cancel upload
364
394
  dropzone: Drop files here.
365
395
  local_upload_browse_everything_html: |
366
396
  <p>You can add one or more files to associate with this work. Add files
@@ -373,6 +403,7 @@ en:
373
403
  form_member_of_collections:
374
404
  actions:
375
405
  remove: Remove from collection
406
+ add: Add
376
407
  caption: This work is currently in these collections
377
408
  confirm:
378
409
  cancel: Cancel
@@ -381,6 +412,8 @@ en:
381
412
  header:
382
413
  actions: Action
383
414
  title: Collection title
415
+ form_permission:
416
+ visibility: Visibility <small>Who should be able to view or download this content?</small>
384
417
  form_permission_under_embargo:
385
418
  help_html: "<strong>This work is under embargo.</strong> You can change the settings of the embargo here, or you can visit the %{edit_link} to deactivate it."
386
419
  legend_html: Visibility <small>Who should be able to view or download this content?</small>
@@ -390,10 +423,13 @@ en:
390
423
  legend_html: Visibility <small>Who should be able to view or download this content?</small>
391
424
  management_page: Lease Management Page
392
425
  form_progress:
426
+ proxy_depositors: Proxy Depositors - Select the user on whose behalf you are depositing
393
427
  required_agreement: Check deposit agreement
394
428
  required_descriptions: Describe your work
395
429
  required_files: Add files
396
430
  requirements: Requirements
431
+ saving_your_work: Saving your work. This may take a few moments
432
+ yourself: Yourself
397
433
  form_rendering:
398
434
  help_html: Select file(s) to be offered as a download for every image in Universal Viewer, for example a PDF of the whole work.
399
435
  legend_html: Rendering
@@ -401,12 +437,36 @@ en:
401
437
  help_html: Select the file with media that represents this work.
402
438
  legend_html: Representative Media
403
439
  form_share:
440
+ access_type_to_grant: Access type to grant
441
+ account_label_without_suffix: "%{account_label} (without the %{suffix} part)"
404
442
  add_sharing: Add Sharing
443
+ add_this_group_html: Add<span class="sr-only"> this group</span>
405
444
  currently_sharing: Currently Shared With
445
+ depositor: Depositor
406
446
  directions: Regardless of the visibility settings for this work, you can also share it with other users and groups.
447
+ group: Group
448
+ permissions_save_note_html: Permissions are <strong>not</strong> saved until the &quot;Save&quot; button is pressed at the bottom of the page.
449
+ use_add_button: Use the add button to give access to one %{account_label} at a time (it will be added to the list below). Select the user, by name or %{account_label} \. Then select the access level you wish to grant and click on Add this %{account_label} to complete adding the permission.
407
450
  form_thumbnail:
408
451
  help_html: Select the file to be used as the thumbnail for this work.
409
452
  legend_html: Thumbnail
453
+ form_visibility_component:
454
+ visibility: Visibility
455
+ inspect_work:
456
+ back_to: Back to
457
+ entity_id: Entity ID
458
+ id: ID
459
+ name: Name
460
+ object_name: Object Name
461
+ persistence: Persistence
462
+ processing_entity_id: Processing Entity ID
463
+ proxy_for: Proxy for
464
+ roles: Roles
465
+ state: State
466
+ state_name: State Name
467
+ users: Users
468
+ workflow: Workflow
469
+ workflow_comments: Workflow Comments
410
470
  items:
411
471
  actions: Actions
412
472
  date_uploaded: Date Uploaded
@@ -426,16 +486,66 @@ en:
426
486
  definitions_html: "<strong>View/Download:</strong> this file (both contents and metadata) is accessible from within %{application_name}.<br /> <strong>Edit:</strong> this file (both contents and metadata) can be edited. You may only grant this permission to %{institution_name} users and/or groups."
427
487
  share_with_html: You may grant &quot;View/Download&quot; or &quot;Edit&quot; access for specific users and/or groups to files. Enter a valid %{account_name}, one at a time, select the access level for that user, and click +Add.
428
488
  show:
489
+ items: Items
429
490
  last_modified: Last modified
491
+ relationships: Relations
492
+ show_actions:
493
+ analytics: Analytics
494
+ attach_child: Attach Child
495
+ confirm_delete: Delete this %{work_type}?
496
+ delete: Delete
497
+ edit: Edit
498
+ feature: Feature
499
+ unfeature: Unfeature
430
500
  social_media:
431
501
  facebook: Facebook
502
+ facebook_share: Share on Facebook
432
503
  google: Google+
504
+ google_share: Share on Google+
433
505
  tumblr: Tumblr
506
+ tumblr_share: Share on Tumblr
434
507
  twitter: Twitter
508
+ twitter_share: Share on Twitter
509
+ unauthorized:
510
+ id: 'ID: %{id}'
511
+ is_private: The %{type} you have tried to access is private
512
+ page_is_private: The page you have tried to access is private
513
+ unauthorized: Unauthorized
514
+ work_button_row:
515
+ analytics: Analytics
516
+ attach: Attach %{type}
517
+ delete: Delete
518
+ delete_type: Delete this %{type}?
519
+ edit: Edit
520
+ feature: Feature
521
+ unfeature: Unfeature
522
+ workflow_actions:
523
+ actions: Actions
524
+ previous_comments: Previous Comments
525
+ review_comment: Review Comment
526
+ title: Review and Approval
527
+ base/unauthorized:
528
+ is_private: The %{type} you have tried to access is private
529
+ unauthorized: Unauthorized
435
530
  batch:
436
531
  help:
437
532
  resource_type: You may select multiple types to apply to all files
438
533
  title: Filename will be the default title. Please provide a more meaningful title, and filenames will still be preserved by the system.
534
+ batch_edits:
535
+ check_all:
536
+ select_to_access_selection_options: Select to access selection option
537
+ delete_selected:
538
+ button_label: Delete Selected
539
+ deleting_file_from: Deleting a file from %{application_name} is permanent. Click OK to delete this file from %{application_name}, or Cancel to cancel this operation
540
+ edit:
541
+ apply_changes_to: 'Changes will be applied to: (%{x_number_of} works)'
542
+ batch_edit_descriptions: Batch Edit Descriptions &nbsp;&nbsp;&nbsp;<small>Click on labels below to edit work descriptions.</small>
543
+ clear_batch: Clear Batch
544
+ descriptions: Descriptions
545
+ descriptions_title: 'Descriptions:'
546
+ permissions: Permissions
547
+ sharing: Sharing
548
+ visibility: Visibility
439
549
  batch_uploads:
440
550
  disabled: Feature disabled by administrator
441
551
  files:
@@ -451,6 +561,9 @@ en:
451
561
  header: Save Works
452
562
  bread_crumb:
453
563
  search_results: Back to search results
564
+ citations:
565
+ work:
566
+ citation_formats: Citation Formats
454
567
  collection:
455
568
  actions:
456
569
  add_existing_works:
@@ -481,12 +594,14 @@ en:
481
594
  desc: Add existing collections to this collection
482
595
  modal_title: Add this Collection Within Another Collection
483
596
  select_label: Select collection
597
+ also_belongs_to: This work also belongs to
484
598
  browse_view: Browse View
485
599
  document_list:
486
600
  edit: Edit
487
601
  no_visible_works: The collection is either empty or does not contain items to which you have access.
488
602
  edit:
489
603
  manage_items: Manage Items in this Collection
604
+ edit_view: Edit View
490
605
  form:
491
606
  additional_fields: Additional fields
492
607
  description: Descriptions
@@ -515,6 +630,7 @@ en:
515
630
  buttons:
516
631
  remove_from_collection: Remove
517
632
  remove_this_sub_collection: Remove
633
+ item_count: Item
518
634
  no_visible_parent_collections: There are no visible parent collections.
519
635
  no_visible_subcollections: There are no visible subcollections.
520
636
  parent_collection_header: Parent Collections
@@ -522,6 +638,10 @@ en:
522
638
  show_more_parent_collections: show more...
523
639
  subcollection_count: Subcollections
524
640
  works_in_collection: Works
641
+ sort_and_per_page:
642
+ number_of_results_to_display_per_page: Number of results to display per page
643
+ results_per_page: 'Results per page:'
644
+ sort_by_html: "<span>Sort by:</span>"
525
645
  contact_form:
526
646
  button_label: Send
527
647
  email_label: Your Email
@@ -584,15 +704,22 @@ en:
584
704
  relationships: Relationships
585
705
  sharing: Sharing
586
706
  form_branding:
707
+ alt_text: 'Alt Text:'
587
708
  banner:
588
709
  description: An image to be displayed at the top of the collection page. For best results, upload an image (JPG, GIF or PNG) that is at least 120 pixels tall and 1200 pixels wide.
589
710
  label: Banner
590
711
  branding:
591
712
  description: Optionally, you can upload a banner image and/or logo images to associate with this collection. If uploaded, these images will be displayed at the top of the collection page to provide unique branding for the collection.
592
713
  label: Branding
714
+ choose_file: Choose File
715
+ link_url: 'Link URL:'
593
716
  logo:
594
717
  description: One or more images to be displayed at the top of the collection page. For best results, upload an image (JPG, GIF or PNG) that is 40 pixels in height. Larger images will be resized to 40 pixels in height.
595
718
  label: Logo
719
+ previous: Previous
720
+ remove: Remove
721
+ remove_current_banner: Remove Current Banner
722
+ remove_logo: Remove Logo
596
723
  form_discovery:
597
724
  para1: These settings determine who is able to discover and view this collection's landing page; they do not affect the visibility of items in the collection.
598
725
  para2: If you chose not to make this collection open access, you can still share the collection with specific users and groups using the Sharing tab.
@@ -619,7 +746,13 @@ en:
619
746
  add_sharing: Add Sharing
620
747
  add_user: Add user
621
748
  current_shared: Currently Shared With
749
+ depositor: Depositor
750
+ manager: Manager
622
751
  note: Regardless of the visibility settings of this collection, you can share this collection with specific groups and users.
752
+ search_for_a_group: Search for a group...
753
+ search_for_a_user: Search for a user...
754
+ select_a_role: Select a role...
755
+ viewer: Viewer
623
756
  form_share_table:
624
757
  allow_all_registered: Allow all registered
625
758
  depositors:
@@ -660,6 +793,32 @@ en:
660
793
  show_less_parent_collections: "...show less"
661
794
  show_more_parent_collections: show more...
662
795
  subcollection_count: Subcollections
796
+ show_descriptions:
797
+ descriptions: Descriptions
798
+ show_document_list:
799
+ action: Action
800
+ date_added: Date added
801
+ list_items_in_collection: List of items in this collection
802
+ owner: Owner
803
+ title: Title
804
+ visibility: Visibility
805
+ show_document_list_menu:
806
+ select: Select
807
+ show_document_list_row:
808
+ creator: 'Creator:'
809
+ depositor: 'Depositor:'
810
+ edit_access: 'Edit Access:'
811
+ sort_and_per_page:
812
+ show_par_page_html: Show %{select} per page
813
+ sort_by: 'Sort By:'
814
+ work_action_menu:
815
+ delete_work: Delete Work
816
+ deleting_from_work: Deleting a work from %{application_name} is permanent. Click OK to delete this work from %{application_name}, or Cancel to cancel this operation
817
+ edit_work: Edit Work
818
+ press_to: Press to
819
+ remove_from_collection: Remove from collection
820
+ select_an_action: Select an action
821
+ transfer_ownership_of_work: Transfer Ownership of Work
663
822
  create_work: Create Work
664
823
  current_proxies: Current Proxies
665
824
  delete_notification: Delete Notification
@@ -683,6 +842,8 @@ en:
683
842
  collection_update_success: Collection was successfully updated.
684
843
  collections_confirmation_html: Deleting <span class='pluralized'>this collection</span> will permanently remove <span class='pluralized'>this collection</span> from the repository. Items in <span class='pluralized'>this collection</span> will remain in the repository. Are you sure you want to delete <span class='pluralized'>this collection</span>?
685
844
  collections_confirmation_no_items_html: Are you sure you want to delete this collection? This action cannot be undone.
845
+ collections_confirmation_plural: these collections
846
+ collections_confirmation_singular: this collection
686
847
  delete_admin_set: Delete collection
687
848
  delete_admin_set_deny: This collection is defined as Admin Set and is not empty. To delete this Admin Set, you must first remove (delete or move to another Admin Set collection) all items from the Admin Set.
688
849
  delete_collection: Delete collection
@@ -725,6 +886,7 @@ en:
725
886
  heading:
726
887
  access: Access
727
888
  action: Actions
889
+ caption: List of items in this collection
728
890
  collection_type: Collection Type
729
891
  date_modified: Last Modified
730
892
  date_uploaded: Date Added
@@ -734,6 +896,10 @@ en:
734
896
  title: Title
735
897
  type: Type
736
898
  visibility: Visibility
899
+ collection:
900
+ visibility: Visibility of Collection
901
+ work:
902
+ visibility: Visibility of Work
737
903
  highlighted: My Highlights
738
904
  shared: Works Shared with Me
739
905
  sr:
@@ -741,9 +907,11 @@ en:
741
907
  check_all_label: Select all files to be added to a collection or edited
742
908
  detail_label: Display summary details of
743
909
  listing: Listing of items you have deposited in
910
+ number_of_results_to_display_per_page: Number of results to display per page
744
911
  press_to: Press to
745
912
  results_per_page: Number of results to display per page
746
913
  show_label: Display all details of
914
+ thumbnail: thumbnail
747
915
  works: Works
748
916
  your_collections: Your Collections
749
917
  your_works: Your Works
@@ -756,7 +924,19 @@ en:
756
924
  no_proxies: There are no proxies assigned
757
925
  no_transfer_requests: You haven't received any work transfer requests
758
926
  no_transfers: You haven't transferred any work
927
+ profiles:
928
+ edit_primary:
929
+ change_picture: <i class="glyphicon glyphicon-camera"></i> Change picture
930
+ delete_picture: Delete picture
931
+ delete_picture_data_content: If you would like to remove your picture entirely, check the box and save your profile.
932
+ delete_picture_data_original_title: Delete Picture
933
+ facebook_handle: <i class="fa fa-facebook" aria-hidden="true"></i> Facebook Handle
934
+ google_handle: <i class="fa fa-google-plus"></i> Google+ Handle
935
+ help_change_picture_type: JPG, GIF, or PNG (less than 2MB)
936
+ save_profile: <i class="glyphicon glyphicon-save"></i> Save Profile
937
+ twitter_handle: <i class="fa fa-twitter" aria-hidden="true"></i> Twitter Handle
759
938
  proxy_activity: Proxy Activity
939
+ proxy_add_deny: You cannot make yourself a proxy
760
940
  proxy_delete: Delete Proxy
761
941
  proxy_help: Select a user who can deposit works on your behalf. Both you and your proxy will be able to make changes to these works. You can revoke a proxy by clicking the Delete Proxy button. To revoke their ability to edit a work they previously submitted, remove them from the Sharing tab on each work.
762
942
  proxy_user: Proxy User
@@ -771,7 +951,9 @@ en:
771
951
  subtitle: Current Status
772
952
  title: Repository Objects
773
953
  show_admin:
954
+ current_registered_users: Current
774
955
  new_visitors: New Visitors
956
+ past_30_days: Past 30 days
775
957
  registered_users: Registered Users
776
958
  returning_visitors: Returning Visitors
777
959
  total_visitors: Total Visitors
@@ -781,6 +963,7 @@ en:
781
963
  file_views: View
782
964
  files: Files deposited
783
965
  heading: Your Statistics
966
+ joined_on: Joined on
784
967
  works: Works created
785
968
  title: Dashboard
786
969
  transfer_of_ownership: Transfers of Ownership
@@ -820,6 +1003,7 @@ en:
820
1003
  deactivate: Deactivate Embargo
821
1004
  deactivate_selected: Deactivate Embargoes for Selected
822
1005
  missing: There are no expired embargoes in effect at this time.
1006
+ select_all: Select All
823
1007
  table_headers:
824
1008
  release_date: Embargo Release Date
825
1009
  title: Title
@@ -837,12 +1021,14 @@ en:
837
1021
  download: Download the file
838
1022
  downloadable_content:
839
1023
  audio_link: Download audio
1024
+ audio_tag_not_supported: Your browser does not support the audio tag.
840
1025
  default_link: Download file
841
1026
  heading: Downloadable Content
842
1027
  image_link: Download image
843
1028
  office_link: Download file
844
1029
  pdf_link: Download PDF
845
1030
  video_link: Download video
1031
+ video_tag_not_supported: Your browser does not support the video tag.
846
1032
  file_sets:
847
1033
  actions:
848
1034
  delete: Delete
@@ -853,13 +1039,28 @@ en:
853
1039
  edit: Edit
854
1040
  edit_title: Edit %{file_set}
855
1041
  header: Select an action
1042
+ press_to: Press to
856
1043
  versions: Versions
857
1044
  versions_title: Display previous versions
1045
+ asset_deleted_flash:
1046
+ message: The file has been deleted.
1047
+ asset_saved_flash:
1048
+ message:
1049
+ one: The file %{saved_files} has been saved.
1050
+ other: The files %{saved_files} have been saved.
1051
+ asset_updated_flash:
1052
+ message: The file %{link_to_file} has been updated.
1053
+ descriptions:
1054
+ save: Save Descriptions
1055
+ title: Descriptions
858
1056
  edit:
859
1057
  descriptions: Descriptions
860
1058
  header: Edit %{file_set}
861
1059
  permissions: Permissions
862
1060
  versions: Versions
1061
+ extra_fields_modal:
1062
+ additional: Additional
1063
+ label: Additional %{label}(s)
863
1064
  form:
864
1065
  attach_to: Attach to %{parent}
865
1066
  cancel: Cancel
@@ -870,10 +1071,19 @@ en:
870
1071
  permission:
871
1072
  save: Save
872
1073
  permission_form:
1074
+ add_new_group_skel: Add this group
1075
+ add_new_user_skel: Add this %{account_label}
873
1076
  applied_to: "(applied to all files just uploaded)"
1077
+ bulk: Bulk
874
1078
  depositor: Depositor
875
1079
  enter: Enter %{account_label} (one at a time)
876
1080
  header: Permissions
1081
+ new_group_help_text: Use the add button to give access to one group at a time (it will be added to the list below).
1082
+ new_group_name_skel: Group
1083
+ new_group_permission_skel: Access type to grant
1084
+ new_user_help_text: Use the add button to give access to one %{account_label} at a time (it will be added to the list below). Select the user, by name or %{account_label} . Then select the access level youwish to grant and click on Add this %{account_label} to complete adding the permission.
1085
+ new_user_name_skel: "%{account_label} (without the %{suffix} part)"
1086
+ new_user_permission_skel: Access type to grant
877
1087
  optional: "(optional)"
878
1088
  save_note_html: Permissions are <strong>not</strong> saved until the &quot;Save&quot; button is pressed at the bottom of the page.
879
1089
  select_group: Select a group
@@ -881,12 +1091,33 @@ en:
881
1091
  table_title_access: Access Level
882
1092
  table_title_user: Person/Group
883
1093
  user_search: Search for a user
1094
+ proxy:
1095
+ message: "%{sending_user} has deposited the file %{title} on your behalf."
1096
+ show_actions:
1097
+ analytics: Analytics
1098
+ confirm_delete_this: Delete this %{type}?
1099
+ delete_this: Delete This %{type}
1100
+ edit_this: Edit This %{type}
1101
+ show_details:
1102
+ characterization: Characterization
1103
+ date_modified: Date Modified
1104
+ date_uploaded: Date Uploaded
1105
+ depositor: Depositor
1106
+ file_details: File Details
1107
+ fixity_check: Fixity Check
1108
+ not_yet_characterized: Not Yet Characterized
884
1109
  versioning:
1110
+ choose_file: Choose New Version File
885
1111
  current: Current Version
886
1112
  header: Versions
1113
+ previous: Previous
1114
+ remove: Remove
1115
+ remove_current_files: Remove Current Files
1116
+ remove_new_version: Remove New Version File
887
1117
  restore: Restore Previous Version
888
1118
  restore_from: Restore From
889
1119
  save: Save Revision
1120
+ save_your_note: You must click &quot;Save Revision&quot; to revert a previous version of this file
890
1121
  upload: Upload New Version
891
1122
  help:
892
1123
  header: User Support
@@ -896,6 +1127,7 @@ en:
896
1127
  link: View all collections
897
1128
  tab_label: Explore Collections
898
1129
  title: Explore Collections
1130
+ thumbnail: thumbnail
899
1131
  featured_researcher:
900
1132
  missing: No researchers have been featured.
901
1133
  tab_label: Featured Researcher
@@ -981,18 +1213,69 @@ en:
981
1213
  single: has been saved.
982
1214
  subject: Batch upload complete
983
1215
  title: Files uploaded successfully
1216
+ models:
1217
+ hyrax/file_set: File Set
1218
+ hyrax/pcdm_collection: Collection
1219
+ hyrax/work: Work
984
1220
  my:
985
1221
  count:
986
1222
  collections:
1223
+ collections_listing: Collections listing
987
1224
  in_repo: "<strong>%{total_count} collections</strong> in the repository"
988
1225
  you_manage: "<strong>%{total_count} collections</strong> you can manage in the repository"
989
1226
  you_own: "<strong>%{total_count} collections</strong> you own in the repository"
990
1227
  works:
991
1228
  in_repo: "<strong>%{total_count} works</strong> in the repository"
1229
+ works_listing: Works listing
992
1230
  you_manage: "<strong>%{total_count} works</strong> you can manage in the repository"
993
1231
  you_own: "<strong>%{total_count} works</strong> you own in the repository"
1232
+ sort_and_per_page:
1233
+ number_of_results_to_display_per_page: Number of results to display per page
994
1234
  nav_safety:
995
1235
  change_tab_message: Are you sure you want to leave this tab? Any unsaved data will be lost.
1236
+ notifications:
1237
+ batch_create_failure:
1238
+ message: 'The batch create for %{user} failed: %{messages}'
1239
+ subject: Failing batch create
1240
+ batch_create_success:
1241
+ message: The batch create for %{user} passed.
1242
+ subject: Passing batch create
1243
+ fixity_check_failure:
1244
+ message: The fixity check run at %{log_date} for %{file_title} (%{uri}) failed.
1245
+ subject: Failing Fixity Check
1246
+ import_url_failure:
1247
+ subject: File Import Error
1248
+ proxy_deposit_request:
1249
+ transfer_on_create:
1250
+ message: "%{user_link} wants to transfer a work to you. Review all %{transfer_link}"
1251
+ subject: Ownership Change Request
1252
+ transfer_link_label: transfer requests
1253
+ transfer_on_update:
1254
+ comments: 'Comments: %{receiver_comment}'
1255
+ message: Your transfer request was %{status}.
1256
+ subject: Ownership Change %{status}
1257
+ proxy_depositor_added:
1258
+ grantee_message: "%{grantor} has assigned you as a proxy depositor"
1259
+ grantor_message: You have assigned %{grantee} as a proxy depositor
1260
+ subject: Proxy Depositor Added
1261
+ workflow:
1262
+ changes_required:
1263
+ message: |-
1264
+ %{title} (%{link}) requires additional changes before approval.
1265
+ '%{comment}'
1266
+ subject: Your deposit requires changes
1267
+ deposited:
1268
+ message: "%{title} (%{link}) was approved by %{user}. %{comment}"
1269
+ subject: Deposit has been approved
1270
+ pending_review:
1271
+ message: "%{title} (%{link}) was deposited by %{user} and is awaiting approval %{comment}"
1272
+ subject: Deposit needs review
1273
+ operations:
1274
+ index:
1275
+ operations_type: Operations Type
1276
+ status: Status
1277
+ title: Operations
1278
+ updated: Updated
996
1279
  pages:
997
1280
  cancel: Cancel
998
1281
  tabs:
@@ -1002,6 +1285,15 @@ en:
1002
1285
  terms_page: Terms of Use
1003
1286
  updated: Pages updated.
1004
1287
  passive_consent_to_agreement: By saving this work I agree to the
1288
+ permission_levels:
1289
+ edit: "Edit access"
1290
+ read: "View/Download"
1291
+ owner:
1292
+ edit: "Edit access"
1293
+ options:
1294
+ edit: "Edit"
1295
+ none: "Choose Access"
1296
+ read: "View/Download"
1005
1297
  search:
1006
1298
  button:
1007
1299
  html: <span class="glyphicon glyphicon-search" aria-hidden="true"></span> Go
@@ -1048,7 +1340,21 @@ en:
1048
1340
  link: Link
1049
1341
  no_links: No links have been generated
1050
1342
  title: Single-Use Links
1343
+ single_use_links_viewer:
1344
+ single_use_error:
1345
+ help: '%{application_name} could not locate the single use link. This link either expired or had been used previously. We apologize for the inconvenience. You might be interested in using <a href="/help/">the help page</a> for looking up solutions.'
1346
+ link_expired_not_found: Single Use Link Expired or Not Found
1347
+ link_not_found: Single use link Not Found
1051
1348
  sort_label: Sort the listing of items
1349
+ static:
1350
+ mendeley:
1351
+ contact_form: Contact Form
1352
+ export_to_mendeley: Export to Mendeley
1353
+ export_to_mendeley_details: 'Exporting to Mendeley is supported via embedded metadata. If Mendeley does not automatically pick up metadata for deposited files, please report the issue via the '
1354
+ zotero:
1355
+ contact_form: Contact Form
1356
+ export_to_zotero: Export to Zotero
1357
+ export_to_zotero_details: 'Exporting to Zotero is supported via embedded metadata. If Zotero does not automatically pick up metadata for deposited files, please report the issue via the '
1052
1358
  toolbar:
1053
1359
  dashboard:
1054
1360
  menu: Dashboard
@@ -1069,6 +1375,29 @@ en:
1069
1375
  placeholder: Search for a user
1070
1376
  sr_only_description: Select a user to transfer "%{work_title}" to, add optional comments and then press transfer.
1071
1377
  title: Transfer Ownership of "%{work_title}"
1378
+ received:
1379
+ accept: Accept
1380
+ accept_the_file_and_allow_the_original_depositor_to_retain_access_and_authorize: Accept the file and allow the original depositor to retain access and authorize the original depositor as a proxy to deposit file on your behalf.
1381
+ accept_the_file_and_allow_the_original_depositor_to_retain_access_to_edit_the_file_and_metadata: Accept the file and allow the original depositor to retain access to edit the file and metadata.
1382
+ accept_the_file_remove_access_from_the_original_depositor: Accept the file remove access from the original depositor.
1383
+ allow_depositor_to_retain_edit_access: Allow depositor to retain edit access
1384
+ are_you_sure_you_want_to_reject_this_request: Are you sure you want to reject this request?
1385
+ authorize_depositor_as_proxy: Authorize depositor as proxy
1386
+ comments: Comments
1387
+ date: Date
1388
+ from: From
1389
+ reject: Reject
1390
+ remove_depositor_access: Remove depositor access
1391
+ status: Status
1392
+ title: Title
1393
+ sent:
1394
+ are_you_sure_you_want_to_cancel_this_request: Are you sure you want to cancel this request?
1395
+ cancel: Cancel
1396
+ comments: Comments
1397
+ date: Date
1398
+ from: From
1399
+ status: Status
1400
+ title: Title
1072
1401
  upload:
1073
1402
  alert:
1074
1403
  contact_href_text: contact form
@@ -1084,6 +1413,7 @@ en:
1084
1413
  change_access_flash_message: Updating file access levels. This may take a few minutes. You may want to refresh your browser or return to this record later to see the updated file access levels.
1085
1414
  change_access_message_html: "<p>You have changed the access level on work <i>%{curation_concern}</i>, making it accessible to other users or groups to view or edit.</p><p>Would you like change all of the files within the work to have the same access users, groups and visibility as well?</p>"
1086
1415
  change_access_no_message: No. I'll update it manually.
1416
+ change_access_title_html: Apply changes to contents?
1087
1417
  change_access_yes_message: Yes please.
1088
1418
  change_permissions_message_html: "<p>You have changed the permissions on this %{curation_concern_human_readable_type}, <i>%{curation_concern}</i>, making it visible to <b>%{visibility_badge}</b>.</p><p>Would you like change all of the files within the %{curation_concern_human_readable_type} to <b>%{visibility_badge}</b> as well?</p>"
1089
1419
  local_ingest:
@@ -1094,6 +1424,34 @@ en:
1094
1424
  tab_label: My Computer
1095
1425
  permissions_message: Updating file permissions. This may take a few minutes. You may want to refresh your browser or return to this record later to see the updated file permissions.
1096
1426
  processing: File is being processed; you may edit when processing has completed
1427
+ uploads:
1428
+ js_templates:
1429
+ display_label: Display label
1430
+ error: Error
1431
+ set_all_to_this_resource_type: Set all to this Resource Type
1432
+ start: Start
1433
+ js_templates_branding:
1434
+ alt_text: 'Alt Text:'
1435
+ error: Error
1436
+ link_url: 'Link URL:'
1437
+ previous: previous
1438
+ remove: Remove
1439
+ remove_new_banner: Remove New Banner
1440
+ remove_new_logo: Remove New Logo
1441
+ js_templates_versioning:
1442
+ display_label: Display label
1443
+ error: Error
1444
+ previous: previous
1445
+ remove: Remove
1446
+ remove_new_version: Remove New Version File
1447
+ set_all_to_this_resource_type: Set all to this Resource Type
1448
+ start: Start
1449
+ options:
1450
+ messages:
1451
+ accept_file_types: File type not allowed
1452
+ max_file_size: File is too large
1453
+ max_number_of_files: Maximum number of files exceeded
1454
+ min_file_size: File is too small
1097
1455
  user_profile:
1098
1456
  orcid:
1099
1457
  alt: ORCID icon
@@ -1106,6 +1464,24 @@ en:
1106
1464
  connected: Connected!
1107
1465
  label: Zotero Profile
1108
1466
  unlinked: Link with Zotero
1467
+ users:
1468
+ activity_log:
1469
+ date: Date
1470
+ user_activity: User Activity
1471
+ index:
1472
+ avatar: Avatar
1473
+ department: Department
1474
+ user_id: User Id
1475
+ user_name: User Name
1476
+ users: Users
1477
+ works_created: Works Created
1478
+ left_sidebar:
1479
+ view_users: View Users
1480
+ proxies:
1481
+ proxies: Proxies
1482
+ search_form:
1483
+ go: Go
1484
+ search_users: Search Users
1109
1485
  visibility:
1110
1486
  authenticated:
1111
1487
  note_html: Restrict access to %{institution}.
@@ -1125,6 +1501,8 @@ en:
1125
1501
  note_html: Keep to myself with option to share.
1126
1502
  text: Private
1127
1503
  restricted_title_attr: Change the visibility of this resource
1504
+ work_button_row:
1505
+ attach_child: Attach Child
1128
1506
  workflow:
1129
1507
  default:
1130
1508
  deposit: Deposit
@@ -1132,6 +1510,7 @@ en:
1132
1510
  state_error: 'The workflow: %{workflow_name} has not been updated. You are removing a state: %{state_name} with %{entity_count} entity/ies. A state may not be removed while it has active entities!'
1133
1511
  unauthorized: The work is not currently available because it has not yet completed the approval process
1134
1512
  works:
1513
+ missing_title: 'No Title'
1135
1514
  create:
1136
1515
  after_create_html: Your files are being processed by %{application_name} in the background. The metadata and access controls you specified are being applied. You may need to refresh this page to see these updates.
1137
1516
  breadcrumb: Add New Work
@@ -1163,7 +1542,7 @@ en:
1163
1542
  collection:
1164
1543
  based_near: A place name related to the collection, such as its site of publication, or the city, state, or country the collection contents are about. Calls upon the <a href='http://www.geonames.org'>GeoNames web service</a>.
1165
1544
  contributor: A person or group you want to recognize for playing a role in the creation of the collection, but not the primary role.
1166
- creator: The person or group responsible for the collection. Usually this is the author of the content. Personal names should be entered with the last name first, e.g. &quot;Smith, John.&quot;.
1545
+ creator: 'The person or group responsible for the collection. Usually this is the author of the content. Personal names should be entered with the last name first: Smith, John'
1167
1546
  date_created: The date on which the collection was created.
1168
1547
  description: Free-text notes about the collection. Examples include abstracts of a paper or citation information for a journal article.
1169
1548
  identifier: A unique handle identifying the collection. An example would be a DOI for a journal article, or an ISBN or OCLC number for a book.
@@ -1188,6 +1567,8 @@ en:
1188
1567
  share_applies_to_new_works: When new works are created directly in the collection, grant sharing users and groups permissions for the new work according to their collection roles.
1189
1568
  title: ''
1190
1569
  defaults:
1570
+ abstract: A brief summary of a research article, thesis, review, conference proceeding, or any in-depth analysis of a particular subject.
1571
+ access_right: Contains information about who can access the resource or an indication of its security status.
1191
1572
  based_near: A place name related to the work, such as its site of publication, or the city, state, or country the work contents are about. Calls upon the <a href='http://www.geonames.org'>GeoNames web service</a>.
1192
1573
  contributor: A person or group you want to recognize for playing a role in the creation of the work, but not the primary role.
1193
1574
  creator: The person or group responsible for the work. Usually this is the author of the content. Personal names should be entered with the last name first, e.g. &quot;Smith, John.&quot;.
@@ -1200,6 +1581,7 @@ en:
1200
1581
  publisher: The person or group making the work available. Generally this is the institution.
1201
1582
  related_url: A link to a website or other specific content (audio, video, PDF document) related to the work. An example is the URL of a research project from which the work was derived.
1202
1583
  resource_type: Pre-defined categories to describe the type of content being uploaded, such as &quot;article&quot; or &quot;dataset.&quot; More than one type may be selected.
1584
+ rights_notes: Contains information about rights held in and over the resource.
1203
1585
  subject: Headings or index terms describing what the work is about; these do need to conform to an existing vocabulary.
1204
1586
  title: A name to aid in identifying a work.
1205
1587
  labels:
@@ -1220,11 +1602,13 @@ en:
1220
1602
  share_applies_to_new_works: APPLY TO NEW WORKS
1221
1603
  title: Type name
1222
1604
  defaults:
1605
+ abstract: Abstract
1606
+ access_right: Access Rights
1223
1607
  admin_set_id: Administrative Set
1224
1608
  based_near: Location
1225
1609
  creator: Creator
1226
1610
  date_created: Date Created
1227
- description: Abstract or Summary
1611
+ description: Description
1228
1612
  embargo_release_date: until
1229
1613
  files: Upload a file
1230
1614
  keyword: Keyword
@@ -1232,6 +1616,7 @@ en:
1232
1616
  license: License
1233
1617
  member_of_collection_ids: Add to collection
1234
1618
  related_url: Related URL
1619
+ rights_notes: Rights notes
1235
1620
  rights_statement: Rights statement
1236
1621
  title: Title
1237
1622
  visibility_after_embargo: then open it up to