hyrax 3.0.1 → 3.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (388) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +49 -19
  3. data/.dassie/.env +1 -2
  4. data/.dassie/Gemfile +18 -9
  5. data/.dassie/app/controllers/catalog_controller.rb +6 -0
  6. data/.dassie/app/models/user.rb +0 -2
  7. data/.dassie/config/analytics.yml +12 -5
  8. data/.dassie/config/environments/development.rb +2 -0
  9. data/.dassie/config/initializers/hyrax.rb +7 -0
  10. data/.dassie/config/role_map.yml +2 -0
  11. data/.dassie/db/migrate/20210921150120_enable_uuid_extension.valkyrie_engine.rb +7 -0
  12. data/.dassie/db/migrate/20210921150121_create_orm_resources.valkyrie_engine.rb +19 -0
  13. data/.dassie/db/migrate/20210921150122_add_model_type_to_orm_resources.valkyrie_engine.rb +7 -0
  14. data/.dassie/db/migrate/20210921150123_change_model_type_to_internal_model.valkyrie_engine.rb +7 -0
  15. data/.dassie/db/migrate/20210921150124_create_path_gin_index.valkyrie_engine.rb +7 -0
  16. data/.dassie/db/migrate/20210921150125_create_internal_resource_index.valkyrie_engine.rb +7 -0
  17. data/.dassie/db/migrate/20210921150126_create_updated_at_index.valkyrie_engine.rb +7 -0
  18. data/.dassie/db/migrate/20210921150127_add_optimistic_locking_to_orm_resources.valkyrie_engine.rb +7 -0
  19. data/.dassie/db/migrate/20211130181150_create_default_administrative_set.rb +8 -0
  20. data/.dassie/db/schema.rb +20 -1
  21. data/.dassie/db/seeds.rb +1 -1
  22. data/.dockerignore +3 -0
  23. data/.env +8 -6
  24. data/.github/workflows/main.yml +17 -0
  25. data/.github/workflows/release.yml +17 -0
  26. data/.gitignore +1 -0
  27. data/.regen +1 -1
  28. data/.rubocop.yml +4 -0
  29. data/CONTAINERS.md +33 -10
  30. data/Dockerfile +14 -9
  31. data/Gemfile +21 -27
  32. data/README.md +37 -0
  33. data/app/actors/hyrax/actors/base_actor.rb +2 -2
  34. data/app/actors/hyrax/actors/collections_membership_actor.rb +3 -3
  35. data/app/actors/hyrax/actors/create_with_remote_files_actor.rb +85 -63
  36. data/app/actors/hyrax/actors/create_with_remote_files_ordered_members_actor.rb +7 -42
  37. data/app/actors/hyrax/actors/file_set_actor.rb +12 -5
  38. data/app/assets/javascripts/hyrax/admin/graphs.es6 +34 -37
  39. data/app/assets/javascripts/hyrax/analytics_events.js +69 -0
  40. data/app/assets/javascripts/hyrax/collapse.js +24 -0
  41. data/app/assets/javascripts/hyrax/collections.js +1 -2
  42. data/app/assets/javascripts/hyrax/ga_events.js +2 -8
  43. data/app/assets/javascripts/hyrax/reports-buttons.js +33 -0
  44. data/app/assets/javascripts/hyrax.js +2 -1
  45. data/app/assets/stylesheets/_bootstrap-default-overrides.scss +9 -0
  46. data/app/assets/stylesheets/hyrax/_styles.scss +5 -0
  47. data/app/authorities/qa/authorities/collections.rb +4 -5
  48. data/app/authorities/qa/authorities/find_works.rb +1 -1
  49. data/app/controllers/concerns/hyrax/breadcrumbs_for_collection_analytics.rb +26 -0
  50. data/app/controllers/concerns/hyrax/breadcrumbs_for_works_analytics.rb +26 -0
  51. data/app/controllers/concerns/hyrax/collections_controller_behavior.rb +30 -10
  52. data/app/controllers/concerns/hyrax/controller.rb +35 -2
  53. data/app/controllers/concerns/hyrax/embargoes_controller_behavior.rb +21 -9
  54. data/app/controllers/concerns/hyrax/leases_controller_behavior.rb +14 -5
  55. data/app/controllers/concerns/hyrax/works_controller_behavior.rb +22 -3
  56. data/app/controllers/hyrax/admin/admin_sets_controller.rb +2 -19
  57. data/app/controllers/hyrax/admin/analytics/analytics_controller.rb +40 -0
  58. data/app/controllers/hyrax/admin/analytics/collection_reports_controller.rb +61 -0
  59. data/app/controllers/hyrax/admin/analytics/work_reports_controller.rb +122 -0
  60. data/app/controllers/hyrax/admin/permission_template_accesses_controller.rb +5 -6
  61. data/app/controllers/hyrax/admin/workflows_controller.rb +8 -2
  62. data/app/controllers/hyrax/collections_controller.rb +6 -1
  63. data/app/controllers/hyrax/dashboard/collection_members_controller.rb +24 -17
  64. data/app/controllers/hyrax/dashboard/collections_controller.rb +112 -37
  65. data/app/controllers/hyrax/dashboard/nest_collections_controller.rb +75 -39
  66. data/app/controllers/hyrax/dashboard_controller.rb +8 -0
  67. data/app/controllers/hyrax/file_sets_controller.rb +49 -13
  68. data/app/controllers/hyrax/my_controller.rb +4 -4
  69. data/app/controllers/hyrax/permissions_controller.rb +3 -4
  70. data/app/controllers/hyrax/stats_controller.rb +3 -1
  71. data/app/controllers/hyrax/workflow_actions_controller.rb +11 -6
  72. data/app/forms/hyrax/forms/administrative_set_form.rb +62 -0
  73. data/app/forms/hyrax/forms/collection_form.rb +9 -5
  74. data/app/forms/hyrax/forms/dashboard/nest_collection_form.rb +38 -6
  75. data/app/forms/hyrax/forms/file_set_form.rb +46 -0
  76. data/app/forms/hyrax/forms/pcdm_collection_form.rb +67 -0
  77. data/app/forms/hyrax/forms/permission.rb +23 -0
  78. data/app/forms/hyrax/forms/permission_template_form.rb +8 -2
  79. data/app/forms/hyrax/forms/resource_form.rb +34 -26
  80. data/app/forms/hyrax/forms/work_form.rb +5 -2
  81. data/app/forms/hyrax/forms/workflow_action_form.rb +4 -0
  82. data/app/helpers/hyrax/batch_edits_helper.rb +3 -1
  83. data/app/helpers/hyrax/collections_helper.rb +88 -2
  84. data/app/helpers/hyrax/dashboard_helper_behavior.rb +16 -5
  85. data/app/helpers/hyrax/embargo_helper.rb +4 -0
  86. data/app/helpers/hyrax/file_set_helper.rb +25 -6
  87. data/app/helpers/hyrax/hyrax_helper_behavior.rb +9 -0
  88. data/app/helpers/hyrax/lease_helper.rb +4 -0
  89. data/app/helpers/hyrax/url_helper.rb +4 -1
  90. data/app/helpers/hyrax/work_form_helper.rb +53 -0
  91. data/app/indexers/hyrax/administrative_set_indexer.rb +18 -0
  92. data/app/indexers/hyrax/pcdm_collection_indexer.rb +2 -0
  93. data/app/indexers/hyrax/valkyrie_file_set_indexer.rb +3 -1
  94. data/app/indexers/hyrax/valkyrie_indexer.rb +3 -3
  95. data/app/indexers/hyrax/valkyrie_work_indexer.rb +1 -1
  96. data/app/inputs/controlled_vocabulary_input.rb +2 -5
  97. data/app/jobs/attach_files_to_work_job.rb +19 -10
  98. data/app/jobs/attach_files_to_work_with_ordered_members_job.rb +6 -5
  99. data/app/jobs/characterize_job.rb +28 -1
  100. data/app/jobs/ingest_local_file_job.rb +18 -2
  101. data/app/jobs/inherit_permissions_job.rb +9 -5
  102. data/app/jobs/valkyrie_ingest_job.rb +56 -0
  103. data/app/models/admin_set.rb +22 -30
  104. data/app/models/collection_branding_info.rb +25 -9
  105. data/app/models/concerns/hyrax/ability/admin_set_ability.rb +31 -7
  106. data/app/models/concerns/hyrax/ability/collection_ability.rb +35 -20
  107. data/app/models/concerns/hyrax/ability/collection_type_ability.rb +1 -1
  108. data/app/models/concerns/hyrax/ability.rb +31 -8
  109. data/app/models/concerns/hyrax/collection_behavior.rb +17 -44
  110. data/app/models/concerns/hyrax/embargoable.rb +24 -0
  111. data/app/models/concerns/hyrax/file_set/characterization.rb +18 -12
  112. data/app/models/concerns/hyrax/solr_document/metadata.rb +1 -0
  113. data/app/models/concerns/hyrax/solr_document_behavior.rb +11 -54
  114. data/app/models/concerns/hyrax/suppressible.rb +5 -0
  115. data/app/models/concerns/hyrax/user.rb +9 -3
  116. data/app/models/concerns/hyrax/work_behavior.rb +1 -1
  117. data/app/models/file_download_stat.rb +4 -4
  118. data/app/models/hyrax/administrative_set.rb +7 -1
  119. data/app/models/hyrax/default_administrative_set.rb +42 -0
  120. data/app/models/hyrax/file_set.rb +6 -0
  121. data/app/models/hyrax/pcdm_collection.rb +1 -0
  122. data/app/models/hyrax/permission.rb +1 -1
  123. data/app/models/hyrax/permission_template.rb +112 -12
  124. data/app/models/hyrax/statistic.rb +31 -4
  125. data/app/models/hyrax/virus_scanner.rb +27 -18
  126. data/app/models/hyrax/work.rb +1 -0
  127. data/app/models/hyrax/workflow_action_info.rb +16 -0
  128. data/app/models/sipity/agent.rb +1 -0
  129. data/app/models/sipity/comment.rb +17 -0
  130. data/app/models/sipity/entity.rb +30 -8
  131. data/app/models/sipity/workflow.rb +1 -0
  132. data/app/models/sipity.rb +53 -2
  133. data/app/presenters/hyrax/admin/dashboard_presenter.rb +8 -6
  134. data/app/presenters/hyrax/admin/repository_growth_presenter.rb +10 -5
  135. data/app/presenters/hyrax/admin/user_activity_presenter.rb +8 -12
  136. data/app/presenters/hyrax/admin_set_options_presenter.rb +12 -8
  137. data/app/presenters/hyrax/admin_set_presenter.rb +13 -4
  138. data/app/presenters/hyrax/admin_set_selection_presenter.rb +116 -0
  139. data/app/presenters/hyrax/collection_presenter.rb +34 -9
  140. data/app/presenters/hyrax/file_set_presenter.rb +8 -1
  141. data/app/presenters/hyrax/file_usage.rb +3 -2
  142. data/app/presenters/hyrax/menu_presenter.rb +4 -0
  143. data/app/presenters/hyrax/pcdm_member_presenter_factory.rb +119 -0
  144. data/app/presenters/hyrax/stats_usage_presenter.rb +2 -1
  145. data/app/presenters/hyrax/trophy_presenter.rb +33 -4
  146. data/app/presenters/hyrax/user_profile_presenter.rb +11 -1
  147. data/app/presenters/hyrax/version_list_presenter.rb +19 -0
  148. data/app/presenters/hyrax/version_presenter.rb +3 -2
  149. data/app/presenters/hyrax/work_show_presenter.rb +37 -8
  150. data/app/presenters/hyrax/work_usage.rb +6 -3
  151. data/app/renderers/hyrax/renderers/attribute_renderer.rb +10 -2
  152. data/app/search_builders/hyrax/README.md +1 -1
  153. data/app/search_builders/hyrax/abstract_type_relation.rb +4 -2
  154. data/app/search_builders/hyrax/admin_set_search_builder.rb +1 -1
  155. data/app/search_builders/hyrax/collection_member_search_builder.rb +6 -1
  156. data/app/search_builders/hyrax/dashboard/collections_search_builder.rb +1 -1
  157. data/app/search_builders/hyrax/exposed_models_relation.rb +1 -1
  158. data/app/search_builders/hyrax/filter_by_type.rb +1 -2
  159. data/app/search_builders/hyrax/my/collections_search_builder.rb +2 -2
  160. data/app/search_builders/hyrax/nested_collections_parent_search_builder.rb +1 -1
  161. data/app/search_builders/hyrax/single_collection_search_builder.rb +1 -1
  162. data/app/services/hyrax/admin_set_create_service.rb +199 -53
  163. data/app/services/hyrax/analytics/google/events.rb +37 -0
  164. data/app/services/hyrax/analytics/google/events_daily.rb +72 -0
  165. data/app/services/hyrax/analytics/google/visits.rb +44 -0
  166. data/app/services/hyrax/analytics/google/visits_daily.rb +49 -0
  167. data/app/services/hyrax/analytics/google.rb +204 -0
  168. data/app/services/hyrax/analytics/matomo.rb +193 -0
  169. data/app/services/hyrax/analytics/results.rb +79 -0
  170. data/app/services/hyrax/analytics.rb +12 -82
  171. data/app/services/hyrax/characterization/valkyrie_characterization_service.rb +134 -0
  172. data/app/services/hyrax/collection_types/permissions_service.rb +1 -1
  173. data/app/services/hyrax/collections/collection_member_search_service.rb +72 -0
  174. data/app/services/hyrax/collections/collection_member_service.rb +122 -27
  175. data/app/services/hyrax/collections/migration_service.rb +4 -2
  176. data/app/services/hyrax/collections/nested_collection_persistence_service.rb +12 -13
  177. data/app/services/hyrax/collections/nested_collection_query_service.rb +10 -3
  178. data/app/services/hyrax/collections/permissions_create_service.rb +82 -78
  179. data/app/services/hyrax/collections/permissions_service.rb +1 -1
  180. data/app/services/hyrax/contextual_path.rb +24 -1
  181. data/app/services/hyrax/curation_concern.rb +24 -2
  182. data/app/services/hyrax/custom_queries/find_file_metadata.rb +7 -5
  183. data/app/services/hyrax/custom_queries/navigators/parent_collections_navigator.rb +46 -0
  184. data/app/services/hyrax/default_middleware_stack.rb +11 -0
  185. data/app/services/hyrax/edit_permissions_service.rb +74 -41
  186. data/app/services/hyrax/ensure_well_formed_admin_set_service.rb +3 -3
  187. data/app/services/hyrax/find_objects_via_solr_service.rb +31 -0
  188. data/app/services/hyrax/listeners/acl_index_listener.rb +3 -1
  189. data/app/services/hyrax/listeners/active_fedora_acl_index_listener.rb +4 -1
  190. data/app/services/hyrax/listeners/batch_notification_listener.rb +3 -1
  191. data/app/services/hyrax/listeners/file_metadata_listener.rb +19 -0
  192. data/app/services/hyrax/listeners/file_set_lifecycle_listener.rb +6 -2
  193. data/app/services/hyrax/listeners/file_set_lifecycle_notification_listener.rb +6 -2
  194. data/app/services/hyrax/listeners/member_cleanup_listener.rb +3 -0
  195. data/app/services/hyrax/listeners/metadata_index_listener.rb +33 -11
  196. data/app/services/hyrax/listeners/object_lifecycle_listener.rb +9 -3
  197. data/app/services/hyrax/listeners/proxy_deposit_listener.rb +3 -1
  198. data/app/services/hyrax/listeners/trophy_cleanup_listener.rb +3 -0
  199. data/app/services/hyrax/listeners/workflow_listener.rb +3 -1
  200. data/app/services/hyrax/listeners.rb +8 -0
  201. data/app/services/hyrax/multiple_membership_checker.rb +53 -29
  202. data/app/services/hyrax/permission_manager.rb +4 -4
  203. data/app/services/hyrax/resource_status.rb +7 -0
  204. data/app/services/hyrax/restriction_service.rb +4 -0
  205. data/app/services/hyrax/search_service.rb +4 -2
  206. data/app/services/hyrax/solr_query_builder_service.rb +45 -8
  207. data/app/services/hyrax/solr_query_service.rb +224 -0
  208. data/app/services/hyrax/solr_service.rb +9 -2
  209. data/app/services/hyrax/statistics/collections/over_time.rb +2 -1
  210. data/app/services/hyrax/statistics/depositors/summary.rb +2 -1
  211. data/app/services/hyrax/statistics/users/over_time.rb +8 -5
  212. data/app/services/hyrax/statistics/works/over_time.rb +10 -0
  213. data/app/services/hyrax/visibility_intention.rb +20 -2
  214. data/app/services/hyrax/work_uploads_handler.rb +21 -3
  215. data/app/services/hyrax/workflow/abstract_notification.rb +2 -2
  216. data/app/services/hyrax/workflow/action_taken_service.rb +16 -4
  217. data/app/services/hyrax/workflow/actionable_objects.rb +70 -0
  218. data/app/services/hyrax/workflow/activate_object.rb +5 -4
  219. data/app/services/hyrax/workflow/changes_required_notification.rb +5 -4
  220. data/app/services/hyrax/workflow/deactivate_object.rb +7 -5
  221. data/app/services/hyrax/workflow/deposited_notification.rb +8 -4
  222. data/app/services/hyrax/workflow/grant_edit_to_depositor.rb +7 -3
  223. data/app/services/hyrax/workflow/grant_read_to_depositor.rb +10 -3
  224. data/app/services/hyrax/workflow/object_in_workflow_decorator.rb +31 -0
  225. data/app/services/hyrax/workflow/revoke_edit_from_depositor.rb +8 -2
  226. data/app/services/hyrax/workflow/status_list_service.rb +43 -13
  227. data/app/services/hyrax/workflow/workflow_action_service.rb +4 -1
  228. data/app/views/hyrax/admin/admin_sets/_form.html.erb +1 -1
  229. data/app/views/hyrax/admin/analytics/_date_range_form.html.erb +11 -0
  230. data/app/views/hyrax/admin/analytics/collection_reports/_custom_range.html.erb +39 -0
  231. data/app/views/hyrax/admin/analytics/collection_reports/_monthly_summary.html.erb +48 -0
  232. data/app/views/hyrax/admin/analytics/collection_reports/_summary.html.erb +55 -0
  233. data/app/views/hyrax/admin/analytics/collection_reports/_top_collections.html.erb +55 -0
  234. data/app/views/hyrax/admin/analytics/collection_reports/index.html.erb +70 -0
  235. data/app/views/hyrax/admin/analytics/collection_reports/show.html.erb +94 -0
  236. data/app/views/hyrax/admin/analytics/work_reports/_custom_range.html.erb +43 -0
  237. data/app/views/hyrax/admin/analytics/work_reports/_monthly_summary.html.erb +35 -0
  238. data/app/views/hyrax/admin/analytics/work_reports/_summary.html.erb +60 -0
  239. data/app/views/hyrax/admin/analytics/work_reports/_top_file_set_downloads.html.erb +33 -0
  240. data/app/views/hyrax/admin/analytics/work_reports/_top_works.html.erb +40 -0
  241. data/app/views/hyrax/admin/analytics/work_reports/_work_counts.html.erb +18 -0
  242. data/app/views/hyrax/admin/analytics/work_reports/_work_files.html.erb +41 -0
  243. data/app/views/hyrax/admin/analytics/work_reports/index.html.erb +77 -0
  244. data/app/views/hyrax/admin/analytics/work_reports/show.html.erb +90 -0
  245. data/app/views/hyrax/admin/stats/show.html.erb +1 -1
  246. data/app/views/hyrax/base/_form_child_work_relationships.html.erb +1 -1
  247. data/app/views/hyrax/base/_form_relationships.html.erb +1 -2
  248. data/app/views/hyrax/base/_form_rendering.html.erb +1 -1
  249. data/app/views/hyrax/base/_form_representative.html.erb +1 -1
  250. data/app/views/hyrax/base/_form_thumbnail.html.erb +1 -1
  251. data/app/views/hyrax/base/_form_visibility_error.html.erb +2 -0
  252. data/app/views/hyrax/base/_guts4form.html.erb +3 -3
  253. data/app/views/hyrax/base/_relationships_parent_row.html.erb +0 -1
  254. data/app/views/hyrax/base/_representative_media.html.erb +1 -1
  255. data/app/views/hyrax/base/_show_actions.html.erb +2 -2
  256. data/app/views/hyrax/base/_work_button_row.html.erb +1 -1
  257. data/app/views/hyrax/base/show.html.erb +6 -0
  258. data/app/views/hyrax/batch_uploads/_form.html.erb +1 -1
  259. data/app/views/hyrax/collections/show.html.erb +4 -0
  260. data/app/views/hyrax/dashboard/_repository_growth.html.erb +5 -5
  261. data/app/views/hyrax/dashboard/_resource_type_graph.html.erb +41 -0
  262. data/app/views/hyrax/dashboard/_sidebar.html.erb +4 -1
  263. data/app/views/hyrax/dashboard/_tabs.html.erb +11 -0
  264. data/app/views/hyrax/dashboard/_user_activity.html.erb +17 -23
  265. data/app/views/hyrax/dashboard/_user_activity_graph.html.erb +55 -0
  266. data/app/views/hyrax/dashboard/_visibility_graph.html.erb +31 -0
  267. data/app/views/hyrax/dashboard/_work_type_graph.html.erb +41 -0
  268. data/app/views/hyrax/dashboard/collections/_collection_title.html.erb +1 -1
  269. data/app/views/hyrax/dashboard/collections/_form.html.erb +6 -5
  270. data/app/views/hyrax/dashboard/collections/_list_collections.html.erb +1 -1
  271. data/app/views/hyrax/dashboard/collections/_sort_and_per_page.html.erb +1 -1
  272. data/app/views/hyrax/dashboard/collections/edit.html.erb +4 -2
  273. data/app/views/hyrax/dashboard/collections/new.html.erb +4 -2
  274. data/app/views/hyrax/dashboard/collections/show.html.erb +1 -1
  275. data/app/views/hyrax/dashboard/show_admin.html.erb +24 -45
  276. data/app/views/hyrax/dashboard/sidebar/_activity.html.erb +22 -0
  277. data/app/views/hyrax/file_sets/_actions.html.erb +4 -3
  278. data/app/views/hyrax/file_sets/edit.html.erb +1 -1
  279. data/app/views/hyrax/file_sets/media_display/_audio.html.erb +1 -1
  280. data/app/views/hyrax/file_sets/media_display/_default.html.erb +1 -1
  281. data/app/views/hyrax/file_sets/media_display/_image.html.erb +1 -1
  282. data/app/views/hyrax/file_sets/media_display/_office_document.html.erb +1 -1
  283. data/app/views/hyrax/file_sets/media_display/_pdf.html.erb +1 -1
  284. data/app/views/hyrax/file_sets/media_display/_video.html.erb +1 -1
  285. data/app/views/hyrax/file_sets/show.html.erb +7 -1
  286. data/app/views/hyrax/homepage/index.html.erb +1 -1
  287. data/app/views/hyrax/my/_admin_set_action_menu.html.erb +0 -11
  288. data/app/views/hyrax/my/_collection_action_menu.html.erb +1 -2
  289. data/app/views/hyrax/my/collections/_list_collections.html.erb +1 -1
  290. data/app/views/hyrax/my/collections/_modal_add_subcollection.html.erb +3 -5
  291. data/app/views/hyrax/my/collections/_modal_collection_types_to_create.html.erb +1 -1
  292. data/app/views/hyrax/my/collections/index.html.erb +1 -1
  293. data/app/views/hyrax/stats/_downloads.html.erb +18 -0
  294. data/app/views/hyrax/stats/_pageviews.html.erb +18 -0
  295. data/app/views/hyrax/stats/work.html.erb +17 -9
  296. data/app/views/layouts/_head_tag_content.html.erb +7 -2
  297. data/app/views/layouts/hyrax/dashboard.html.erb +1 -0
  298. data/app/views/layouts/hyrax.html.erb +1 -0
  299. data/app/views/{_ga.html.erb → shared/_ga.html.erb} +3 -7
  300. data/app/views/shared/_matomo.html.erb +15 -0
  301. data/app/views/shared/_read_only.html.erb +5 -0
  302. data/bin/db-migrate-seed.sh +3 -1
  303. data/bin/hyrax-entrypoint.sh +0 -14
  304. data/bin/solrcloud-assign-configset.sh +11 -3
  305. data/bin/solrcloud-upload-configset.sh +17 -6
  306. data/chart/hyrax/Chart.yaml +9 -5
  307. data/chart/hyrax/README.md +52 -5
  308. data/chart/hyrax/templates/_helpers.tpl +15 -1
  309. data/chart/hyrax/templates/branding-pvc.yaml +2 -2
  310. data/chart/hyrax/templates/configmap-env.yaml +6 -2
  311. data/chart/hyrax/templates/deployment-worker.yaml +42 -5
  312. data/chart/hyrax/templates/deployment.yaml +53 -0
  313. data/chart/hyrax/templates/derivatives-pvc.yaml +2 -2
  314. data/chart/hyrax/templates/ingress.yaml +13 -4
  315. data/chart/hyrax/templates/secrets.yaml +8 -0
  316. data/chart/hyrax/templates/uploads-pvc.yaml +2 -2
  317. data/chart/hyrax/values.yaml +84 -2
  318. data/config/brakeman.ignore +2 -2
  319. data/config/features.rb +3 -0
  320. data/config/i18n-tasks.yml +2 -2
  321. data/config/initializers/1_healthz.rb +1 -0
  322. data/config/initializers/listeners.rb +5 -4
  323. data/config/initializers/valkryrie_storage.rb +7 -0
  324. data/config/locales/hyrax.de.yml +195 -1
  325. data/config/locales/hyrax.en.yml +192 -13
  326. data/config/locales/hyrax.es.yml +195 -1
  327. data/config/locales/hyrax.fr.yml +195 -1
  328. data/config/locales/hyrax.it.yml +195 -1
  329. data/config/locales/hyrax.pt-BR.yml +195 -1
  330. data/config/locales/hyrax.zh.yml +195 -1
  331. data/config/routes.rb +4 -0
  332. data/db/seeds.rb +1 -1
  333. data/docker-compose.yml +42 -9
  334. data/documentation/developing-your-hyrax-based-app.md +4 -4
  335. data/documentation/legacyREADME.md +4 -4
  336. data/hyrax.gemspec +4 -2
  337. data/lib/generators/hyrax/templates/catalog_controller.rb +3 -1
  338. data/lib/generators/hyrax/templates/config/analytics.yml +13 -7
  339. data/lib/generators/hyrax/templates/config/initializers/hyrax.rb +15 -13
  340. data/lib/generators/hyrax/templates/db/migrate/20211130181150_create_default_administrative_set.rb.erb +8 -0
  341. data/lib/generators/hyrax/work/templates/feature_spec.rb.erb +4 -2
  342. data/lib/generators/hyrax/work_resource/templates/indexer_spec.rb.erb +1 -0
  343. data/lib/hyrax/active_fedora_dummy_model.rb +62 -0
  344. data/lib/hyrax/collection_name.rb +6 -2
  345. data/lib/hyrax/configuration.rb +114 -4
  346. data/lib/hyrax/engine.rb +9 -6
  347. data/lib/hyrax/errors.rb +2 -0
  348. data/lib/hyrax/form_fields.rb +1 -0
  349. data/lib/hyrax/publisher.rb +16 -0
  350. data/lib/hyrax/resource_name.rb +1 -0
  351. data/lib/hyrax/resource_sync/change_list_writer.rb +2 -2
  352. data/lib/hyrax/resource_sync/resource_list_writer.rb +2 -2
  353. data/lib/hyrax/specs/capybara.rb +5 -3
  354. data/lib/hyrax/specs/shared_specs/hydra_works.rb +2 -0
  355. data/lib/hyrax/specs/shared_specs/indexers.rb +6 -0
  356. data/lib/hyrax/specs/shared_specs/valkyrie_storage_versions.rb +9 -0
  357. data/lib/hyrax/transactions/admin_set_create.rb +22 -0
  358. data/lib/hyrax/transactions/collection_create.rb +25 -0
  359. data/lib/hyrax/transactions/collection_update.rb +20 -0
  360. data/lib/hyrax/transactions/container.rb +58 -0
  361. data/lib/hyrax/transactions/file_set_destroy.rb +21 -0
  362. data/lib/hyrax/transactions/steps/add_file_sets.rb +3 -2
  363. data/lib/hyrax/transactions/steps/add_to_collections.rb +13 -1
  364. data/lib/hyrax/transactions/steps/add_to_parent.rb +36 -0
  365. data/lib/hyrax/transactions/steps/apply_collection_type_permissions.rb +29 -0
  366. data/lib/hyrax/transactions/steps/remove_file_set_from_work.rb +47 -0
  367. data/lib/hyrax/transactions/steps/save.rb +18 -6
  368. data/lib/hyrax/transactions/steps/set_collection_type_gid.rb +35 -0
  369. data/lib/hyrax/transactions/work_create.rb +2 -1
  370. data/lib/hyrax/valkyrie_can_can_adapter.rb +1 -0
  371. data/lib/hyrax/valkyrie_simple_path_generator.rb +20 -0
  372. data/lib/hyrax/version.rb +1 -1
  373. data/lib/hyrax.rb +9 -0
  374. data/lib/tasks/collection_type_global_id.rake +1 -1
  375. data/lib/tasks/default_admin_set.rake +12 -11
  376. data/lib/tasks/regenerate_derivatives.rake +12 -0
  377. data/lib/wings/active_fedora_converter/default_work.rb +15 -0
  378. data/lib/wings/model_transformer.rb +17 -1
  379. data/lib/wings/orm_converter.rb +18 -2
  380. data/lib/wings/setup.rb +17 -0
  381. data/lib/wings/valkyrie/persister.rb +16 -0
  382. data/lib/wings/valkyrie/storage.rb +56 -1
  383. data/lib/wings.rb +0 -21
  384. data/template.rb +1 -1
  385. data/vendor/assets/javascripts/morris/morris.min.js +1 -7
  386. data/vendor/assets/stylesheets/morris.js/0.5.1/morris.css +1 -1
  387. metadata +120 -17
  388. data/app/views/hyrax/dashboard/_repository_objects.html.erb +0 -28
@@ -31,6 +31,9 @@ zh:
31
31
  filters:
32
32
  title: '筛选:'
33
33
  start_over: 清除筛选
34
+ download:
35
+ one: 和 1 个下载
36
+ other: 和 %{count} 下载
34
37
  errors:
35
38
  messages:
36
39
  carrierwave_download_error: 图片不能下载。
@@ -178,6 +181,141 @@ zh:
178
181
  item_list_header: 集内作品
179
182
  show_actions:
180
183
  confirm_delete: 您确定要删除此管理集?此操作无法撤消。
184
+ analytics:
185
+ collection_reports:
186
+ custom_range:
187
+ collection_home_page_views: 馆藏主页浏览量
188
+ date_range_heading: 自定义日期范围
189
+ summary_heading: 用户活动摘要
190
+ work_downloads: 作品下载
191
+ work_views: 作品观
192
+ index:
193
+ activity: 活动
194
+ and: 和
195
+ custom_range: 自定义范围
196
+ date_range_heading: 自定义报告
197
+ downloads: 下载
198
+ enable_analytics: 启用分析以查看报告
199
+ export: 出口
200
+ monthly: 每月
201
+ repo_summary: 存储库包含
202
+ repo_summary_2: 共同拥有
203
+ report_generated_on: 此报告生成于
204
+ report_header: 自定义集合报告
205
+ summary: 概括
206
+ title: 收藏报告
207
+ views: 页面浏览量
208
+ monthly_summary:
209
+ collection_views: 馆藏主页浏览量
210
+ monthly_subtitle: 过去 12 个月的逐月状态
211
+ work_downloads: 作品下载
212
+ work_views: 作品观
213
+ show:
214
+ collection_type: 收藏类型
215
+ created_by: 由...制作
216
+ custom_range: 自定义范围
217
+ last_updated: 最后更新于
218
+ monthly: 每月
219
+ return_to_btn: 返回收藏报告
220
+ summary: 概括
221
+ title: 收款报告
222
+ view_collection_btn: 查看收藏
223
+ visibility: 能见度
224
+ summary:
225
+ all_time: 整天
226
+ collection_home_page_views: 馆藏主页浏览量
227
+ date_range: 日期范围
228
+ subtitle: 用户活动摘要
229
+ this_month: 这个月
230
+ this_week: 本星期
231
+ this_year: 今年
232
+ today: 今天
233
+ work_downloads: 作品下载
234
+ work_views: 作品观
235
+ top_collections:
236
+ collection_page_views: 收藏页面浏览量
237
+ collection_title: 馆藏名称
238
+ deleted: 集合已删除
239
+ export: 出口
240
+ file_downloads_in_collection: 此集合中的文件集下载
241
+ top_collections: 热门收藏
242
+ works_in_collection_views: 在此集合视图中的作品
243
+ date_range_form:
244
+ date_range_heading: 自定义日期范围
245
+ end_date: 结束日期
246
+ reset_date_range: 重置日期范围
247
+ set_date_range: 设置报告日期范围
248
+ start_date: 开始日期
249
+ work_reports:
250
+ custom_range:
251
+ date_range_heading: 自定义日期范围
252
+ file_downloads: 文件下载
253
+ page_views: 页面浏览量
254
+ summary_heading: 用户活动摘要
255
+ unique_visitors: 独立访客
256
+ index:
257
+ access_to: 您可以访问
258
+ activity: 活动
259
+ and: 和
260
+ custom_range: 自定义范围
261
+ date_range_heading: 自定义报告
262
+ downloads: 下载
263
+ enable_analytics: 启用分析以查看报告
264
+ export: 出口
265
+ monthly: 每月
266
+ repo_summary: 在这个存储库中,它们共同拥有
267
+ report_generated_on: 此报告生成于
268
+ report_header: 定制作品报告
269
+ subtitle: 用户活动摘要
270
+ summary: 概括
271
+ title: 作品报告
272
+ views: 意见
273
+ works: 作品
274
+ monthly_summary:
275
+ file_downloads: 文件下载
276
+ monthly_subtitle: 过去 12 个月的逐月状态
277
+ page_views: 页面浏览量
278
+ show:
279
+ custom_range: 自定义范围
280
+ deposited_by: 存款人
281
+ monthly: 每月
282
+ resource_type: 资源类型
283
+ return_to_btn: 复工报告
284
+ status: 地位
285
+ summary: 概括
286
+ title: 工作报告
287
+ view_work_btn: 查看工作
288
+ visibility: 能见度
289
+ work_type: 工作类型
290
+ summary:
291
+ all_time: 整天
292
+ date_range: 日期范围
293
+ file_downloads: 文件下载
294
+ page_views: 页面浏览量
295
+ subtitle: 用户活动摘要
296
+ this_month: 这个月
297
+ this_week: 本星期
298
+ this_year: 今年
299
+ today: 今天
300
+ unique_visitors: 独立访客
301
+ top_file_set_downloads:
302
+ file: 文件
303
+ file_downloads: 文件下载
304
+ file_name: 文档名称
305
+ top_downloads: 热门文件下载
306
+ top_works:
307
+ export: 出口
308
+ file_downloads: 文件下载
309
+ top_works: 热门作品
310
+ work_title: 作品名称
311
+ work_views: 工作页面浏览量
312
+ work_counts:
313
+ child_works: 儿童作品
314
+ files: 档案
315
+ total_size: 总尺寸
316
+ work_files:
317
+ title: 文件
318
+ total_downloads: 总下载量
181
319
  appearances:
182
320
  show:
183
321
  header: 表面
@@ -263,11 +401,14 @@ zh:
263
401
  header: 特征
264
402
  sidebar:
265
403
  activity: 活动
404
+ analytics: 分析
266
405
  appearance: 表面
267
406
  collection_types: 集合类型
268
407
  collections: 收藏
408
+ collections_report: 收藏报告
269
409
  configuration: 配置
270
410
  content_blocks: 内容块
411
+ dashboard: 仪表盘
271
412
  delete_all: 删除所有
272
413
  notifications: 通知
273
414
  pages: 网页
@@ -284,6 +425,7 @@ zh:
284
425
  workflow_roles: 工作流程角色
285
426
  works: 作品
286
427
  works_listing: 作品清单
428
+ works_report: 作品报告
287
429
  stats:
288
430
  deposited_form:
289
431
  end_label: 结束 [默认到此刻]
@@ -296,6 +438,10 @@ zh:
296
438
  unpublished: 非出版品
297
439
  user_deposits:
298
440
  end_label: 结束 [默认到此刻]
441
+ headers:
442
+ main: 工作统计
443
+ total: 总作品:
444
+ visibility: 可见性总计
299
445
  heading: 展示用户存储的文件
300
446
  start_label: 开始
301
447
  works:
@@ -690,13 +836,17 @@ zh:
690
836
  authorize_proxies: 授权代理
691
837
  breadcrumbs:
692
838
  admin: 管理
839
+ collections_report: 收藏报告
840
+ works_report: 作品报告
693
841
  collection_type_actions:
694
842
  close: 关
695
843
  create_collection: 创建集合
696
844
  select_type_of_collection: 选择收集类型
697
845
  collections:
846
+ collection_title: 藏品名称
698
847
  edit:
699
848
  header: 编辑收藏集:%{title}
849
+ files: 文件
700
850
  form:
701
851
  permission_update_errors:
702
852
  error: 无效的权限模板更新选项。
@@ -787,8 +937,10 @@ zh:
787
937
  remove: 去掉
788
938
  title: 观众
789
939
  type: 类型
940
+ last_updated: 最近更新时间
790
941
  new:
791
942
  header: 创建新收藏集
943
+ recent_activity: 近期活动
792
944
  show:
793
945
  header: 采集
794
946
  item_count: 作品
@@ -817,6 +969,7 @@ zh:
817
969
  sort_and_per_page:
818
970
  show_par_page_html: 显示%{select}每页
819
971
  sort_by: 排序:
972
+ title: 收藏
820
973
  work_action_menu:
821
974
  delete_work: 删除工作
822
975
  deleting_from_work: 从%{application_name}删除作品是永久性的。单击“确定”从%{application_name}中删除此工作,或单击“取消”取消此操作
@@ -825,6 +978,7 @@ zh:
825
978
  remove_from_collection: 从收藏中删除
826
979
  select_an_action: 选择一个动作
827
980
  transfer_ownership_of_work: 转移工作所有权
981
+ works: 作品
828
982
  create_work: 创建作品
829
983
  current_proxies: 目前代理
830
984
  delete_notification: 删除通知
@@ -884,6 +1038,7 @@ zh:
884
1038
  view: 视图
885
1039
  users: '用户:'
886
1040
  collections: 你的收藏集
1041
+ collections_report: 收藏报告
887
1042
  facet_label:
888
1043
  collections: '筛选您的收藏集:'
889
1044
  highlighted: '筛选您的收藏精品:'
@@ -919,6 +1074,7 @@ zh:
919
1074
  show_label: 展示所有细节
920
1075
  thumbnail: 缩图
921
1076
  works: 您的作品
1077
+ works_report: 作品报告
922
1078
  your_collections: 你的收藏
923
1079
  your_works: 你的作品
924
1080
  nest_collections_form:
@@ -952,12 +1108,18 @@ zh:
952
1108
  objects: 对象
953
1109
  subtitle: 过去90天
954
1110
  title: 存储库增长
1111
+ works: 作品
955
1112
  repository_objects:
956
1113
  status: 当前状态
957
1114
  subtitle: 当前状态
958
1115
  title: 存储库对象
1116
+ resource_type_graph:
1117
+ count: 数数
1118
+ resource_type: 资源类型
1119
+ title: 资源类型
959
1120
  show_admin:
960
1121
  current_registered_users: 电流
1122
+ graph_reports: 自定义图表报告
961
1123
  new_visitors: 新访问者
962
1124
  past_30_days: 过去30天
963
1125
  registered_users: 注册用户
@@ -971,6 +1133,8 @@ zh:
971
1133
  heading: 您的【下载?】统计
972
1134
  joined_on: 加入上
973
1135
  works: 已建立的作品
1136
+ tabs:
1137
+ admin_sets: 管理集
974
1138
  title: 我的控件板
975
1139
  transfer_of_ownership: 转让所有权
976
1140
  transfer_works_link: 选择作品转让
@@ -979,10 +1143,27 @@ zh:
979
1143
  user_activity:
980
1144
  date: 日期
981
1145
  new_users: 新用户
1146
+ new_visitors: 新访客
1147
+ registered_users: 注册用户
1148
+ returning_visitors: 回访者
982
1149
  subtitle: 新用户注册
983
1150
  title: 用户活动
1151
+ total_visitors: 访客总数
1152
+ user_summary: 用户摘要
1153
+ user_activity_graph:
1154
+ date: 日期
1155
+ new_users: 新用户
1156
+ new_visits: 新访问
1157
+ return_visits: 回访
1158
+ total_visits: 总访问量
984
1159
  user_notifications: 用户通知
985
1160
  view_files: 阅览文件
1161
+ visibility_graph:
1162
+ visibility: 能见度
1163
+ work_type_graph:
1164
+ count: 数数
1165
+ title: 工作类型
1166
+ work_type: 工作类型
986
1167
  document_language: zh
987
1168
  edit_profile: 编辑个人资料
988
1169
  embargoes:
@@ -1218,7 +1399,7 @@ zh:
1218
1399
  subject: 批量上传完成
1219
1400
  title: 文件上传成功
1220
1401
  models:
1221
- hyrax/file_set: 文件集
1402
+ file_set: 文件集
1222
1403
  hyrax/pcdm_collection: 收藏
1223
1404
  hyrax/work: 工作
1224
1405
  my:
@@ -1363,6 +1544,16 @@ zh:
1363
1544
  contact_form: 联系表
1364
1545
  export_to_zotero: 导出到Zotero
1365
1546
  export_to_zotero_details: 通过嵌入式元数据支持导出到Zotero。如果Zotero没有自动获取存放文件的元数据,请通过以下方式报告问题
1547
+ stats:
1548
+ downloads:
1549
+ downloads: 下载
1550
+ pageviews:
1551
+ pageviews: 页面浏览量
1552
+ work:
1553
+ and: 和
1554
+ downloads: 下载
1555
+ header: 工作分析
1556
+ pageviews: 浏览量
1366
1557
  toolbar:
1367
1558
  dashboard:
1368
1559
  menu: 控件板
@@ -1641,3 +1832,6 @@ zh:
1641
1832
  member_of_collection_ids: 选择一个集合...
1642
1833
  required:
1643
1834
  html: <span class="label label-info required-tag">需要的</span>
1835
+ total_view:
1836
+ one: 该作品共有 1 次浏览
1837
+ other: 此作品总浏览量为 %{count}
data/config/routes.rb CHANGED
@@ -224,6 +224,10 @@ Hyrax::Engine.routes.draw do
224
224
  end
225
225
 
226
226
  namespace :admin do
227
+ namespace :analytics do
228
+ resources :collection_reports, only: [:index, :show]
229
+ resources :work_reports, only: [:index, :show]
230
+ end
227
231
  resources :admin_sets do
228
232
  member do
229
233
  get :files
data/db/seeds.rb CHANGED
@@ -10,7 +10,7 @@ errors = Hyrax::Workflow::WorkflowImporter.load_errors
10
10
  abort("Failed to process all workflows:\n #{errors.join('\n ')}") unless errors.empty?
11
11
 
12
12
  puts "\n== Creating default admin set"
13
- admin_set_id = AdminSet.find_or_create_default_admin_set_id
13
+ admin_set_id = Hyrax::AdminSetCreateService.find_or_create_default_admin_set.id.to_s
14
14
 
15
15
  # I have found that when I come back to a development
16
16
  # environment, that I may have an AdminSet in Fedora, but it is
data/docker-compose.yml CHANGED
@@ -7,7 +7,8 @@ services:
7
7
  target: hyrax-engine-dev
8
8
  args:
9
9
  - EXTRA_APK_PACKAGES=git less
10
- image: hyrax-engine-dev
10
+ image: ghcr.io/samvera/dassie
11
+ command: sh -l -c 'bundle && bundle exec puma -v -b tcp://0.0.0.0:3000'
11
12
  stdin_open: true
12
13
  tty: true
13
14
  user: root
@@ -33,6 +34,8 @@ services:
33
34
  - hyrax-uploads:/app/samvera/hyrax-webapp/uploads
34
35
  - rails-public:/app/samvera/hyrax-webapp/public
35
36
  - rails-tmp:/app/samvera/hyrax-webapp/tmp
37
+ networks:
38
+ - hyrax
36
39
 
37
40
  chrome:
38
41
  image: selenium/standalone-chrome:3.141
@@ -44,9 +47,11 @@ services:
44
47
  ports:
45
48
  - "4444:4444"
46
49
  - "5959:5900"
50
+ networks:
51
+ - hyrax
47
52
 
48
53
  db_migrate:
49
- image: hyrax-engine-dev
54
+ image: ghcr.io/samvera/dassie
50
55
  user: root
51
56
  env_file:
52
57
  - .env
@@ -59,6 +64,8 @@ services:
59
64
  - .:/app/samvera/hyrax-engine:cached
60
65
  - rails-public:/app/samvera/hyrax-webapp/public
61
66
  - rails-tmp:/app/samvera/hyrax-webapp/tmp
67
+ networks:
68
+ - hyrax
62
69
 
63
70
  postgres:
64
71
  image: postgres:latest
@@ -72,33 +79,49 @@ services:
72
79
  - "5432:5432"
73
80
  volumes:
74
81
  - db:/var/lib/postgresql/data
82
+ networks:
83
+ - hyrax
75
84
 
76
85
  fcrepo:
77
- image: cbeer/fcrepo4:4.7
86
+ image: ghcr.io/samvera/fcrepo4:4.7.5
78
87
  volumes:
79
- - fcrepo:/data
88
+ - fcrepo:/data:cached
80
89
  ports:
81
90
  - 8080:8080
82
- environment:
83
- - JAVA_OPTS=${JAVA_OPTS} -Dfcrepo.modeshape.configuration="classpath:/config/file-simple/repository.json" -Dfcrepo.object.directory="/data/objects" -Dfcrepo.binary.directory="/data/binaries"
91
+ networks:
92
+ - hyrax
84
93
 
85
94
  memcached:
86
95
  image: bitnami/memcached
87
96
  ports:
88
97
  - '11211:11211'
98
+ networks:
99
+ - hyrax
89
100
 
90
101
  redis:
91
102
  image: redis:5-alpine
92
103
  volumes:
93
104
  - redis:/data
105
+ networks:
106
+ - hyrax
94
107
 
95
108
  sidekiq:
96
109
  build:
97
110
  context: .
98
111
  target: hyrax-engine-dev-worker
112
+ image: ghcr.io/samvera/dassie-worker
113
+ command: sh -l -c 'bundle && bundle exec sidekiq'
114
+ user: root
99
115
  env_file:
100
116
  - .env
101
117
  - .dassie/.env
118
+ depends_on:
119
+ - db_migrate
120
+ - fcrepo
121
+ - memcached
122
+ - postgres
123
+ - redis
124
+ - solr
102
125
  volumes:
103
126
  - .dassie:/app/samvera/hyrax-webapp:cached
104
127
  - .:/app/samvera/hyrax-engine:cached
@@ -106,18 +129,22 @@ services:
106
129
  - hyrax-uploads:/app/samvera/hyrax-webapp/uploads
107
130
  - sidekiq-public:/app/samvera/hyrax-webapp/public
108
131
  - sidekiq-tmp:/app/samvera/hyrax-webapp/tmp
132
+ networks:
133
+ - hyrax
109
134
 
110
135
  solr:
111
- image: solr:8.7
136
+ image: solr:8.11.1
112
137
  ports:
113
138
  - 8983:8983
114
139
  command:
115
140
  - sh
116
141
  - "-c"
117
- - "precreate-core hyrax_test /opt/solr/server/configsets/hyraxconf; precreate-core hyrax-valkyrie-test /opt/solr/server/configsets/hyraxconf; solr-precreate hyrax /opt/solr/server/configsets/hyraxconf"
142
+ - "precreate-core hyrax_test /opt/solr/server/configsets/hyraxconf; precreate-core hyrax-valkyrie-test /opt/solr/server/configsets/hyraxconf; precreate-core hyrax-valkyrie-dev /opt/solr/server/configsets/hyraxconf; solr-precreate hyrax /opt/solr/server/configsets/hyraxconf"
118
143
  volumes:
119
- - solr_home:/opt/solr/server/solr
144
+ - solr_home:/var/solr/data:cached
120
145
  - .dassie/solr/conf:/opt/solr/server/configsets/hyraxconf
146
+ networks:
147
+ - hyrax
121
148
 
122
149
  volumes:
123
150
  db:
@@ -130,3 +157,9 @@ volumes:
130
157
  sidekiq-public:
131
158
  sidekiq-tmp:
132
159
  solr_home:
160
+
161
+ networks:
162
+ hyrax:
163
+ driver: bridge
164
+ driver_opts:
165
+ com.docker.network.bridge.name: br-hyrax
@@ -43,7 +43,7 @@ Prerequisites are required for both creating a Hyrax\-based app and contributing
43
43
 
44
44
  Hyrax requires the following software to work:
45
45
 
46
- 1. [Solr](http://lucene.apache.org/solr/) version >= 5.x (tested up to 8.7.0)
46
+ 1. [Solr](http://lucene.apache.org/solr/) version >= 5.x (tested up to 8.11.1, which includes the log4j library update)
47
47
  1. [Fedora Commons](http://www.fedora-commons.org/) digital repository version >= 4.5.1 (tested up to 4.7.5)
48
48
  1. A SQL RDBMS (MySQL, PostgreSQL), though **note** that SQLite will be used by default if you're looking to get up and running quickly
49
49
  1. [Redis](http://redis.io/), a key-value store
@@ -105,11 +105,11 @@ Starting up Redis will depend on your operating system, and may in fact already
105
105
 
106
106
  ## Rails
107
107
 
108
- Hyrax requires Rails 5. We recommend the latest Rails 5.2.5 release.
108
+ Hyrax requires Rails 5. We recommend the latest Rails 5.2 release.
109
109
 
110
110
  ```
111
111
  # If you don't already have Rails at your disposal...
112
- gem install rails -v 5.2.5
112
+ gem install rails -v 5.2.6
113
113
  ```
114
114
 
115
115
  ### JavaScript runtime
@@ -125,7 +125,7 @@ NOTE: The steps need to be done in order to create a new Hyrax based app.
125
125
  Generate a new Rails application using the template.
126
126
 
127
127
  ```
128
- rails _5.2.5_ new my_app -m https://raw.githubusercontent.com/samvera/hyrax/v3.0.1/template.rb
128
+ rails _5.2.6_ new my_app -m https://raw.githubusercontent.com/samvera/hyrax/v3.3.0/template.rb
129
129
  ```
130
130
 
131
131
  Generating a new Rails application using Hyrax's template above takes cares of a number of steps for you, including:
@@ -50,7 +50,7 @@ The Samvera community is here to help. Please see our [support guide](./.github/
50
50
  # Getting started
51
51
 
52
52
  This document contains instructions specific to setting up an app with __Hyrax
53
- v3.0.1__. If you are looking for instructions on installing a different
53
+ v3.3.0__. If you are looking for instructions on installing a different
54
54
  version, be sure to select the appropriate branch or tag from the drop-down
55
55
  menu above.
56
56
 
@@ -139,11 +139,11 @@ Starting up Redis will depend on your operating system, and may in fact already
139
139
 
140
140
  ## Rails
141
141
 
142
- Hyrax requires Rails 5. We recommend the latest Rails 5.2.5 release.
142
+ Hyrax requires Rails 5. We recommend the latest Rails 5.2 release.
143
143
 
144
144
  ```
145
145
  # If you don't already have Rails at your disposal...
146
- gem install rails -v 5.2.5
146
+ gem install rails -v 5.2.6
147
147
  ```
148
148
 
149
149
  ### JavaScript runtime
@@ -159,7 +159,7 @@ NOTE: The steps need to be done in order to create a new Hyrax based app.
159
159
  Generate a new Rails application using the template.
160
160
 
161
161
  ```
162
- rails _5.2.5_ new my_app -m https://raw.githubusercontent.com/samvera/hyrax/v3.0.1/template.rb
162
+ rails _5.2.6_ new my_app -m https://raw.githubusercontent.com/samvera/hyrax/v3.0.2/template.rb
163
163
  ```
164
164
 
165
165
  Generating a new Rails application using Hyrax's template above takes cares of a number of steps for you, including:
data/hyrax.gemspec CHANGED
@@ -52,8 +52,9 @@ SUMMARY
52
52
  spec.add_dependency 'font-awesome-rails', '~> 4.2'
53
53
  spec.add_dependency 'hydra-derivatives', '~> 3.3'
54
54
  spec.add_dependency 'hydra-editor', '~> 5.0', ">= 5.0.4"
55
+ spec.add_dependency 'hydra-file_characterization', '~> 1.1.2'
55
56
  spec.add_dependency 'hydra-head', '~> 11.0', ">= 11.0.1"
56
- spec.add_dependency 'hydra-works', '>= 0.16', '< 2.0'
57
+ spec.add_dependency 'hydra-works', '>= 0.16'
57
58
  spec.add_dependency 'iiif_manifest', '>= 0.3', '< 2.0'
58
59
  spec.add_dependency 'jquery-datatables-rails', '~> 3.4'
59
60
  spec.add_dependency 'jquery-ui-rails', '~> 6.0'
@@ -82,7 +83,7 @@ SUMMARY
82
83
  spec.add_dependency 'select2-rails', '~> 3.5'
83
84
  spec.add_dependency 'signet'
84
85
  spec.add_dependency 'tinymce-rails'
85
- spec.add_dependency 'valkyrie', '>= 2.1.1', "< 3.0"
86
+ spec.add_dependency 'valkyrie', '~> 2', '>= 2.1.1'
86
87
 
87
88
  spec.add_development_dependency "capybara", '~> 3.29'
88
89
  spec.add_development_dependency 'capybara-screenshot', '~> 1.0'
@@ -95,6 +96,7 @@ SUMMARY
95
96
  spec.add_development_dependency "jasmine-core", '~> 2.3', '< 2.99'
96
97
  spec.add_development_dependency 'mida', '~> 0.3'
97
98
  spec.add_development_dependency 'okcomputer'
99
+ spec.add_development_dependency 'pg', '~> 1.2'
98
100
  spec.add_development_dependency 'rspec-activemodel-mocks', '~> 1.0'
99
101
  spec.add_development_dependency 'rspec-its', '~> 1.1'
100
102
  spec.add_development_dependency 'rspec-rails', '~> 3.1'
@@ -5,6 +5,8 @@ class CatalogController < ApplicationController
5
5
 
6
6
  # This filter applies the hydra access controls
7
7
  before_action :enforce_show_permissions, only: :show
8
+ # Allow all search options when in read-only mode
9
+ skip_before_action :check_read_only
8
10
 
9
11
  def self.uploaded_field
10
12
  "system_create_dtsi"
@@ -22,7 +24,7 @@ class CatalogController < ApplicationController
22
24
  config.view.slideshow.partials = [:index]
23
25
 
24
26
  # Because too many times on Samvera tech people raise a problem regarding a failed query to SOLR.
25
- # Often, it's because they inadvertantly exceeded the character limit of a GET request.
27
+ # Often, it's because they inadvertently exceeded the character limit of a GET request.
26
28
  config.http_method = :post
27
29
 
28
30
  ## Default parameters to send to solr for all search-like requests. See also SolrHelper#solr_search_params
@@ -1,9 +1,15 @@
1
1
  #
2
- # To integrate your app with Google Analytics, uncomment the lines below and add your API key information.
2
+ # You can manually fill in these values or use the ENV variables.
3
3
  #
4
- # analytics:
5
- # app_name: <%= ENV['GOOGLE_OAUTH_APP_NAME']
6
- # app_version: <%= ENV['GOOGLE_OAUTH_APP_VERSION']
7
- # privkey_path: <%= ENV['GOOGLE_OAUTH_PRIVATE_KEY_PATH']
8
- # privkey_secret: <%= ENV['GOOGLE_OAUTH_PRIVATE_KEY_SECRET']
9
- # client_email: <%= ENV['GOOGLE_OAUTH_CLIENT_EMAIL']
4
+ analytics:
5
+ google:
6
+ analytics_id: <%= ENV['GOOGLE_ANALYTICS_ID'] %>
7
+ app_name: <%= ENV['GOOGLE_OAUTH_APP_NAME'] %>
8
+ app_version: <%= ENV['GOOGLE_OAUTH_APP_VERSION'] %>
9
+ privkey_path: <%= ENV['GOOGLE_OAUTH_PRIVATE_KEY_PATH'] %>
10
+ privkey_secret: <%= ENV['GOOGLE_OAUTH_PRIVATE_KEY_SECRET'] %>
11
+ client_email: <%= ENV['GOOGLE_OAUTH_CLIENT_EMAIL'] %>
12
+ matomo:
13
+ base_url: <%= ENV['MATOMO_BASE_URL'] %>
14
+ site_id: <%= ENV['MATOMO_SITE_ID'] %>
15
+ auth_token: <%= ENV['MATOMO_AUTH_TOKEN'] %>
@@ -41,19 +41,6 @@ Hyrax.config do |config|
41
41
  # maxFileSize: 500.megabytes
42
42
  # }
43
43
 
44
- # Enable displaying usage statistics in the UI
45
- # Defaults to false
46
- # Requires a Google Analytics id and OAuth2 keyfile. See README for more info
47
- # config.analytics = false
48
-
49
- # Google Analytics tracking ID to gather usage statistics
50
- # config.google_analytics_id = 'UA-99999999-1'
51
-
52
- # Date you wish to start collecting Google Analytic statistics for
53
- # Leaving it blank will set the start date to when ever the file was uploaded by
54
- # NOTE: if you have always sent analytics to GA for downloads and page views leave this commented out
55
- # config.analytic_start_date = DateTime.new(2014, 9, 10)
56
-
57
44
  # Enables a link to the citations page for a work
58
45
  # Default is false
59
46
  # config.citations = false
@@ -159,6 +146,11 @@ Hyrax.config do |config|
159
146
  # Should a button with "Share my work" show on the front page to all users (even those not logged in)?
160
147
  # config.display_share_button_when_not_logged_in = true
161
148
 
149
+ # This user is logged as the acting user for jobs and other processes that
150
+ # run without being attributed to a specific user (e.g. creation of the
151
+ # default admin set).
152
+ # config.system_user_key = 'systemuser@example.com'
153
+
162
154
  # The user who runs batch jobs. Update this if you aren't using emails
163
155
  # config.batch_user_key = 'batchuser@example.com'
164
156
 
@@ -233,6 +225,16 @@ Hyrax.config do |config|
233
225
  # "#{ActiveFedora.fedora.host}#{ActiveFedora.fedora.base_path}/#{Noid::Rails.treeify(id)}"
234
226
  # end
235
227
 
228
+ # Identify the model class name that will be used for Collections in your app
229
+ # (i.e. ::Collection for ActiveFedora, Hyrax::PcdmCollection for Valkyrie)
230
+ # config.collection_model = '::Collection'
231
+ # config.collection_model = 'Hyrax::PcdmCollection'
232
+
233
+ # Identify the model class name that will be used for Admin Sets in your app
234
+ # (i.e. AdminSet for ActiveFedora, Hyrax::AdministrativeSet for Valkyrie)
235
+ # config.admin_set_model = 'AdminSet'
236
+ # config.admin_set_model = 'Hyrax::AdministrativeSet'
237
+
236
238
  # When your application is ready to use the valkyrie index instead of the one
237
239
  # maintained by active fedora, you will need to set this to true. You will
238
240
  # also need to update your Blacklight configuration.
@@ -0,0 +1,8 @@
1
+ class CreateDefaultAdministrativeSet < ActiveRecord::Migration<%= migration_version %>
2
+ def change
3
+ create_table :hyrax_default_administrative_set do |t|
4
+ t.string :default_admin_set_id, null: false
5
+ t.timestamps null: false
6
+ end
7
+ end
8
+ end