hyrax 0.0.0 → 1.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1604) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +52 -0
  3. data/.engine_cart.yml +1 -0
  4. data/.eslintignore +1 -0
  5. data/.eslintrc +214 -0
  6. data/.github/CONTRIBUTING.md +113 -0
  7. data/.github/ISSUE_TEMPLATE.md +20 -0
  8. data/.github/PULL_REQUEST_TEMPLATE.md +22 -0
  9. data/.gitignore +76 -8
  10. data/.hound.yml +5 -0
  11. data/.rspec +1 -1
  12. data/.rubocop.yml +130 -0
  13. data/.rubocop_todo.yml +171 -0
  14. data/.scss-lint.yml +253 -0
  15. data/.travis.yml +26 -3
  16. data/CONTRIBUTING.md +159 -0
  17. data/Gemfile +47 -1
  18. data/LICENSE +15 -0
  19. data/README.md +253 -18
  20. data/Rakefile +20 -4
  21. data/app/actors/hyrax/actors/abstract_actor.rb +31 -0
  22. data/app/actors/hyrax/actors/actor_stack.rb +70 -0
  23. data/app/actors/hyrax/actors/add_as_member_of_collections_actor.rb +26 -0
  24. data/app/actors/hyrax/actors/add_to_work_actor.rb +54 -0
  25. data/app/actors/hyrax/actors/apply_order_actor.rb +63 -0
  26. data/app/actors/hyrax/actors/assign_representative_actor.rb +20 -0
  27. data/app/actors/hyrax/actors/attach_files_actor.rb +53 -0
  28. data/app/actors/hyrax/actors/attach_members_actor.rb +70 -0
  29. data/app/actors/hyrax/actors/base_actor.rb +77 -0
  30. data/app/actors/hyrax/actors/embargo_actor.rb +21 -0
  31. data/app/actors/hyrax/actors/file_actor.rb +66 -0
  32. data/app/actors/hyrax/actors/file_set_actor.rb +160 -0
  33. data/app/actors/hyrax/actors/initialize_workflow_actor.rb +24 -0
  34. data/app/actors/hyrax/actors/interpret_visibility_actor.rb +223 -0
  35. data/app/actors/hyrax/actors/lease_actor.rb +21 -0
  36. data/app/actors/hyrax/actors/optimistic_lock_validator.rb +30 -0
  37. data/app/actors/hyrax/actors/root_actor.rb +20 -0
  38. data/app/actors/hyrax/actors/transactional_request.rb +20 -0
  39. data/app/actors/hyrax/apply_permission_template_actor.rb +21 -0
  40. data/app/actors/hyrax/create_with_files_actor.rb +46 -0
  41. data/app/actors/hyrax/create_with_remote_files_actor.rb +49 -0
  42. data/app/actors/hyrax/default_admin_set_actor.rb +42 -0
  43. data/app/assets/images/audio.png +0 -0
  44. data/app/assets/images/collection.png +0 -0
  45. data/app/assets/images/default.png +0 -0
  46. data/app/assets/images/favicon.ico +0 -0
  47. data/app/assets/images/hydra/powered_by_hydra.png +0 -0
  48. data/app/assets/images/loading.gif +0 -0
  49. data/app/assets/images/orcid.png +0 -0
  50. data/app/assets/images/progressbar.gif +0 -0
  51. data/app/assets/images/work.png +0 -0
  52. data/app/assets/images/zotero.png +0 -0
  53. data/app/assets/javascripts/batch_edit.js.coffee +166 -0
  54. data/app/assets/javascripts/hyrax.js +91 -0
  55. data/app/assets/javascripts/hyrax/admin/admin_set/participants.es6 +9 -0
  56. data/app/assets/javascripts/hyrax/admin/admin_set/visibility.es6 +134 -0
  57. data/app/assets/javascripts/hyrax/admin/admin_set_controls.es6 +11 -0
  58. data/app/assets/javascripts/hyrax/admin/graphs.es6 +75 -0
  59. data/app/assets/javascripts/hyrax/app.js +123 -0
  60. data/app/assets/javascripts/hyrax/authority_select.es6 +62 -0
  61. data/app/assets/javascripts/hyrax/autocomplete.es6 +24 -0
  62. data/app/assets/javascripts/hyrax/autocomplete/default.es6 +29 -0
  63. data/app/assets/javascripts/hyrax/autocomplete/work.es6 +38 -0
  64. data/app/assets/javascripts/hyrax/batch.js +13 -0
  65. data/app/assets/javascripts/hyrax/batch_edit.js +175 -0
  66. data/app/assets/javascripts/hyrax/batch_select.js +10 -0
  67. data/app/assets/javascripts/hyrax/batch_select_all.js +109 -0
  68. data/app/assets/javascripts/hyrax/browse_everything.js +11 -0
  69. data/app/assets/javascripts/hyrax/collections.js +13 -0
  70. data/app/assets/javascripts/hyrax/content_blocks.js +12 -0
  71. data/app/assets/javascripts/hyrax/dashboard_actions.js +35 -0
  72. data/app/assets/javascripts/hyrax/editor.es6 +47 -0
  73. data/app/assets/javascripts/hyrax/editor/admin_set_widget.es6 +39 -0
  74. data/app/assets/javascripts/hyrax/facets.js +14 -0
  75. data/app/assets/javascripts/hyrax/featured_researcher.js +14 -0
  76. data/app/assets/javascripts/hyrax/featured_works.js +63 -0
  77. data/app/assets/javascripts/hyrax/file_manager.es6 +79 -0
  78. data/app/assets/javascripts/hyrax/file_manager/member.es6 +91 -0
  79. data/app/assets/javascripts/hyrax/file_manager/save_manager.es6 +68 -0
  80. data/app/assets/javascripts/hyrax/file_manager/sorting.es6 +134 -0
  81. data/app/assets/javascripts/hyrax/fileupload.js.erb +12 -0
  82. data/app/assets/javascripts/hyrax/flot_stats.js +122 -0
  83. data/app/assets/javascripts/hyrax/ga_events.js +10 -0
  84. data/app/assets/javascripts/hyrax/initialize.js +3 -0
  85. data/app/assets/javascripts/hyrax/monkey_patch_turbolinks.js.coffee +10 -0
  86. data/app/assets/javascripts/hyrax/notifications.es6 +68 -0
  87. data/app/assets/javascripts/hyrax/permissions.js +8 -0
  88. data/app/assets/javascripts/hyrax/permissions/control.es6 +26 -0
  89. data/app/assets/javascripts/hyrax/permissions/grant.es6 +24 -0
  90. data/app/assets/javascripts/hyrax/permissions/group.es6 +10 -0
  91. data/app/assets/javascripts/hyrax/permissions/group_controls.es6 +73 -0
  92. data/app/assets/javascripts/hyrax/permissions/person.es6 +11 -0
  93. data/app/assets/javascripts/hyrax/permissions/registry.es6 +110 -0
  94. data/app/assets/javascripts/hyrax/permissions/registry_entry.es6 +45 -0
  95. data/app/assets/javascripts/hyrax/permissions/user_controls.es6 +81 -0
  96. data/app/assets/javascripts/hyrax/proxy_rights.js +68 -0
  97. data/app/assets/javascripts/hyrax/relationships.js +4 -0
  98. data/app/assets/javascripts/hyrax/relationships/control.es6 +83 -0
  99. data/app/assets/javascripts/hyrax/relationships/registry.es6 +60 -0
  100. data/app/assets/javascripts/hyrax/relationships/registry_entry.es6 +38 -0
  101. data/app/assets/javascripts/hyrax/relationships/work.es6 +7 -0
  102. data/app/assets/javascripts/hyrax/save_work.es6 +6 -0
  103. data/app/assets/javascripts/hyrax/save_work/checklist_item.es6 +15 -0
  104. data/app/assets/javascripts/hyrax/save_work/deposit_agreement.es6 +39 -0
  105. data/app/assets/javascripts/hyrax/save_work/required_fields.es6 +23 -0
  106. data/app/assets/javascripts/hyrax/save_work/save_work_control.es6 +158 -0
  107. data/app/assets/javascripts/hyrax/save_work/uploaded_files.es6 +28 -0
  108. data/app/assets/javascripts/hyrax/save_work/visibility_component.es6 +277 -0
  109. data/app/assets/javascripts/hyrax/search.js +65 -0
  110. data/app/assets/javascripts/hyrax/select_submit.js +12 -0
  111. data/app/assets/javascripts/hyrax/select_work_type.es6 +40 -0
  112. data/app/assets/javascripts/hyrax/single_use_links_manager.js +53 -0
  113. data/app/assets/javascripts/hyrax/sorting.js +23 -0
  114. data/app/assets/javascripts/hyrax/tabs.js +30 -0
  115. data/app/assets/javascripts/hyrax/trophy.js +47 -0
  116. data/app/assets/javascripts/hyrax/uploader.js +71 -0
  117. data/app/assets/javascripts/hyrax/user_search.js +34 -0
  118. data/app/assets/javascripts/hyrax/workflow_actions_affix.js +14 -0
  119. data/app/assets/stylesheets/fileupload/jquery.fileupload-ui.scss +79 -0
  120. data/app/assets/stylesheets/hyrax/_batch-edit.scss +22 -0
  121. data/app/assets/stylesheets/hyrax/_browse_everything_overrides.scss +6 -0
  122. data/app/assets/stylesheets/hyrax/_buttons.scss +34 -0
  123. data/app/assets/stylesheets/hyrax/_catalog.scss +11 -0
  124. data/app/assets/stylesheets/hyrax/_collections.scss +100 -0
  125. data/app/assets/stylesheets/hyrax/_dashboard.scss +143 -0
  126. data/app/assets/stylesheets/hyrax/_featured.scss +20 -0
  127. data/app/assets/stylesheets/hyrax/_file-listing.scss +170 -0
  128. data/app/assets/stylesheets/hyrax/_file-show.scss +24 -0
  129. data/app/assets/stylesheets/hyrax/_file_manager.scss +129 -0
  130. data/app/assets/stylesheets/hyrax/_file_sets.scss +50 -0
  131. data/app/assets/stylesheets/hyrax/_file_upload.scss +22 -0
  132. data/app/assets/stylesheets/hyrax/_fixedsticky.scss +28 -0
  133. data/app/assets/stylesheets/hyrax/_footer.scss +30 -0
  134. data/app/assets/stylesheets/hyrax/_form-progress.scss +46 -0
  135. data/app/assets/stylesheets/hyrax/_form.scss +30 -0
  136. data/app/assets/stylesheets/hyrax/_forms.scss +84 -0
  137. data/app/assets/stylesheets/hyrax/_header.scss +16 -0
  138. data/app/assets/stylesheets/hyrax/_home-page.scss +119 -0
  139. data/app/assets/stylesheets/hyrax/_hyrax.scss +24 -0
  140. data/app/assets/stylesheets/hyrax/_modal.scss +4 -0
  141. data/app/assets/stylesheets/hyrax/_multi_value_fields.css.scss +18 -0
  142. data/app/assets/stylesheets/hyrax/_nestable.scss +111 -0
  143. data/app/assets/stylesheets/hyrax/_positioning.scss +151 -0
  144. data/app/assets/stylesheets/hyrax/_proxy-rights.scss +10 -0
  145. data/app/assets/stylesheets/hyrax/_representative-media.scss +4 -0
  146. data/app/assets/stylesheets/hyrax/_select_work_type.scss +60 -0
  147. data/app/assets/stylesheets/hyrax/_settings.scss +39 -0
  148. data/app/assets/stylesheets/hyrax/_styles.scss +77 -0
  149. data/app/assets/stylesheets/hyrax/_tinymce.scss +14 -0
  150. data/app/assets/stylesheets/hyrax/_usage-stats.scss +30 -0
  151. data/app/assets/stylesheets/hyrax/_variables.scss +17 -0
  152. data/app/assets/stylesheets/hyrax/_work-show.scss +42 -0
  153. data/app/assets/stylesheets/hyrax/admin.scss +178 -0
  154. data/app/assets/stylesheets/hyrax/blacklight_gallery.scss +17 -0
  155. data/app/authorities/qa/authorities/find_works.rb +15 -0
  156. data/app/builders/hyrax/bootstrap_breadcrumbs_builder.rb +26 -0
  157. data/app/builders/hyrax/form_builder.rb +16 -0
  158. data/app/connections/hyrax/clean_connection.rb +25 -0
  159. data/app/controllers/concerns/hydra/batch_edit_behavior.rb +73 -0
  160. data/app/controllers/concerns/hyrax/admin/stats_behavior.rb +20 -0
  161. data/app/controllers/concerns/hyrax/admin/users_controller_behavior.rb +16 -0
  162. data/app/controllers/concerns/hyrax/api.rb +66 -0
  163. data/app/controllers/concerns/hyrax/batch_edits_controller_behavior.rb +84 -0
  164. data/app/controllers/concerns/hyrax/batch_uploads_controller_behavior.rb +69 -0
  165. data/app/controllers/concerns/hyrax/breadcrumbs.rb +34 -0
  166. data/app/controllers/concerns/hyrax/breadcrumbs_for_collections.rb +23 -0
  167. data/app/controllers/concerns/hyrax/breadcrumbs_for_works.rb +30 -0
  168. data/app/controllers/concerns/hyrax/collections_controller_behavior.rb +299 -0
  169. data/app/controllers/concerns/hyrax/contact_form_controller_behavior.rb +45 -0
  170. data/app/controllers/concerns/hyrax/controller.rb +101 -0
  171. data/app/controllers/concerns/hyrax/curation_concern_controller.rb +241 -0
  172. data/app/controllers/concerns/hyrax/dashboard_controller_behavior.rb +47 -0
  173. data/app/controllers/concerns/hyrax/deny_access_override_behavior.rb +13 -0
  174. data/app/controllers/concerns/hyrax/depositors_controller_behavior.rb +48 -0
  175. data/app/controllers/concerns/hyrax/download_behavior.rb +87 -0
  176. data/app/controllers/concerns/hyrax/file_sets_controller_behavior.rb +273 -0
  177. data/app/controllers/concerns/hyrax/homepage_controller_behavior.rb +52 -0
  178. data/app/controllers/concerns/hyrax/my_controller_behavior.rb +59 -0
  179. data/app/controllers/concerns/hyrax/parent_container.rb +35 -0
  180. data/app/controllers/concerns/hyrax/permissions_controller_behavior.rb +38 -0
  181. data/app/controllers/concerns/hyrax/single_use_links_controller_behavior.rb +53 -0
  182. data/app/controllers/concerns/hyrax/single_use_links_viewer_controller_behavior.rb +85 -0
  183. data/app/controllers/concerns/hyrax/singular_subresource_controller.rb +16 -0
  184. data/app/controllers/concerns/hyrax/themed_layout_controller.rb +31 -0
  185. data/app/controllers/concerns/hyrax/transfers_controller_behavior.rb +79 -0
  186. data/app/controllers/concerns/hyrax/uploads_controller_behavior.rb +18 -0
  187. data/app/controllers/concerns/hyrax/users_controller_behavior.rb +113 -0
  188. data/app/controllers/concerns/hyrax/works_controller_behavior.rb +87 -0
  189. data/app/controllers/hyrax/admin/admin_sets_controller.rb +128 -0
  190. data/app/controllers/hyrax/admin/features_controller.rb +18 -0
  191. data/app/controllers/hyrax/admin/permission_template_accesses_controller.rb +27 -0
  192. data/app/controllers/hyrax/admin/permission_templates_controller.rb +52 -0
  193. data/app/controllers/hyrax/admin/stats_controller.rb +5 -0
  194. data/app/controllers/hyrax/admin/strategies_controller.rb +14 -0
  195. data/app/controllers/hyrax/admin/users_controller.rb +5 -0
  196. data/app/controllers/hyrax/admin/workflow_roles_controller.rb +39 -0
  197. data/app/controllers/hyrax/admin/workflows_controller.rb +28 -0
  198. data/app/controllers/hyrax/admin_controller.rb +20 -0
  199. data/app/controllers/hyrax/admin_sets_controller.rb +25 -0
  200. data/app/controllers/hyrax/api/items_controller.rb +82 -0
  201. data/app/controllers/hyrax/api/zotero_controller.rb +85 -0
  202. data/app/controllers/hyrax/audits_controller.rb +16 -0
  203. data/app/controllers/hyrax/batch_edits_controller.rb +7 -0
  204. data/app/controllers/hyrax/batch_uploads_controller.rb +3 -0
  205. data/app/controllers/hyrax/citations_controller.rb +28 -0
  206. data/app/controllers/hyrax/collections_controller.rb +6 -0
  207. data/app/controllers/hyrax/contact_form_controller.rb +5 -0
  208. data/app/controllers/hyrax/content_blocks_controller.rb +33 -0
  209. data/app/controllers/hyrax/dashboard_controller.rb +5 -0
  210. data/app/controllers/hyrax/depositors_controller.rb +5 -0
  211. data/app/controllers/hyrax/downloads_controller.rb +5 -0
  212. data/app/controllers/hyrax/featured_work_lists_controller.rb +18 -0
  213. data/app/controllers/hyrax/featured_works_controller.rb +30 -0
  214. data/app/controllers/hyrax/file_sets_controller.rb +5 -0
  215. data/app/controllers/hyrax/homepage_controller.rb +3 -0
  216. data/app/controllers/hyrax/mailbox_controller.rb +26 -0
  217. data/app/controllers/hyrax/my/collections_controller.rb +25 -0
  218. data/app/controllers/hyrax/my/highlights_controller.rb +41 -0
  219. data/app/controllers/hyrax/my/shares_controller.rb +25 -0
  220. data/app/controllers/hyrax/my/works_controller.rb +25 -0
  221. data/app/controllers/hyrax/my_controller.rb +3 -0
  222. data/app/controllers/hyrax/operations_controller.rb +13 -0
  223. data/app/controllers/hyrax/pages_controller.rb +12 -0
  224. data/app/controllers/hyrax/permissions_controller.rb +5 -0
  225. data/app/controllers/hyrax/resource_sync_controller.rb +52 -0
  226. data/app/controllers/hyrax/single_use_links_controller.rb +5 -0
  227. data/app/controllers/hyrax/single_use_links_viewer_controller.rb +21 -0
  228. data/app/controllers/hyrax/static_controller.rb +21 -0
  229. data/app/controllers/hyrax/stats_controller.rb +31 -0
  230. data/app/controllers/hyrax/tinymce_assets_controller.rb +14 -0
  231. data/app/controllers/hyrax/transfers_controller.rb +5 -0
  232. data/app/controllers/hyrax/trophies_controller.rb +19 -0
  233. data/app/controllers/hyrax/uploads_controller.rb +5 -0
  234. data/app/controllers/hyrax/users_controller.rb +5 -0
  235. data/app/controllers/hyrax/workflow_actions_controller.rb +25 -0
  236. data/app/conversions/power_converters.rb +6 -0
  237. data/app/conversions/power_converters/polymorphic_type.rb +7 -0
  238. data/app/conversions/power_converters/sipity_action.rb +9 -0
  239. data/app/conversions/power_converters/sipity_action_name.rb +8 -0
  240. data/app/conversions/power_converters/sipity_agent.rb +6 -0
  241. data/app/conversions/power_converters/sipity_entity.rb +12 -0
  242. data/app/conversions/power_converters/sipity_role.rb +8 -0
  243. data/app/conversions/power_converters/sipity_workflow_id.rb +16 -0
  244. data/app/conversions/power_converters/sipity_workflow_state.rb +10 -0
  245. data/app/forms/hyrax/forms/admin_set_form.rb +42 -0
  246. data/app/forms/hyrax/forms/batch_edit_form.rb +61 -0
  247. data/app/forms/hyrax/forms/batch_upload_form.rb +69 -0
  248. data/app/forms/hyrax/forms/collection_form.rb +59 -0
  249. data/app/forms/hyrax/forms/file_manager_form.rb +27 -0
  250. data/app/forms/hyrax/forms/file_set_edit_form.rb +19 -0
  251. data/app/forms/hyrax/forms/permission_template_form.rb +208 -0
  252. data/app/forms/hyrax/forms/widgets/admin_set_embargo_period.rb +16 -0
  253. data/app/forms/hyrax/forms/widgets/admin_set_visibility.rb +17 -0
  254. data/app/forms/hyrax/forms/work_form.rb +144 -0
  255. data/app/forms/hyrax/forms/workflow_action_form.rb +62 -0
  256. data/app/forms/hyrax/forms/workflow_responsibility_form.rb +41 -0
  257. data/app/helpers/batch_edits_helper.rb +14 -0
  258. data/app/helpers/contact_form_helper.rb +2 -0
  259. data/app/helpers/dashboard_helper.rb +3 -0
  260. data/app/helpers/file_set_helper.rb +7 -0
  261. data/app/helpers/hyrax/ability_helper.rb +46 -0
  262. data/app/helpers/hyrax/blacklight_override.rb +8 -0
  263. data/app/helpers/hyrax/charts_helper.rb +23 -0
  264. data/app/helpers/hyrax/citations_behavior.rb +26 -0
  265. data/app/helpers/hyrax/citations_behaviors/common_behavior.rb +16 -0
  266. data/app/helpers/hyrax/citations_behaviors/formatters.rb +21 -0
  267. data/app/helpers/hyrax/citations_behaviors/formatters/apa_formatter.rb +57 -0
  268. data/app/helpers/hyrax/citations_behaviors/formatters/chicago_formatter.rb +58 -0
  269. data/app/helpers/hyrax/citations_behaviors/formatters/mla_formatter.rb +64 -0
  270. data/app/helpers/hyrax/citations_behaviors/formatters/open_url_formatter.rb +41 -0
  271. data/app/helpers/hyrax/citations_behaviors/name_behavior.rb +51 -0
  272. data/app/helpers/hyrax/citations_behaviors/publication_behavior.rb +40 -0
  273. data/app/helpers/hyrax/citations_behaviors/title_behavior.rb +52 -0
  274. data/app/helpers/hyrax/collections_helper.rb +37 -0
  275. data/app/helpers/hyrax/content_block_helper.rb +5 -0
  276. data/app/helpers/hyrax/content_block_helper_behavior.rb +48 -0
  277. data/app/helpers/hyrax/dashboard_helper_behavior.rb +70 -0
  278. data/app/helpers/hyrax/embargo_helper.rb +15 -0
  279. data/app/helpers/hyrax/file_set_helper.rb +34 -0
  280. data/app/helpers/hyrax/hyrax_helper_behavior.rb +269 -0
  281. data/app/helpers/hyrax/lease_helper.rb +15 -0
  282. data/app/helpers/hyrax/permissions_helper.rb +19 -0
  283. data/app/helpers/hyrax/search_paths_helper.rb +11 -0
  284. data/app/helpers/hyrax/title_helper.rb +23 -0
  285. data/app/helpers/hyrax/trophy_helper.rb +23 -0
  286. data/app/helpers/hyrax/url_helper.rb +9 -0
  287. data/app/indexers/hyrax/admin_set_indexer.rb +13 -0
  288. data/app/indexers/hyrax/collection_indexer.rb +23 -0
  289. data/app/indexers/hyrax/file_set_indexer.rb +50 -0
  290. data/app/indexers/hyrax/indexes_workflow.rb +45 -0
  291. data/app/indexers/hyrax/work_indexer.rb +25 -0
  292. data/app/inputs/multi_value_select_input.rb +45 -0
  293. data/app/inputs/multifile_input.rb +8 -0
  294. data/app/jobs/attach_files_to_work_job.rb +44 -0
  295. data/app/jobs/audit_job.rb +47 -0
  296. data/app/jobs/batch_create_job.rb +41 -0
  297. data/app/jobs/characterize_job.rb +17 -0
  298. data/app/jobs/content_delete_event_job.rb +20 -0
  299. data/app/jobs/content_deposit_event_job.rb +6 -0
  300. data/app/jobs/content_depositor_change_event_job.rb +46 -0
  301. data/app/jobs/content_event_job.rb +22 -0
  302. data/app/jobs/content_new_version_event_job.rb +6 -0
  303. data/app/jobs/content_restored_version_event_job.rb +13 -0
  304. data/app/jobs/content_update_event_job.rb +6 -0
  305. data/app/jobs/create_derivatives_job.rb +25 -0
  306. data/app/jobs/create_work_job.rb +29 -0
  307. data/app/jobs/event_job.rb +37 -0
  308. data/app/jobs/file_set_attached_event_job.rb +34 -0
  309. data/app/jobs/import_url_job.rb +57 -0
  310. data/app/jobs/ingest_file_job.rb +37 -0
  311. data/app/jobs/ingest_local_file_job.rb +19 -0
  312. data/app/jobs/inherit_permissions_job.rb +24 -0
  313. data/app/jobs/resolrize_job.rb +5 -0
  314. data/app/jobs/user_edit_profile_event_job.rb +11 -0
  315. data/app/jobs/visibility_copy_job.rb +18 -0
  316. data/app/mailers/hyrax/contact_mailer.rb +11 -0
  317. data/app/models/admin_set.rb +5 -0
  318. data/app/models/batch_upload_item.rb +18 -0
  319. data/app/models/checksum_audit_log.rb +19 -0
  320. data/app/models/concerns/hyrax/ability.rb +173 -0
  321. data/app/models/concerns/hyrax/admin_set_behavior.rb +118 -0
  322. data/app/models/concerns/hyrax/basic_metadata.rb +72 -0
  323. data/app/models/concerns/hyrax/collection_behavior.rb +87 -0
  324. data/app/models/concerns/hyrax/content_block_behavior.rb +47 -0
  325. data/app/models/concerns/hyrax/file_set/belongs_to_works.rb +49 -0
  326. data/app/models/concerns/hyrax/file_set/characterization.rb +55 -0
  327. data/app/models/concerns/hyrax/file_set/derivatives.rb +61 -0
  328. data/app/models/concerns/hyrax/file_set/indexing.rb +13 -0
  329. data/app/models/concerns/hyrax/file_set/querying.rb +17 -0
  330. data/app/models/concerns/hyrax/file_set_behavior.rb +41 -0
  331. data/app/models/concerns/hyrax/has_representative.rb +13 -0
  332. data/app/models/concerns/hyrax/human_readable_type.rb +27 -0
  333. data/app/models/concerns/hyrax/in_admin_set.rb +13 -0
  334. data/app/models/concerns/hyrax/naming.rb +17 -0
  335. data/app/models/concerns/hyrax/nested_works.rb +14 -0
  336. data/app/models/concerns/hyrax/permissions.rb +7 -0
  337. data/app/models/concerns/hyrax/permissions/readable.rb +18 -0
  338. data/app/models/concerns/hyrax/permissions/writable.rb +33 -0
  339. data/app/models/concerns/hyrax/proxy_deposit.rb +30 -0
  340. data/app/models/concerns/hyrax/required_metadata.rb +34 -0
  341. data/app/models/concerns/hyrax/serializers.rb +13 -0
  342. data/app/models/concerns/hyrax/solr_document/characterization.rb +106 -0
  343. data/app/models/concerns/hyrax/solr_document/export.rb +58 -0
  344. data/app/models/concerns/hyrax/solr_document_behavior.rb +256 -0
  345. data/app/models/concerns/hyrax/suppressible.rb +31 -0
  346. data/app/models/concerns/hyrax/user.rb +162 -0
  347. data/app/models/concerns/hyrax/user_usage_stats.rb +17 -0
  348. data/app/models/concerns/hyrax/with_events.rb +23 -0
  349. data/app/models/concerns/hyrax/with_file_sets.rb +36 -0
  350. data/app/models/concerns/hyrax/work_behavior.rb +49 -0
  351. data/app/models/concerns/hyrax/works/featured.rb +23 -0
  352. data/app/models/concerns/hyrax/works/metadata.rb +9 -0
  353. data/app/models/concerns/hyrax/works/trophies.rb +12 -0
  354. data/app/models/content_block.rb +3 -0
  355. data/app/models/featured_work.rb +20 -0
  356. data/app/models/featured_work_list.rb +47 -0
  357. data/app/models/file_download_stat.rb +25 -0
  358. data/app/models/file_view_stat.rb +11 -0
  359. data/app/models/hyrax/avatar_validator.rb +8 -0
  360. data/app/models/hyrax/batch_create_operation.rb +16 -0
  361. data/app/models/hyrax/classify_concern.rb +43 -0
  362. data/app/models/hyrax/contact_form.rb +35 -0
  363. data/app/models/hyrax/download.rb +9 -0
  364. data/app/models/hyrax/event.rb +12 -0
  365. data/app/models/hyrax/feature.rb +5 -0
  366. data/app/models/hyrax/group.rb +23 -0
  367. data/app/models/hyrax/operation.rb +82 -0
  368. data/app/models/hyrax/orcid_validator.rb +12 -0
  369. data/app/models/hyrax/pageview.rb +9 -0
  370. data/app/models/hyrax/permission_template.rb +135 -0
  371. data/app/models/hyrax/permission_template_access.rb +20 -0
  372. data/app/models/hyrax/statistic.rb +66 -0
  373. data/app/models/hyrax/uploaded_file.rb +11 -0
  374. data/app/models/hyrax/version_committer.rb +5 -0
  375. data/app/models/hyrax/workflow_action_info.rb +13 -0
  376. data/app/models/proxy_deposit_request.rb +137 -0
  377. data/app/models/proxy_deposit_rights.rb +4 -0
  378. data/app/models/single_use_link.rb +34 -0
  379. data/app/models/sipity/agent.rb +21 -0
  380. data/app/models/sipity/comment.rb +13 -0
  381. data/app/models/sipity/entity.rb +32 -0
  382. data/app/models/sipity/entity_specific_responsibility.rb +21 -0
  383. data/app/models/sipity/method.rb +5 -0
  384. data/app/models/sipity/notifiable_context.rb +26 -0
  385. data/app/models/sipity/notification.rb +28 -0
  386. data/app/models/sipity/notification_recipient.rb +17 -0
  387. data/app/models/sipity/role.rb +52 -0
  388. data/app/models/sipity/workflow.rb +58 -0
  389. data/app/models/sipity/workflow_action.rb +25 -0
  390. data/app/models/sipity/workflow_responsibility.rb +23 -0
  391. data/app/models/sipity/workflow_role.rb +13 -0
  392. data/app/models/sipity/workflow_state.rb +26 -0
  393. data/app/models/sipity/workflow_state_action.rb +9 -0
  394. data/app/models/sipity/workflow_state_action_permission.rb +8 -0
  395. data/app/models/tinymce_asset.rb +3 -0
  396. data/app/models/trophy.rb +8 -0
  397. data/app/models/user_mailbox.rb +44 -0
  398. data/app/models/user_stat.rb +2 -0
  399. data/app/models/vocab/fedora_resource_status.rb +9 -0
  400. data/app/models/work_view_stat.rb +8 -0
  401. data/app/presenters/hyrax/admin/dashboard_presenter.rb +22 -0
  402. data/app/presenters/hyrax/admin/repository_growth_presenter.rb +28 -0
  403. data/app/presenters/hyrax/admin/repository_object_presenter.rb +38 -0
  404. data/app/presenters/hyrax/admin/user_activity_presenter.rb +28 -0
  405. data/app/presenters/hyrax/admin/users_presenter.rb +31 -0
  406. data/app/presenters/hyrax/admin/workflow_role_presenter.rb +44 -0
  407. data/app/presenters/hyrax/admin_set_options_presenter.rb +51 -0
  408. data/app/presenters/hyrax/admin_set_presenter.rb +18 -0
  409. data/app/presenters/hyrax/admin_stats_presenter.rb +54 -0
  410. data/app/presenters/hyrax/characterization_behavior.rb +84 -0
  411. data/app/presenters/hyrax/collapsable_section_presenter.rb +50 -0
  412. data/app/presenters/hyrax/collection_presenter.rb +57 -0
  413. data/app/presenters/hyrax/composite_presenter_factory.rb +22 -0
  414. data/app/presenters/hyrax/embargo_presenter.rb +26 -0
  415. data/app/presenters/hyrax/file_set_presenter.rb +107 -0
  416. data/app/presenters/hyrax/file_usage.rb +37 -0
  417. data/app/presenters/hyrax/homepage_presenter.rb +13 -0
  418. data/app/presenters/hyrax/inspect_work_presenter.rb +52 -0
  419. data/app/presenters/hyrax/lease_presenter.rb +30 -0
  420. data/app/presenters/hyrax/member_presenter_factory.rb +70 -0
  421. data/app/presenters/hyrax/menu_presenter.rb +37 -0
  422. data/app/presenters/hyrax/model_icon.rb +7 -0
  423. data/app/presenters/hyrax/model_proxy.rb +27 -0
  424. data/app/presenters/hyrax/permission_badge.rb +43 -0
  425. data/app/presenters/hyrax/presenter_factory.rb +47 -0
  426. data/app/presenters/hyrax/presenter_renderer.rb +55 -0
  427. data/app/presenters/hyrax/presents_attributes.rb +70 -0
  428. data/app/presenters/hyrax/select_type_list_presenter.rb +37 -0
  429. data/app/presenters/hyrax/select_type_presenter.rb +35 -0
  430. data/app/presenters/hyrax/single_use_link_presenter.rb +52 -0
  431. data/app/presenters/hyrax/stats_usage_presenter.rb +43 -0
  432. data/app/presenters/hyrax/trophy_presenter.rb +32 -0
  433. data/app/presenters/hyrax/user_profile_presenter.rb +30 -0
  434. data/app/presenters/hyrax/version_list_presenter.rb +18 -0
  435. data/app/presenters/hyrax/version_presenter.rb +26 -0
  436. data/app/presenters/hyrax/work_show_presenter.rb +158 -0
  437. data/app/presenters/hyrax/work_usage.rb +30 -0
  438. data/app/presenters/hyrax/workflow_presenter.rb +43 -0
  439. data/app/renderers/hyrax/renderers.rb +10 -0
  440. data/app/renderers/hyrax/renderers/attribute_renderer.rb +70 -0
  441. data/app/renderers/hyrax/renderers/configured_microdata.rb +48 -0
  442. data/app/renderers/hyrax/renderers/date_attribute_renderer.rb +11 -0
  443. data/app/renderers/hyrax/renderers/external_link_attribute_renderer.rb +13 -0
  444. data/app/renderers/hyrax/renderers/faceted_attribute_renderer.rb +19 -0
  445. data/app/renderers/hyrax/renderers/linked_attribute_renderer.rb +21 -0
  446. data/app/renderers/hyrax/renderers/rights_attribute_renderer.rb +27 -0
  447. data/app/search_builders/deposit_search_builder.rb +24 -0
  448. data/app/search_builders/hyrax/README.md +69 -0
  449. data/app/search_builders/hyrax/abstract_type_relation.rb +44 -0
  450. data/app/search_builders/hyrax/admin_admin_set_member_search_builder.rb +14 -0
  451. data/app/search_builders/hyrax/admin_set_member_search_builder.rb +12 -0
  452. data/app/search_builders/hyrax/admin_set_search_builder.rb +57 -0
  453. data/app/search_builders/hyrax/catalog_search_builder.rb +42 -0
  454. data/app/search_builders/hyrax/collection_member_search_builder.rb +19 -0
  455. data/app/search_builders/hyrax/collection_search_builder.rb +53 -0
  456. data/app/search_builders/hyrax/deactivated_embargo_search_builder.rb +10 -0
  457. data/app/search_builders/hyrax/deactivated_lease_search_builder.rb +10 -0
  458. data/app/search_builders/hyrax/embargo_search_builder.rb +20 -0
  459. data/app/search_builders/hyrax/expired_embargo_search_builder.rb +11 -0
  460. data/app/search_builders/hyrax/expired_lease_search_builder.rb +11 -0
  461. data/app/search_builders/hyrax/exposed_models_relation.rb +8 -0
  462. data/app/search_builders/hyrax/file_set_search_builder.rb +10 -0
  463. data/app/search_builders/hyrax/filter_by_type.rb +60 -0
  464. data/app/search_builders/hyrax/filter_suppressed.rb +15 -0
  465. data/app/search_builders/hyrax/filter_suppressed_with_roles.rb +33 -0
  466. data/app/search_builders/hyrax/find_works_search_builder.rb +45 -0
  467. data/app/search_builders/hyrax/homepage_search_builder.rb +9 -0
  468. data/app/search_builders/hyrax/lease_search_builder.rb +20 -0
  469. data/app/search_builders/hyrax/member_with_files_search_builder.rb +26 -0
  470. data/app/search_builders/hyrax/my_collections_search_builder.rb +11 -0
  471. data/app/search_builders/hyrax/my_highlights_search_builder.rb +14 -0
  472. data/app/search_builders/hyrax/my_search_builder_behavior.rb +12 -0
  473. data/app/search_builders/hyrax/my_shares_search_builder.rb +13 -0
  474. data/app/search_builders/hyrax/my_works_search_builder.rb +15 -0
  475. data/app/search_builders/hyrax/search_builder.rb +15 -0
  476. data/app/search_builders/hyrax/search_filters.rb +20 -0
  477. data/app/search_builders/hyrax/single_admin_set_search_builder.rb +9 -0
  478. data/app/search_builders/hyrax/single_collection_search_builder.rb +5 -0
  479. data/app/search_builders/hyrax/single_result.rb +13 -0
  480. data/app/search_builders/hyrax/single_use_link_search_builder.rb +6 -0
  481. data/app/search_builders/hyrax/stats/work_status_search_builder.rb +26 -0
  482. data/app/search_builders/hyrax/work_relation.rb +7 -0
  483. data/app/search_builders/hyrax/work_search_builder.rb +10 -0
  484. data/app/search_builders/parent_collection_search_builder.rb +10 -0
  485. data/app/services/hyrax/actor_factory.rb +33 -0
  486. data/app/services/hyrax/admin_set_create_service.rb +87 -0
  487. data/app/services/hyrax/admin_set_service.rb +64 -0
  488. data/app/services/hyrax/analytics.rb +90 -0
  489. data/app/services/hyrax/audit_failure_service.rb +20 -0
  490. data/app/services/hyrax/batch_create_failure_service.rb +16 -0
  491. data/app/services/hyrax/batch_create_success_service.rb +17 -0
  492. data/app/services/hyrax/change_content_depositor_service.rb +18 -0
  493. data/app/services/hyrax/collection_member_service.rb +30 -0
  494. data/app/services/hyrax/collection_size_service.rb +40 -0
  495. data/app/services/hyrax/collection_thumbnail_path_service.rb +10 -0
  496. data/app/services/hyrax/collections_service.rb +28 -0
  497. data/app/services/hyrax/contextual_path.rb +21 -0
  498. data/app/services/hyrax/curation_concern.rb +16 -0
  499. data/app/services/hyrax/derivative_path.rb +67 -0
  500. data/app/services/hyrax/derivative_service.rb +26 -0
  501. data/app/services/hyrax/embargo_service.rb +35 -0
  502. data/app/services/hyrax/file_set_audit_service.rb +122 -0
  503. data/app/services/hyrax/file_set_csv_service.rb +41 -0
  504. data/app/services/hyrax/file_set_derivatives_service.rb +87 -0
  505. data/app/services/hyrax/graph_exporter.rb +84 -0
  506. data/app/services/hyrax/import_url_failure_service.rb +11 -0
  507. data/app/services/hyrax/import_url_success_service.rb +22 -0
  508. data/app/services/hyrax/indexes_thumbnails.rb +30 -0
  509. data/app/services/hyrax/institution.rb +11 -0
  510. data/app/services/hyrax/lease_service.rb +32 -0
  511. data/app/services/hyrax/license_service.rb +16 -0
  512. data/app/services/hyrax/list_source_exporter.rb +44 -0
  513. data/app/services/hyrax/local_file_service.rb +10 -0
  514. data/app/services/hyrax/lock_manager.rb +39 -0
  515. data/app/services/hyrax/lockable.rb +17 -0
  516. data/app/services/hyrax/message_user_service.rb +30 -0
  517. data/app/services/hyrax/noid.rb +24 -0
  518. data/app/services/hyrax/parent_service.rb +19 -0
  519. data/app/services/hyrax/persist_derivatives.rb +33 -0
  520. data/app/services/hyrax/persist_directly_contained_output_file_service.rb +26 -0
  521. data/app/services/hyrax/qa_select_service.rb +33 -0
  522. data/app/services/hyrax/query_service.rb +53 -0
  523. data/app/services/hyrax/quick_classification_query.rb +38 -0
  524. data/app/services/hyrax/repository_audit_service.rb +9 -0
  525. data/app/services/hyrax/resource_types_service.rb +23 -0
  526. data/app/services/hyrax/restriction_service.rb +24 -0
  527. data/app/services/hyrax/rights_statements.rb +8 -0
  528. data/app/services/hyrax/statistics/collections/over_time.rb +13 -0
  529. data/app/services/hyrax/statistics/depositors/summary.rb +55 -0
  530. data/app/services/hyrax/statistics/file_sets/by_format.rb +14 -0
  531. data/app/services/hyrax/statistics/over_time.rb +51 -0
  532. data/app/services/hyrax/statistics/system_stats.rb +55 -0
  533. data/app/services/hyrax/statistics/term_query.rb +65 -0
  534. data/app/services/hyrax/statistics/users/over_time.rb +30 -0
  535. data/app/services/hyrax/statistics/works/by_depositor.rb +13 -0
  536. data/app/services/hyrax/statistics/works/by_resource_type.rb +13 -0
  537. data/app/services/hyrax/statistics/works/count.rb +49 -0
  538. data/app/services/hyrax/statistics/works/over_time.rb +13 -0
  539. data/app/services/hyrax/thumbnail_path_service.rb +58 -0
  540. data/app/services/hyrax/time_service.rb +8 -0
  541. data/app/services/hyrax/user_stat_importer.rb +152 -0
  542. data/app/services/hyrax/versioning_service.rb +26 -0
  543. data/app/services/hyrax/work_form_service.rb +11 -0
  544. data/app/services/hyrax/work_query_service.rb +58 -0
  545. data/app/services/hyrax/work_thumbnail_path_service.rb +9 -0
  546. data/app/services/hyrax/workflow/abstract_notification.rb +52 -0
  547. data/app/services/hyrax/workflow/action_taken_service.rb +67 -0
  548. data/app/services/hyrax/workflow/activate_object.rb +16 -0
  549. data/app/services/hyrax/workflow/changes_required_notification.rb +22 -0
  550. data/app/services/hyrax/workflow/deactivate_object.rb +16 -0
  551. data/app/services/hyrax/workflow/deposited_notification.rb +22 -0
  552. data/app/services/hyrax/workflow/grant_edit_to_depositor.rb +11 -0
  553. data/app/services/hyrax/workflow/invalid_state_removal_exception.rb +11 -0
  554. data/app/services/hyrax/workflow/method_generator.rb +55 -0
  555. data/app/services/hyrax/workflow/notification_configuration_parameter.rb +42 -0
  556. data/app/services/hyrax/workflow/notification_generator.rb +64 -0
  557. data/app/services/hyrax/workflow/notification_service.rb +72 -0
  558. data/app/services/hyrax/workflow/pending_review_notification.rb +21 -0
  559. data/app/services/hyrax/workflow/permission_generator.rb +95 -0
  560. data/app/services/hyrax/workflow/permission_query.rb +435 -0
  561. data/app/services/hyrax/workflow/sipity_actions_generator.rb +95 -0
  562. data/app/services/hyrax/workflow/state_machine_generator.rb +102 -0
  563. data/app/services/hyrax/workflow/status_list_service.rb +65 -0
  564. data/app/services/hyrax/workflow/workflow_action_service.rb +57 -0
  565. data/app/services/hyrax/workflow/workflow_by_model_name_strategy.rb +14 -0
  566. data/app/services/hyrax/workflow/workflow_factory.rb +78 -0
  567. data/app/services/hyrax/workflow/workflow_importer.rb +180 -0
  568. data/app/services/hyrax/workflow/workflow_permissions_generator.rb +49 -0
  569. data/app/services/hyrax/workflow/workflow_schema.rb +63 -0
  570. data/app/services/hyrax/working_directory.rb +56 -0
  571. data/app/strategies/hyrax/strategies/yaml_strategy.rb +45 -0
  572. data/app/uploaders/hyrax/avatar_uploader.rb +16 -0
  573. data/app/uploaders/hyrax/uploaded_file_uploader.rb +23 -0
  574. data/app/uploaders/tinymce_asset_uploader.rb +45 -0
  575. data/app/validators/hyrax/has_one_title_validator.rb +9 -0
  576. data/app/values/hyrax/chart_data.rb +61 -0
  577. data/app/views/_controls.html.erb +19 -0
  578. data/app/views/_flash_msg.html.erb +9 -0
  579. data/app/views/_ga.html.erb +20 -0
  580. data/app/views/_head_tag_extras.html.erb +1 -0
  581. data/app/views/_logo.html.erb +4 -0
  582. data/app/views/_masthead.html.erb +21 -0
  583. data/app/views/_toolbar.html.erb +75 -0
  584. data/app/views/_user_util_links.html.erb +32 -0
  585. data/app/views/batch_select/_add_button.html.erb +3 -0
  586. data/app/views/catalog/_document.html.erb +5 -0
  587. data/app/views/catalog/_document_list.html.erb +6 -0
  588. data/app/views/catalog/_edit_partials/_default_details.html.erb +11 -0
  589. data/app/views/catalog/_facet_limit.html.erb +9 -0
  590. data/app/views/catalog/_index_gallery_collection_wrapper.html.erb +8 -0
  591. data/app/views/catalog/_index_header_list_collection.html.erb +3 -0
  592. data/app/views/catalog/_index_header_list_default.html.erb +3 -0
  593. data/app/views/catalog/_index_list_default.html.erb +14 -0
  594. data/app/views/catalog/_search_form.html.erb +43 -0
  595. data/app/views/catalog/_show_partials/_default.html.erb +21 -0
  596. data/app/views/catalog/_show_partials/_default_details.html.erb +15 -0
  597. data/app/views/catalog/_show_partials/_facets.html.erb +52 -0
  598. data/app/views/catalog/_thumbnail_list_collection.html.erb +4 -0
  599. data/app/views/catalog/_thumbnail_list_default.html.erb +4 -0
  600. data/app/views/catalog/index.html.erb +7 -0
  601. data/app/views/catalog/recent.js.erb +1 -0
  602. data/app/views/hyrax/admin/_collections.html.erb +32 -0
  603. data/app/views/hyrax/admin/_menu.html.erb +5 -0
  604. data/app/views/hyrax/admin/_sidebar.html.erb +33 -0
  605. data/app/views/hyrax/admin/admin_sets/_form.html.erb +44 -0
  606. data/app/views/hyrax/admin/admin_sets/_form_metadata.html.erb +2 -0
  607. data/app/views/hyrax/admin/admin_sets/_form_participant_table.html.erb +24 -0
  608. data/app/views/hyrax/admin/admin_sets/_form_participants.html.erb +67 -0
  609. data/app/views/hyrax/admin/admin_sets/_form_visibility.html.erb +58 -0
  610. data/app/views/hyrax/admin/admin_sets/_form_workflow.erb +25 -0
  611. data/app/views/hyrax/admin/admin_sets/_show_document_list.html.erb +16 -0
  612. data/app/views/hyrax/admin/admin_sets/_show_document_list_row.html.erb +51 -0
  613. data/app/views/hyrax/admin/admin_sets/_sort_and_per_page.html.erb +5 -0
  614. data/app/views/hyrax/admin/admin_sets/edit.html.erb +9 -0
  615. data/app/views/hyrax/admin/admin_sets/index.html.erb +42 -0
  616. data/app/views/hyrax/admin/admin_sets/new.html.erb +9 -0
  617. data/app/views/hyrax/admin/admin_sets/show.html.erb +54 -0
  618. data/app/views/hyrax/admin/features/index.html.erb +69 -0
  619. data/app/views/hyrax/admin/show.html.erb +78 -0
  620. data/app/views/hyrax/admin/stats/_date_form.html.erb +8 -0
  621. data/app/views/hyrax/admin/stats/_deposits.html.erb +10 -0
  622. data/app/views/hyrax/admin/stats/_new_users.html.erb +23 -0
  623. data/app/views/hyrax/admin/stats/_stats_by_date.html.erb +8 -0
  624. data/app/views/hyrax/admin/stats/_top_data.html.erb +24 -0
  625. data/app/views/hyrax/admin/stats/_works.html.erb +8 -0
  626. data/app/views/hyrax/admin/stats/show.html.erb +7 -0
  627. data/app/views/hyrax/admin/users/index.html.erb +48 -0
  628. data/app/views/hyrax/admin/workflow_roles/index.html.erb +44 -0
  629. data/app/views/hyrax/admin/workflows/index.html.erb +93 -0
  630. data/app/views/hyrax/admin_sets/_admin_set.html.erb +25 -0
  631. data/app/views/hyrax/admin_sets/_document_list.html.erb +30 -0
  632. data/app/views/hyrax/admin_sets/_member_document.html.erb +26 -0
  633. data/app/views/hyrax/admin_sets/_search_form.html.erb +11 -0
  634. data/app/views/hyrax/admin_sets/_sort_and_per_page.html.erb +5 -0
  635. data/app/views/hyrax/admin_sets/index.html.erb +2 -0
  636. data/app/views/hyrax/admin_sets/show.html.erb +32 -0
  637. data/app/views/hyrax/base/_actions.html.erb +3 -0
  638. data/app/views/hyrax/base/_attribute_rows.html.erb +12 -0
  639. data/app/views/hyrax/base/_attributes.html.erb +16 -0
  640. data/app/views/hyrax/base/_browse_everything.html.erb +6 -0
  641. data/app/views/hyrax/base/_citations.html.erb +11 -0
  642. data/app/views/hyrax/base/_file_manager_actions.html.erb +5 -0
  643. data/app/views/hyrax/base/_file_manager_attributes.html.erb +0 -0
  644. data/app/views/hyrax/base/_file_manager_extra_tools.html.erb +0 -0
  645. data/app/views/hyrax/base/_file_manager_member.html.erb +32 -0
  646. data/app/views/hyrax/base/_file_manager_member_resource_options.html.erb +10 -0
  647. data/app/views/hyrax/base/_file_manager_members.html.erb +13 -0
  648. data/app/views/hyrax/base/_file_manager_resource_form.html.erb +6 -0
  649. data/app/views/hyrax/base/_file_manager_thumbnail.html.erb +1 -0
  650. data/app/views/hyrax/base/_find_work_widget.html.erb +10 -0
  651. data/app/views/hyrax/base/_form.html.erb +28 -0
  652. data/app/views/hyrax/base/_form_child_work_relationships.html.erb +55 -0
  653. data/app/views/hyrax/base/_form_files.html.erb +51 -0
  654. data/app/views/hyrax/base/_form_in_works.html.erb +6 -0
  655. data/app/views/hyrax/base/_form_in_works_error.html.erb +3 -0
  656. data/app/views/hyrax/base/_form_media.html.erb +4 -0
  657. data/app/views/hyrax/base/_form_member_of_collections.html.erb +7 -0
  658. data/app/views/hyrax/base/_form_metadata.html.erb +23 -0
  659. data/app/views/hyrax/base/_form_ordered_members_error.html.erb +3 -0
  660. data/app/views/hyrax/base/_form_permission.html.erb +36 -0
  661. data/app/views/hyrax/base/_form_permission_embargo.html.erb +6 -0
  662. data/app/views/hyrax/base/_form_permission_lease.html.erb +6 -0
  663. data/app/views/hyrax/base/_form_progress.html.erb +53 -0
  664. data/app/views/hyrax/base/_form_relationships.html.erb +15 -0
  665. data/app/views/hyrax/base/_form_representative.html.erb +12 -0
  666. data/app/views/hyrax/base/_form_share.html.erb +85 -0
  667. data/app/views/hyrax/base/_form_thumbnail.html.erb +12 -0
  668. data/app/views/hyrax/base/_form_visibility_component.html.erb +61 -0
  669. data/app/views/hyrax/base/_guts4form.html.erb +53 -0
  670. data/app/views/hyrax/base/_items.html.erb +19 -0
  671. data/app/views/hyrax/base/_member.html.erb +12 -0
  672. data/app/views/hyrax/base/_member_of_collections.html.erb +10 -0
  673. data/app/views/hyrax/base/_metadata.html.erb +12 -0
  674. data/app/views/hyrax/base/_relationships.html.erb +6 -0
  675. data/app/views/hyrax/base/_relationships_parent_row.html.erb +16 -0
  676. data/app/views/hyrax/base/_relationships_parent_row_empty.html.erb +6 -0
  677. data/app/views/hyrax/base/_relationships_parent_rows.html.erb +25 -0
  678. data/app/views/hyrax/base/_representative_media.html.erb +6 -0
  679. data/app/views/hyrax/base/_share_with.html.erb +14 -0
  680. data/app/views/hyrax/base/_show_actions.html.erb +25 -0
  681. data/app/views/hyrax/base/_social_media.html.erb +52 -0
  682. data/app/views/hyrax/base/_work_description.erb +3 -0
  683. data/app/views/hyrax/base/_work_title.erb +7 -0
  684. data/app/views/hyrax/base/_workflow_actions.html.erb +39 -0
  685. data/app/views/hyrax/base/_workflow_actions_widget.erb +3 -0
  686. data/app/views/hyrax/base/edit.html.erb +6 -0
  687. data/app/views/hyrax/base/file_manager.html.erb +22 -0
  688. data/app/views/hyrax/base/inspect_work.html.erb +37 -0
  689. data/app/views/hyrax/base/new.html.erb +6 -0
  690. data/app/views/hyrax/base/show.html.erb +32 -0
  691. data/app/views/hyrax/base/show.json.jbuilder +2 -0
  692. data/app/views/hyrax/base/unauthorized.html.erb +7 -0
  693. data/app/views/hyrax/base/unavailable.html.erb +10 -0
  694. data/app/views/hyrax/batch_edits/_check_all.html.erb +9 -0
  695. data/app/views/hyrax/batch_edits/_delete_selected.html.erb +5 -0
  696. data/app/views/hyrax/batch_edits/edit.html.erb +77 -0
  697. data/app/views/hyrax/batch_uploads/_form.html.erb +17 -0
  698. data/app/views/hyrax/citations/file.html.erb +0 -0
  699. data/app/views/hyrax/citations/work.html.erb +15 -0
  700. data/app/views/hyrax/collections/_batch_edits_actions.html.erb +3 -0
  701. data/app/views/hyrax/collections/_bookmark_control.html.erb +23 -0
  702. data/app/views/hyrax/collections/_button_create_collection.html.erb +1 -0
  703. data/app/views/hyrax/collections/_button_for_remove_selected_from_collection.html.erb +8 -0
  704. data/app/views/hyrax/collections/_button_for_update_collection.html.erb +4 -0
  705. data/app/views/hyrax/collections/_button_remove_from_collection.html.erb +4 -0
  706. data/app/views/hyrax/collections/_collection.html.erb +2 -0
  707. data/app/views/hyrax/collections/_collection_description.erb +3 -0
  708. data/app/views/hyrax/collections/_collection_title.erb +7 -0
  709. data/app/views/hyrax/collections/_dashboard_document_list.html.erb +4 -0
  710. data/app/views/hyrax/collections/_document_list.html.erb +12 -0
  711. data/app/views/hyrax/collections/_edit_actions.html.erb +7 -0
  712. data/app/views/hyrax/collections/_form.html.erb +41 -0
  713. data/app/views/hyrax/collections/_form_for_select_collection.html.erb +40 -0
  714. data/app/views/hyrax/collections/_form_permission.html.erb +24 -0
  715. data/app/views/hyrax/collections/_media_display.html.erb +1 -0
  716. data/app/views/hyrax/collections/_paginate.html.erb +6 -0
  717. data/app/views/hyrax/collections/_search_form.html.erb +11 -0
  718. data/app/views/hyrax/collections/_search_results.html.erb +23 -0
  719. data/app/views/hyrax/collections/_show_actions.html.erb +22 -0
  720. data/app/views/hyrax/collections/_show_descriptions.html.erb +7 -0
  721. data/app/views/hyrax/collections/_show_document_list.html.erb +17 -0
  722. data/app/views/hyrax/collections/_show_document_list_menu.html.erb +21 -0
  723. data/app/views/hyrax/collections/_show_document_list_row.html.erb +49 -0
  724. data/app/views/hyrax/collections/_show_fields.html.erb +0 -0
  725. data/app/views/hyrax/collections/_single_item_action_fields.html.erb +6 -0
  726. data/app/views/hyrax/collections/_sort_and_per_page.html.erb +34 -0
  727. data/app/views/hyrax/collections/_view_type_group.html.erb +13 -0
  728. data/app/views/hyrax/collections/_work_action_menu.html.erb +41 -0
  729. data/app/views/hyrax/collections/edit.html.erb +29 -0
  730. data/app/views/hyrax/collections/edit_fields/_description.html.erb +3 -0
  731. data/app/views/hyrax/collections/new.html.erb +3 -0
  732. data/app/views/hyrax/collections/show.html.erb +36 -0
  733. data/app/views/hyrax/contact_form/_directions.html.erb +1 -0
  734. data/app/views/hyrax/contact_form/create.html.erb +3 -0
  735. data/app/views/hyrax/contact_form/new.html.erb +50 -0
  736. data/app/views/hyrax/contact_mailer/contact.html.erb +5 -0
  737. data/app/views/hyrax/content_blocks/_featured_researcher.html.erb +3 -0
  738. data/app/views/hyrax/content_blocks/index.html.erb +7 -0
  739. data/app/views/hyrax/dashboard/_create_work_action.html.erb +20 -0
  740. data/app/views/hyrax/dashboard/_index_partials/_contents.html.erb +36 -0
  741. data/app/views/hyrax/dashboard/_index_partials/_heading_actions.html.erb +25 -0
  742. data/app/views/hyrax/dashboard/_index_partials/_heading_greetings.html.erb +3 -0
  743. data/app/views/hyrax/dashboard/_index_partials/_proxy_rights.html.erb +23 -0
  744. data/app/views/hyrax/dashboard/_index_partials/_transfers.html.erb +14 -0
  745. data/app/views/hyrax/dashboard/index.html.erb +10 -0
  746. data/app/views/hyrax/file_sets/_actions.html.erb +39 -0
  747. data/app/views/hyrax/file_sets/_asset_deleted_flash.html.erb +1 -0
  748. data/app/views/hyrax/file_sets/_asset_permissions_denial_flash.html.erb +9 -0
  749. data/app/views/hyrax/file_sets/_asset_saved_flash.html.erb +9 -0
  750. data/app/views/hyrax/file_sets/_asset_updated_flash.html.erb +1 -0
  751. data/app/views/hyrax/file_sets/_descriptions.html.erb +14 -0
  752. data/app/views/hyrax/file_sets/_edit.js.erb +20 -0
  753. data/app/views/hyrax/file_sets/_extra_fields_modal.html.erb +22 -0
  754. data/app/views/hyrax/file_sets/_form.html.erb +18 -0
  755. data/app/views/hyrax/file_sets/_groups_description.html.erb +2 -0
  756. data/app/views/hyrax/file_sets/_permission.html.erb +15 -0
  757. data/app/views/hyrax/file_sets/_permission_form.html.erb +104 -0
  758. data/app/views/hyrax/file_sets/_show_actions.html.erb +18 -0
  759. data/app/views/hyrax/file_sets/_show_characterization_details.html.erb +9 -0
  760. data/app/views/hyrax/file_sets/_show_details.html.erb +19 -0
  761. data/app/views/hyrax/file_sets/_single_use_link_rows.html.erb +19 -0
  762. data/app/views/hyrax/file_sets/_single_use_links.html.erb +10 -0
  763. data/app/views/hyrax/file_sets/_versioning.html.erb +27 -0
  764. data/app/views/hyrax/file_sets/edit.html.erb +31 -0
  765. data/app/views/hyrax/file_sets/jq_upload.json.jbuilder +8 -0
  766. data/app/views/hyrax/file_sets/media_display/_audio.html.erb +6 -0
  767. data/app/views/hyrax/file_sets/media_display/_default.html.erb +6 -0
  768. data/app/views/hyrax/file_sets/media_display/_image.html.erb +22 -0
  769. data/app/views/hyrax/file_sets/media_display/_office_document.html.erb +22 -0
  770. data/app/views/hyrax/file_sets/media_display/_pdf.html.erb +22 -0
  771. data/app/views/hyrax/file_sets/media_display/_video.html.erb +6 -0
  772. data/app/views/hyrax/file_sets/proxy.html.erb +5 -0
  773. data/app/views/hyrax/file_sets/show.html.erb +20 -0
  774. data/app/views/hyrax/file_sets/show.json.jbuilder +2 -0
  775. data/app/views/hyrax/homepage/_announcement.html.erb +5 -0
  776. data/app/views/hyrax/homepage/_explore_collections.html.erb +28 -0
  777. data/app/views/hyrax/homepage/_featured.html.erb +11 -0
  778. data/app/views/hyrax/homepage/_featured_fields.html.erb +16 -0
  779. data/app/views/hyrax/homepage/_featured_researcher.html.erb +7 -0
  780. data/app/views/hyrax/homepage/_featured_works.html.erb +19 -0
  781. data/app/views/hyrax/homepage/_home_content.html.erb +37 -0
  782. data/app/views/hyrax/homepage/_marketing.html.erb +6 -0
  783. data/app/views/hyrax/homepage/_recent_document.html.erb +16 -0
  784. data/app/views/hyrax/homepage/_recently_uploaded.html.erb +14 -0
  785. data/app/views/hyrax/homepage/_sortable_featured.html.erb +27 -0
  786. data/app/views/hyrax/homepage/index.html.erb +25 -0
  787. data/app/views/hyrax/mailbox/_notifications.html.erb +27 -0
  788. data/app/views/hyrax/mailbox/index.html.erb +8 -0
  789. data/app/views/hyrax/my/_batch_edits_actions.html.erb +6 -0
  790. data/app/views/hyrax/my/_collection_action_menu.html.erb +25 -0
  791. data/app/views/hyrax/my/_constraints.html.erb +11 -0
  792. data/app/views/hyrax/my/_did_you_mean.html.erb +5 -0
  793. data/app/views/hyrax/my/_document_list.html.erb +4 -0
  794. data/app/views/hyrax/my/_facet_layout.html.erb +12 -0
  795. data/app/views/hyrax/my/_facet_limit.html.erb +9 -0
  796. data/app/views/hyrax/my/_facet_pagination.html.erb +22 -0
  797. data/app/views/hyrax/my/_facet_selected.html.erb +12 -0
  798. data/app/views/hyrax/my/_facets.html.erb +18 -0
  799. data/app/views/hyrax/my/_index_partials/_default_group.html.erb +23 -0
  800. data/app/views/hyrax/my/_index_partials/_list_collections.html.erb +44 -0
  801. data/app/views/hyrax/my/_index_partials/_list_works.html.erb +38 -0
  802. data/app/views/hyrax/my/_results_pagination.html.erb +9 -0
  803. data/app/views/hyrax/my/_scripts.js.erb +8 -0
  804. data/app/views/hyrax/my/_search_header.html.erb +5 -0
  805. data/app/views/hyrax/my/_sort_and_per_page.html.erb +42 -0
  806. data/app/views/hyrax/my/_work_action_menu.html.erb +43 -0
  807. data/app/views/hyrax/my/facet.html.erb +20 -0
  808. data/app/views/hyrax/my/index.html.erb +38 -0
  809. data/app/views/hyrax/operations/index.html.erb +31 -0
  810. data/app/views/hyrax/operations/show.html.erb +30 -0
  811. data/app/views/hyrax/pages/show.html.erb +1 -0
  812. data/app/views/hyrax/permissions/confirm.html.erb +15 -0
  813. data/app/views/hyrax/permissions/confirm_access.html.erb +12 -0
  814. data/app/views/hyrax/single_use_links/index.html.erb +0 -0
  815. data/app/views/hyrax/single_use_links_viewer/show.html.erb +10 -0
  816. data/app/views/hyrax/single_use_links_viewer/single_use_error.html.erb +19 -0
  817. data/app/views/hyrax/static/agreement.html.erb +44 -0
  818. data/app/views/hyrax/static/help.html.erb +4 -0
  819. data/app/views/hyrax/static/mendeley.html.erb +6 -0
  820. data/app/views/hyrax/static/terms.html.erb +62 -0
  821. data/app/views/hyrax/static/zotero.html.erb +6 -0
  822. data/app/views/hyrax/stats/file.html.erb +22 -0
  823. data/app/views/hyrax/stats/work.html.erb +22 -0
  824. data/app/views/hyrax/transfers/_received.html.erb +58 -0
  825. data/app/views/hyrax/transfers/_sent.html.erb +41 -0
  826. data/app/views/hyrax/transfers/index.html.erb +7 -0
  827. data/app/views/hyrax/transfers/new.html.erb +23 -0
  828. data/app/views/hyrax/uploads/_js_templates.html.erb +132 -0
  829. data/app/views/hyrax/uploads/create.json.jbuilder +10 -0
  830. data/app/views/hyrax/users/_activity.html.erb +3 -0
  831. data/app/views/hyrax/users/_activity_log.html.erb +17 -0
  832. data/app/views/hyrax/users/_contributions.html.erb +25 -0
  833. data/app/views/hyrax/users/_edit_primary.html.erb +65 -0
  834. data/app/views/hyrax/users/_edit_secondary.html.erb +1 -0
  835. data/app/views/hyrax/users/_left_sidebar.html.erb +4 -0
  836. data/app/views/hyrax/users/_notify_number.html.erb +3 -0
  837. data/app/views/hyrax/users/_profile_tabs.html.erb +9 -0
  838. data/app/views/hyrax/users/_proxies.html.erb +9 -0
  839. data/app/views/hyrax/users/_search_form.html.erb +12 -0
  840. data/app/views/hyrax/users/_trophy_edit.html.erb +14 -0
  841. data/app/views/hyrax/users/_user.html.erb +32 -0
  842. data/app/views/hyrax/users/_user_info.html.erb +81 -0
  843. data/app/views/hyrax/users/_user_row.html.erb +10 -0
  844. data/app/views/hyrax/users/_user_util_links_extra.html.erb +0 -0
  845. data/app/views/hyrax/users/_vitals.html.erb +18 -0
  846. data/app/views/hyrax/users/_zotero.html.erb +12 -0
  847. data/app/views/hyrax/users/edit.html.erb +8 -0
  848. data/app/views/hyrax/users/index.html.erb +21 -0
  849. data/app/views/hyrax/users/index.json.jbuilder +5 -0
  850. data/app/views/hyrax/users/notifications_number.json.jbuilder +1 -0
  851. data/app/views/hyrax/users/show.html.erb +9 -0
  852. data/app/views/kaminari/blacklight/_first_page.html.erb +9 -0
  853. data/app/views/kaminari/blacklight/_gap.html.erb +8 -0
  854. data/app/views/kaminari/blacklight/_last_page.html.erb +9 -0
  855. data/app/views/kaminari/blacklight/_next_page.html.erb +9 -0
  856. data/app/views/kaminari/blacklight/_page.html.erb +10 -0
  857. data/app/views/kaminari/blacklight/_paginator.html.erb +19 -0
  858. data/app/views/kaminari/blacklight/_prev_page.html.erb +9 -0
  859. data/app/views/kaminari/blacklight_compact/_paginator.html.erb +23 -0
  860. data/app/views/layouts/_head_tag_content.html.erb +27 -0
  861. data/app/views/layouts/admin.html.erb +11 -0
  862. data/app/views/layouts/error.html.erb +31 -0
  863. data/app/views/layouts/homepage.html.erb +20 -0
  864. data/app/views/layouts/hyrax.html.erb +53 -0
  865. data/app/views/layouts/hyrax/1_column.html.erb +5 -0
  866. data/app/views/records/edit_fields/_based_near.html.erb +8 -0
  867. data/app/views/records/edit_fields/_default.html.erb +6 -0
  868. data/app/views/records/edit_fields/_description.html.erb +5 -0
  869. data/app/views/records/edit_fields/_language.html.erb +8 -0
  870. data/app/views/records/edit_fields/_resource_type.html.erb +2 -0
  871. data/app/views/records/edit_fields/_rights.html.erb +6 -0
  872. data/app/views/records/edit_fields/_subject.html.erb +8 -0
  873. data/app/views/records/show_fields/_based_near.html.erb +7 -0
  874. data/app/views/records/show_fields/_contributor.html.erb +7 -0
  875. data/app/views/records/show_fields/_creator.html.erb +6 -0
  876. data/app/views/records/show_fields/_date_created.html.erb +7 -0
  877. data/app/views/records/show_fields/_default.html.erb +6 -0
  878. data/app/views/records/show_fields/_description.html.erb +6 -0
  879. data/app/views/records/show_fields/_identifier.html.erb +4 -0
  880. data/app/views/records/show_fields/_keyword.html.erb +3 -0
  881. data/app/views/records/show_fields/_language.html.erb +4 -0
  882. data/app/views/records/show_fields/_publisher.html.erb +7 -0
  883. data/app/views/records/show_fields/_related_url.html.erb +6 -0
  884. data/app/views/records/show_fields/_resource_type.html.erb +4 -0
  885. data/app/views/records/show_fields/_rights.html.erb +4 -0
  886. data/app/views/records/show_fields/_subject.html.erb +7 -0
  887. data/app/views/records/show_fields/_title.html.erb +6 -0
  888. data/app/views/shared/_citations.html.erb +32 -0
  889. data/app/views/shared/_footer.html.erb +14 -0
  890. data/app/views/shared/_locale_picker.html.erb +16 -0
  891. data/app/views/shared/_select_work_type_modal.html.erb +34 -0
  892. data/config/features.rb +29 -0
  893. data/config/initializers/hyrax_callbacks.rb +44 -0
  894. data/config/initializers/simple_form.rb +45 -0
  895. data/config/locales/hyrax.en.yml +773 -0
  896. data/config/locales/hyrax.es.yml +772 -0
  897. data/config/locales/simple_form.en.yml +31 -0
  898. data/config/routes.rb +207 -0
  899. data/db/migrate/20160328222152_create_version_committers.rb +15 -0
  900. data/db/migrate/20160328222153_create_checksum_audit_logs.rb +19 -0
  901. data/db/migrate/20160328222154_create_single_use_links.rb +12 -0
  902. data/db/migrate/20160328222156_add_social_to_users.rb +13 -0
  903. data/db/migrate/20160328222157_add_ldap_attrs_to_user.rb +27 -0
  904. data/db/migrate/20160328222158_add_avatars_to_users.rb +15 -0
  905. data/db/migrate/20160328222161_create_trophies.rb +10 -0
  906. data/db/migrate/20160328222162_add_linkedin_to_users.rb +5 -0
  907. data/db/migrate/20160328222163_create_tinymce_assets.rb +8 -0
  908. data/db/migrate/20160328222164_create_content_blocks.rb +10 -0
  909. data/db/migrate/20160328222165_create_featured_works.rb +12 -0
  910. data/db/migrate/20160328222166_add_external_key_to_content_blocks.rb +6 -0
  911. data/db/migrate/20160328222226_create_proxy_deposit_rights.rb +11 -0
  912. data/db/migrate/20160328222227_create_proxy_deposit_requests.rb +16 -0
  913. data/db/migrate/20160328222228_create_file_view_stats.rb +12 -0
  914. data/db/migrate/20160328222229_create_file_download_stats.rb +12 -0
  915. data/db/migrate/20160328222230_add_orcid_to_users.rb +5 -0
  916. data/db/migrate/20160328222231_create_user_stats.rb +19 -0
  917. data/db/migrate/20160328222232_create_work_view_stats.rb +12 -0
  918. data/db/migrate/20160328222233_add_works_to_user_stats.rb +13 -0
  919. data/db/migrate/20160328222236_change_trophy_generic_file_id_to_work_id.rb +5 -0
  920. data/db/migrate/20160328222237_change_proxy_deposit_generic_file_id_to_work_id.rb +5 -0
  921. data/db/migrate/20160328222238_change_audit_log_generic_file_id_to_file_set_id.rb +5 -0
  922. data/db/migrate/20160328222239_change_proxy_deposit_request_generic_file_id_to_work_id.rb +5 -0
  923. data/db/migrate/20160401142419_create_uploaded_files.rb +10 -0
  924. data/db/migrate/20160415212015_create_features.rb +10 -0
  925. data/db/migrate/20160427155928_create_operations.rb +23 -0
  926. data/db/migrate/20160510000007_change_featured_work_generic_file_id_to_work_id.rb +6 -0
  927. data/db/migrate/20160516190435_add_arkivo_to_users.rb +8 -0
  928. data/db/migrate/20160919151348_create_sipity.rb +163 -0
  929. data/db/migrate/20161012182404_create_sipity_workflow_methods.rb +10 -0
  930. data/db/migrate/20161021175854_create_permission_template.rb +11 -0
  931. data/db/migrate/20161021180154_create_permission_template_access.rb +11 -0
  932. data/db/migrate/20161116222307_add_release_to_permission_templates.rb +6 -0
  933. data/db/migrate/20170131142607_add_permission_template_to_sipity_workflow.rb +26 -0
  934. data/db/migrate/20170307142607_tidy_up_because_of_bad_exception.rb +13 -0
  935. data/db/migrate/20170308175556_add_allows_access_grant_to_workflow.rb +5 -0
  936. data/hyrax.gemspec +77 -18
  937. data/lib/generators/hyrax/arkivo_api_generator.rb +32 -0
  938. data/lib/generators/hyrax/assets_generator.rb +34 -0
  939. data/lib/generators/hyrax/clamav_generator.rb +19 -0
  940. data/lib/generators/hyrax/collection_generator.rb +15 -0
  941. data/lib/generators/hyrax/config_generator.rb +59 -0
  942. data/lib/generators/hyrax/install_generator.rb +164 -0
  943. data/lib/generators/hyrax/models_generator.rb +57 -0
  944. data/lib/generators/hyrax/sample_data_generator.rb +12 -0
  945. data/lib/generators/hyrax/templates/app/models/collection.rb +6 -0
  946. data/lib/generators/hyrax/templates/app/models/file_set.rb +4 -0
  947. data/lib/generators/hyrax/templates/catalog_controller.rb +281 -0
  948. data/lib/generators/hyrax/templates/config/action_dispatch_http_upload_monkey_patch.rb +13 -0
  949. data/lib/generators/hyrax/templates/config/analytics.yml +9 -0
  950. data/lib/generators/hyrax/templates/config/arkivo.yml +6 -0
  951. data/lib/generators/hyrax/templates/config/arkivo_constraint.rb +11 -0
  952. data/lib/generators/hyrax/templates/config/authorities/licenses.yml +28 -0
  953. data/lib/generators/hyrax/templates/config/authorities/resource_types.yml +41 -0
  954. data/lib/generators/hyrax/templates/config/authorities/rights_statements.yml +37 -0
  955. data/lib/generators/hyrax/templates/config/clamav.rb +1 -0
  956. data/lib/generators/hyrax/templates/config/hyrax.rb +195 -0
  957. data/lib/generators/hyrax/templates/config/initializers/simple_form.rb +170 -0
  958. data/lib/generators/hyrax/templates/config/initializers/simple_form_bootstrap.rb +150 -0
  959. data/lib/generators/hyrax/templates/config/locales/hyrax.en.yml +12 -0
  960. data/lib/generators/hyrax/templates/config/locales/hyrax.es.yml +12 -0
  961. data/lib/generators/hyrax/templates/config/mime_types.rb +6 -0
  962. data/lib/generators/hyrax/templates/config/mini_magick.rb +5 -0
  963. data/lib/generators/hyrax/templates/config/redis.yml +9 -0
  964. data/lib/generators/hyrax/templates/config/redis_config.rb +3 -0
  965. data/lib/generators/hyrax/templates/config/tinymce.yml +7 -0
  966. data/lib/generators/hyrax/templates/config/zotero.yml +6 -0
  967. data/lib/generators/hyrax/templates/db/seeds.rb +94 -0
  968. data/lib/generators/hyrax/templates/hyrax.scss +15 -0
  969. data/lib/generators/hyrax/templates/hyrax_helper.rb +5 -0
  970. data/lib/generators/hyrax/templates/mediated_deposit_workflow.json.erb +72 -0
  971. data/lib/generators/hyrax/templates/spec/models/collection_spec.rb +7 -0
  972. data/lib/generators/hyrax/templates/spec/models/file_set_spec.rb +7 -0
  973. data/lib/generators/hyrax/templates/workflow.json.erb +21 -0
  974. data/lib/generators/hyrax/work/USAGE +19 -0
  975. data/lib/generators/hyrax/work/templates/README +13 -0
  976. data/lib/generators/hyrax/work/templates/actor.rb.erb +8 -0
  977. data/lib/generators/hyrax/work/templates/actor_spec.rb.erb +9 -0
  978. data/lib/generators/hyrax/work/templates/controller.rb.erb +11 -0
  979. data/lib/generators/hyrax/work/templates/controller_spec.rb.erb +9 -0
  980. data/lib/generators/hyrax/work/templates/feature_spec.rb.erb +26 -0
  981. data/lib/generators/hyrax/work/templates/form.rb.erb +8 -0
  982. data/lib/generators/hyrax/work/templates/form_spec.rb.erb +9 -0
  983. data/lib/generators/hyrax/work/templates/locale.en.yml.erb +8 -0
  984. data/lib/generators/hyrax/work/templates/locale.es.yml.erb +10 -0
  985. data/lib/generators/hyrax/work/templates/model.rb.erb +11 -0
  986. data/lib/generators/hyrax/work/templates/model_spec.rb.erb +9 -0
  987. data/lib/generators/hyrax/work/work_generator.rb +101 -0
  988. data/lib/hyrax.rb +49 -6
  989. data/lib/hyrax/arkivo.rb +11 -0
  990. data/lib/hyrax/arkivo/actor.rb +96 -0
  991. data/lib/hyrax/arkivo/config.rb +11 -0
  992. data/lib/hyrax/arkivo/create_subscription_job.rb +61 -0
  993. data/lib/hyrax/arkivo/metadata_munger.rb +54 -0
  994. data/lib/hyrax/arkivo/schema_validator.rb +55 -0
  995. data/lib/hyrax/callbacks.rb +26 -0
  996. data/lib/hyrax/callbacks/registry.rb +48 -0
  997. data/lib/hyrax/collections.rb +7 -0
  998. data/lib/hyrax/collections/accepts_batches.rb +53 -0
  999. data/lib/hyrax/collections/search_service.rb +57 -0
  1000. data/lib/hyrax/configuration.rb +434 -0
  1001. data/lib/hyrax/controlled_vocabulary/importer/downloader.rb +17 -0
  1002. data/lib/hyrax/controlled_vocabulary/importer/language.rb +62 -0
  1003. data/lib/hyrax/controller_resource.rb +12 -0
  1004. data/lib/hyrax/engine.rb +91 -0
  1005. data/lib/hyrax/inflections.rb +3 -0
  1006. data/lib/hyrax/move_all_works_to_admin_set.rb +8 -0
  1007. data/lib/hyrax/name.rb +20 -0
  1008. data/lib/hyrax/rails/routes.rb +99 -0
  1009. data/lib/hyrax/redis_event_store.rb +58 -0
  1010. data/lib/hyrax/resource_sync.rb +12 -0
  1011. data/lib/hyrax/resource_sync/capability_list_writer.rb +38 -0
  1012. data/lib/hyrax/resource_sync/change_list_writer.rb +90 -0
  1013. data/lib/hyrax/resource_sync/resource_list_writer.rb +84 -0
  1014. data/lib/hyrax/resource_sync/source_description_writer.rb +30 -0
  1015. data/lib/hyrax/role_registry.rb +54 -0
  1016. data/lib/hyrax/search_state.rb +20 -0
  1017. data/lib/hyrax/single_use_error.rb +3 -0
  1018. data/lib/hyrax/specs/shared_specs.rb +1 -0
  1019. data/lib/hyrax/specs/shared_specs/derivative_service.rb +31 -0
  1020. data/lib/hyrax/version.rb +1 -1
  1021. data/lib/hyrax/workflow_authorization_exception.rb +4 -0
  1022. data/lib/hyrax/zotero.rb +6 -0
  1023. data/lib/hyrax/zotero/config.rb +15 -0
  1024. data/lib/tasks/controlled_vocabularies.rake +9 -0
  1025. data/lib/tasks/default_admin_set.rake +8 -0
  1026. data/lib/tasks/hyrax.rake +10 -0
  1027. data/lib/tasks/hyrax_user.rake +25 -0
  1028. data/lib/tasks/migrate.rake +8 -0
  1029. data/lib/tasks/reindex.rake +6 -0
  1030. data/lib/tasks/stats_tasks.rake +9 -0
  1031. data/lib/tasks/workflow.rake +12 -0
  1032. data/solr/config/_rest_managed.json +3 -0
  1033. data/solr/config/admin-extra.html +31 -0
  1034. data/solr/config/elevate.xml +36 -0
  1035. data/solr/config/mapping-ISOLatin1Accent.txt +246 -0
  1036. data/solr/config/protwords.txt +21 -0
  1037. data/solr/config/schema.xml +372 -0
  1038. data/solr/config/scripts.conf +24 -0
  1039. data/solr/config/solrconfig.xml +322 -0
  1040. data/solr/config/spellings.txt +2 -0
  1041. data/solr/config/stopwords.txt +58 -0
  1042. data/solr/config/stopwords_en.txt +58 -0
  1043. data/solr/config/synonyms.txt +31 -0
  1044. data/solr/config/xslt/example.xsl +132 -0
  1045. data/solr/config/xslt/example_atom.xsl +67 -0
  1046. data/solr/config/xslt/example_rss.xsl +66 -0
  1047. data/solr/config/xslt/luke.xsl +337 -0
  1048. data/spec/.gitignore +1 -0
  1049. data/spec/abilities/ability_spec.rb +89 -0
  1050. data/spec/abilities/admin_ability_spec.rb +15 -0
  1051. data/spec/abilities/admin_set_abilities_spec.rb +15 -0
  1052. data/spec/abilities/collection_abilities_spec.rb +48 -0
  1053. data/spec/abilities/embargo_and_lease_ability_spec.rb +23 -0
  1054. data/spec/abilities/file_set_abilities_spec.rb +67 -0
  1055. data/spec/abilities/generic_work_abilities_spec.rb +60 -0
  1056. data/spec/abilities/operation_ability_spec.rb +11 -0
  1057. data/spec/abilities/proxies_and_transfer_abilities_spec.rb +98 -0
  1058. data/spec/actors/hyrax/actors/actor_stack_spec.rb +35 -0
  1059. data/spec/actors/hyrax/actors/add_as_member_of_collections_actor_spec.rb +63 -0
  1060. data/spec/actors/hyrax/actors/apply_order_actor_spec.rb +102 -0
  1061. data/spec/actors/hyrax/actors/attach_members_actor_spec.rb +68 -0
  1062. data/spec/actors/hyrax/actors/embargo_actor_spec.rb +38 -0
  1063. data/spec/actors/hyrax/actors/file_actor_spec.rb +59 -0
  1064. data/spec/actors/hyrax/actors/file_set_actor_spec.rb +325 -0
  1065. data/spec/actors/hyrax/actors/generic_work_actor_spec.rb +316 -0
  1066. data/spec/actors/hyrax/actors/initialize_workflow_actor_spec.rb +35 -0
  1067. data/spec/actors/hyrax/actors/interpret_visibility_actor_spec.rb +426 -0
  1068. data/spec/actors/hyrax/actors/lease_actor_spec.rb +39 -0
  1069. data/spec/actors/hyrax/actors/optimistic_lock_validator_spec.rb +53 -0
  1070. data/spec/actors/hyrax/actors/transactional_request_spec.rb +38 -0
  1071. data/spec/actors/hyrax/apply_permission_template_actor_spec.rb +68 -0
  1072. data/spec/actors/hyrax/create_with_files_actor_spec.rb +49 -0
  1073. data/spec/actors/hyrax/create_with_remote_files_actor_spec.rb +67 -0
  1074. data/spec/actors/hyrax/default_admin_set_actor_spec.rb +47 -0
  1075. data/spec/authorities/qa/authorities/find_works_spec.rb +55 -0
  1076. data/spec/config/hyrax_events_spec.rb +49 -0
  1077. data/spec/controllers/catalog_controller_spec.rb +132 -0
  1078. data/spec/controllers/hyrax/accepts_batches_controller_spec.rb +67 -0
  1079. data/spec/controllers/hyrax/admin/admin_sets_controller_spec.rb +165 -0
  1080. data/spec/controllers/hyrax/admin/features_controller_spec.rb +29 -0
  1081. data/spec/controllers/hyrax/admin/permission_template_accesses_controller_spec.rb +45 -0
  1082. data/spec/controllers/hyrax/admin/permission_templates_controller_spec.rb +46 -0
  1083. data/spec/controllers/hyrax/admin/stats_controller_spec.rb +31 -0
  1084. data/spec/controllers/hyrax/admin/strategies_controller_spec.rb +30 -0
  1085. data/spec/controllers/hyrax/admin/users_controller_spec.rb +27 -0
  1086. data/spec/controllers/hyrax/admin/workflow_roles_controller_spec.rb +30 -0
  1087. data/spec/controllers/hyrax/admin/workflows_controller_spec.rb +20 -0
  1088. data/spec/controllers/hyrax/admin_controller_spec.rb +19 -0
  1089. data/spec/controllers/hyrax/admin_sets_controller_spec.rb +28 -0
  1090. data/spec/controllers/hyrax/api/items_controller_spec.rb +397 -0
  1091. data/spec/controllers/hyrax/api/zotero_controller_spec.rb +162 -0
  1092. data/spec/controllers/hyrax/audits_controller_spec.rb +37 -0
  1093. data/spec/controllers/hyrax/batch_edits_controller_spec.rb +75 -0
  1094. data/spec/controllers/hyrax/batch_uploads_controller_spec.rb +109 -0
  1095. data/spec/controllers/hyrax/citations_controller_spec.rb +57 -0
  1096. data/spec/controllers/hyrax/collections_controller_spec.rb +310 -0
  1097. data/spec/controllers/hyrax/contact_form_controller_spec.rb +88 -0
  1098. data/spec/controllers/hyrax/content_blocks_controller_spec.rb +71 -0
  1099. data/spec/controllers/hyrax/dashboard_controller_spec.rb +81 -0
  1100. data/spec/controllers/hyrax/depositors_controller_spec.rb +94 -0
  1101. data/spec/controllers/hyrax/downloads_controller_spec.rb +91 -0
  1102. data/spec/controllers/hyrax/featured_work_lists_controller_spec.rb +20 -0
  1103. data/spec/controllers/hyrax/featured_works_controller_spec.rb +56 -0
  1104. data/spec/controllers/hyrax/file_sets_controller_spec.rb +456 -0
  1105. data/spec/controllers/hyrax/generic_works_controller_json_spec.rb +96 -0
  1106. data/spec/controllers/hyrax/generic_works_controller_spec.rb +507 -0
  1107. data/spec/controllers/hyrax/homepage_controller_spec.rb +144 -0
  1108. data/spec/controllers/hyrax/mailbox_controller_spec.rb +32 -0
  1109. data/spec/controllers/hyrax/my/collections_controller_spec.rb +29 -0
  1110. data/spec/controllers/hyrax/my/highlights_controller_spec.rb +54 -0
  1111. data/spec/controllers/hyrax/my/shares_controller_spec.rb +46 -0
  1112. data/spec/controllers/hyrax/my/works_controller_spec.rb +48 -0
  1113. data/spec/controllers/hyrax/operations_controller_spec.rb +28 -0
  1114. data/spec/controllers/hyrax/pages_controller_spec.rb +23 -0
  1115. data/spec/controllers/hyrax/permissions_controller_spec.rb +52 -0
  1116. data/spec/controllers/hyrax/resource_sync_controller_spec.rb +71 -0
  1117. data/spec/controllers/hyrax/single_use_links_controller_spec.rb +99 -0
  1118. data/spec/controllers/hyrax/single_use_links_viewer_controller_spec.rb +68 -0
  1119. data/spec/controllers/hyrax/static_controller_spec.rb +28 -0
  1120. data/spec/controllers/hyrax/stats_controller_spec.rb +68 -0
  1121. data/spec/controllers/hyrax/tinymce_assets_controller_spec.rb +37 -0
  1122. data/spec/controllers/hyrax/transfers_controller_spec.rb +219 -0
  1123. data/spec/controllers/hyrax/trophies_controller_spec.rb +40 -0
  1124. data/spec/controllers/hyrax/uploads_controller_spec.rb +55 -0
  1125. data/spec/controllers/hyrax/users_controller_spec.rb +242 -0
  1126. data/spec/controllers/hyrax/workflow_actions_controller_spec.rb +37 -0
  1127. data/spec/conversions/power_converters/polymorphic_type_spec.rb +22 -0
  1128. data/spec/conversions/power_converters/sipity_action_name_spec.rb +32 -0
  1129. data/spec/conversions/power_converters/sipity_action_spec.rb +43 -0
  1130. data/spec/conversions/power_converters/sipity_agent_spec.rb +20 -0
  1131. data/spec/conversions/power_converters/sipity_entity_spec.rb +48 -0
  1132. data/spec/conversions/power_converters/sipity_role_spec.rb +33 -0
  1133. data/spec/conversions/power_converters/sipity_workflow_id_spec.rb +28 -0
  1134. data/spec/conversions/power_converters/sipity_workflow_state_spec.rb +21 -0
  1135. data/spec/factories/admin_sets.rb +29 -0
  1136. data/spec/factories/api_items.rb +91 -0
  1137. data/spec/factories/collections_factory.rb +31 -0
  1138. data/spec/factories/content_blocks.rb +4 -0
  1139. data/spec/factories/featured_works.rb +4 -0
  1140. data/spec/factories/file_sets.rb +70 -0
  1141. data/spec/factories/generic_works.rb +118 -0
  1142. data/spec/factories/operations.rb +21 -0
  1143. data/spec/factories/permission_template_accesses.rb +13 -0
  1144. data/spec/factories/permission_templates.rb +41 -0
  1145. data/spec/factories/proxy_deposit_requests.rb +6 -0
  1146. data/spec/factories/single_use_links.rb +13 -0
  1147. data/spec/factories/sipity_entities.rb +7 -0
  1148. data/spec/factories/users.rb +59 -0
  1149. data/spec/factories/workflow_actions.rb +6 -0
  1150. data/spec/factories/workflow_states.rb +6 -0
  1151. data/spec/factories/workflows.rb +6 -0
  1152. data/spec/features/admin_admin_set_spec.rb +33 -0
  1153. data/spec/features/admin_spec.rb +32 -0
  1154. data/spec/features/batch_create_spec.rb +18 -0
  1155. data/spec/features/batch_edit_spec.rb +139 -0
  1156. data/spec/features/browse_catalog_spec.rb +61 -0
  1157. data/spec/features/browse_dashboard_files_spec.rb +67 -0
  1158. data/spec/features/catalog_search_spec.rb +31 -0
  1159. data/spec/features/cloud_upload_spec.rb +15 -0
  1160. data/spec/features/collection_spec.rb +284 -0
  1161. data/spec/features/contact_form_spec.rb +16 -0
  1162. data/spec/features/create_child_work_spec.rb +81 -0
  1163. data/spec/features/create_work_spec.rb +92 -0
  1164. data/spec/features/display_dashboard_spec.rb +28 -0
  1165. data/spec/features/edit_file_spec.rb +23 -0
  1166. data/spec/features/edit_work_spec.rb +23 -0
  1167. data/spec/features/homepage_spec.rb +30 -0
  1168. data/spec/features/notifications_spec.rb +19 -0
  1169. data/spec/features/ownership_transfer_spec.rb +99 -0
  1170. data/spec/features/proxy_spec.rb +16 -0
  1171. data/spec/features/search_spec.rb +64 -0
  1172. data/spec/features/static_pages_spec.rb +9 -0
  1173. data/spec/features/user_admin_set_spec.rb +55 -0
  1174. data/spec/features/users_spec.rb +57 -0
  1175. data/spec/features/work_generator_spec.rb +27 -0
  1176. data/spec/features/work_show_spec.rb +56 -0
  1177. data/spec/features/workflow_roles_spec.rb +47 -0
  1178. data/spec/features/workflow_state_changes_spec.rb +60 -0
  1179. data/spec/fixtures/1.5mb-avatar.jpg +0 -0
  1180. data/spec/fixtures/4-20.png +0 -0
  1181. data/spec/fixtures/Example.ogg +0 -0
  1182. data/spec/fixtures/authorities/licenses.yml +13 -0
  1183. data/spec/fixtures/charter.docx +0 -0
  1184. data/spec/fixtures/countdown.avi +0 -0
  1185. data/spec/fixtures/docx_fits.xml +21 -0
  1186. data/spec/fixtures/dublin_core_rdf_descMetadata.nt +13 -0
  1187. data/spec/fixtures/hyrax/.gitignore +1 -0
  1188. data/spec/fixtures/hyrax/hyrax_test4.pdf +0 -0
  1189. data/spec/fixtures/hyrax/hyrax_test5.mp3 +0 -0
  1190. data/spec/fixtures/hyrax_generic_stub.txt +1 -0
  1191. data/spec/fixtures/icons.zip +0 -0
  1192. data/spec/fixtures/image.jp2 +0 -0
  1193. data/spec/fixtures/image.jpg +0 -0
  1194. data/spec/fixtures/image.png +0 -0
  1195. data/spec/fixtures/jp2_fits.xml +36 -0
  1196. data/spec/fixtures/jpg_fits.xml +43 -0
  1197. data/spec/fixtures/locales/renderer.en.yml +7 -0
  1198. data/spec/fixtures/mp3_fits.xml +32 -0
  1199. data/spec/fixtures/pdf_fits.xml +43 -0
  1200. data/spec/fixtures/piano_note.wav +0 -0
  1201. data/spec/fixtures/png_fits.xml +29 -0
  1202. data/spec/fixtures/sample_mpeg4.mp4 +0 -0
  1203. data/spec/fixtures/small_file.txt +1 -0
  1204. data/spec/fixtures/spoken-text.m4a +0 -0
  1205. data/spec/fixtures/txt_fits.xml +29 -0
  1206. data/spec/fixtures/world.png +0 -0
  1207. data/spec/fixtures/xls_fits.xml +18 -0
  1208. data/spec/fixtures/xml_fits.xml +37 -0
  1209. data/spec/forms/hyrax/forms/admin_set_form_spec.rb +20 -0
  1210. data/spec/forms/hyrax/forms/batch_edit_form_spec.rb +103 -0
  1211. data/spec/forms/hyrax/forms/batch_upload_form_spec.rb +68 -0
  1212. data/spec/forms/hyrax/forms/collection_form_spec.rb +122 -0
  1213. data/spec/forms/hyrax/forms/file_manager_form_spec.rb +19 -0
  1214. data/spec/forms/hyrax/forms/file_set_edit_form_spec.rb +54 -0
  1215. data/spec/forms/hyrax/forms/permission_template_form_spec.rb +425 -0
  1216. data/spec/forms/hyrax/forms/work_form_spec.rb +183 -0
  1217. data/spec/forms/hyrax/forms/workflow_action_form_spec.rb +113 -0
  1218. data/spec/forms/hyrax/forms/workflow_responsibility_form_spec.rb +33 -0
  1219. data/spec/forms/hyrax/generic_work_form_spec.rb +117 -0
  1220. data/spec/helpers/batch_edits_helper_spec.rb +52 -0
  1221. data/spec/helpers/blacklight_helper_spec.rb +115 -0
  1222. data/spec/helpers/dashboard_helper_spec.rb +100 -0
  1223. data/spec/helpers/hyrax/ability_helper_spec.rb +45 -0
  1224. data/spec/helpers/hyrax/charts_helper_spec.rb +62 -0
  1225. data/spec/helpers/hyrax/collections_helper_spec.rb +114 -0
  1226. data/spec/helpers/hyrax/content_block_helper_spec.rb +67 -0
  1227. data/spec/helpers/hyrax/file_set_helper_spec.rb +61 -0
  1228. data/spec/helpers/hyrax/trophy_helper_spec.rb +37 -0
  1229. data/spec/helpers/hyrax_helper_spec.rb +303 -0
  1230. data/spec/indexers/hyrax/collection_indexer_spec.rb +30 -0
  1231. data/spec/indexers/hyrax/file_set_indexer_spec.rb +126 -0
  1232. data/spec/indexers/hyrax/work_indexer_spec.rb +83 -0
  1233. data/spec/inputs/multifile_input_spec.rb +32 -0
  1234. data/spec/javascripts/autocomplete_spec.js.coffee +156 -0
  1235. data/spec/javascripts/charts_spec.coffee +10 -0
  1236. data/spec/javascripts/checklist_item_spec.js +23 -0
  1237. data/spec/javascripts/deposit_agreement_spec.js +70 -0
  1238. data/spec/javascripts/file_manager_member_spec.coffee +88 -0
  1239. data/spec/javascripts/file_manager_sorting_spec.coffee +23 -0
  1240. data/spec/javascripts/fixtures/chart_example.html +1 -0
  1241. data/spec/javascripts/fixtures/file_manager_member.html +40 -0
  1242. data/spec/javascripts/fixtures/save_button.html +3 -0
  1243. data/spec/javascripts/fixtures/sortable.html +182 -0
  1244. data/spec/javascripts/fixtures/sul_table.html +29 -0
  1245. data/spec/javascripts/grant_spec.js +43 -0
  1246. data/spec/javascripts/helpers/jasmine-ajax.js +751 -0
  1247. data/spec/javascripts/helpers/jasmine-jquery.js +838 -0
  1248. data/spec/javascripts/helpers/test_fixtures.js.coffee +18 -0
  1249. data/spec/javascripts/helpers/test_responses.js +12 -0
  1250. data/spec/javascripts/jasmine_spec.rb +25 -0
  1251. data/spec/javascripts/relationships_control_spec.js.coffee +27 -0
  1252. data/spec/javascripts/required_field_spec.js +41 -0
  1253. data/spec/javascripts/save_manager_spec.coffee +87 -0
  1254. data/spec/javascripts/save_work_spec.js +199 -0
  1255. data/spec/javascripts/single_use_links_spec.coffee +51 -0
  1256. data/spec/javascripts/support/jasmine.yml +125 -0
  1257. data/spec/javascripts/support/jasmine_helper.rb +14 -0
  1258. data/spec/javascripts/tabs_spec.js.coffee +38 -0
  1259. data/spec/javascripts/uploaded_files_spec.js +23 -0
  1260. data/spec/javascripts/visibility_component_spec.js +498 -0
  1261. data/spec/jobs/attach_files_to_work_job_spec.rb +52 -0
  1262. data/spec/jobs/audit_job_spec.rb +57 -0
  1263. data/spec/jobs/batch_create_job_spec.rb +78 -0
  1264. data/spec/jobs/characterize_job_spec.rb +54 -0
  1265. data/spec/jobs/content_delete_event_job_spec.rb +36 -0
  1266. data/spec/jobs/content_deposit_event_job_spec.rb +26 -0
  1267. data/spec/jobs/content_depositor_change_event_job_spec.rb +27 -0
  1268. data/spec/jobs/content_new_version_event_job_spec.rb +21 -0
  1269. data/spec/jobs/content_restored_version_event_job_spec.rb +27 -0
  1270. data/spec/jobs/content_update_event_job_spec.rb +26 -0
  1271. data/spec/jobs/create_derivatives_job_spec.rb +95 -0
  1272. data/spec/jobs/create_work_job_spec.rb +57 -0
  1273. data/spec/jobs/file_set_attached_event_job_spec.rb +34 -0
  1274. data/spec/jobs/import_url_job_spec.rb +68 -0
  1275. data/spec/jobs/ingest_file_job_spec.rb +79 -0
  1276. data/spec/jobs/ingest_local_file_job_spec.rb +21 -0
  1277. data/spec/jobs/inherit_permissions_job_spec.rb +96 -0
  1278. data/spec/jobs/user_edit_profile_event_job_spec.rb +16 -0
  1279. data/spec/jobs/visibility_copy_job_spec.rb +55 -0
  1280. data/spec/lib/hyrax/analytics_spec.rb +65 -0
  1281. data/spec/lib/hyrax/arkivo/actor_spec.rb +76 -0
  1282. data/spec/lib/hyrax/arkivo/create_subscription_job_spec.rb +52 -0
  1283. data/spec/lib/hyrax/arkivo/metadata_munger_spec.rb +48 -0
  1284. data/spec/lib/hyrax/arkivo/schema_validator_spec.rb +65 -0
  1285. data/spec/lib/hyrax/arkivo_spec.rb +14 -0
  1286. data/spec/lib/hyrax/collections/search_service_spec.rb +36 -0
  1287. data/spec/lib/hyrax/configuration_spec.rb +56 -0
  1288. data/spec/lib/hyrax/controlled_vocabulary/importer/downloader_spec.rb +31 -0
  1289. data/spec/lib/hyrax/controlled_vocabulary/importer/language_spec.rb +24 -0
  1290. data/spec/lib/hyrax/move_all_works_to_admin_set_spec.rb +13 -0
  1291. data/spec/lib/hyrax/name_spec.rb +20 -0
  1292. data/spec/lib/hyrax/redis_event_store_spec.rb +50 -0
  1293. data/spec/lib/hyrax/resource_sync/capability_list_writer_spec.rb +35 -0
  1294. data/spec/lib/hyrax/resource_sync/change_list_writer_spec.rb +54 -0
  1295. data/spec/lib/hyrax/resource_sync/resource_list_writer_spec.rb +27 -0
  1296. data/spec/lib/hyrax/resource_sync/source_description_writer_spec.rb +21 -0
  1297. data/spec/lib/hyrax/role_registry_spec.rb +36 -0
  1298. data/spec/lib/hyrax/search_state_spec.rb +25 -0
  1299. data/spec/lib/hyrax/zotero/config_spec.rb +28 -0
  1300. data/spec/lib/hyrax/zotero_spec.rb +8 -0
  1301. data/spec/models/admin_set_spec.rb +199 -0
  1302. data/spec/models/batch_upload_item_spec.rb +8 -0
  1303. data/spec/models/checksum_audit_log_spec.rb +66 -0
  1304. data/spec/models/collection_spec.rb +116 -0
  1305. data/spec/models/content_block_spec.rb +89 -0
  1306. data/spec/models/featured_work_list_spec.rb +35 -0
  1307. data/spec/models/featured_work_spec.rb +49 -0
  1308. data/spec/models/file_download_stat_spec.rb +101 -0
  1309. data/spec/models/file_set_spec.rb +658 -0
  1310. data/spec/models/file_view_stat_spec.rb +80 -0
  1311. data/spec/models/flipflop_spec.rb +24 -0
  1312. data/spec/models/generic_work_spec.rb +151 -0
  1313. data/spec/models/hyrax/download_spec.rb +13 -0
  1314. data/spec/models/hyrax/operation_spec.rb +90 -0
  1315. data/spec/models/hyrax/pageview_spec.rb +13 -0
  1316. data/spec/models/hyrax/permission_template_spec.rb +198 -0
  1317. data/spec/models/hyrax/permissions/readable_permissions_spec.rb +54 -0
  1318. data/spec/models/hyrax/permissions/writable_permissions_spec.rb +14 -0
  1319. data/spec/models/hyrax/uploaded_file_spec.rb +9 -0
  1320. data/spec/models/hyrax/user_usage_stats_spec.rb +43 -0
  1321. data/spec/models/hyrax/work_behavior_spec.rb +55 -0
  1322. data/spec/models/proxy_deposit_request_spec.rb +152 -0
  1323. data/spec/models/single_use_link_spec.rb +37 -0
  1324. data/spec/models/sipity/agent_spec.rb +9 -0
  1325. data/spec/models/sipity/comment_spec.rb +22 -0
  1326. data/spec/models/sipity/entity_spec.rb +27 -0
  1327. data/spec/models/sipity/entity_specific_responsibility_spec.rb +8 -0
  1328. data/spec/models/sipity/notifiable_context_spec.rb +8 -0
  1329. data/spec/models/sipity/notification_recipient_spec.rb +10 -0
  1330. data/spec/models/sipity/notification_spec.rb +15 -0
  1331. data/spec/models/sipity/role_spec.rb +41 -0
  1332. data/spec/models/sipity/workflow_action_spec.rb +10 -0
  1333. data/spec/models/sipity/workflow_responsibility_spec.rb +7 -0
  1334. data/spec/models/sipity/workflow_role_spec.rb +7 -0
  1335. data/spec/models/sipity/workflow_spec.rb +71 -0
  1336. data/spec/models/sipity/workflow_state_action_permission_spec.rb +7 -0
  1337. data/spec/models/sipity/workflow_state_action_spec.rb +7 -0
  1338. data/spec/models/sipity/workflow_state_spec.rb +15 -0
  1339. data/spec/models/solr_document_spec.rb +159 -0
  1340. data/spec/models/trophy_spec.rb +19 -0
  1341. data/spec/models/user_mailbox_spec.rb +60 -0
  1342. data/spec/models/user_spec.rb +231 -0
  1343. data/spec/models/work_view_stat_spec.rb +103 -0
  1344. data/spec/presenters/hyrax/admin/dashboard_presenter_spec.rb +32 -0
  1345. data/spec/presenters/hyrax/admin/repository_growth_presenter_spec.rb +26 -0
  1346. data/spec/presenters/hyrax/admin/repository_object_presenter_spec.rb +24 -0
  1347. data/spec/presenters/hyrax/admin/user_activity_presenter_spec.rb +21 -0
  1348. data/spec/presenters/hyrax/admin/users_presenter_spec.rb +32 -0
  1349. data/spec/presenters/hyrax/admin/workflow_role_presenter_spec.rb +16 -0
  1350. data/spec/presenters/hyrax/admin_set_options_presenter_spec.rb +73 -0
  1351. data/spec/presenters/hyrax/admin_set_presenter_spec.rb +58 -0
  1352. data/spec/presenters/hyrax/admin_stats_presenter_spec.rb +164 -0
  1353. data/spec/presenters/hyrax/collection_presenter_spec.rb +108 -0
  1354. data/spec/presenters/hyrax/embargo_presenter_spec.rb +48 -0
  1355. data/spec/presenters/hyrax/file_set_presenter_spec.rb +245 -0
  1356. data/spec/presenters/hyrax/file_usage_spec.rb +162 -0
  1357. data/spec/presenters/hyrax/homepage_presenter_spec.rb +22 -0
  1358. data/spec/presenters/hyrax/inspect_work_presenter_spec.rb +58 -0
  1359. data/spec/presenters/hyrax/lease_presenter_spec.rb +48 -0
  1360. data/spec/presenters/hyrax/member_presenter_factory_spec.rb +25 -0
  1361. data/spec/presenters/hyrax/menu_presenter_spec.rb +52 -0
  1362. data/spec/presenters/hyrax/permission_badge_spec.rb +72 -0
  1363. data/spec/presenters/hyrax/presenter_factory_spec.rb +52 -0
  1364. data/spec/presenters/hyrax/presenter_renderer_spec.rb +26 -0
  1365. data/spec/presenters/hyrax/select_type_list_presenter_spec.rb +30 -0
  1366. data/spec/presenters/hyrax/select_type_presenter_spec.rb +21 -0
  1367. data/spec/presenters/hyrax/single_use_link_presenter_spec.rb +41 -0
  1368. data/spec/presenters/hyrax/trophy_presenter_spec.rb +46 -0
  1369. data/spec/presenters/hyrax/user_profile_presenter_spec.rb +26 -0
  1370. data/spec/presenters/hyrax/version_list_presenter_spec.rb +32 -0
  1371. data/spec/presenters/hyrax/version_presenter_spec.rb +54 -0
  1372. data/spec/presenters/hyrax/work_show_presenter_spec.rb +267 -0
  1373. data/spec/presenters/hyrax/work_usage_spec.rb +138 -0
  1374. data/spec/presenters/hyrax/workflow_presenter_spec.rb +53 -0
  1375. data/spec/rails_helper.rb +2 -0
  1376. data/spec/renderers/hyrax/renderers/attribute_renderer_spec.rb +73 -0
  1377. data/spec/renderers/hyrax/renderers/date_attribute_renderer_spec.rb +38 -0
  1378. data/spec/renderers/hyrax/renderers/external_link_attribute_renderer_spec.rb +22 -0
  1379. data/spec/renderers/hyrax/renderers/faceted_attribute_renderer_spec.rb +23 -0
  1380. data/spec/renderers/hyrax/renderers/linked_attribute_renderer_spec.rb +21 -0
  1381. data/spec/renderers/hyrax/renderers/rights_attribute_renderer_spec.rb +21 -0
  1382. data/spec/requests/legacy_routing_spec.rb +7 -0
  1383. data/spec/routing/admin_routes_spec.rb +28 -0
  1384. data/spec/routing/admin_sets_spec.rb +7 -0
  1385. data/spec/routing/api_route_spec.rb +89 -0
  1386. data/spec/routing/citations_route_spec.rb +21 -0
  1387. data/spec/routing/featured_works_route_spec.rb +15 -0
  1388. data/spec/routing/operations_spec.rb +9 -0
  1389. data/spec/routing/ownership_transfers_route_spec.rb +43 -0
  1390. data/spec/routing/resource_sync_spec.rb +19 -0
  1391. data/spec/routing/route_spec.rb +186 -0
  1392. data/spec/routing/single_use_link_spec.rb +29 -0
  1393. data/spec/routing/stats_route_spec.rb +21 -0
  1394. data/spec/search_builder/hyrax/admin_set_search_builder_spec.rb +116 -0
  1395. data/spec/search_builder/hyrax/catalog_search_builder_spec.rb +48 -0
  1396. data/spec/search_builder/hyrax/embargo_search_builder_spec.rb +17 -0
  1397. data/spec/search_builder/hyrax/file_set_search_builder_spec.rb +29 -0
  1398. data/spec/search_builder/hyrax/find_works_search_builder_spec.rb +60 -0
  1399. data/spec/search_builder/hyrax/lease_search_builder_spec.rb +17 -0
  1400. data/spec/search_builder/hyrax/my_shares_search_builder_spec.rb +32 -0
  1401. data/spec/search_builder/hyrax/my_works_search_builder_spec.rb +52 -0
  1402. data/spec/search_builder/hyrax/single_admin_set_search_builder_spec.rb +20 -0
  1403. data/spec/search_builder/hyrax/stats/work_status_search_builder_spec.rb +34 -0
  1404. data/spec/search_builder/hyrax/work_relation_spec.rb +10 -0
  1405. data/spec/search_builder/hyrax/work_search_builder_spec.rb +65 -0
  1406. data/spec/search_builders/hyrax/admin_admin_set_member_search_builder_spec.rb +40 -0
  1407. data/spec/services/hyrax/actor_factory_spec.rb +55 -0
  1408. data/spec/services/hyrax/admin_set_create_service_spec.rb +64 -0
  1409. data/spec/services/hyrax/admin_set_service_spec.rb +116 -0
  1410. data/spec/services/hyrax/audit_failure_service_spec.rb +26 -0
  1411. data/spec/services/hyrax/batch_create_failure_service_spec.rb +14 -0
  1412. data/spec/services/hyrax/batch_create_success_service_spec.rb +14 -0
  1413. data/spec/services/hyrax/change_content_depositor_service_spec.rb +53 -0
  1414. data/spec/services/hyrax/collection_member_service_spec.rb +28 -0
  1415. data/spec/services/hyrax/collection_size_service_spec.rb +74 -0
  1416. data/spec/services/hyrax/collections_service_spec.rb +38 -0
  1417. data/spec/services/hyrax/curation_concern_spec.rb +11 -0
  1418. data/spec/services/hyrax/derivative_path_spec.rb +61 -0
  1419. data/spec/services/hyrax/derivative_service_spec.rb +46 -0
  1420. data/spec/services/hyrax/embargo_service_spec.rb +39 -0
  1421. data/spec/services/hyrax/file_set_audit_service_spec.rb +142 -0
  1422. data/spec/services/hyrax/file_set_csv_service_spec.rb +74 -0
  1423. data/spec/services/hyrax/file_set_derivatives_service_spec.rb +12 -0
  1424. data/spec/services/hyrax/graph_exporter_spec.rb +39 -0
  1425. data/spec/services/hyrax/import_url_failure_service_spec.rb +25 -0
  1426. data/spec/services/hyrax/import_url_success_service_spec.rb +20 -0
  1427. data/spec/services/hyrax/lease_service_spec.rb +53 -0
  1428. data/spec/services/hyrax/license_service_spec.rb +36 -0
  1429. data/spec/services/hyrax/lock_manager_spec.rb +14 -0
  1430. data/spec/services/hyrax/noid_spec.rb +40 -0
  1431. data/spec/services/hyrax/parent_service_spec.rb +13 -0
  1432. data/spec/services/hyrax/persist_derivatives_spec.rb +24 -0
  1433. data/spec/services/hyrax/persist_directly_contained_output_file_service_spec.rb +14 -0
  1434. data/spec/services/hyrax/qa_select_service_spec.rb +77 -0
  1435. data/spec/services/hyrax/query_service_spec.rb +94 -0
  1436. data/spec/services/hyrax/quick_classification_query_spec.rb +35 -0
  1437. data/spec/services/hyrax/repository_audit_service_spec.rb +17 -0
  1438. data/spec/services/hyrax/resource_types_service_spec.rb +37 -0
  1439. data/spec/services/hyrax/rights_statements_spec.rb +11 -0
  1440. data/spec/services/hyrax/statistics/collections/over_time_spec.rb +17 -0
  1441. data/spec/services/hyrax/statistics/depositors/summary_spec.rb +58 -0
  1442. data/spec/services/hyrax/statistics/file_sets/by_format_spec.rb +30 -0
  1443. data/spec/services/hyrax/statistics/system_stats_spec.rb +44 -0
  1444. data/spec/services/hyrax/statistics/users/over_time_spec.rb +23 -0
  1445. data/spec/services/hyrax/statistics/works/by_depositor_spec.rb +25 -0
  1446. data/spec/services/hyrax/statistics/works/by_resource_type_spec.rb +21 -0
  1447. data/spec/services/hyrax/statistics/works/count_spec.rb +33 -0
  1448. data/spec/services/hyrax/statistics/works/over_time_spec.rb +17 -0
  1449. data/spec/services/hyrax/thumbnail_path_service_spec.rb +47 -0
  1450. data/spec/services/hyrax/user_stat_importer_spec.rb +309 -0
  1451. data/spec/services/hyrax/versioning_service_spec.rb +31 -0
  1452. data/spec/services/hyrax/work_query_service_spec.rb +50 -0
  1453. data/spec/services/hyrax/workflow/action_taken_service_spec.rb +74 -0
  1454. data/spec/services/hyrax/workflow/activate_object_spec.rb +22 -0
  1455. data/spec/services/hyrax/workflow/changes_required_notification_spec.rb +36 -0
  1456. data/spec/services/hyrax/workflow/deactivate_object_spec.rb +22 -0
  1457. data/spec/services/hyrax/workflow/deposited_notification_spec.rb +36 -0
  1458. data/spec/services/hyrax/workflow/grant_edit_to_depositor_spec.rb +31 -0
  1459. data/spec/services/hyrax/workflow/method_generator_spec.rb +43 -0
  1460. data/spec/services/hyrax/workflow/notification_configuration_parameter_spec.rb +25 -0
  1461. data/spec/services/hyrax/workflow/notification_generator_spec.rb +27 -0
  1462. data/spec/services/hyrax/workflow/notification_service_spec.rb +88 -0
  1463. data/spec/services/hyrax/workflow/pending_review_notification_spec.rb +35 -0
  1464. data/spec/services/hyrax/workflow/permission_generator_spec.rb +52 -0
  1465. data/spec/services/hyrax/workflow/permission_query_spec.rb +184 -0
  1466. data/spec/services/hyrax/workflow/sipity_actions_generator_spec.rb +42 -0
  1467. data/spec/services/hyrax/workflow/state_machine_generator_spec.rb +46 -0
  1468. data/spec/services/hyrax/workflow/status_list_service_spec.rb +52 -0
  1469. data/spec/services/hyrax/workflow/workflow_factory_spec.rb +25 -0
  1470. data/spec/services/hyrax/workflow/workflow_importer_spec.rb +234 -0
  1471. data/spec/services/hyrax/workflow/workflow_permissions_generator_spec.rb +37 -0
  1472. data/spec/services/hyrax/workflow/workflow_schema_spec.rb +86 -0
  1473. data/spec/services/hyrax/working_directory_spec.rb +12 -0
  1474. data/spec/spec_helper.rb +245 -0
  1475. data/spec/strategies/hyrax/strategies/yaml_strategy_spec.rb +30 -0
  1476. data/spec/support/controller_level_helpers.rb +26 -0
  1477. data/spec/support/factory_helpers.rb +24 -0
  1478. data/spec/support/features.rb +10 -0
  1479. data/spec/support/features/session_helpers.rb +14 -0
  1480. data/spec/support/input_support.rb +11 -0
  1481. data/spec/support/locations.rb +17 -0
  1482. data/spec/support/matchers/api_responses.rb +26 -0
  1483. data/spec/support/matchers/response_matchers.rb +7 -0
  1484. data/spec/support/proxies.rb +15 -0
  1485. data/spec/support/rake.rb +41 -0
  1486. data/spec/support/selectors.rb +53 -0
  1487. data/spec/support/speedup.rb +6 -0
  1488. data/spec/support/statistic_helper.rb +9 -0
  1489. data/spec/support/uploaded_file_monkeypatch.rb +6 -0
  1490. data/spec/tasks/rake_spec.rb +27 -0
  1491. data/spec/test_app_templates/Gemfile.extra +6 -0
  1492. data/spec/test_app_templates/lib/generators/test_app_generator.rb +62 -0
  1493. data/spec/views/_flash_msg.html.erb_spec.rb +31 -0
  1494. data/spec/views/_toolbar.html.erb_spec.rb +93 -0
  1495. data/spec/views/_user_util_links.html.erb_spec.rb +45 -0
  1496. data/spec/views/catalog/_index_list_default.html.erb_spec.rb +43 -0
  1497. data/spec/views/catalog/_search_form.html.erb_spec.rb +18 -0
  1498. data/spec/views/catalog/_thumbnail_list_collection.html.erb_spec.rb +10 -0
  1499. data/spec/views/catalog/index.html.erb_spec.rb +47 -0
  1500. data/spec/views/hyrax/admin/admin_sets/_form.html.erb_spec.rb +25 -0
  1501. data/spec/views/hyrax/admin/admin_sets/_form_participant_table.html.erb_spec.rb +102 -0
  1502. data/spec/views/hyrax/admin/admin_sets/_form_participants.html.erb_spec.rb +20 -0
  1503. data/spec/views/hyrax/admin/admin_sets/_form_visibility.html.erb_spec.rb +25 -0
  1504. data/spec/views/hyrax/admin/admin_sets/_form_workflow.html.erb_spec.rb +23 -0
  1505. data/spec/views/hyrax/admin/admin_sets/_show_document_list.html.erb_spec.rb +27 -0
  1506. data/spec/views/hyrax/admin/admin_sets/_show_document_list_row.html.erb_spec.rb +26 -0
  1507. data/spec/views/hyrax/admin/admin_sets/index.html.erb_spec.rb +27 -0
  1508. data/spec/views/hyrax/admin/admin_sets/show.html.erb_spec.rb +52 -0
  1509. data/spec/views/hyrax/admin/features/index.html.erb_spec.rb +14 -0
  1510. data/spec/views/hyrax/admin/stats/show.html.erb_spec.rb +39 -0
  1511. data/spec/views/hyrax/admin/users/index.html.erb_spec.rb +21 -0
  1512. data/spec/views/hyrax/admin/workflow_roles/index.html.erb_spec.rb +33 -0
  1513. data/spec/views/hyrax/base/_attribute_rows.html.erb_spec.rb +19 -0
  1514. data/spec/views/hyrax/base/_attributes.html.erb_spec.rb +36 -0
  1515. data/spec/views/hyrax/base/_browse_everything.html.erb_spec.rb +13 -0
  1516. data/spec/views/hyrax/base/_citations.html.erb_spec.rb +44 -0
  1517. data/spec/views/hyrax/base/_find_work_widget.html.erb_spec.rb +21 -0
  1518. data/spec/views/hyrax/base/_form.html.erb_spec.rb +88 -0
  1519. data/spec/views/hyrax/base/_form_child_work_relationships.html.erb_spec.rb +78 -0
  1520. data/spec/views/hyrax/base/_form_progress.html.erb_spec.rb +98 -0
  1521. data/spec/views/hyrax/base/_form_relationships.html.erb_spec.rb +50 -0
  1522. data/spec/views/hyrax/base/_items.html.erb_spec.rb +44 -0
  1523. data/spec/views/hyrax/base/_member.html.erb_spec.rb +41 -0
  1524. data/spec/views/hyrax/base/_relationships.html.erb_spec.rb +118 -0
  1525. data/spec/views/hyrax/base/_show_actions.html.erb_spec.rb +69 -0
  1526. data/spec/views/hyrax/base/_social_media.html.erb_spec.rb +18 -0
  1527. data/spec/views/hyrax/base/edit.html.erb_spec.rb +26 -0
  1528. data/spec/views/hyrax/base/file_manager.html.erb_spec.rb +93 -0
  1529. data/spec/views/hyrax/base/show.html.erb_spec.rb +29 -0
  1530. data/spec/views/hyrax/base/show.json.jbuilder_spec.rb +23 -0
  1531. data/spec/views/hyrax/base/unauthorized.html.erb_spec.rb +30 -0
  1532. data/spec/views/hyrax/base/unavailable.html.erb_spec.rb +36 -0
  1533. data/spec/views/hyrax/batch_edits/check_all_spec.rb +13 -0
  1534. data/spec/views/hyrax/batch_edits/edit.html.erb_spec.rb +31 -0
  1535. data/spec/views/hyrax/batch_uploads/_form.html.erb_spec.rb +25 -0
  1536. data/spec/views/hyrax/citations/work.html.erb_spec.rb +85 -0
  1537. data/spec/views/hyrax/collections/_form.html.erb_spec.rb +33 -0
  1538. data/spec/views/hyrax/collections/_form_for_select_collection.html.erb_spec.rb +51 -0
  1539. data/spec/views/hyrax/collections/_show_descriptions.html.erb_spec.rb +27 -0
  1540. data/spec/views/hyrax/collections/_show_document_list.html.erb_spec.rb +28 -0
  1541. data/spec/views/hyrax/collections/_show_document_list_menu.html.erb_spec.rb +31 -0
  1542. data/spec/views/hyrax/collections/_show_document_list_row.html.erb_spec.rb +32 -0
  1543. data/spec/views/hyrax/collections/edit.html.erb_spec.rb +26 -0
  1544. data/spec/views/hyrax/collections/show.html.erb_spec.rb +37 -0
  1545. data/spec/views/hyrax/dashboard/create_work_action.html.erb_spec.rb +27 -0
  1546. data/spec/views/hyrax/dashboard/index_spec.rb +169 -0
  1547. data/spec/views/hyrax/file_sets/_permission.html.erb_spec.rb +16 -0
  1548. data/spec/views/hyrax/file_sets/_permission_form.html.erb_spec.rb +46 -0
  1549. data/spec/views/hyrax/file_sets/_show_actions.html.erb_spec.rb +64 -0
  1550. data/spec/views/hyrax/file_sets/_show_characterization_details.html.erb_spec.rb +33 -0
  1551. data/spec/views/hyrax/file_sets/_single_use_links.html.erb_spec.rb +32 -0
  1552. data/spec/views/hyrax/file_sets/_versioning.html.erb_spec.rb +15 -0
  1553. data/spec/views/hyrax/file_sets/media_display/_default.html.erb_spec.rb +26 -0
  1554. data/spec/views/hyrax/file_sets/show.html.erb_spec.rb +42 -0
  1555. data/spec/views/hyrax/file_sets/show.json.jbuilder_spec.rb +29 -0
  1556. data/spec/views/hyrax/homepage/_announcement.html.erb_spec.rb +50 -0
  1557. data/spec/views/hyrax/homepage/_featured_works.html.erb_spec.rb +37 -0
  1558. data/spec/views/hyrax/homepage/_sortable_featured.html.erb_spec.rb +21 -0
  1559. data/spec/views/hyrax/homepage/index.html.erb_spec.rb +49 -0
  1560. data/spec/views/hyrax/my/_list_collections.html.erb_spec.rb +32 -0
  1561. data/spec/views/hyrax/my/_list_works.html.erb_spec.rb +30 -0
  1562. data/spec/views/hyrax/my/_sort_and_per_page.html.erb_spec.rb +35 -0
  1563. data/spec/views/hyrax/my/_work_action_menu.html.erb_spec.rb +40 -0
  1564. data/spec/views/hyrax/my/facet.html.erb_spec.rb +33 -0
  1565. data/spec/views/hyrax/permissions/confirm.html.erb_spec.rb +16 -0
  1566. data/spec/views/hyrax/single_use_links_viewer/show.html.erb_spec.rb +32 -0
  1567. data/spec/views/hyrax/single_use_links_viewer/single_use_error.html.erb_spec.rb +8 -0
  1568. data/spec/views/hyrax/stats/file.html.erb_spec.rb +48 -0
  1569. data/spec/views/hyrax/uploads/create.json.jbuilder_spec.rb +19 -0
  1570. data/spec/views/hyrax/users/_user_info.html.erb_spec.rb +27 -0
  1571. data/spec/views/hyrax/users/edit.html.erb_spec.rb +80 -0
  1572. data/spec/views/hyrax/users/index.html.erb_spec.rb +23 -0
  1573. data/spec/views/hyrax/users/show.html.erb_spec.rb +52 -0
  1574. data/spec/views/layouts/error.html.erb_spec.rb +8 -0
  1575. data/spec/views/records/edit_fields/_based_near.html.erb_spec.rb +20 -0
  1576. data/spec/views/records/edit_fields/_description.html.erb_spec.rb +66 -0
  1577. data/spec/views/records/edit_fields/_language.html.erb_spec.rb +20 -0
  1578. data/spec/views/records/edit_fields/_subject.html.erb_spec.rb +20 -0
  1579. data/spec/views/shared/select_work_type_modal.html.erb_spec.rb +32 -0
  1580. data/tasks/hyrax-dev.rake +37 -0
  1581. data/template.rb +8 -0
  1582. data/vendor/assets/fonts/fontawesome-webfont.svg +255 -0
  1583. data/vendor/assets/fonts/fontawesome-webfont.ttf +0 -0
  1584. data/vendor/assets/fonts/fontawesome-webfont.woff +0 -0
  1585. data/vendor/assets/javascripts/fileupload/jquery.fileupload-process.js +175 -0
  1586. data/vendor/assets/javascripts/fileupload/jquery.fileupload-ui.js +710 -0
  1587. data/vendor/assets/javascripts/fileupload/jquery.fileupload-validate.js +122 -0
  1588. data/vendor/assets/javascripts/fileupload/jquery.fileupload.js +1477 -0
  1589. data/vendor/assets/javascripts/fileupload/jquery.iframe-transport.js +217 -0
  1590. data/vendor/assets/javascripts/fileupload/tmpl.js +86 -0
  1591. data/vendor/assets/javascripts/fixedsticky.js +193 -0
  1592. data/vendor/assets/javascripts/jquery.validate.js +1248 -0
  1593. data/vendor/assets/javascripts/morris/morris.min.js +7 -0
  1594. data/vendor/assets/javascripts/morris/raphael-min.js +11 -0
  1595. data/vendor/assets/javascripts/nestable.js +647 -0
  1596. data/vendor/assets/javascripts/time-elements.js +616 -0
  1597. data/vendor/assets/javascripts/webcomponentsjs/0.5.4/CustomElements.min.js +11 -0
  1598. data/vendor/assets/stylesheets/morris.js/0.5.1/morris.css +2 -0
  1599. data/vendor/assets/stylesheets/sharing_buttons.css +163 -0
  1600. metadata +3034 -34
  1601. data/.ruby-gemset +0 -1
  1602. data/.ruby-version +0 -1
  1603. data/bin/console +0 -14
  1604. data/bin/setup +0 -8
data/.travis.yml CHANGED
@@ -1,5 +1,28 @@
1
- sudo: false
2
1
  language: ruby
2
+ sudo: false
3
+
4
+ cache:
5
+ bundler: true
6
+ directories:
7
+ - "travis_phantomjs"
8
+
9
+ before_install:
10
+ - gem update --system
11
+ - gem install bundler
12
+ - "phantomjs --version"
13
+ - "export PATH=$PWD/travis_phantomjs/phantomjs-2.1.1-linux-x86_64/bin:$PATH"
14
+ - "if [ $(phantomjs --version) != '2.1.1' ]; then rm -rf $PWD/travis_phantomjs; mkdir -p $PWD/travis_phantomjs; fi"
15
+ - "if [ $(phantomjs --version) != '2.1.1' ]; then wget https://assets.membergetmember.co/software/phantomjs-2.1.1-linux-x86_64.tar.bz2 -O $PWD/travis_phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2; fi"
16
+ - "if [ $(phantomjs --version) != '2.1.1' ]; then tar -xvf $PWD/travis_phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2 -C $PWD/travis_phantomjs; fi"
17
+ - "phantomjs --version"
3
18
  rvm:
4
- - 2.2.3
5
- before_install: gem install bundler -v 1.13.6
19
+ - 2.4.0
20
+ env:
21
+ global:
22
+ - NOKOGIRI_USE_SYSTEM_LIBRARIES=true
23
+ matrix:
24
+ - "RAILS_VERSION=5.0.2"
25
+ services:
26
+ - redis-server
27
+ before_script:
28
+ - jdk_switcher use oraclejdk8
data/CONTRIBUTING.md ADDED
@@ -0,0 +1,159 @@
1
+ # How to Contribute
2
+
3
+ We want your help to make Project Hydra great.
4
+ There are a few guidelines that we need contributors to follow so that we can have a chance of keeping on top of things.
5
+
6
+ ## Code of Conduct
7
+
8
+ The Hydra community is dedicated to providing a welcoming and positive experience for all its
9
+ members, whether they are at a formal gathering, in a social setting, or taking part in activities
10
+ online. Please see our [Code of Conduct](https://wiki.duraspace.org/display/hydra/Code+of+Conduct)
11
+ for more information.
12
+
13
+ ## Hydra Project Intellectual Property Licensing and Ownership
14
+
15
+ All code contributors must have an Individual Contributor License Agreement (iCLA) on file with the Hydra Project Steering Group.
16
+ If the contributor works for an institution, the institution must have a Corporate Contributor License Agreement (cCLA) on file.
17
+
18
+ https://wiki.duraspace.org/display/hydra/Hydra+Project+Intellectual+Property+Licensing+and+Ownership
19
+
20
+ You should also add yourself to the `CONTRIBUTORS.md` file in the root of the project.
21
+
22
+ ## Contribution Tasks
23
+
24
+ * Reporting Issues
25
+ * Making Changes
26
+ * Documenting Code
27
+ * Committing Changes
28
+ * Submitting Changes
29
+ * Reviewing and Merging Changes
30
+
31
+ ### Reporting Issues
32
+
33
+ * Make sure you have a [GitHub account](https://github.com/signup/free)
34
+ * Submit a [Github issue](./issues) by:
35
+ * Clearly describing the issue
36
+ * Provide a descriptive summary
37
+ * Explain the expected behavior
38
+ * Explain the actual behavior
39
+ * Provide steps to reproduce the actual behavior
40
+
41
+ ### Making Changes
42
+
43
+ * Fork the repository on GitHub
44
+ * Create a topic branch from where you want to base your work.
45
+ * This is usually the master branch.
46
+ * To quickly create a topic branch based on master; `git branch fix/master/my_contribution master`
47
+ * Then checkout the new branch with `git checkout fix/master/my_contribution`.
48
+ * Please avoid working directly on the `master` branch.
49
+ * You may find the [hub suite of commands](https://github.com/defunkt/hub) helpful
50
+ * Make sure you have added sufficient tests and documentation for your changes.
51
+ * Test functionality with RSpec; est features / UI with Capybara.
52
+ * Run _all_ the tests to assure nothing else was accidentally broken.
53
+
54
+ ### Documenting Code
55
+
56
+ * All new public methods, modules, and classes should include inline documentation in [YARD](http://yardoc.org/).
57
+ * Documentation should seek to answer the question "why does this code exist?"
58
+ * Document private / protected methods as desired.
59
+ * If you are working in a file with no prior documentation, do try to document as you gain understanding of the code.
60
+ * If you don't know exactly what a bit of code does, it is extra likely that it needs to be documented. Take a stab at it and ask for feedback in your pull request. You can use the 'blame' button on GitHub to identify the original developer of the code and @mention them in your comment.
61
+ * This work greatly increases the usability of the code base and supports the on-ramping of new committers.
62
+ * We will all be understanding of one another's time constraints in this area.
63
+ * YARD examples:
64
+ * [Hydra::Works::RemoveGenericFile](https://github.com/projecthydra-labs/hydra-works/blob/master/lib/hydra/works/services/generic_work/remove_generic_file.rb)
65
+ * [ActiveTriples::LocalName::Minter](https://github.com/ActiveTriples/active_triples-local_name/blob/master/lib/active_triples/local_name/minter.rb)
66
+ * [Getting started with YARD](http://www.rubydoc.info/gems/yard/file/docs/GettingStarted.md)
67
+
68
+ ### Committing changes
69
+
70
+ * Make commits of logical units.
71
+ * Your commit should include a high level description of your work in HISTORY.textile
72
+ * Check for unnecessary whitespace with `git diff --check` before committing.
73
+ * Make sure your commit messages are [well formed](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html).
74
+ * If you created an issue, you can close it by including "Closes #issue" in your commit message. See [Github's blog post for more details](https://github.com/blog/1386-closing-issues-via-commit-messages)
75
+
76
+ ```
77
+ Present tense short summary (50 characters or less)
78
+
79
+ More detailed description, if necessary. It should be wrapped to 72
80
+ characters. Try to be as descriptive as you can, even if you think that
81
+ the commit content is obvious, it may not be obvious to others. You
82
+ should add such description also if it's already present in bug tracker,
83
+ it should not be necessary to visit a webpage to check the history.
84
+
85
+ Include Closes #<issue-number> when relavent.
86
+
87
+ Description can have multiple paragraphs and you can use code examples
88
+ inside, just indent it with 4 spaces:
89
+
90
+ class PostsController
91
+ def index
92
+ respond_to do |wants|
93
+ wants.html { render 'index' }
94
+ end
95
+ end
96
+ end
97
+
98
+ You can also add bullet points:
99
+
100
+ - you can use dashes or asterisks
101
+
102
+ - also, try to indent next line of a point for readability, if it's too
103
+ long to fit in 72 characters
104
+ ```
105
+
106
+ ### Submitting Changes
107
+
108
+ * Read the article ["Using Pull Requests"](https://help.github.com/articles/using-pull-requests) on GitHub.
109
+ * Make sure your branch is up to date with its parent branch (i.e. master)
110
+ * `git checkout master`
111
+ * `git pull --rebase`
112
+ * `git checkout <your-branch>`
113
+ * `git rebase master`
114
+ * It is a good idea to run your tests again.
115
+ * If you've made more than one commit take a moment to consider whether squashing commits together would help improve their logical grouping.
116
+ * [Detailed Walkthrough of One Pull Request per Commit](http://ndlib.github.io/practices/one-commit-per-pull-request/)
117
+ * `git rebase --interactive master` ([See Github help](https://help.github.com/articles/interactive-rebase))
118
+ * Squashing your branch's changes into one commit is "good form" and helps the person merging your request to see everything that is going on.
119
+ * Push your changes to a topic branch in your fork of the repository.
120
+ * Submit a pull request from your fork to the project.
121
+
122
+ ### Reviewing and Merging Changes
123
+
124
+ We adopted [Github's Pull Request Review](https://help.github.com/articles/about-pull-request-reviews/) for our repositories.
125
+ Common checks that may occur in our repositories:
126
+
127
+ 1. Travis CI - where our automated tests are running
128
+ 2. Hound CI - where we check for style violations
129
+ 3. Approval Required - Github enforces at least one person approve a pull request. Also, all reviewers that have chimed in must approve.
130
+ 4. CodeClimate - is our code remaining healthy (at least according to static code analysis)
131
+
132
+ If one or more of the required checks failed (or are incomplete), the code should not be merged (and the UI will not allow it). If all of the checks have passed, then anyone on the project (including the pull request submitter) may merge the code.
133
+
134
+ *Example: Carolyn submits a pull request, Justin reviews the pull request and approves. However, Justin is still waiting on other checks (Travis CI is usually the culprit), so he does not merge the pull request. Eventually, all of the checks pass. At this point, Carolyn or anyone else may merge the pull request.*
135
+
136
+ #### Things to Consider When Reviewing
137
+
138
+ First, the person contributing the code is putting themselves out there. Be mindful of what you say in a review.
139
+
140
+ * Ask clarifying questions
141
+ * State your understanding and expectations
142
+ * Provide example code or alternate solutions, and explain why
143
+
144
+ This is your chance for a mentoring moment of another developer. Take time to give an honest and thorough review of what has changed. Things to consider:
145
+
146
+ * Does the commit message explain what is going on?
147
+ * Does the code changes have tests? _Not all changes need new tests, some changes are refactors_
148
+ * Do new or changed methods, modules, and classes have documentation?
149
+ * Does the commit contain more than it should? Are two separate concerns being addressed in one commit?
150
+ * Does the description of the new/changed specs match your understanding of what the spec is doing?
151
+
152
+ If you are uncertain, bring other contributors into the conversation by assigning them as a reviewer.
153
+
154
+ # Additional Resources
155
+
156
+ * [General GitHub documentation](http://help.github.com/)
157
+ * [GitHub pull request documentation](http://help.github.com/send-pull-requests/)
158
+ * [Pro Git](http://git-scm.com/book) is both a free and excellent book about Git.
159
+ * [A Git Config for Contributing](http://ndlib.github.io/practices/my-typical-per-project-git-config/)
data/Gemfile CHANGED
@@ -1,4 +1,50 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- # Specify your gem's dependencies in hyrax.gemspec
3
+ # Please see hyrax.gemspec for dependency information.
4
4
  gemspec
5
+
6
+ group :development, :test do
7
+ gem "simplecov", require: false
8
+ gem 'coveralls', require: false
9
+ gem 'pry' unless ENV['CI']
10
+ gem 'pry-byebug' unless ENV['CI']
11
+ end
12
+
13
+ # BEGIN ENGINE_CART BLOCK
14
+ # engine_cart: 0.10.0
15
+ # engine_cart stanza: 0.10.0
16
+ # the below comes from engine_cart, a gem used to test this Rails engine gem in the context of a Rails app.
17
+ file = File.expand_path('Gemfile', ENV['ENGINE_CART_DESTINATION'] || ENV['RAILS_ROOT'] || File.expand_path('.internal_test_app', File.dirname(__FILE__)))
18
+ if File.exist?(file)
19
+ begin
20
+ eval_gemfile file
21
+ rescue Bundler::GemfileError => e
22
+ Bundler.ui.warn '[EngineCart] Skipping Rails application dependencies:'
23
+ Bundler.ui.warn e.message
24
+ end
25
+ else
26
+ Bundler.ui.warn "[EngineCart] Unable to find test application dependencies in #{file}, using placeholder dependencies"
27
+
28
+ if ENV['RAILS_VERSION']
29
+ if ENV['RAILS_VERSION'] == 'edge'
30
+ gem 'rails', github: 'rails/rails'
31
+ ENV['ENGINE_CART_RAILS_OPTIONS'] = '--edge --skip-turbolinks'
32
+ else
33
+ gem 'rails', ENV['RAILS_VERSION']
34
+ end
35
+ end
36
+
37
+ case ENV['RAILS_VERSION']
38
+ when /^4.2/
39
+ gem 'responders', '~> 2.0'
40
+ gem 'sass-rails', '>= 5.0'
41
+ gem 'coffee-rails', '~> 4.2.0'
42
+ when /^4.[01]/
43
+ gem 'sass-rails', '< 5.0'
44
+ end
45
+ end
46
+ # END ENGINE_CART BLOCK
47
+
48
+ unless File.exist?(file)
49
+ eval_gemfile File.expand_path('spec/test_app_templates/Gemfile.extra', File.dirname(__FILE__))
50
+ end
data/LICENSE ADDED
@@ -0,0 +1,15 @@
1
+ ##########################################################################
2
+ # Copyright 2012 Penn State University
3
+ # Additional copyright may be held by others, as reflected in the commit log
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
data/README.md CHANGED
@@ -1,35 +1,270 @@
1
- # Hyrax
1
+ ![Logo](https://raw.githubusercontent.com/projecthydra-labs/hyrax/gh-pages/assets/images/hyrax_logo_horizontal_white_background.png)
2
2
 
3
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/hyrax`. To experiment with that code, run `bin/console` for an interactive prompt.
3
+ Code: [![Version](https://badge.fury.io/rb/hyrax.png)](http://badge.fury.io/rb/hyrax)
4
+ [![Build Status](https://travis-ci.org/projecthydra-labs/hyrax.png?branch=master)](https://travis-ci.org/projecthydra-labs/hyrax)
5
+ [![Coverage Status](https://coveralls.io/repos/github/projecthydra-labs/hyrax/badge.svg?branch=master)](https://coveralls.io/github/projecthydra-labs/hyrax?branch=master)
6
+ [![Code Climate](https://codeclimate.com/github/projecthydra-labs/hyrax/badges/gpa.svg)](https://codeclimate.com/github/projecthydra-labs/hyrax)
7
+ [![Dependency Update Status](https://gemnasium.com/projecthydra-labs/hyrax.png)](https://gemnasium.com/projecthydra-labs/hyrax)
8
+ [![Dependency Maintenance Status](https://dependencyci.com/github/projecthydra-labs/hyrax/badge)](https://dependencyci.com/github/projecthydra-labs/hyrax)
4
9
 
5
- TODO: Delete this and the text above, and describe your gem
10
+ Docs: [![Documentation Status](https://inch-ci.org/github/projecthydra-labs/hyrax.svg?branch=master)](https://inch-ci.org/github/projecthydra-labs/hyrax)
11
+ [![API Docs](http://img.shields.io/badge/API-docs-blue.svg)](http://rubydoc.info/gems/hyrax)
12
+ [![Contribution Guidelines](http://img.shields.io/badge/CONTRIBUTING-Guidelines-blue.svg)](./.github/CONTRIBUTING.md)
13
+ [![Apache 2.0 License](http://img.shields.io/badge/APACHE2-license-blue.svg)](./LICENSE)
6
14
 
7
- ## Installation
15
+ Jump in: [![Slack Status](http://slack.projecthydra.org/badge.svg)](http://slack.projecthydra.org/)
16
+ [![Ready Tickets](https://badge.waffle.io/projecthydra-labs/hyrax.png?label=ready&milestone=1.0.0&title=Ready)](https://waffle.io/projecthydra-labs/hyrax?milestone=1.0.0)
8
17
 
9
- Add this line to your application's Gemfile:
18
+ # Table of Contents
10
19
 
11
- ```ruby
12
- gem 'hyrax'
20
+ * [What is Hyrax?](#what-is-hyrax)
21
+ * [Feature list](#feature-list)
22
+ * [Help](#help)
23
+ * [Getting started](#getting-started)
24
+ * [Prerequisites](#prerequisites)
25
+ * [Characterization](#characterization)
26
+ * [Derivatives](#derivatives)
27
+ * [Environments](#environments)
28
+ * [Ruby](#ruby)
29
+ * [Redis](#redis)
30
+ * [Rails](#rails)
31
+ * [JavaScript runtime](#javascript-runtime)
32
+ * [Creating a Hyrax\-based app](#creating-a-hyrax-based-app)
33
+ * [Generate a work type](#generate-a-work-type)
34
+ * [Start servers](#start-servers)
35
+ * [Start background workers](#start-background-workers)
36
+ * [Create default administrative set](#create-default-administrative-set)
37
+ * [Managing a Hyrax\-based app](#managing-a-hyrax-based-app)
38
+ * [Toggling features](#toggling-features)
39
+ * [License](#license)
40
+ * [Contributing](#contributing)
41
+ * [Development](#development)
42
+ * [Release process](#release-process)
43
+ * [Acknowledgments](#acknowledgments)
44
+
45
+ # What is Hyrax?
46
+
47
+ Hyrax is a front-end based on the robust [Hydra](http://projecthydra.org) framework, providing a user interface for common repository features. Hyrax offers the ability to create repository object types on demand, to deposit content via multiple configurable workflows, and to describe content with flexible metadata. Numerous optional features may be turned on in the administrative dashboard or added through plugins. It is implemented as a Rails engine, so it may be the base of, or added to, a Rails application. Hyrax is the consolidation of Sufia and the CurationConcerns gems and behaves in much the same way.
48
+
49
+ ## Feature list
50
+
51
+ Hyrax has many features. [Read more about what they are and how to turn them on](https://github.com/projecthydra/sufia/wiki/Feature-matrix). See the [Sufia Management Guide](https://github.com/projecthydra/sufia/wiki/Sufia-Management-Guide) to learn more.
52
+
53
+ For non-technical documentation about Hyrax, see the Hyrax [documentation site](http://hyr.ax/).
54
+
55
+ # Help
56
+
57
+ If you have questions or need help, please email [the Hydra community tech list](mailto:hydra-tech@googlegroups.com) or stop by the #dev channel in [the Hydra community Slack team](https://wiki.duraspace.org/pages/viewpage.action?pageId=43910187#Getintouch!-Slack).
58
+
59
+ # Getting started
60
+
61
+ This document contains instructions specific to setting up an app with __Hyrax
62
+ v1.0.0.alpha__. If you are looking for instructions on installing a different
63
+ version, be sure to select the appropriate branch or tag from the drop-down
64
+ menu above.
65
+
66
+ Prerequisites are required for both Creating a Hyrax\-based app and Contributing new features to Hyrax.
67
+ After installing the Prerequisites:
68
+ * If you would like to create a new application using Hyrax follow the instructions for [Creating a Hyrax\-based app](#creating-a-hyrax-based-app).
69
+ * If you would like to create new features for Hyrax follow the instructions for [Contributing](#contributing) and [Development](#development).
70
+
71
+ ## Prerequisites
72
+
73
+ Hyrax requires the following software to work:
74
+
75
+ 1. [Solr](http://lucene.apache.org/solr/) version >= 5.x (tested up to 6.4.1)
76
+ 1. [Fedora Commons](http://www.fedora-commons.org/) digital repository version >= 4.5.1 (tested up to 4.7.1)
77
+ 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
78
+ 1. [Redis](http://redis.io/), a key-value store
79
+ 1. [ImageMagick](http://www.imagemagick.org/) with JPEG-2000 support
80
+ 1. [FITS](#characterization) version 0.8.x (0.8.5 is known to be good)
81
+ 1. [LibreOffice](#derivatives)
82
+
83
+ **NOTE: The [Sufia Development Guide](https://github.com/projecthydra/sufia/wiki/Sufia-Development-Guide) has instructions for installing Solr and Fedora in a development environment.**
84
+
85
+ ### Characterization
86
+
87
+ 1. Go to http://projects.iq.harvard.edu/fits/downloads and download a copy of FITS (see above to pick a known working version) & unpack it somewhere on your machine.
88
+ 1. Mark fits.sh as executable: `chmod a+x fits.sh`
89
+ 1. Run `fits.sh -h` from the command line and see a help message to ensure FITS is properly installed
90
+ 1. Give your Hyrax app access to FITS by:
91
+ 1. Adding the full fits.sh path to your PATH (e.g., in your .bash\_profile), **OR**
92
+ 1. Changing `config/initializers/hyrax.rb` to point to your FITS location: `config.fits_path = "/<your full path>/fits.sh"`
93
+
94
+ ### Derivatives
95
+
96
+ Install [LibreOffice](https://www.libreoffice.org/). If `which soffice` returns a path, you're done. Otherwise, add the full path to soffice to your PATH (in your `.bash_profile`, for instance). On OSX, soffice is **inside** LibreOffice.app. Your path may look like "/path/to/LibreOffice.app/Contents/MacOS/"
97
+
98
+ You may also require [ghostscript](http://www.ghostscript.com/) if it does not come with your compiled version LibreOffice. `brew install ghostscript` should resolve the dependency on a mac.
99
+
100
+ **NOTE**: Derivatives are served from the filesystem in Hyrax.
101
+
102
+ ## Environments
103
+
104
+ Note here that the following commands assume you're setting up Hyrax in a development environment (using the Rails built-in development environment). If you're setting up a production or production-like environment, you may wish to tell Rails that by prepending `RAILS_ENV=production` to the commands that follow, e.g., `rails`, `rake`, `bundle`, and so on.
105
+
106
+ ## Ruby
107
+
108
+ First, you'll need a working Ruby installation. You can install this via your operating system's package manager -- you are likely to get farther with OSX, Linux, or UNIX than Windows but your mileage may vary -- but we recommend using a Ruby version manager such as [RVM](https://rvm.io/) or [rbenv](https://github.com/sstephenson/rbenv).
109
+
110
+ We recommend either Ruby 2.3 or the latest 2.2 version.
111
+
112
+ ## Redis
113
+
114
+ [Redis](http://redis.io/) is a key-value store that Hyrax uses to provide activity streams on repository objects and users, and to prevent race conditions as a global mutex when modifying order-persisting objects.
115
+
116
+ Starting up Redis will depend on your operating system, and may in fact already be started on your system. You may want to consult the [Redis documentation](http://redis.io/documentation) for help doing this.
117
+
118
+ ## Rails
119
+
120
+ We recommend the latest Rails 5.0 release.
121
+
122
+ ```
123
+ # If you don't already have Rails at your disposal...
124
+ gem install rails -v 5.0.1
125
+ ```
126
+
127
+ ### JavaScript runtime
128
+
129
+ Rails requires that you have a JavaScript runtime -- for example, nodejs -- installed. Either install nodejs or uncomment the `rubyracer` line in your Gemfile and run `bundle install` before running Hyrax's install generator.
130
+
131
+ # Creating a Hyrax-based app
132
+
133
+ Generate a new Rails application using the template.
134
+
135
+ ```
136
+ rails new my_app -m https://raw.githubusercontent.com/projecthydra-labs/hyrax/master/template.rb
13
137
  ```
14
138
 
15
- And then execute:
139
+ Generating a new Rails application using Hyrax's template above takes cares of a number of steps for you, including:
140
+
141
+ * Adding Hyrax (and any of its dependencies) to your application `Gemfile`, to declare that Hyrax is a dependency of your application
142
+ * Running `bundle install`, to install Hyrax and its dependencies
143
+ * Running Hyrax's install generator, to add a number of files that Hyrax requires within your Rails app, including e.g. database migrations
144
+ * Loading all of Hyrax's database migrations into your application's database
145
+ * Loading Hyrax's default workflows into your application's database
146
+
147
+ ## Generate a work type
148
+
149
+ Hyrax allows you to specify your work types by using a generator. You may generate one or more of these work types.
150
+
151
+ Pass a (CamelCased) model name to Hyrax's work generator to get started, e.g.:
152
+
153
+ ```
154
+ rails generate hyrax:work Work
155
+ ```
156
+
157
+ or
158
+
159
+ ```
160
+ rails generate hyrax:work MovingImage
161
+ ```
162
+
163
+ You may wish to [customize your work type](https://github.com/projecthydra/sufia/wiki/Customizing-your-work-types) now that it's been generated.
164
+
165
+ ## Start servers
166
+
167
+ To test-drive your new Hyrax application in development mode, spin up the servers that Hyrax needs (Solr, Fedora, and Rails):
168
+
169
+ ```
170
+ rake hydra:server
171
+ ```
172
+
173
+ And now you should be able to browse to [localhost:3000](http://localhost:3000/) and see the application. Note that this web server is purely for development purposes; you will want to use a more fully featured [web server](#web-server) for production-like environments.
174
+
175
+ ## Start background workers
176
+
177
+ Many of the services performed by Hyrax are resource intensive, and therefore are well suited to running as background jobs that can be managed and executed by a message queuing system. Examples include:
178
+
179
+ * File ingest
180
+ * Derivative generation
181
+ * Characterization
182
+ * Fixity
183
+ * Solr indexing
184
+
185
+ Hyrax implements these jobs using the Rails [ActiveJob](http://edgeguides.rubyonrails.org/active_job_basics.html) framework, allowing you to choose the message queue system of your choice.
186
+
187
+ For initial testing and development, it is recommended that you change the default ActiveJob adapter from `:async` to `:inline`. This adapter will execute jobs immediately (in the foreground) as they are received. This can be accomplished by adding the following to your `config/application.rb`
188
+
189
+ ```
190
+ class Application < Rails::Application
191
+ # ...
192
+ config.active_job.queue_adapter = :inline
193
+ # ...
194
+ end
195
+ ```
196
+
197
+ **For production applications** you will want to use a more robust message queue system such as [Sidekiq](http://sidekiq.org/) or [Resque](https://github.com/resque/resque). The Sufia Development Guide has a detailed walkthrough of [installing and configuring Resque](https://github.com/projecthydra/sufia/wiki/Background-Workers-(Resque-in-Sufia-7). Initial Sidekiq instructions for ActiveJob are available on the [Sidekiq wiki](https://github.com/mperham/sidekiq/wiki/Active-Job).
198
+
199
+ ## Load workflows
200
+ Load workflows from the json files in `config/workflows` by running the following rake task:
201
+
202
+ ```
203
+ rake hyrax:workflow:load
204
+ ```
205
+
206
+ ## Create default administrative set
207
+
208
+ **After** Fedora and Solr are running, create the default administrative set -- into which all works will be deposited unless assigned to other administrative sets -- by running the following rake task:
209
+
210
+ ```
211
+ rake hyrax:default_admin_set:create
212
+ ```
213
+
214
+ **NOTE**: You will want to run this command the first time this code is deployed to a new environment as well.
215
+
216
+ # Managing a Hyrax-based app
217
+
218
+ The [Sufia Management Guide](https://github.com/projecthydra/sufia/wiki/Sufia-Management-Guide) provides tips for how to manage, customize, and enhance your Hyrax application, including guidance specific to:
219
+
220
+ * Production implementations
221
+ * Configuration of background workers
222
+ * Integration with e.g., Dropbox, Google Analytics, and Zotero
223
+ * Audiovisual transcoding with `ffmpeg`
224
+ * Setting up administrative users
225
+ * Metadata customization
226
+
227
+ ## Toggling Features
228
+
229
+ Some features in Hyrax can be flipped on and off from either the Administrative
230
+ Dashboard or via a YAML configuration file at `config/features.yml`. An example
231
+ of the YAML file is below:
232
+
233
+ ```yaml
234
+ assign_admin_set:
235
+ enabled: "false"
236
+ proxy_deposit:
237
+ enabled: "false"
238
+ ```
239
+
240
+ If both options exist, whichever option is set from the Administrative Dashboard
241
+ will take precedence.
242
+
243
+ # License
244
+
245
+ Hyrax is available under [the Apache 2.0 license](LICENSE.md).
246
+
247
+ # Contributing
16
248
 
17
- $ bundle
249
+ We'd love to accept your contributions. Please see our guide to [contributing to Hyrax](./.github/CONTRIBUTING.md).
18
250
 
19
- Or install it yourself as:
251
+ If you'd like to help the development effort and you're not sure where to get started, you can always grab a ticket in the "Ready" column from our [Waffle board](https://waffle.io/projecthydra-labs/hyrax). There are other ways to help, too.
20
252
 
21
- $ gem install hyrax
253
+ * [Contribute a user story](https://github.com/projecthydra-labs/hyrax/issues/new).
254
+ * Help us improve [Hyrax's test coverage](https://coveralls.io/r/projecthydra-labs/hyrax) or [documentation coverage](https://inch-ci.org/github/projecthydra-labs/hyrax).
255
+ * Refactor away [code smells](https://codeclimate.com/github/projecthydra-labs/hyrax).
22
256
 
23
- ## Usage
257
+ # Development
24
258
 
25
- TODO: Write usage instructions here
259
+ The [Sufia Development Guide](https://github.com/projecthydra/sufia/wiki/Sufia-Development-Guide) is for people who want to modify Hyrax itself, not an application that uses Hyrax.
26
260
 
27
- ## Development
261
+ # Release process
28
262
 
29
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
263
+ See the [release management process](https://github.com/projecthydra/sufia/wiki/Release-management-process).
30
264
 
31
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
265
+ # Acknowledgments
32
266
 
33
- ## Contributing
267
+ This software has been developed by and is brought to you by the Hydra community. Learn more at the
268
+ [Project Hydra website](http://projecthydra.org/).
34
269
 
35
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/hyrax.
270
+ ![Project Hydra Logo](http://hyr.ax/assets/images/hydra_logo.png)