curation_concerns 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (472) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +7 -9
  3. data/.rspec +1 -1
  4. data/.rubocop.yml +185 -0
  5. data/.travis.yml +0 -10
  6. data/CONTRIBUTING.md +117 -0
  7. data/Gemfile +5 -2
  8. data/README.md +18 -11
  9. data/Rakefile +23 -11
  10. data/VERSION +1 -1
  11. data/app/assets/images/audio.png +0 -0
  12. data/app/assets/images/loading.gif +0 -0
  13. data/app/assets/images/progressbar.gif +0 -0
  14. data/app/assets/javascripts/curation_concerns/application.js +2 -8
  15. data/app/assets/javascripts/curation_concerns/curation_concerns.js +1 -15
  16. data/app/assets/javascripts/curation_concerns/facet_mine.js +4 -10
  17. data/app/assets/javascripts/curation_concerns/fileupload.js +6 -0
  18. data/app/assets/javascripts/curation_concerns/uploader.js +183 -0
  19. data/app/assets/stylesheets/curation_concerns/_curation_concerns.scss +3 -0
  20. data/app/assets/stylesheets/curation_concerns/_positioning.scss +6 -0
  21. data/app/assets/stylesheets/curation_concerns/fileupload/jquery.fileupload-ui.scss +86 -0
  22. data/app/assets/stylesheets/curation_concerns/fileupload/thumbnail-scaling.css +3 -0
  23. data/app/assets/stylesheets/curation_concerns/fileupload.scss +48 -0
  24. data/app/assets/stylesheets/curation_concerns/modules/attributes.scss +10 -0
  25. data/app/assets/stylesheets/curation_concerns/modules/embargoes.scss +1 -1
  26. data/app/assets/stylesheets/curation_concerns/modules/forms.scss +0 -10
  27. data/app/assets/stylesheets/curation_concerns/modules/search_results.scss +7 -8
  28. data/app/controllers/concerns/curation_concerns/api.rb +77 -0
  29. data/app/controllers/concerns/curation_concerns/application_controller_behavior.rb +30 -12
  30. data/app/controllers/concerns/curation_concerns/catalog_controller.rb +9 -276
  31. data/app/controllers/concerns/curation_concerns/collections_controller_behavior.rb +51 -40
  32. data/app/controllers/concerns/curation_concerns/curation_concern_controller.rb +60 -30
  33. data/app/controllers/concerns/curation_concerns/download_behavior.rb +51 -37
  34. data/app/controllers/concerns/curation_concerns/embargoes_controller_behavior.rb +29 -29
  35. data/app/controllers/concerns/curation_concerns/file_sets_controller_behavior.rb +198 -0
  36. data/app/controllers/concerns/curation_concerns/leases_controller_behavior.rb +27 -20
  37. data/app/controllers/concerns/curation_concerns/manages_embargoes.rb +2 -7
  38. data/app/controllers/concerns/curation_concerns/parent_container.rb +20 -4
  39. data/app/controllers/concerns/curation_concerns/single_use_links_controller_behavior.rb +48 -0
  40. data/app/controllers/concerns/curation_concerns/single_use_links_viewer_controller_behavior.rb +75 -0
  41. data/app/controllers/concerns/curation_concerns/themed_layout_controller.rb +0 -1
  42. data/app/controllers/concerns/curation_concerns/upload_sets_controller_behavior.rb +38 -0
  43. data/app/controllers/concerns/curation_concerns/welcome_controller_behavior.rb +8 -0
  44. data/app/controllers/concerns/curation_concerns/without_namespace.rb +2 -1
  45. data/app/controllers/curation_concerns/classify_concerns_controller.rb +9 -9
  46. data/app/controllers/curation_concerns/file_sets_controller.rb +5 -0
  47. data/app/controllers/curation_concerns/permissions_controller.rb +2 -3
  48. data/app/controllers/curation_concerns/single_use_links_controller.rb +5 -0
  49. data/app/controllers/curation_concerns/single_use_links_viewer_controller.rb +21 -0
  50. data/app/controllers/downloads_controller.rb +0 -1
  51. data/app/controllers/embargoes_controller.rb +0 -2
  52. data/app/controllers/leases_controller.rb +0 -2
  53. data/app/controllers/registrations_controller.rb +1 -2
  54. data/app/controllers/upload_sets_controller.rb +3 -0
  55. data/app/controllers/welcome_controller.rb +3 -0
  56. data/app/forms/curation_concerns/forms/collection_edit_form.rb +18 -2
  57. data/app/forms/curation_concerns/forms/file_set_edit_form.rb +15 -0
  58. data/app/forms/curation_concerns/forms/work_form.rb +57 -0
  59. data/app/helpers/curation_concerns/ability_helper.rb +24 -24
  60. data/app/helpers/curation_concerns/catalog_helper.rb +9 -8
  61. data/app/helpers/curation_concerns/collections_helper.rb +9 -12
  62. data/app/helpers/curation_concerns/embargo_helper.rb +0 -2
  63. data/app/helpers/curation_concerns/file_set_helper.rb +31 -0
  64. data/app/helpers/curation_concerns/lease_helper.rb +0 -3
  65. data/app/helpers/curation_concerns/main_app_helpers.rb +1 -3
  66. data/app/helpers/curation_concerns/render_constraints_helper.rb +5 -5
  67. data/app/helpers/curation_concerns/search_paths_helper.rb +5 -7
  68. data/app/helpers/curation_concerns/title_helper.rb +3 -7
  69. data/app/helpers/curation_concerns/url_helper.rb +4 -6
  70. data/app/inputs/multifile_input.rb +8 -0
  71. data/app/jobs/visibility_copy_job.rb +22 -0
  72. data/app/presenters/curation_concerns/collection_presenter.rb +14 -32
  73. data/app/presenters/curation_concerns/embargo_presenter.rb +26 -0
  74. data/app/presenters/curation_concerns/file_set_presenter.rb +34 -0
  75. data/app/presenters/curation_concerns/lease_presenter.rb +30 -0
  76. data/app/presenters/curation_concerns/model_proxy.rb +27 -0
  77. data/app/presenters/curation_concerns/permission_badge.rb +61 -0
  78. data/app/presenters/curation_concerns/presenter_factory.rb +45 -0
  79. data/app/presenters/curation_concerns/presents_attributes.rb +25 -0
  80. data/app/presenters/curation_concerns/version_list_presenter.rb +18 -0
  81. data/app/presenters/curation_concerns/version_presenter.rb +27 -0
  82. data/app/presenters/curation_concerns/work_show_presenter.rb +33 -0
  83. data/app/renderers/curation_concerns/attribute_renderer.rb +75 -0
  84. data/app/search_builders/curation_concerns/deactivated_embargo_search_builder.rb +10 -0
  85. data/app/search_builders/curation_concerns/deactivated_lease_search_builder.rb +10 -0
  86. data/app/search_builders/curation_concerns/embargo_search_builder.rb +23 -0
  87. data/app/search_builders/curation_concerns/expired_embargo_search_builder.rb +11 -0
  88. data/app/search_builders/curation_concerns/expired_lease_search_builder.rb +11 -0
  89. data/app/search_builders/curation_concerns/lease_search_builder.rb +23 -0
  90. data/app/search_builders/curation_concerns/search_builder.rb +10 -16
  91. data/app/services/curation_concerns/curation_concern.rb +0 -5
  92. data/app/services/curation_concerns/embargo_service.rb +26 -4
  93. data/app/services/curation_concerns/lease_service.rb +14 -5
  94. data/app/services/curation_concerns/parent_service.rb +19 -0
  95. data/app/services/curation_concerns/restriction_service.rb +24 -0
  96. data/app/services/rights_service.rb +14 -0
  97. data/app/views/catalog/_action_menu_partials/_collection.html.erb +1 -1
  98. data/app/views/catalog/_action_menu_partials/_default.html.erb +5 -3
  99. data/app/views/catalog/_document_list.html.erb +1 -1
  100. data/app/views/catalog/index.html.erb +1 -35
  101. data/app/views/collections/_edit_descriptions.html.erb +3 -4
  102. data/app/views/collections/_form.html.erb +1 -1
  103. data/app/views/collections/_form_permission.html.erb +1 -1
  104. data/app/views/collections/_search_form.html.erb +10 -0
  105. data/app/views/collections/_show_actions.html.erb +3 -3
  106. data/app/views/collections/_sort_and_per_page.html.erb +2 -2
  107. data/app/views/collections/show.html.erb +6 -6
  108. data/app/views/curation_concerns/base/_attribute_rows.html.erb +7 -0
  109. data/app/views/curation_concerns/base/_attributes.html.erb +6 -13
  110. data/app/views/curation_concerns/base/_form.html.erb +4 -5
  111. data/app/views/curation_concerns/base/_form_descriptive_fields.erb +2 -4
  112. data/app/views/curation_concerns/base/_form_files_and_links.html.erb +3 -5
  113. data/app/views/curation_concerns/base/_form_permission.html.erb +13 -26
  114. data/app/views/curation_concerns/base/_form_permission_note.html.erb +15 -0
  115. data/app/views/curation_concerns/base/_form_permission_under_embargo.html.erb +2 -2
  116. data/app/views/curation_concerns/base/_form_permission_under_lease.html.erb +2 -2
  117. data/app/views/curation_concerns/base/_form_representative_image.html.erb +16 -4
  118. data/app/views/curation_concerns/base/_form_rights.html.erb +17 -0
  119. data/app/views/curation_concerns/base/_form_supplementary_fields.html.erb +4 -9
  120. data/app/views/curation_concerns/base/_related_files.html.erb +4 -4
  121. data/app/views/curation_concerns/base/_representative_media.html.erb +2 -4
  122. data/app/views/curation_concerns/base/_versioning.html.erb +23 -0
  123. data/app/views/curation_concerns/base/show.html.erb +13 -10
  124. data/app/views/curation_concerns/base/show.json.jbuilder +1 -0
  125. data/app/views/curation_concerns/base/versions.html.erb +6 -0
  126. data/app/views/curation_concerns/file_sets/_actions.html.erb +16 -0
  127. data/app/views/curation_concerns/file_sets/_file_set.html.erb +12 -0
  128. data/app/views/curation_concerns/{generic_files → file_sets}/_form.html.erb +7 -7
  129. data/app/views/curation_concerns/file_sets/_multiple_upload.html.erb +3 -0
  130. data/app/views/curation_concerns/{generic_files → file_sets}/edit.html.erb +0 -0
  131. data/app/views/curation_concerns/file_sets/jq_upload.json.jbuilder +8 -0
  132. data/app/views/curation_concerns/file_sets/media_display/_audio.html.erb +6 -0
  133. data/app/views/curation_concerns/file_sets/media_display/_default.html.erb +4 -0
  134. data/app/views/curation_concerns/file_sets/media_display/_image.html.erb +8 -0
  135. data/app/views/curation_concerns/file_sets/media_display/_office_document.html.erb +7 -0
  136. data/app/views/curation_concerns/file_sets/media_display/_pdf.html.erb +7 -0
  137. data/app/views/curation_concerns/file_sets/media_display/_video.html.erb +6 -0
  138. data/app/views/curation_concerns/file_sets/show.html.erb +15 -0
  139. data/app/views/curation_concerns/file_sets/show.json.jbuilder +1 -0
  140. data/app/views/curation_concerns/file_sets/upload/_alerts.html.erb +19 -0
  141. data/app/views/curation_concerns/file_sets/upload/_form.html.erb +6 -0
  142. data/app/views/curation_concerns/file_sets/upload/_form_fields.html.erb +45 -0
  143. data/app/views/curation_concerns/file_sets/upload/_script_templates.html.erb +61 -0
  144. data/app/views/curation_concerns/single_use_links/new_download.html.erb +5 -0
  145. data/app/views/curation_concerns/single_use_links/new_show.html.erb +5 -0
  146. data/app/views/curation_concerns/single_use_links_viewer/show.html.erb +10 -0
  147. data/app/views/error/single_use_error.html.erb +19 -0
  148. data/app/views/layouts/error.html.erb +33 -0
  149. data/app/views/leases/_list_expired_active_leases.html.erb +6 -1
  150. data/app/views/records/_rights_modal.html.erb +1 -0
  151. data/app/views/records/edit_fields/_default.html.erb +5 -0
  152. data/app/views/records/show_fields/_default.html.erb +6 -0
  153. data/app/views/shared/_add_content.html.erb +2 -14
  154. data/app/views/shared/_add_works.html.erb +14 -0
  155. data/app/views/shared/_my_actions.html.erb +9 -1
  156. data/app/views/shared/_site_actions.html.erb +1 -1
  157. data/app/views/shared/_site_search.html.erb +7 -7
  158. data/app/views/upload_sets/_edit.js.erb +15 -0
  159. data/app/views/upload_sets/_metadata.html.erb +50 -0
  160. data/app/views/upload_sets/_more_metadata.html.erb +7 -0
  161. data/app/views/upload_sets/edit.html.erb +26 -0
  162. data/app/views/{catalog/_home_text.html.erb → welcome/index.html.erb} +1 -0
  163. data/config/initializers/simple_form.rb +14 -0
  164. data/config/jetty.yml +5 -0
  165. data/config/locales/curation_concerns.en.yml +25 -4
  166. data/config/routes.rb +5 -0
  167. data/curation_concerns.gemspec +4 -6
  168. data/lib/curation_concerns/callbacks/registry.rb +48 -0
  169. data/lib/curation_concerns/callbacks.rb +26 -0
  170. data/lib/curation_concerns/controller_resource.rb +4 -4
  171. data/lib/curation_concerns/engine.rb +4 -2
  172. data/lib/curation_concerns/rails/routes.rb +23 -19
  173. data/lib/curation_concerns/single_use_error.rb +3 -0
  174. data/lib/curation_concerns/spec_support.rb +0 -2
  175. data/lib/curation_concerns/version.rb +1 -1
  176. data/lib/curation_concerns.rb +1 -2
  177. data/lib/generators/curation_concerns/install_generator.rb +34 -30
  178. data/lib/generators/curation_concerns/templates/catalog_controller.rb +236 -0
  179. data/lib/generators/curation_concerns/templates/config/authorities/rights.yml +19 -0
  180. data/lib/generators/curation_concerns/templates/{curation_concerns.css.scss → curation_concerns.scss} +0 -0
  181. data/lib/generators/curation_concerns/work/templates/actor_spec.rb.erb +1 -1
  182. data/lib/generators/curation_concerns/work/templates/controller_spec.rb.erb +1 -1
  183. data/lib/generators/curation_concerns/work/templates/form.rb.erb +8 -0
  184. data/lib/generators/curation_concerns/work/templates/form_spec.rb.erb +10 -0
  185. data/lib/generators/curation_concerns/work/templates/model.rb.erb +2 -2
  186. data/lib/generators/curation_concerns/work/templates/model_spec.rb.erb +1 -1
  187. data/lib/generators/curation_concerns/work/work_generator.rb +31 -26
  188. data/spec/abilities/collection_abilities_spec.rb +13 -13
  189. data/spec/abilities/embargo_and_lease_ability_spec.rb +23 -0
  190. data/spec/abilities/file_set_abilities_spec.rb +67 -0
  191. data/spec/abilities/generic_work_abilities_spec.rb +12 -12
  192. data/spec/actors/curation_concerns/embargo_actor_spec.rb +38 -0
  193. data/spec/actors/curation_concerns/file_set_actor_spec.rb +180 -0
  194. data/spec/actors/curation_concerns/lease_actor_spec.rb +39 -0
  195. data/spec/actors/curation_concerns/manages_embargoes_actor_spec.rb +44 -38
  196. data/spec/actors/curation_concerns/work_actor_spec.rb +121 -63
  197. data/spec/controllers/catalog_controller_spec.rb +30 -32
  198. data/spec/controllers/curation_concerns/classify_concerns_controller_spec.rb +2 -3
  199. data/spec/controllers/curation_concerns/collections_controller_spec.rb +93 -76
  200. data/spec/controllers/curation_concerns/file_sets_controller_json_spec.rb +106 -0
  201. data/spec/controllers/curation_concerns/file_sets_controller_spec.rb +237 -0
  202. data/spec/controllers/curation_concerns/generic_works_controller_json_spec.rb +85 -0
  203. data/spec/controllers/curation_concerns/generic_works_controller_spec.rb +84 -72
  204. data/spec/controllers/curation_concerns/permissions_controller_spec.rb +8 -11
  205. data/spec/controllers/curation_concerns/single_use_links_controller_spec.rb +79 -0
  206. data/spec/controllers/curation_concerns/single_use_links_viewer_controller_spec.rb +74 -0
  207. data/spec/controllers/downloads_controller_spec.rb +49 -24
  208. data/spec/controllers/embargoes_controller_spec.rb +42 -51
  209. data/spec/controllers/leases_controller_spec.rb +53 -42
  210. data/spec/controllers/upload_sets_controller_spec.rb +76 -0
  211. data/spec/controllers/welcome_controller_spec.rb +12 -0
  212. data/spec/factories/collections.rb +5 -1
  213. data/spec/factories/{generic_files.rb → file_sets.rb} +6 -6
  214. data/spec/factories/generic_works.rb +5 -6
  215. data/spec/factories/users.rb +2 -4
  216. data/spec/features/add_file_spec.rb +11 -12
  217. data/spec/features/catalog_search_spec.rb +43 -0
  218. data/spec/features/collection_spec.rb +61 -46
  219. data/spec/features/create_work_spec.rb +26 -19
  220. data/spec/features/embargo_spec.rb +13 -12
  221. data/spec/features/lease_spec.rb +15 -16
  222. data/spec/features/update_file_spec.rb +11 -13
  223. data/spec/features/work_generator_spec.rb +34 -26
  224. data/spec/{helpers/curation_concerns/.keep → fixtures/empty_file.txt} +0 -0
  225. data/spec/fixtures/test.pdf +0 -0
  226. data/spec/forms/collection_edit_form_spec.rb +53 -9
  227. data/spec/forms/file_set_edit_form_spec.rb +53 -0
  228. data/spec/forms/work_form_spec.rb +54 -0
  229. data/spec/helpers/catalog_helper_spec.rb +9 -10
  230. data/spec/helpers/configuration_helper_spec.rb +1 -2
  231. data/spec/helpers/curation_concerns/collections_helper_spec.rb +8 -9
  232. data/spec/helpers/curation_concerns/file_set_helper_spec.rb +61 -0
  233. data/spec/helpers/render_constraints_helper_spec.rb +4 -4
  234. data/spec/helpers/url_helper_spec.rb +8 -7
  235. data/spec/indexers/collection_indexer_spec.rb +14 -0
  236. data/spec/indexers/file_set_indexing_service_spec.rb +69 -0
  237. data/spec/indexers/generic_work_indexing_service_spec.rb +22 -0
  238. data/spec/inputs/multifile_input_spec.rb +32 -0
  239. data/spec/jobs/active_fedora_id_based_job_spec.rb +10 -8
  240. data/spec/jobs/audit_job_spec.rb +28 -20
  241. data/spec/jobs/characterize_job_spec.rb +10 -15
  242. data/spec/jobs/create_derivatives_job_spec.rb +11 -9
  243. data/spec/jobs/import_url_job_spec.rb +14 -21
  244. data/spec/jobs/ingest_file_job_spec.rb +45 -0
  245. data/spec/jobs/ingest_local_file_job_spec.rb +13 -15
  246. data/spec/jobs/upload_set_update_job_spec.rb +30 -0
  247. data/spec/jobs/visibility_copy_job_spec.rb +61 -0
  248. data/spec/lib/curation_concerns/callbacks/registry_spec.rb +54 -0
  249. data/spec/lib/curation_concerns/callbacks_spec.rb +27 -0
  250. data/spec/lib/curation_concerns/messages_spec.rb +29 -30
  251. data/spec/lib/curation_concerns/readable_permissions_spec.rb +18 -20
  252. data/spec/lib/curation_concerns/writable_permissions_spec.rb +2 -4
  253. data/spec/matchers/metadata_field_matchers.rb +1 -1
  254. data/spec/matchers/response_matchers.rb +2 -2
  255. data/spec/matchers.rb +3 -2
  256. data/spec/models/checksum_audit_log_spec.rb +37 -32
  257. data/spec/models/curation_concerns/collection_behavior_spec.rb +50 -37
  258. data/spec/models/curation_concerns/file_set/derivatives_spec.rb +84 -0
  259. data/spec/models/curation_concerns/work_behavior_spec.rb +53 -0
  260. data/spec/models/file_set_spec.rb +601 -0
  261. data/spec/models/generic_work_spec.rb +15 -14
  262. data/spec/models/single_use_link_spec.rb +69 -0
  263. data/spec/models/solr_document_spec.rb +67 -0
  264. data/spec/models/upload_set_spec.rb +39 -0
  265. data/spec/models/user_spec.rb +7 -8
  266. data/spec/presenters/curation_concerns/collection_presenter_spec.rb +8 -24
  267. data/spec/presenters/curation_concerns/file_set_presenter_spec.rb +59 -0
  268. data/spec/presenters/curation_concerns/permission_badge_spec.rb +29 -0
  269. data/spec/presenters/curation_concerns/presenter_factory_spec.rb +29 -0
  270. data/spec/presenters/curation_concerns/version_list_presenter_spec.rb +32 -0
  271. data/spec/presenters/curation_concerns/version_presenter_spec.rb +51 -0
  272. data/spec/presenters/curation_concerns/work_show_presenter_spec.rb +35 -0
  273. data/spec/presenters/embargo_presenter_spec.rb +48 -0
  274. data/spec/presenters/lease_presenter_spec.rb +48 -0
  275. data/spec/renderers/curation_concerns/attribute_renderer_spec.rb +14 -0
  276. data/spec/routing/curation_concerns/routes_spec.rb +38 -12
  277. data/spec/routing/route_spec.rb +38 -39
  278. data/spec/search_builders/curation_concerns/embargo_search_builder_spec.rb +17 -0
  279. data/spec/search_builders/curation_concerns/lease_search_builder_spec.rb +17 -0
  280. data/spec/search_builders/curation_concerns/search_builder_spec.rb +60 -0
  281. data/spec/services/derivative_path_spec.rb +16 -0
  282. data/spec/services/embargo_service_spec.rb +15 -14
  283. data/spec/services/file_set_audit_service_spec.rb +71 -0
  284. data/spec/services/lease_service_spec.rb +13 -13
  285. data/spec/services/lock_manager_spec.rb +12 -0
  286. data/spec/services/parent_service_spec.rb +13 -0
  287. data/spec/services/persist_derivatives_spec.rb +24 -0
  288. data/spec/services/persist_directly_contained_output_file_service_spec.rb +14 -0
  289. data/spec/services/repository_audit_service_spec.rb +8 -7
  290. data/spec/services/rights_service_spec.rb +17 -0
  291. data/spec/services/thumbnail_path_service_spec.rb +43 -0
  292. data/spec/services/versioning_service_spec.rb +8 -9
  293. data/spec/spec_helper.rb +21 -13
  294. data/spec/support/curation_concerns/factory_helpers.rb +1 -0
  295. data/spec/support/features/fixture_file_upload.rb +3 -1
  296. data/spec/support/features/session_helpers.rb +3 -4
  297. data/spec/support/features.rb +1 -4
  298. data/spec/support/input_support.rb +11 -0
  299. data/spec/support/matchers/api_responses.rb +22 -0
  300. data/spec/support/shared/shared_examples_has_dc_metadata.rb +0 -2
  301. data/spec/support/shared/shared_examples_is_embargoable.rb +1 -3
  302. data/spec/support/shared/shared_examples_with_access_rights.rb +13 -16
  303. data/spec/tasks/rake_spec.rb +9 -11
  304. data/spec/test_app_templates/Gemfile.extra +4 -1
  305. data/spec/test_app_templates/lib/generators/test_app_generator.rb +3 -35
  306. data/spec/views/catalog/index.html.erb_spec.rb +7 -10
  307. data/spec/views/curation_concerns/base/_attributes.html.erb_spec.rb +9 -6
  308. data/spec/views/curation_concerns/base/_form_permission.html.erb_spec.rb +13 -0
  309. data/spec/views/curation_concerns/base/show.html.erb_spec.rb +35 -15
  310. data/spec/views/curation_concerns/base/show.json.jbuilder_spec.rb +21 -0
  311. data/spec/views/curation_concerns/file_sets/_file_set.html.erb_spec.rb +37 -0
  312. data/spec/views/curation_concerns/file_sets/show.json.jbuilder_spec.rb +21 -0
  313. data/spec/views/curation_concerns/permissions/confirm.html.erb_spec.rb +6 -6
  314. data/spec/views/error/single_use_error.html.erb_spec.rb +8 -0
  315. data/spec/views/layouts/error.html.erb_spec.rb +8 -0
  316. data/spec/views/shared/_add_content.html.erb_spec.rb +33 -20
  317. data/spec/views/shared/_my_actions.html.erb_spec.rb +18 -6
  318. data/spec/views/single_use_links/new_download.html.erb_spec.rb +29 -0
  319. data/spec/views/single_use_links_viewer/show.html.erb_spec.rb +32 -0
  320. data/tasks/jetty.rake +1 -1
  321. data/vendor/assets/javascrips/fileupload/jquery.fileupload-process.js +175 -0
  322. data/vendor/assets/javascrips/fileupload/jquery.fileupload-ui.js +710 -0
  323. data/vendor/assets/javascrips/fileupload/jquery.fileupload-validate.js +122 -0
  324. data/vendor/assets/javascrips/fileupload/jquery.fileupload.js +1477 -0
  325. data/vendor/assets/javascrips/fileupload/locale.js +27 -0
  326. data/vendor/assets/javascrips/fileupload/tmpl.js +87 -0
  327. metadata +242 -213
  328. data/app/assets/javascripts/curation_concerns/help_modal.js +0 -36
  329. data/app/assets/javascripts/curation_concerns/link_groups.js.coffee +0 -123
  330. data/app/assets/javascripts/curation_concerns/link_users.js.coffee +0 -126
  331. data/app/assets/javascripts/curation_concerns/proxy_rights.js.coffee +0 -95
  332. data/app/assets/javascripts/curation_concerns/proxy_submission.js +0 -23
  333. data/app/assets/javascripts/curation_concerns/select_works.js.coffee +0 -20
  334. data/app/controllers/catalog_controller.rb +0 -3
  335. data/app/controllers/concerns/curation_concerns/generic_files_controller_behavior.rb +0 -149
  336. data/app/controllers/curation_concerns/generic_files_controller.rb +0 -13
  337. data/app/datastreams/curation_concerns/generic_work_rdf_properties.rb +0 -57
  338. data/app/datastreams/generic_work_metadata.rb +0 -3
  339. data/app/forms/curation_concerns/forms/generic_file_edit_form.rb +0 -15
  340. data/app/forms/curation_concerns/forms/generic_work_edit_form.rb +0 -9
  341. data/app/helpers/curation_concerns/attribute_helper.rb +0 -67
  342. data/app/helpers/curation_concerns/generic_file_helper.rb +0 -19
  343. data/app/helpers/curation_concerns/thumbnail_helper.rb +0 -11
  344. data/app/presenters/curation_concerns/generic_file_presenter.rb +0 -14
  345. data/app/presenters/curation_concerns/generic_work_presenter.rb +0 -13
  346. data/app/views/catalog/_index_default.html.erb +0 -17
  347. data/app/views/collections/_form_representative_image.html.erb +0 -13
  348. data/app/views/collections/_identifier_and_action.html.erb +0 -15
  349. data/app/views/curation_concerns/base/_form_content_license.html.erb +0 -16
  350. data/app/views/curation_concerns/base/_form_editors.html.erb +0 -15
  351. data/app/views/curation_concerns/generic_files/_actions.html.erb +0 -16
  352. data/app/views/curation_concerns/generic_files/_generic_file.html.erb +0 -12
  353. data/app/views/curation_concerns/generic_files/_media_display.html.erb +0 -19
  354. data/app/views/curation_concerns/generic_files/jq_upload.json.jbuilder +0 -8
  355. data/app/views/curation_concerns/generic_files/show.html.erb +0 -15
  356. data/app/workers/visibility_copy_worker.rb +0 -30
  357. data/curation_concerns-models/.gitignore +0 -17
  358. data/curation_concerns-models/Gemfile +0 -4
  359. data/curation_concerns-models/LICENSE.md +0 -177
  360. data/curation_concerns-models/README.md +0 -42
  361. data/curation_concerns-models/Rakefile +0 -1
  362. data/curation_concerns-models/app/actors/concerns/curation_concerns/manages_embargoes_actor.rb +0 -99
  363. data/curation_concerns-models/app/actors/curation_concerns/base_actor.rb +0 -90
  364. data/curation_concerns-models/app/actors/curation_concerns/generic_file_actor.rb +0 -150
  365. data/curation_concerns-models/app/actors/curation_concerns/work_actor_behavior.rb +0 -88
  366. data/curation_concerns-models/app/jobs/active_fedora_id_based_job.rb +0 -22
  367. data/curation_concerns-models/app/jobs/active_fedora_pid_based_job.rb +0 -6
  368. data/curation_concerns-models/app/jobs/audit_job.rb +0 -58
  369. data/curation_concerns-models/app/jobs/characterize_job.rb +0 -11
  370. data/curation_concerns-models/app/jobs/copy_permissions_job.rb +0 -24
  371. data/curation_concerns-models/app/jobs/create_derivatives_job.rb +0 -15
  372. data/curation_concerns-models/app/jobs/import_url_job.rb +0 -56
  373. data/curation_concerns-models/app/jobs/ingest_local_file_job.rb +0 -48
  374. data/curation_concerns-models/app/jobs/resolrize_job.rb +0 -9
  375. data/curation_concerns-models/app/models/checksum_audit_log.rb +0 -21
  376. data/curation_concerns-models/app/models/concerns/curation_concerns/ability.rb +0 -34
  377. data/curation_concerns-models/app/models/concerns/curation_concerns/basic_metadata.rb +0 -87
  378. data/curation_concerns-models/app/models/concerns/curation_concerns/collection_behavior.rb +0 -47
  379. data/curation_concerns-models/app/models/concerns/curation_concerns/generic_file/belongs_to_works.rb +0 -53
  380. data/curation_concerns-models/app/models/concerns/curation_concerns/generic_file/characterization.rb +0 -89
  381. data/curation_concerns-models/app/models/concerns/curation_concerns/generic_file/content.rb +0 -8
  382. data/curation_concerns-models/app/models/concerns/curation_concerns/generic_file/export.rb +0 -343
  383. data/curation_concerns-models/app/models/concerns/curation_concerns/generic_file/full_text_indexing.rb +0 -12
  384. data/curation_concerns-models/app/models/concerns/curation_concerns/generic_file/indexing.rb +0 -14
  385. data/curation_concerns-models/app/models/concerns/curation_concerns/generic_file/versions.rb +0 -16
  386. data/curation_concerns-models/app/models/concerns/curation_concerns/generic_file.rb +0 -5
  387. data/curation_concerns-models/app/models/concerns/curation_concerns/generic_file_behavior.rb +0 -44
  388. data/curation_concerns-models/app/models/concerns/curation_concerns/generic_work_behavior.rb +0 -38
  389. data/curation_concerns-models/app/models/concerns/curation_concerns/has_representative.rb +0 -14
  390. data/curation_concerns-models/app/models/concerns/curation_concerns/human_readable_type.rb +0 -23
  391. data/curation_concerns-models/app/models/concerns/curation_concerns/permissions/readable.rb +0 -19
  392. data/curation_concerns-models/app/models/concerns/curation_concerns/permissions/writable.rb +0 -75
  393. data/curation_concerns-models/app/models/concerns/curation_concerns/permissions.rb +0 -7
  394. data/curation_concerns-models/app/models/concerns/curation_concerns/serializers.rb +0 -15
  395. data/curation_concerns-models/app/models/concerns/curation_concerns/solr_document_behavior.rb +0 -135
  396. data/curation_concerns-models/app/models/concerns/curation_concerns/user.rb +0 -65
  397. data/curation_concerns-models/app/models/concerns/curation_concerns/with_basic_metadata.rb +0 -98
  398. data/curation_concerns-models/app/models/concerns/curation_concerns/with_generic_files.rb +0 -29
  399. data/curation_concerns-models/app/models/curation_concerns/classify_concern.rb +0 -47
  400. data/curation_concerns-models/app/models/curation_concerns/quick_classification_query.rb +0 -31
  401. data/curation_concerns-models/app/models/datastreams/fits_datastream.rb +0 -148
  402. data/curation_concerns-models/app/models/version_committer.rb +0 -2
  403. data/curation_concerns-models/app/services/curation_concerns/characterization_service.rb +0 -71
  404. data/curation_concerns-models/app/services/curation_concerns/full_text_extraction_service.rb +0 -38
  405. data/curation_concerns-models/app/services/curation_concerns/generic_file_audit_service.rb +0 -85
  406. data/curation_concerns-models/app/services/curation_concerns/generic_file_indexing_service.rb +0 -14
  407. data/curation_concerns-models/app/services/curation_concerns/generic_work_indexing_service.rb +0 -16
  408. data/curation_concerns-models/app/services/curation_concerns/noid.rb +0 -23
  409. data/curation_concerns-models/app/services/curation_concerns/repository_audit_service.rb +0 -9
  410. data/curation_concerns-models/app/services/curation_concerns/versioning_service.rb +0 -27
  411. data/curation_concerns-models/config/locales/curation_concerns.en.yml +0 -6
  412. data/curation_concerns-models/curation_concerns-models.gemspec +0 -34
  413. data/curation_concerns-models/lib/curation_concerns/messages.rb +0 -66
  414. data/curation_concerns-models/lib/curation_concerns/models/engine.rb +0 -61
  415. data/curation_concerns-models/lib/curation_concerns/models/resque.rb +0 -36
  416. data/curation_concerns-models/lib/curation_concerns/models/utils.rb +0 -22
  417. data/curation_concerns-models/lib/curation_concerns/models/version.rb +0 -5
  418. data/curation_concerns-models/lib/curation_concerns/models.rb +0 -32
  419. data/curation_concerns-models/lib/generators/curation_concerns/models/abstract_migration_generator.rb +0 -30
  420. data/curation_concerns-models/lib/generators/curation_concerns/models/clamav_generator.rb +0 -19
  421. data/curation_concerns-models/lib/generators/curation_concerns/models/fulltext_generator.rb +0 -28
  422. data/curation_concerns-models/lib/generators/curation_concerns/models/install_generator.rb +0 -70
  423. data/curation_concerns-models/lib/generators/curation_concerns/models/templates/app/models/collection.rb +0 -4
  424. data/curation_concerns-models/lib/generators/curation_concerns/models/templates/app/models/generic_file.rb +0 -4
  425. data/curation_concerns-models/lib/generators/curation_concerns/models/templates/config/clamav.rb +0 -1
  426. data/curation_concerns-models/lib/generators/curation_concerns/models/templates/config/curation_concerns.rb +0 -123
  427. data/curation_concerns-models/lib/generators/curation_concerns/models/templates/config/mime_types.rb +0 -6
  428. data/curation_concerns-models/lib/generators/curation_concerns/models/templates/config/redis.yml +0 -9
  429. data/curation_concerns-models/lib/generators/curation_concerns/models/templates/config/redis_config.rb +0 -32
  430. data/curation_concerns-models/lib/generators/curation_concerns/models/templates/config/resque-pool.yml +0 -1
  431. data/curation_concerns-models/lib/generators/curation_concerns/models/templates/config/resque_admin.rb +0 -10
  432. data/curation_concerns-models/lib/generators/curation_concerns/models/templates/config/resque_config.rb +0 -5
  433. data/curation_concerns-models/lib/generators/curation_concerns/models/templates/migrations/create_checksum_audit_logs.rb +0 -19
  434. data/curation_concerns-models/lib/generators/curation_concerns/models/templates/migrations/create_version_committers.rb +0 -15
  435. data/curation_concerns-models/lib/tasks/curation_concerns-models_tasks.rake +0 -75
  436. data/curation_concerns-models/lib/tasks/migrate.rake +0 -13
  437. data/curation_concerns-models/lib/tasks/resque.rake +0 -13
  438. data/curation_concerns-models/lib/tasks/solr_reindex.rake +0 -8
  439. data/lib/curation_concerns/configuration.rb +0 -74
  440. data/lib/generators/curation_concerns/templates/curation_concerns_config.rb +0 -2
  441. data/solr_conf/conf/solrconfig.xml +0 -223
  442. data/spec/abilities/generic_file_abilities_spec.rb +0 -62
  443. data/spec/actors/curation_concerns/generic_file_actor_spec.rb +0 -116
  444. data/spec/controllers/curation_concerns/generic_files_controller_spec.rb +0 -251
  445. data/spec/forms/generic_file_edit_form_spec.rb +0 -33
  446. data/spec/helpers/thumbnail_helper_spec.rb +0 -21
  447. data/spec/jobs/copy_permissions_job_spec.rb +0 -49
  448. data/spec/jobs/curation_concerns_resque_queue_spec.rb +0 -49
  449. data/spec/models/curation_concerns/generic_file/derivatives_spec.rb +0 -88
  450. data/spec/models/curation_concerns/generic_work_behavior_spec.rb +0 -35
  451. data/spec/models/fits_datastream_spec.rb +0 -127
  452. data/spec/models/generic_file_spec.rb +0 -619
  453. data/spec/presenters/curation_concerns/generic_file_presenter_spec.rb +0 -16
  454. data/spec/services/characterization_service_spec.rb +0 -30
  455. data/spec/services/full_text_extraction_service_spec.rb +0 -5
  456. data/spec/services/generic_file_audit_service_spec.rb +0 -71
  457. data/spec/services/generic_file_indexing_service_spec.rb +0 -57
  458. data/spec/services/generic_work_indexing_service_spec.rb +0 -18
  459. data/spec/workers/visibility_copy_worker_spec.rb +0 -70
  460. data/vendor/assets/javascripts/handlebars.js +0 -2278
  461. data/vendor/assets/javascripts/jquery-ui-1.9.2/jquery.ui.autocomplete.js +0 -602
  462. data/vendor/assets/javascripts/jquery-ui-1.9.2/jquery.ui.core.js +0 -356
  463. data/vendor/assets/javascripts/jquery-ui-1.9.2/jquery.ui.effect-highlight.js +0 -50
  464. data/vendor/assets/javascripts/jquery-ui-1.9.2/jquery.ui.effect.js +0 -1276
  465. data/vendor/assets/javascripts/jquery-ui-1.9.2/jquery.ui.menu.js +0 -610
  466. data/vendor/assets/javascripts/jquery-ui-1.9.2/jquery.ui.position.js +0 -498
  467. data/vendor/assets/javascripts/jquery-ui-1.9.2/jquery.ui.widget.js +0 -528
  468. data/vendor/assets/javascripts/jquery.tokeninput.js +0 -1061
  469. data/vendor/assets/stylesheets/jquery-ui-lightness.css +0 -474
  470. data/vendor/assets/stylesheets/token-input-facebook.css +0 -122
  471. data/vendor/assets/stylesheets/token-input-mac.css +0 -204
  472. data/vendor/assets/stylesheets/token-input.css +0 -127
@@ -1,74 +0,0 @@
1
- module CurationConcerns
2
-
3
- class << self
4
- attr_accessor :configuration
5
- end
6
-
7
- def self.configure
8
- self.configuration ||= Configuration.new
9
- yield(configuration)
10
- end
11
-
12
- class Configuration
13
- # An anonymous function that receives a path to a file
14
- # and returns AntiVirusScanner::NO_VIRUS_FOUND_RETURN_VALUE if no
15
- # virus is found; Any other returned value means a virus was found
16
- attr_writer :default_antivirus_instance
17
- def default_antivirus_instance
18
- @default_antivirus_instance ||= lambda {|file_path|
19
- AntiVirusScanner::NO_VIRUS_FOUND_RETURN_VALUE
20
- }
21
- end
22
-
23
- # Configure default search options from config/search_config.yml
24
- attr_writer :search_config
25
- def search_config
26
- @search_config ||= "search_config not set"
27
- end
28
-
29
- # Configure the application root url.
30
- attr_writer :application_root_url
31
- def application_root_url
32
- @application_root_url || (raise RuntimeError.new("Make sure to set your CurationConcerns.configuration.application_root_url"))
33
- end
34
-
35
- # When was this last built/deployed
36
- attr_writer :build_identifier
37
- def build_identifier
38
- # If you restart the server, this could be out of sync; A better
39
- # implementation is to read something from the file system. However
40
- # that detail is an exercise for the developer.
41
- @build_identifier ||= Time.now.strftime("%Y-%m-%d %H:%M:%S")
42
- end
43
-
44
- # Override characterization runner
45
- attr_accessor :characterization_runner
46
-
47
- def register_curation_concern(*curation_concern_types)
48
- Array(curation_concern_types).flatten.compact.each do |cc_type|
49
- class_name = normalize_concern_name(cc_type)
50
- if ! registered_curation_concern_types.include?(class_name)
51
- self.registered_curation_concern_types << class_name
52
- end
53
- end
54
- end
55
-
56
- # Returns the class names (strings) of the registered curation concerns
57
- def registered_curation_concern_types
58
- @registered_curation_concern_types ||= []
59
- end
60
-
61
- # Returns the classes of the registered curation concerns
62
- def curation_concerns
63
- registered_curation_concern_types.map(&:constantize)
64
- end
65
-
66
- private
67
-
68
- def normalize_concern_name(c)
69
- c.to_s.camelize
70
- end
71
- end
72
-
73
- configure {}
74
- end
@@ -1,2 +0,0 @@
1
- CurationConcerns.configure do |config|
2
- end
@@ -1,223 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8" ?>
2
- <config>
3
- <!-- NOTE: various comments and unused configuration possibilities have been purged
4
- from this file. Please refer to http://wiki.apache.org/solr/SolrConfigXml,
5
- as well as the default solrconfig file included with Solr -->
6
-
7
- <abortOnConfigurationError>${solr.abortOnConfigurationError:true}</abortOnConfigurationError>
8
-
9
- <luceneMatchVersion>LUCENE_40</luceneMatchVersion>
10
-
11
- <directoryFactory name="DirectoryFactory" class="${solr.directoryFactory:solr.StandardDirectoryFactory}"/>
12
-
13
- <!-- solr lib dirs -->
14
- <lib dir="../lib/contrib/analysis-extras/lib" />
15
- <lib dir="../lib/contrib/analysis-extras/lucene-libs" />
16
- <!-- for full-text indexing -->
17
- <lib dir="../lib/contrib/extraction/lib" regex=".*\.jar" />
18
-
19
- <dataDir>${solr.data.dir:}</dataDir>
20
-
21
- <!-- The default high-performance update handler -->
22
- <updateHandler class="solr.DirectUpdateHandler2">
23
-
24
- <!-- Enables a transaction log, used for real-time get, durability, and
25
- and solr cloud replica recovery. The log can grow as big as
26
- uncommitted changes to the index, so use of a hard autoCommit
27
- is recommended (see below).
28
- "dir" - the target directory for transaction logs, defaults to the
29
- solr data directory. -->
30
- <updateLog>
31
- <str name="dir">${solr.ulog.dir:}</str>
32
- </updateLog>
33
-
34
- <!-- AutoCommit
35
- Perform a hard commit automatically under certain conditions.
36
- Instead of enabling autoCommit, consider using "commitWithin"
37
- when adding documents.
38
- http://wiki.apache.org/solr/UpdateXmlMessages
39
- maxDocs - Maximum number of documents to add since the last
40
- commit before automatically triggering a new commit.
41
- maxTime - Maximum amount of time in ms that is allowed to pass
42
- since a document was added before automatically
43
- triggering a new commit.
44
- openSearcher - if false, the commit causes recent index changes
45
- to be flushed to stable storage, but does not cause a new
46
- searcher to be opened to make those changes visible.
47
- If the updateLog is enabled, then it's highly recommended to
48
- have some sort of hard autoCommit to limit the log size.
49
- -->
50
- <autoCommit>
51
- <maxTime>${solr.autoCommit.maxTime:15000}</maxTime>
52
- <openSearcher>false</openSearcher>
53
- </autoCommit>
54
-
55
- <!-- softAutoCommit is like autoCommit except it causes a
56
- 'soft' commit which only ensures that changes are visible
57
- but does not ensure that data is synced to disk. This is
58
- faster and more near-realtime friendly than a hard commit.
59
- -->
60
-
61
- <autoSoftCommit>
62
- <maxTime>${solr.autoSoftCommit.maxTime:-1}</maxTime>
63
- </autoSoftCommit>
64
-
65
- </updateHandler>
66
-
67
- <requestHandler name="search" class="solr.SearchHandler" default="true">
68
- <!-- default values for query parameters can be specified, these
69
- will be overridden by parameters in the request
70
- -->
71
- <lst name="defaults">
72
- <str name="defType">edismax</str>
73
- <str name="echoParams">explicit</str>
74
- <str name="q.alt">*:*</str>
75
- <str name="mm">2&lt;-1 5&lt;-2 6&lt;90%</str>
76
- <int name="qs">1</int>
77
- <int name="ps">2</int>
78
- <float name="tie">0.01</float>
79
- <!-- this qf and pf are used by default, if not otherwise specified by
80
- client. The default blacklight_config will use these for the
81
- "keywords" search. See the author_qf/author_pf, title_qf, etc
82
- below, which the default blacklight_config will specify for
83
- those searches. You may also be interested in:
84
- http://wiki.apache.org/solr/LocalParams
85
- -->
86
- <str name="qf">
87
- id
88
- all_text_timv
89
- active_fedora_model_ssi
90
- object_type_si
91
- </str>
92
- <str name="pf">
93
- all_text_timv^10
94
- </str>
95
-
96
- <str name="author_qf">
97
- </str>
98
- <str name="author_pf">
99
- </str>
100
- <str name="title_qf">
101
- </str>
102
- <str name="title_pf">
103
- </str>
104
- <str name="subject_qf">
105
- </str>
106
- <str name="subject_pf">
107
- </str>
108
-
109
- <str name="fl">
110
- *,
111
- score
112
- </str>
113
-
114
- <str name="facet">true</str>
115
- <str name="facet.mincount">1</str>
116
- <str name="facet.limit">10</str>
117
- <str name="facet.field">active_fedora_model_ssi</str>
118
- <str name="facet.field">object_type_si</str>
119
-
120
- <str name="spellcheck">true</str>
121
- <str name="spellcheck.dictionary">default</str>
122
- <str name="spellcheck.onlyMorePopular">true</str>
123
- <str name="spellcheck.extendedResults">true</str>
124
- <str name="spellcheck.collate">false</str>
125
- <str name="spellcheck.count">5</str>
126
-
127
- </lst>
128
- <arr name="last-components">
129
- <str>spellcheck</str>
130
- </arr>
131
- </requestHandler>
132
-
133
- <requestHandler name="permissions" class="solr.SearchHandler" >
134
- <lst name="defaults">
135
- <str name="facet">off</str>
136
- <str name="echoParams">all</str>
137
- <str name="rows">1</str>
138
- <str name="q">{!raw f=id v=$id}</str> <!-- use id=666 instead of q=id:666 -->
139
- <str name="fl">
140
- id,
141
- access_ssim,
142
- discover_access_group_ssim,discover_access_person_ssim,
143
- read_access_group_ssim,read_access_person_ssim,
144
- edit_access_group_ssim,edit_access_person_ssim,
145
- depositor_ti,
146
- embargo_release_date_dtsi
147
- inheritable_access_ssim,
148
- inheritable_discover_access_group_ssim,inheritable_discover_access_person_ssim,
149
- inheritable_read_access_group_ssim,inheritable_read_access_person_ssim,
150
- inheritable_edit_access_group_ssim,inheritable_edit_access_person_ssim,
151
- inheritable_embargo_release_date_dtsi
152
- </str>
153
- </lst>
154
- </requestHandler>
155
-
156
- <requestHandler name="/update/extract" startup="lazy" class="org.apache.solr.handler.extraction.ExtractingRequestHandler" >
157
- <lst name="defaults">
158
- <!-- All the main content goes into "text"... if you need to return the extracted text or do highlighting, use a stored field. -->
159
- <str name="fmap.content">text</str>
160
- <str name="lowernames">true</str>
161
- <str name="uprefix">ignored_</str>
162
- <!-- capture link hrefs but ignore div attributes -->
163
- <str name="captureAttr">true</str>
164
- <str name="fmap.a">links</str>
165
- <str name="fmap.div">ignored_</str>
166
- </lst>
167
- </requestHandler>
168
-
169
- <requestHandler name="standard" class="solr.SearchHandler">
170
- <lst name="defaults">
171
- <str name="echoParams">explicit</str>
172
- <str name="defType">lucene</str>
173
- </lst>
174
- </requestHandler>
175
-
176
- <!-- for requests to get a single document; use id=666 instead of q=id:666 -->
177
- <requestHandler name="document" class="solr.SearchHandler" >
178
- <lst name="defaults">
179
- <str name="echoParams">all</str>
180
- <str name="fl">*</str>
181
- <str name="rows">1</str>
182
- <str name="q">{!raw f=id v=$id}</str> <!-- use id=666 instead of q=id:666 -->
183
- </lst>
184
- </requestHandler>
185
-
186
- <searchComponent name="spellcheck" class="solr.SpellCheckComponent">
187
- <str name="queryAnalyzerFieldType">textSpell</str>
188
- <!-- Multiple "Spell Checkers" can be declared and used by this component
189
- (e.g. for title_spell field)
190
- -->
191
- <lst name="spellchecker">
192
- <str name="name">default</str>
193
- <str name="field">spell</str>
194
- <str name="spellcheckIndexDir">./spell</str>
195
- <str name="buildOnOptimize">true</str>
196
- </lst>
197
- </searchComponent>
198
-
199
- <requestHandler name="/replication" class="solr.ReplicationHandler" startup="lazy" />
200
-
201
- <requestDispatcher handleSelect="true" >
202
- <requestParsers enableRemoteStreaming="true" multipartUploadLimitInKB="2048" />
203
- </requestDispatcher>
204
-
205
- <requestHandler name="/analysis/field" startup="lazy" class="solr.FieldAnalysisRequestHandler" />
206
- <requestHandler name="/update" class="solr.UpdateRequestHandler" />
207
- <requestHandler name="/admin/" class="org.apache.solr.handler.admin.AdminHandlers" />
208
-
209
- <requestHandler name="/admin/ping" class="solr.PingRequestHandler">
210
- <lst name="invariants">
211
- <str name="q">solrpingquery</str>
212
- </lst>
213
- <lst name="defaults">
214
- <str name="echoParams">all</str>
215
- </lst>
216
- </requestHandler>
217
-
218
- <!-- config for the admin interface -->
219
- <admin>
220
- <defaultQuery>search</defaultQuery>
221
- </admin>
222
-
223
- </config>
@@ -1,62 +0,0 @@
1
- require 'spec_helper'
2
- require "cancan/matchers"
3
-
4
- describe "User" do
5
- describe "Abilities" do
6
- subject { ability }
7
- let(:ability) { Ability.new(current_user) }
8
- let(:visibility) { Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_PRIVATE }
9
- let(:creating_user) { FactoryGirl.create(:user) }
10
- let(:user) { FactoryGirl.create(:user) }
11
- let(:current_user) { user }
12
- let(:generic_work) { FactoryGirl.create(:generic_work, visibility: visibility, user:creating_user) }
13
- let(:generic_file) { FactoryGirl.create(:generic_file, visibility: visibility, user:creating_user) }
14
-
15
- describe 'without embargo' do
16
- describe 'creator of object' do
17
- let(:creating_user) { user }
18
- let(:current_user) { user }
19
- it {
20
- should be_able_to(:create, GenericFile.new)
21
- should be_able_to(:read, generic_file)
22
- should be_able_to(:update, generic_file)
23
- should_not be_able_to(:delete, generic_file)
24
- }
25
- end
26
-
27
- describe 'as a repository manager' do
28
- let(:manager_user) { FactoryGirl.create(:admin) }
29
- let(:creating_user) { user }
30
- let(:current_user) { manager_user }
31
- it {
32
- should be_able_to(:create, ::GenericFile.new)
33
- should be_able_to(:read, generic_file)
34
- should be_able_to(:update, generic_file)
35
- should be_able_to(:destroy, generic_file)
36
- }
37
- end
38
-
39
- describe 'another authenticated user' do
40
- let(:creating_user) { FactoryGirl.create(:user) }
41
- let(:current_user) { user }
42
- it {
43
- should be_able_to(:create, ::GenericFile.new)
44
- should_not be_able_to(:read, generic_file)
45
- should_not be_able_to(:update, generic_file)
46
- should_not be_able_to(:delete, generic_file)
47
- }
48
- end
49
-
50
- describe 'a nil user' do
51
- let(:creating_user) { FactoryGirl.create(:user) }
52
- let(:current_user) { nil }
53
- it {
54
- should_not be_able_to(:create, GenericFile.new)
55
- should_not be_able_to(:read, generic_file)
56
- should_not be_able_to(:update, generic_file)
57
- should_not be_able_to(:delete, generic_file)
58
- }
59
- end
60
- end
61
- end
62
- end
@@ -1,116 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe CurationConcerns::GenericFileActor do
4
- include ActionDispatch::TestProcess
5
-
6
- let(:user) { FactoryGirl.create(:user) }
7
- let(:generic_file) { FactoryGirl.create(:generic_file) }
8
- let(:actor) { CurationConcerns::GenericFileActor.new(generic_file, user) }
9
- let(:uploaded_file) { fixture_file_upload('/world.png','image/png') }
10
-
11
- describe "creating metadata and content" do
12
- let(:batch_id) { nil }
13
- let(:work_id) { nil }
14
- subject { generic_file.reload }
15
- before do
16
- allow(actor).to receive(:save_characterize_and_record_committer).and_return("true")
17
- actor.create_metadata(batch_id, work_id)
18
- actor.create_content(uploaded_file)
19
- end
20
- context "when a work_id is provided" do
21
- let(:work) { FactoryGirl.create(:generic_work) }
22
- let(:work_id) { work.id }
23
- it "adds the generic file to the parent work" do
24
- expect(subject.generic_works).to eq [work]
25
- expect(work.reload.generic_files).to include(subject)
26
- end
27
- end
28
- end
29
-
30
- describe "#create_content" do
31
- let(:deposit_message) { double('deposit message') }
32
- let(:characterize_message) { double('characterize message') }
33
- before do
34
- allow(CurationConcerns.queue).to receive(:push)
35
- end
36
-
37
- it "uses the provided mime_type" do
38
- actor.create_content(uploaded_file)
39
- expect(generic_file.original_file.mime_type).to eq "image/png"
40
- end
41
-
42
- context "when generic_file.title is empty and generic_file.label is not" do
43
- let(:file) { "world.png" }
44
- let(:long_name) { "an absurdly long title that goes on way to long and messes up the display of the page which should not need to be this big in order to show this impossibly long, long, long, oh so long string" }
45
- let(:short_name) { "Nice Short Name" }
46
- let(:actor) { CurationConcerns::GenericFileActor.new(generic_file, user) }
47
- before do
48
- allow(generic_file).to receive(:label).and_return(short_name)
49
- allow(CurationConcerns.queue).to receive(:push)
50
- actor.create_content(fixture_file_upload(file))
51
- end
52
- subject { generic_file.title }
53
- it { is_expected.to eql [short_name] }
54
- end
55
-
56
- context "with two existing versions from different users" do
57
-
58
- let(:file1) { "world.png" }
59
- let(:file2) { "small_file.txt" }
60
- let(:actor1) { CurationConcerns::GenericFileActor.new(generic_file, user) }
61
- let(:actor2) { CurationConcerns::GenericFileActor.new(generic_file, second_user) }
62
-
63
- let(:second_user) { FactoryGirl.find_or_create(:archivist) }
64
- let(:versions) { generic_file.original_file.versions }
65
-
66
- before do
67
- allow(CurationConcerns.queue).to receive(:push)
68
- actor1.create_content(fixture_file_upload(file1))
69
- actor2.create_content(fixture_file_upload(file2))
70
- end
71
-
72
- it "should have two versions" do
73
- expect(versions.all.count).to eq 2
74
- end
75
-
76
- it "should have the current version" do
77
- expect(CurationConcerns::VersioningService.latest_version_of(generic_file.original_file).label).to eq 'version2'
78
- expect(generic_file.original_file.content).to eq fixture_file_upload(file2).read
79
- expect(generic_file.original_file.mime_type).to eq "text/plain"
80
- expect(generic_file.original_file.original_name).to eq file2
81
- end
82
-
83
- it "should use the first version for the object's title and label" do
84
- expect(generic_file.label).to eql(file1)
85
- expect(generic_file.title.first).to eql(file1)
86
- end
87
-
88
- it "should note the user for each version" do
89
- expect(VersionCommitter.where(version_id: versions.first.uri).pluck(:committer_login)).to eq [user.user_key]
90
- expect(VersionCommitter.where(version_id: versions.last.uri).pluck(:committer_login)).to eq [second_user.user_key]
91
- end
92
- end
93
- end
94
-
95
- context "when a label is already specified" do
96
- let(:label) { "test_file.png" }
97
- let(:new_file) { "foo.jpg" }
98
- let(:generic_file_with_label) do
99
- GenericFile.new.tap do |f|
100
- f.apply_depositor_metadata(user.user_key)
101
- f.label = label
102
- end
103
- end
104
- let(:actor) { CurationConcerns::GenericFileActor.new(generic_file_with_label, user)}
105
-
106
- before do
107
- allow(actor).to receive(:save_characterize_and_record_committer).and_return("true")
108
- allow(Hydra::Works::UploadFileToGenericFile).to receive(:call)
109
- actor.create_content(Tempfile.new(new_file))
110
- end
111
-
112
- it "will retain the object's original label" do
113
- expect(generic_file_with_label.label).to eql(label)
114
- end
115
- end
116
- end