curation_concerns 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 89dd4ec9b6787f7448fa599e2d5ea3cd9ebc898f
4
- data.tar.gz: 714d172c38c6b1201fe0f63bad2ce359f61073f4
3
+ metadata.gz: 782489cf38f83c30ac855fbe3a965604bc2a4169
4
+ data.tar.gz: db4129b1a303be1a6e1e7adc3ed000b72eb90220
5
5
  SHA512:
6
- metadata.gz: 9658ecf651db9a338b058255881c6d536732bc9b4850574f94c9ee525e7e29df3b797d7e28d54aea6902836158e66ed0b95592fd38e17b220422dd6e7f29f4d1
7
- data.tar.gz: 0e99bc7eaa29b260ceef72c541a75cd3ef72663f3152c290874ed2951d43e2f519fdc9bfd72f75bf2d21b215091ecc1a78262b126c8090d50100ddd9caf1fceb
6
+ metadata.gz: e94379134b788b2a80094661da85dec7ad9ab23094203b604e3ca229d4417a26d41a80a13b986ce907721541a503e857656abc08e651b7cfa013a94b2237c1a0
7
+ data.tar.gz: c77a0a7b3980c1dcd74542986d6e52041846ae11ed90afea9fd98c2b654b35a57198bbfc0a3cbf19fd102c4c7265288b6fb0bed9294efa61da8193cabe750308
data/.gitignore CHANGED
@@ -1,14 +1,12 @@
1
- *.gem
2
- *.rbc
3
- .bundle
1
+ /.bundle
4
2
  Gemfile.lock
5
3
  coverage
6
4
  pkg
7
5
  tmp
8
- *.bundle
9
- spec/internal
10
6
  jetty
11
- .rvmrc
12
- .ruby-*
13
- ./spec/internal
14
- .DS_store
7
+ /.rvmrc
8
+ /.ruby-version
9
+ /.ruby-gemset
10
+ solr_conf/
11
+ spec/internal
12
+ spec/mock_upload_directory
data/.rspec CHANGED
@@ -1,2 +1,2 @@
1
1
  --colour
2
- --format documentation
2
+ --exclude-pattern spec/internal/**/*
data/.rubocop.yml ADDED
@@ -0,0 +1,185 @@
1
+ require: rubocop-rspec
2
+
3
+ AllCops:
4
+ RunRailsCops: true
5
+ DisplayCopNames: true
6
+ Include:
7
+ - '**/Rakefile'
8
+ - '**/config.ru'
9
+ Exclude:
10
+ - 'db/**/*'
11
+ - 'script/**/*'
12
+ - 'vendor/**/*'
13
+ - 'spec/internal/**/*'
14
+ - 'curation_concerns-models/app/models/concerns/curation_concerns/file_set/export.rb'
15
+
16
+ Lint/AssignmentInCondition:
17
+ Exclude:
18
+ - 'curation_concerns-models/app/services/curation_concerns/persist_derivatives.rb'
19
+
20
+ Metrics/LineLength:
21
+ Enabled: false
22
+
23
+ Metrics/AbcSize:
24
+ Enabled: false
25
+
26
+ Metrics/CyclomaticComplexity:
27
+ Exclude:
28
+ - 'curation_concerns-models/app/services/curation_concerns/file_set_audit_service.rb'
29
+ - 'app/controllers/concerns/curation_concerns/file_sets_controller_behavior.rb'
30
+ - 'app/helpers/curation_concerns/curation_concerns_helper_behavior.rb'
31
+ - 'app/helpers/curation_concerns/attribute_helper.rb'
32
+ - 'curation_concerns-models/app/actors/curation_concerns/file_set_actor.rb'
33
+ - 'curation_concerns-models/app/actors/curation_concerns/work_actor_behavior.rb'
34
+
35
+ Metrics/PerceivedComplexity:
36
+ Exclude:
37
+ - 'curation_concerns-models/app/services/curation_concerns/file_set_audit_service.rb'
38
+ - 'app/controllers/concerns/curation_concerns/file_sets_controller_behavior.rb'
39
+ - 'app/helpers/curation_concerns/curation_concerns_helper_behavior.rb'
40
+ - 'app/helpers/curation_concerns/attribute_helper.rb'
41
+ - 'curation_concerns-models/app/actors/curation_concerns/file_set_actor.rb'
42
+
43
+ Metrics/MethodLength:
44
+ Enabled: false
45
+
46
+ Metrics/ClassLength:
47
+ Exclude:
48
+ - 'lib/generators/curation_concerns/templates/catalog_controller.rb'
49
+ - 'curation_concerns-models/app/models/datastreams/fits_datastream.rb'
50
+ - 'curation_concerns-models/app/actors/curation_concerns/file_set_actor.rb'
51
+
52
+ Metrics/ModuleLength:
53
+ Exclude:
54
+ - 'app/controllers/concerns/curation_concerns/curation_concern_controller.rb'
55
+ - 'app/controllers/concerns/curation_concerns/users_controller_behavior.rb'
56
+ - 'app/controllers/concerns/curation_concerns/catalog_controller.rb'
57
+ - 'app/controllers/concerns/curation_concerns/file_sets_controller_behavior.rb'
58
+ - 'app/helpers/curation_concerns/curation_concerns_helper_behavior.rb'
59
+ - 'curation_concerns-models/app/models/concerns/curation_concerns/solr_document_behavior.rb'
60
+
61
+ Style/BlockDelimiters:
62
+ Exclude:
63
+ - 'spec/**/*'
64
+
65
+ Style/AccessorMethodName:
66
+ Exclude:
67
+ - 'app/controllers/concerns/curation_concerns/curation_concern_controller.rb'
68
+
69
+ Style/BlockEndNewline:
70
+ Exclude:
71
+ - 'spec/**/*'
72
+
73
+ Style/MultilineBlockLayout:
74
+ Exclude:
75
+ - 'spec/**/*'
76
+
77
+ Style/Semicolon:
78
+ Exclude:
79
+ - 'spec/**/*'
80
+
81
+ Style/Lambda:
82
+ Exclude:
83
+ - 'spec/**/*'
84
+
85
+ Style/IndentationConsistency:
86
+ EnforcedStyle: rails
87
+
88
+ Style/CollectionMethods:
89
+ PreferredMethods:
90
+ collect: 'map'
91
+ collect!: 'map!'
92
+ inject: 'reduce'
93
+ detect: 'find'
94
+ find_all: 'select'
95
+
96
+ Style/WordArray:
97
+ Enabled: false
98
+
99
+ Style/RegexpLiteral:
100
+ Enabled: false
101
+
102
+ Style/StringLiterals:
103
+ Enabled: false
104
+
105
+ Style/ClassAndModuleChildren:
106
+ Enabled: false
107
+
108
+ Style/Documentation:
109
+ Enabled: false
110
+
111
+ Style/HashSyntax:
112
+ Exclude:
113
+ - 'lib/generators/curation_concerns/templates/catalog_controller.rb'
114
+
115
+ Style/LineEndConcatenation:
116
+ Exclude:
117
+ - 'spec/test_app_templates/lib/generators/**/*'
118
+ - 'curation_concerns-models/lib/generators/**/*'
119
+
120
+ Style/PredicateName:
121
+ Exclude:
122
+ - 'app/helpers/curation_concerns/curation_concerns_helper_behavior.rb'
123
+ - 'app/controllers/concerns/curation_concerns/controller.rb'
124
+ - 'app/helpers/curation_concerns/collections_helper.rb'
125
+
126
+ Style/GlobalVars:
127
+ Exclude:
128
+ - 'spec/**/*'
129
+ - 'spec/jobs/event_jobs_spec.rb'
130
+ - 'curation_concerns-models/lib/generators/curation_concerns/models/templates/config/redis_config.rb'
131
+ - 'curation_concerns-models/lib/curation_concerns/models/active_record/redis.rb'
132
+ - 'curation_concerns-models/lib/curation_concerns/models/active_fedora/redis.rb'
133
+
134
+ Style/SingleLineBlockParams:
135
+ Enabled: false
136
+
137
+ Style/ClassVars:
138
+ Exclude:
139
+ - 'curation_concerns-models/lib/curation_concerns/models.rb'
140
+ - 'curation_concerns-models/lib/curation_concerns/models/engine.rb'
141
+ - 'curation_concerns-models/app/models/concerns/curation_concerns/file_set/versions.rb'
142
+
143
+ Style/SignalException:
144
+ Enabled: false
145
+
146
+ Rails/Output:
147
+ Exclude:
148
+ - 'lib/generators/**/*'
149
+ - 'curation_concerns-models/lib/generators/**/*'
150
+
151
+ Rails/Date:
152
+ Enabled: false
153
+
154
+ Rails/TimeZone:
155
+ Enabled: false
156
+
157
+ RSpec/ExampleWording:
158
+ CustomTransform:
159
+ be: is
160
+ have: has
161
+ not: does not
162
+ NOT: does NOT
163
+ IgnoredWords:
164
+ - only
165
+
166
+ RSpec/FilePath:
167
+ Enabled: false
168
+
169
+ RSpec/InstanceVariable:
170
+ Enabled: false
171
+
172
+ RSpec/DescribeClass:
173
+ Exclude:
174
+ - 'spec/javascripts/jasmine_spec.rb'
175
+ - 'spec/tasks/rake_spec.rb'
176
+ - 'spec/jobs/event_jobs_spec.rb'
177
+ - 'spec/abilities/**/*'
178
+ - 'spec/features/**/*'
179
+ - 'spec/views/**/*'
180
+ - 'spec/routing/**/*'
181
+ - 'spec/inputs/**/*'
182
+
183
+ RSpec/DescribedClass:
184
+ Exclude:
185
+ - 'spec/actors/curation_concerns/manages_embargoes_actor_spec.rb'
data/.travis.yml CHANGED
@@ -6,13 +6,3 @@ rvm:
6
6
  env:
7
7
  global:
8
8
  - NOKOGIRI_USE_SYSTEM_LIBRARIES=true
9
- notifications:
10
- email:
11
- recipients:
12
- - "eliotj@princeton.edu"
13
- - "kr2@princeton.edu"
14
- - "jstroop@princeton.edu"
15
- on_success: "change"
16
- on_failure: "always"
17
- template:
18
- - "%{repository}//%{branch}@%{commit} by %{author}: %{message} - %{build_url}"
data/CONTRIBUTING.md ADDED
@@ -0,0 +1,117 @@
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
+ ## Hydra Project Intellectual Property Licensing and Ownership
7
+
8
+ All code contributors must have an Individual Contributor License Agreement (iCLA) on file with the Hydra Project Steering Group.
9
+ If the contributor works for an institution, the institution must have a Corporate Contributor License Agreement (cCLA) on file.
10
+
11
+ https://wiki.duraspace.org/display/hydra/Hydra+Project+Intellectual+Property+Licensing+and+Ownership
12
+
13
+ You should also add yourself to the `CONTRIBUTORS.md` file in the root of the project.
14
+
15
+ ## Contribution Tasks
16
+
17
+ * Reporting Issues
18
+ * Making Changes
19
+ * Submitting Changes
20
+ * Merging Changes
21
+
22
+ ### Reporting Issues
23
+
24
+ * Make sure you have a [GitHub account](https://github.com/signup/free)
25
+ * Submit a [Github issue](./issues) by:
26
+ * Clearly describing the issue
27
+ * Provide a descriptive summary
28
+ * Explain the expected behavior
29
+ * Explain the actual behavior
30
+ * Provide steps to reproduce the actual behavior
31
+
32
+ ### Making Changes
33
+
34
+ * Fork the repository on GitHub
35
+ * Create a topic branch from where you want to base your work.
36
+ * This is usually the master branch.
37
+ * To quickly create a topic branch based on master; `git branch fix/master/my_contribution master`
38
+ * Then checkout the new branch with `git checkout fix/master/my_contribution`.
39
+ * Please avoid working directly on the `master` branch.
40
+ * You may find the [hub suite of commands](https://github.com/defunkt/hub) helpful
41
+ * Make commits of logical units.
42
+ * Your commit should include a high level description of your work in HISTORY.textile
43
+ * Check for unnecessary whitespace with `git diff --check` before committing.
44
+ * Make sure your commit messages are [well formed](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html).
45
+ * 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)
46
+
47
+ ```
48
+ Present tense short summary (50 characters or less)
49
+
50
+ More detailed description, if necessary. It should be wrapped to 72
51
+ characters. Try to be as descriptive as you can, even if you think that
52
+ the commit content is obvious, it may not be obvious to others. You
53
+ should add such description also if it's already present in bug tracker,
54
+ it should not be necessary to visit a webpage to check the history.
55
+
56
+ Include Closes #<issue-number> when relavent.
57
+
58
+ Description can have multiple paragraphs and you can use code examples
59
+ inside, just indent it with 4 spaces:
60
+
61
+ class PostsController
62
+ def index
63
+ respond_to do |wants|
64
+ wants.html { render 'index' }
65
+ end
66
+ end
67
+ end
68
+
69
+ You can also add bullet points:
70
+
71
+ - you can use dashes or asterisks
72
+
73
+ - also, try to indent next line of a point for readability, if it's too
74
+ long to fit in 72 characters
75
+ ```
76
+
77
+ * Make sure you have added the necessary tests for your changes.
78
+ * Run _all_ the tests to assure nothing else was accidentally broken.
79
+ * When you are ready to submit a pull request
80
+
81
+ ### Submitting Changes
82
+
83
+ * Read the article ["Using Pull Requests"](https://help.github.com/articles/using-pull-requests) on GitHub.
84
+ * Make sure your branch is up to date with its parent branch (i.e. master)
85
+ * `git checkout master`
86
+ * `git pull --rebase`
87
+ * `git checkout <your-branch>`
88
+ * `git rebase master`
89
+ * It is likely a good idea to run your tests again.
90
+ * If you've made more than one commit take a moment to consider whether squashing commits together would help improve their logical grouping.
91
+ * [Detailed Walkthrough of One Pull Request per Commit](http://ndlib.github.io/practices/one-commit-per-pull-request/)
92
+ * `git rebase --interactive HEAD~<number-of-commits>` ([See Github help](https://help.github.com/articles/interactive-rebase))
93
+ * To determine the number of commits on your branch: `git log master..<your-branch> --oneline | wc -l`
94
+ * 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.
95
+ * Push your changes to a topic branch in your fork of the repository.
96
+ * Submit a pull request from your fork to the project.
97
+
98
+ ### Merging Changes
99
+
100
+ * It is considered "poor from" to merge your own request.
101
+ * Please take the time to review the changes and get a sense of what is being changed. Things to consider:
102
+ * Does the commit message explain what is going on?
103
+ * Does the code changes have tests? _Not all changes need new tests, some changes are refactorings_
104
+ * Does the commit contain more than it should? Are two separate concerns being addressed in one commit?
105
+ * Did the Travis tests complete successfully?
106
+ * If you are uncertain, bring other contributors into the conversation by creating a comment that includes their @username.
107
+ * If you like the pull request, but want others to chime in, create a +1 comment and tag a user.
108
+
109
+ ## New Developers
110
+ A great way to get new developers involved and to learn the process is to have them go through the Hierarchy of Promises and create a pull request to improve it.
111
+
112
+ # Additional Resources
113
+
114
+ * [General GitHub documentation](http://help.github.com/)
115
+ * [GitHub pull request documentation](http://help.github.com/send-pull-requests/)
116
+ * [Pro Git](http://git-scm.com/book) is both a free and excellent book about Git.
117
+ * [A Git Config for Contributing](http://ndlib.github.io/practices/my-typical-per-project-git-config/)
data/Gemfile CHANGED
@@ -7,10 +7,14 @@ gem 'slop', '~> 3.6.0' # This just helps us generate a valid Gemfile.lock when R
7
7
 
8
8
  gem 'curation_concerns-models', path: './curation_concerns-models'
9
9
 
10
- group :test do
10
+ group :development, :test do
11
+ gem 'rubocop', require: false
12
+ gem 'rubocop-rspec', require: false
11
13
  gem 'simplecov', '~> 0.9', require: false
12
14
  gem 'coveralls', require: false
13
15
  gem 'poltergeist'
16
+ gem 'pry' unless ENV['CI']
17
+ gem 'pry-byebug' unless ENV['CI']
14
18
  end
15
19
 
16
20
  file = File.expand_path("Gemfile", ENV['ENGINE_CART_DESTINATION'] || ENV['RAILS_ROOT'] || File.expand_path("../spec/internal", __FILE__))
@@ -22,7 +26,6 @@ else
22
26
  if ENV['RAILS_VERSION'] and ENV['RAILS_VERSION'] !~ /^4.2/
23
27
  gem 'sass-rails', "< 5.0"
24
28
  else
25
- gem 'responders', "~> 2.0"
26
29
  gem 'sass-rails', ">= 5.0"
27
30
  end
28
31
 
data/README.md CHANGED
@@ -1,33 +1,42 @@
1
- # Curation Concern
1
+ # CurationConcerns
2
+
3
+ [![Version](https://badge.fury.io/rb/curation_concerns.png)](http://badge.fury.io/rb/curation_concerns)
2
4
  [![Build Status](https://travis-ci.org/projecthydra-labs/curation_concerns.svg?branch=master)](https://travis-ci.org/projecthydra-labs/curation_concerns)
3
5
  [![Coverage Status](https://coveralls.io/repos/projecthydra-labs/curation_concerns/badge.svg?branch=master)](https://coveralls.io/r/projecthydra-labs/curation_concerns?branch=master)
6
+ [![Code Climate](https://codeclimate.com/github/projecthydra-labs/curation_concerns/badges/gpa.svg)](https://codeclimate.com/github/projecthydra-labs/curation_concerns)
7
+ [![Apache 2.0 License](http://img.shields.io/badge/APACHE2-license-blue.svg)](./LICENSE.txt)
8
+ [![Contribution Guidelines](http://img.shields.io/badge/CONTRIBUTING-Guidelines-blue.svg)](./CONTRIBUTING.md)
9
+ [![API Docs](http://img.shields.io/badge/API-docs-blue.svg)](http://rubydoc.info/gems/curation_concerns)
10
+ [![Stories in Ready](https://badge.waffle.io/projecthydra-labs/sufia-core.png?source=projecthydra-labs%2Fcuration_concerns&label=ready&title=Ready)](https://waffle.io/projecthydra-labs/sufia-core?source=projecthydra-labs%2Fcuration_concerns)
4
11
 
5
- A Hydra-based Rails Engine that extends an application, adding the ability to Create, Read, Update and Destroy (CRUD) CurationConcern objects (a.k.a. "Works") and provides a generator for defining new CurationConcern types with custom workflow, views, access controls, etc.
12
+ A Hydra-based Rails Engine that extends an application, adding the ability to Create, Read, Update and Destroy (CRUD) objects (based on [Hydra::Works](http://github.com/projecthydra-labs/hydra-works)) and providing a generator for defining object types with custom workflows, views, access controls, etc.
6
13
 
7
14
  ## Installation
8
15
 
16
+ Checkout the dependencies for [curation_concerns-models](https://github.com/projecthydra-labs/curation_concerns/tree/master/curation_concerns-models#dependencies), which is installed as part of curation_concerns.
17
+
9
18
  Add this line to your application's Gemfile:
10
19
 
11
20
  gem 'curation_concerns'
12
21
 
13
22
  And then execute:
14
23
 
15
- $ bundle
24
+ $ bundle install
16
25
 
17
26
  Then:
18
27
 
19
28
  $ rails generate curation_concerns:install
20
29
  $ rake db:migrate
21
30
 
22
- # Usage
31
+ ## Usage
23
32
 
24
- ## Generator
33
+ ### Generator
25
34
 
26
- To generate a new CurationConcern type, use the `curation_concerns:work` rails generator. Follow the Usage instructions provided on the command line when you run:
35
+ To generate a new object type, use the `curation_concerns:work` Rails generator. Follow the usage instructions provided on the command line when you run:
27
36
 
28
- rails generate curation_concerns:work
37
+ $ rails generate curation_concerns:work
29
38
 
30
- ## Virus Detection
39
+ ### Virus Detection
31
40
 
32
41
  To turn on virus detection, install clamav on your system and add the `clamav` gem to your Gemfile
33
42
 
@@ -37,10 +46,8 @@ To turn on virus detection, install clamav on your system and add the `clamav` g
37
46
 
38
47
  If you are modifying the curation_concerns gem and want to run the test suite, follow these steps to set up the test environment.
39
48
 
40
- ```
41
49
  $ rake engine_cart:generate
42
50
  $ rake jetty:clean
43
- $ rake curation_concerns:jetty:config
51
+ $ rake jetty:config
44
52
  $ rake jetty:start
45
53
  $ rake spec
46
- ```
data/Rakefile CHANGED
@@ -1,25 +1,37 @@
1
- require "bundler/gem_tasks"
1
+ require 'bundler/gem_tasks'
2
2
  require 'bundler/setup'
3
-
4
3
  require 'rspec/core/rake_task'
5
- RSpec::Core::RakeTask.new(:spec)
6
- Dir.glob('tasks/*.rake').each { |r| import r }
7
-
8
4
  require 'jettywrapper'
9
5
  require 'engine_cart/rake_task'
10
- Jettywrapper.hydra_jetty_version = "v8.3.1"
6
+ require 'rubocop/rake_task'
7
+
8
+ Dir.glob('tasks/*.rake').each { |r| import r }
11
9
 
12
10
  # This makes it possible to run curation_concerns:jetty:config from here.
13
11
  import 'curation_concerns-models/lib/tasks/curation_concerns-models_tasks.rake'
14
12
 
15
- task ci: ['engine_cart:generate', 'jetty:clean'] do
13
+ Jettywrapper.hydra_jetty_version = 'v8.3.1'
14
+
15
+ desc 'Run style checker'
16
+ RuboCop::RakeTask.new(:rubocop) do |task|
17
+ task.requires << 'rubocop-rspec'
18
+ task.fail_on_error = true
19
+ end
20
+
21
+ desc 'Run test suite and style checker'
22
+ task spec: :rubocop do
23
+ RSpec::Core::RakeTask.new(:spec)
24
+ end
25
+
26
+ task ci: ['engine_cart:generate', 'jetty:clean', 'jetty:config'] do
27
+ puts 'running continuous integration'
16
28
  jetty_params = Jettywrapper.load_config
17
- jetty_params[:startup_wait]= 90
29
+ jetty_params[:startup_wait] = 90
18
30
 
19
- Jettywrapper.wrap(jetty_params) do
20
- # run the tests
21
- Rake::Task["spec"].invoke
31
+ error = Jettywrapper.wrap(jetty_params) do
32
+ Rake::Task['spec'].invoke
22
33
  end
34
+ fail "test failures: #{error}" if error
23
35
  end
24
36
 
25
37
  task clean: 'engine_cart:clean'
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.2.0
Binary file
Binary file
Binary file
@@ -1,9 +1,5 @@
1
- //= require jquery-ui-1.9.2/jquery.ui.widget
2
- //= require jquery-ui-1.9.2/jquery.ui.core
3
- //= require jquery-ui-1.9.2/jquery.ui.menu
4
- //= require jquery-ui-1.9.2/jquery.ui.position
5
- //= require jquery-ui-1.9.2/jquery.ui.autocomplete
6
- //
1
+ //= require jquery-ui/widget
2
+
7
3
  //= require blacklight/blacklight
8
4
  //
9
5
  //= require bootstrap/dropdown
@@ -13,6 +9,4 @@
13
9
  //= require bootstrap/popover
14
10
  //= require bootstrap/tab
15
11
  //
16
- //= require handlebars
17
- //= require jquery.tokeninput
18
12
  //= require curation_concerns/curation_concerns
@@ -1,27 +1,13 @@
1
1
  //= require hydra-editor/hydra-editor
2
- //= require curation_concerns/help_modal
3
- //= require curation_concerns/select_works
4
- //= require curation_concerns/link_users
5
- //= require curation_concerns/link_groups
6
- //= require curation_concerns/proxy_rights
7
2
  //= require curation_concerns/facet_mine
8
- //= require curation_concerns/proxy_submission
9
3
  //= require curation_concerns/embargoes
4
+ //= require curation_concerns/fileupload
10
5
 
11
6
 
12
7
  // Initialize plugins and Bootstrap dropdowns on jQuery's ready event as well as
13
8
  // Turbolinks's page change event.
14
9
  Blacklight.onLoad(function() {
15
10
  $('abbr').tooltip();
16
- $('.link-users').linkUsers();
17
- $('.link-groups').linkGroups();
18
- $('.proxy-rights').proxyRights();
19
-
20
-
21
- // $('#set-access-controls .datepicker').datepicker({
22
- // format: 'yyyy-mm-dd',
23
- // startDate: '+1d'
24
- // });
25
11
 
26
12
  $("[data-toggle='dropdown']").dropdown();
27
13
 
@@ -1,22 +1,16 @@
1
1
  //= require blacklight/core
2
2
  (function($) {
3
3
  var facet_mine_behavior = function() {
4
+ // TODO: pull in https://github.com/projecthydra-labs/curate/blob/master/app/views/catalog/_facets.html.erb
4
5
  $('#aux-search-submit-header').hide();
5
6
 
6
7
  $('input[name="works"]').on("change", function(e) {
7
8
  $(this).closest('form').submit();
8
9
  });
9
10
 
10
- };
11
+ };
11
12
 
12
-
13
- // TODO when we upgrade blacklight to 4.4+, we can use Blacklight.onLoad()
14
- if (typeof Turbolinks !== "undefined") {
15
- $(document).on('page:load', function() {
16
- facet_mine_behavior();
17
- });
18
- }
19
- $(document).ready(function() {
20
- facet_mine_behavior();
13
+ Blacklight.onLoad(function() {
14
+ facet_mine_behavior();
21
15
  });
22
16
  })(jQuery);
@@ -0,0 +1,6 @@
1
+ //= require curation_concerns/uploader
2
+ // This file is the default initialization of the fileupload. If you want to call
3
+ // curationConcernsUploader with other options (like afterSubmit), then override this file.
4
+ Blacklight.onLoad(function() {
5
+ $('#fileupload').curationConcernsUploader();
6
+ });