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
@@ -1,36 +0,0 @@
1
- # Borrowed from:
2
- # https://github.com/jeremy/resque-rails/blob/master/lib/resque/rails/queue.rb
3
- module CurationConcerns
4
- module Resque
5
- class Queue
6
- attr_reader :default_queue_name
7
-
8
- def initialize(default_queue_name)
9
- @default_queue_name = default_queue_name
10
- end
11
-
12
- def push(job)
13
- push_tries = 0
14
- queue = job.respond_to?(:queue_name) ? job.queue_name : default_queue_name
15
- begin
16
- ::Resque.enqueue_to queue, MarshaledJob, Base64.encode64(Marshal.dump(job))
17
- rescue Redis::CannotConnectError
18
- ActiveFedora::Base.logger.error "Redis is down!"
19
- rescue Redis::TimeoutError => error
20
- ActiveFedora::Base.logger.warn "Redis Timed out. Trying again! #{job.inspect}"
21
- push_tries+=1
22
- # fail for good if the tries is greater than 3
23
- raise error if push_tries >=3
24
- sleep 0.01
25
- retry
26
- end
27
- end
28
- end
29
-
30
- class MarshaledJob
31
- def self.perform(marshaled_job)
32
- Marshal.load(Base64.decode64(marshaled_job)).run
33
- end
34
- end
35
- end
36
- end
@@ -1,22 +0,0 @@
1
- module CurationConcerns
2
- module Utils
3
- extend ActiveSupport::Concern
4
-
5
- def retry_unless(number_of_tries, condition, &block)
6
- self.class.retry_unless(number_of_tries, condition, &block)
7
- end
8
-
9
- module ClassMethods
10
- def retry_unless(number_of_tries, condition, &block)
11
- raise ArgumentError, "First argument must be an enumerator" unless number_of_tries.is_a? Enumerator
12
- raise ArgumentError, "Second argument must be a lambda" unless condition.respond_to? :call
13
- raise ArgumentError, "Must pass a block of code to retry" unless block_given?
14
- number_of_tries.each do
15
- result = block.call
16
- return result unless condition.call
17
- end
18
- raise RuntimeError, "retry_unless could not complete successfully. Try upping the # of tries?"
19
- end
20
- end
21
- end
22
- end
@@ -1,5 +0,0 @@
1
- module CurationConcerns
2
- module Models
3
- VERSION = "0.1.2"
4
- end
5
- end
@@ -1,32 +0,0 @@
1
- require "curation_concerns/models/version"
2
- require "curation_concerns/models/engine"
3
-
4
- require 'hydra/head'
5
- require 'nest'
6
- # require "active_resource" # used by GenericFile to catch errors & by GeoNamesResource
7
- require 'resque/server'
8
-
9
- module CurationConcerns
10
- extend ActiveSupport::Autoload
11
-
12
- module Models
13
- end
14
-
15
- autoload :Utils, 'curation_concerns/models/utils'
16
- autoload :Permissions
17
- autoload :Messages
18
-
19
- attr_writer :queue
20
-
21
- def self.queue
22
- @queue ||= config.queue.new('curation_concerns')
23
- end
24
-
25
- def self.config(&block)
26
- @@config ||= CurationConcerns::Models::Engine::Configuration.new
27
-
28
- yield @@config if block
29
-
30
- return @@config
31
- end
32
- end
@@ -1,30 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
- require 'rails/generators'
3
- require 'rails/generators/migration'
4
-
5
- class CurationConcerns::Models::AbstractMigrationGenerator < Rails::Generators::Base
6
- include Rails::Generators::Migration
7
-
8
- # Implement the required interface for Rails::Generators::Migration.
9
- # taken from http://github.com/rails/rails/blob/master/activerecord/lib/generators/active_record.rb
10
- def self.next_migration_number(path)
11
- if @prev_migration_nr
12
- @prev_migration_nr += 1
13
- else
14
- if last_migration = Dir[File.join(path, '*.rb')].sort.last
15
- @prev_migration_nr = last_migration.sub(File.join(path, '/'), '').to_i + 1
16
- else
17
- @prev_migration_nr = Time.now.utc.strftime("%Y%m%d%H%M%S").to_i
18
- end
19
- end
20
- @prev_migration_nr.to_s
21
- end
22
-
23
- protected
24
-
25
- def better_migration_template(file)
26
- migration_template "migrations/#{file}", "db/migrate/#{file}"
27
- rescue Rails::Generators::Error => e
28
- say_status("warning", e.message, :yellow)
29
- end
30
- end
@@ -1,19 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
- require 'rails/generators'
3
-
4
- class CurationConcerns::Models::ClamavGenerator < Rails::Generators::Base
5
- source_root File.expand_path('../templates', __FILE__)
6
-
7
- desc """
8
- This generator makes the following changes to your application:
9
- 1. Generates clamav initializer
10
- """
11
-
12
- def banner
13
- say_status("info", "Generating clamav initializers", :blue)
14
- end
15
-
16
- def create_initializer_file
17
- copy_file 'config/clamav.rb', 'config/initializers/clamav.rb'
18
- end
19
- end
@@ -1,28 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
- require 'rails/generators'
3
-
4
- class CurationConcerns::Models::FulltextGenerator < Rails::Generators::Base
5
- source_root File.expand_path('../templates', __FILE__)
6
-
7
- desc """
8
- This generator makes the following changes to your application:
9
- 1. Copies solrconfig.xml into solr_conf/conf/
10
- 2. Reconfigures jetty
11
- """
12
-
13
- def banner
14
- say_status("warning", "GENERATING CURATION_CONCERNS FULL-TEXT", :yellow)
15
- end
16
-
17
- # Copy CurationConcerns's solrconfig into the dir from which the jetty:config task pulls
18
- # CurationConcerns's solrconfig includes full-text extraction
19
- def copy_solr_config
20
- src = File.join(__FILE__, '..', '..', '..', '..', '..', '..', 'solr_conf', 'conf', 'solrconfig.xml')
21
- copy_file File.expand_path(src), 'solr_conf/conf/solrconfig.xml', force: true
22
- end
23
-
24
- # Copy config, schema, and jars into jetty dir if it exists
25
- def reconfigure_jetty
26
- rake "curation_concerns:jetty:config" if File.directory?('jetty')
27
- end
28
- end
@@ -1,70 +0,0 @@
1
- require_relative 'abstract_migration_generator'
2
-
3
- class CurationConcerns::Models::InstallGenerator < CurationConcerns::Models::AbstractMigrationGenerator
4
- source_root File.expand_path('../templates', __FILE__)
5
- argument :model_name, type: :string , default: "user"
6
- desc """
7
- This generator makes the following changes to your application:
8
- 1. Creates several database migrations if they do not exist in /db/migrate
9
- 2. Creates the curation_concerns.rb configuration file and several others
10
- 3. Creates the generic_file.rb, generic_work.rb and collection.rb models
11
- 4. Runs full-text generator
12
- """
13
- def banner
14
- say_status("warning", "GENERATING CURATION_CONCERNS MODELS", :yellow)
15
- end
16
-
17
- # Setup the database migrations
18
- def copy_migrations
19
- [
20
- "create_version_committers.rb",
21
- "create_checksum_audit_logs.rb"#,
22
- ].each do |file|
23
- better_migration_template file
24
- end
25
- end
26
-
27
- # Add behaviors to the user model
28
- def inject_curation_concerns_user_behavior
29
- file_path = "app/models/#{model_name.underscore}.rb"
30
- if File.exists?(file_path)
31
- inject_into_file file_path, after: /include Hydra\:\:User.*$/ do
32
- "\n # Connects this user object to Curation Concerns behaviors." +
33
- "\n include CurationConcerns::User\n"
34
- end
35
- else
36
- puts " \e[31mFailure\e[0m CurationConcerns requires a user object. This generators assumes that the model is defined in the file #{file_path}, which does not exist. If you used a different name, please re-run the generator and provide that name as an argument. Such as \b rails -g curation_concerns client"
37
- end
38
- end
39
-
40
- def create_configuration_files
41
- append_file 'config/initializers/mime_types.rb',
42
- "\nMime::Type.register 'application/x-endnote-refer', :endnote", {verbose: false }
43
- copy_file 'config/curation_concerns.rb', 'config/initializers/curation_concerns.rb'
44
- copy_file 'config/redis.yml', 'config/redis.yml'
45
- copy_file 'config/resque-pool.yml', 'config/resque-pool.yml'
46
- copy_file 'config/redis_config.rb', 'config/initializers/redis_config.rb'
47
- copy_file 'config/resque_admin.rb', 'config/initializers/resque_admin.rb'
48
- copy_file 'config/resque_config.rb', 'config/initializers/resque_config.rb'
49
- end
50
-
51
- def create_collection
52
- copy_file 'app/models/collection.rb', 'app/models/collection.rb'
53
- end
54
-
55
- def create_generic_file
56
- copy_file 'app/models/generic_file.rb', 'app/models/generic_file.rb'
57
- end
58
-
59
- # Sets up full-text indexing (Solr config + jars)
60
- def full_text_indexing
61
- generate "curation_concerns:models:fulltext"
62
- end
63
-
64
- # Adds clamav initializtion
65
- def clamav
66
- generate 'curation_concerns:models:clamav'
67
- end
68
-
69
-
70
- end
@@ -1,4 +0,0 @@
1
- # Generated by curation_concerns:models:install
2
- class Collection < ActiveFedora::Base
3
- include ::CurationConcerns::CollectionBehavior
4
- end
@@ -1,4 +0,0 @@
1
- # Generated by curation_concerns:models:install
2
- class GenericFile < ActiveFedora::Base
3
- include ::CurationConcerns::GenericFileBehavior
4
- end
@@ -1 +0,0 @@
1
- ClamAV.instance.loaddb() if defined? ClamAV
@@ -1,123 +0,0 @@
1
- CurationConcerns.config do |config|
2
- config.fits_to_desc_mapping = {
3
- file_title: :title,
4
- file_author: :creator
5
- }
6
-
7
- config.max_days_between_audits = 7
8
-
9
- config.cc_licenses = {
10
- 'Attribution 3.0 United States' => 'http://creativecommons.org/licenses/by/3.0/us/',
11
- 'Attribution-ShareAlike 3.0 United States' => 'http://creativecommons.org/licenses/by-sa/3.0/us/',
12
- 'Attribution-NonCommercial 3.0 United States' => 'http://creativecommons.org/licenses/by-nc/3.0/us/',
13
- 'Attribution-NoDerivs 3.0 United States' => 'http://creativecommons.org/licenses/by-nd/3.0/us/',
14
- 'Attribution-NonCommercial-NoDerivs 3.0 United States' => 'http://creativecommons.org/licenses/by-nc-nd/3.0/us/',
15
- 'Attribution-NonCommercial-ShareAlike 3.0 United States' => 'http://creativecommons.org/licenses/by-nc-sa/3.0/us/',
16
- 'Public Domain Mark 1.0' => 'http://creativecommons.org/publicdomain/mark/1.0/',
17
- 'CC0 1.0 Universal' => 'http://creativecommons.org/publicdomain/zero/1.0/',
18
- 'All rights reserved' => 'All rights reserved'
19
- }
20
-
21
- config.cc_licenses_reverse = Hash[*config.cc_licenses.to_a.flatten.reverse]
22
-
23
- config.resource_types = {
24
- "Article" => "Article",
25
- "Audio" => "Audio",
26
- "Book" => "Book",
27
- "Capstone Project" => "Capstone Project",
28
- "Conference Proceeding" => "Conference Proceeding",
29
- "Dataset" => "Dataset",
30
- "Dissertation" => "Dissertation",
31
- "Image" => "Image",
32
- "Journal" => "Journal",
33
- "Map or Cartographic Material" => "Map or Cartographic Material",
34
- "Masters Thesis" => "Masters Thesis",
35
- "Part of Book" => "Part of Book",
36
- "Poster" => "Poster",
37
- "Presentation" => "Presentation",
38
- "Project" => "Project",
39
- "Report" => "Report",
40
- "Research Paper" => "Research Paper",
41
- "Software or Program Code" => "Software or Program Code",
42
- "Video" => "Video",
43
- "Other" => "Other",
44
- }
45
-
46
- config.resource_types_to_schema = {
47
- "Article" => "http://schema.org/Article",
48
- "Audio" => "http://schema.org/AudioObject",
49
- "Book" => "http://schema.org/Book",
50
- "Capstone Project" => "http://schema.org/CreativeWork",
51
- "Conference Proceeding" => "http://schema.org/ScholarlyArticle",
52
- "Dataset" => "http://schema.org/Dataset",
53
- "Dissertation" => "http://schema.org/ScholarlyArticle",
54
- "Image" => "http://schema.org/ImageObject",
55
- "Journal" => "http://schema.org/CreativeWork",
56
- "Map or Cartographic Material" => "http://schema.org/Map",
57
- "Masters Thesis" => "http://schema.org/ScholarlyArticle",
58
- "Part of Book" => "http://schema.org/Book",
59
- "Poster" => "http://schema.org/CreativeWork",
60
- "Presentation" => "http://schema.org/CreativeWork",
61
- "Project" => "http://schema.org/CreativeWork",
62
- "Report" => "http://schema.org/CreativeWork",
63
- "Research Paper" => "http://schema.org/ScholarlyArticle",
64
- "Software or Program Code" => "http://schema.org/Code",
65
- "Video" => "http://schema.org/VideoObject",
66
- "Other" => "http://schema.org/CreativeWork",
67
- }
68
-
69
- config.permission_levels = {
70
- "Choose Access"=>"none",
71
- "View/Download" => "read",
72
- "Edit" => "edit"
73
- }
74
-
75
- config.owner_permission_levels = {
76
- "Edit" => "edit"
77
- }
78
-
79
- config.queue = CurationConcerns::Resque::Queue
80
-
81
- # Enable displaying usage statistics in the UI
82
- # Defaults to FALSE
83
- # Requires a Google Analytics id and OAuth2 keyfile. See README for more info
84
- config.analytics = false
85
-
86
- # Specify a Google Analytics tracking ID to gather usage statistics
87
- # config.google_analytics_id = 'UA-99999999-1'
88
-
89
- # Specify a date you wish to start collecting Google Analytic statistics for.
90
- # config.analytic_start_date = DateTime.new(2014,9,10)
91
-
92
- # Where to store tempfiles, leave blank for the system temp directory (e.g. /tmp)
93
- # config.temp_file_base = '/home/developer1'
94
-
95
- # Specify the form of hostpath to be used in Endnote exports
96
- # config.persistent_hostpath = 'http://localhost/files/'
97
-
98
- # If you have ffmpeg installed and want to transcode audio and video uncomment this line
99
- # config.enable_ffmpeg = true
100
-
101
- # CurationConcerns uses NOIDs for files and collections instead of Fedora UUIDs
102
- # where NOID = 10-character string and UUID = 32-character string w/ hyphens
103
- # config.enable_noids = true
104
-
105
- # Specify a different template for your repository's NOID IDs
106
- # config.noid_template = ".reeddeeddk"
107
-
108
- # Specify the prefix for Redis keys:
109
- # config.redis_namespace = "curation_concerns"
110
-
111
- # Specify the path to the file characterization tool:
112
- # config.fits_path = "fits.sh"
113
-
114
- # Specify a date you wish to start collecting Google Analytic statistics for.
115
- # Leaving it blank will set the start date to when ever the file was uploaded by
116
- # NOTE: if you have always sent analytics to GA for downloads and page views leave this commented out
117
- # config.analytic_start_date = DateTime.new(2014,9,10)
118
-
119
-
120
-
121
- end
122
-
123
- Date::DATE_FORMATS[:standard] = "%m/%d/%Y"
@@ -1,6 +0,0 @@
1
- # Be sure to restart your server when you modify this file.
2
-
3
- # Add new mime types for use in respond_to blocks:
4
- # Mime::Type.register "text/richtext", :rtf
5
- # Mime::Type.register_alias "text/html", :iphone
6
- Mime::Type.register 'application/x-endnote-refer', :endnote
@@ -1,9 +0,0 @@
1
- development:
2
- host: localhost
3
- port: 6379
4
- test:
5
- host: localhost
6
- port: 6379
7
- production:
8
- host: localhost
9
- port: 6379
@@ -1,32 +0,0 @@
1
- if defined?(PhusionPassenger)
2
- PhusionPassenger.on_event(:starting_worker_process) do |forked|
3
- # We're in smart spawning mode.
4
- if forked
5
- # Re-establish redis connection
6
- require 'redis'
7
- config = YAML::load(ERB.new(IO.read(File.join(Rails.root, 'config', 'redis.yml'))).result)[Rails.env].with_indifferent_access
8
-
9
- # The important two lines
10
- $redis.client.disconnect if $redis
11
- $redis = Redis.new(host: config[:host], port: config[:port], thread_safe: true) rescue nil
12
- Resque.redis = $redis
13
- Resque.redis.client.reconnect if Resque.redis
14
- end
15
- end
16
- else
17
- config = YAML::load(ERB.new(IO.read(File.join(Rails.root, 'config', 'redis.yml'))).result)[Rails.env].with_indifferent_access
18
- $redis = Redis.new(host: config[:host], port: config[:port], thread_safe: true) rescue nil
19
- end
20
-
21
-
22
- # Code borrowed from Obie's Redis patterns talk at RailsConf'12
23
- Nest.class_eval do
24
- def initialize(key, redis=$redis)
25
- super(key.to_param)
26
- @redis = redis
27
- end
28
-
29
- def [](key)
30
- self.class.new("#{self}:#{key.to_param}", @redis)
31
- end
32
- end
@@ -1,10 +0,0 @@
1
- module CurationConcerns
2
- class ResqueAdmin
3
- def self.matches?(request)
4
- current_user = request.env['warden'].user
5
- return false if current_user.blank?
6
- # TODO code a group here that makes sense
7
- #current_user.groups.include? 'umg/up.dlt.scholarsphere-admin'
8
- end
9
- end
10
- end
@@ -1,5 +0,0 @@
1
- config = YAML::load(ERB.new(IO.read(File.join(Rails.root, 'config', 'redis.yml'))).result)[Rails.env].with_indifferent_access
2
- Resque.redis = Redis.new(host: config[:host], port: config[:port], thread_safe: true)
3
-
4
- Resque.inline = Rails.env.test?
5
- Resque.redis.namespace = "#{CurationConcerns.config.redis_namespace}:#{Rails.env}"
@@ -1,19 +0,0 @@
1
- class CreateChecksumAuditLogs < ActiveRecord::Migration
2
- def self.up
3
- create_table :checksum_audit_logs do |t|
4
- t.string :generic_file_id
5
- t.string :file_id
6
- t.string :version
7
- t.integer :pass
8
- t.string :expected_result
9
- t.string :actual_result
10
- t.timestamps
11
- end
12
- add_index :checksum_audit_logs, [:generic_file_id, :file_id], name: 'by_generic_file_id_and_file_id', order: {created_at: "DESC" }
13
- end
14
-
15
- def self.down
16
- remove_index(:checksum_audit_logs, name: 'by_generic_file_id_and_file_id')
17
- drop_table :checksum_audit_logs
18
- end
19
- end
@@ -1,15 +0,0 @@
1
- class CreateVersionCommitters < ActiveRecord::Migration
2
- def self.up
3
- create_table :version_committers do |t|
4
- t.string :obj_id
5
- t.string :datastream_id
6
- t.string :version_id
7
- t.string :committer_login
8
- t.timestamps
9
- end
10
- end
11
-
12
- def self.down
13
- drop_table :version_committers
14
- end
15
- end
@@ -1,75 +0,0 @@
1
- require 'net/http'
2
-
3
- namespace :curation_concerns do
4
- namespace :jetty do
5
-
6
- FULLTEXT_JARS = %w(
7
- org/apache/james/apache-mime4j-core/0.7.2/apache-mime4j-core-0.7.2.jar
8
- org/apache/james/apache-mime4j-dom/0.7.2/apache-mime4j-dom-0.7.2.jar
9
- org/apache/solr/solr-cell/4.0.0/solr-cell-4.0.0.jar
10
- org/bouncycastle/bcmail-jdk15/1.45/bcmail-jdk15-1.45.jar
11
- org/bouncycastle/bcprov-jdk15/1.45/bcprov-jdk15-1.45.jar
12
- de/l3s/boilerpipe/boilerpipe/1.1.0/boilerpipe-1.1.0.jar
13
- org/apache/commons/commons-compress/1.4.1/commons-compress-1.4.1.jar
14
- dom4j/dom4j/1.6.1/dom4j-1.6.1.jar
15
- org/apache/pdfbox/fontbox/1.7.0/fontbox-1.7.0.jar
16
- com/ibm/icu/icu4j/49.1/icu4j-49.1.jar
17
- com/googlecode/mp4parser/isoparser/1.0-RC-1/isoparser-1.0-RC-1.jar
18
- jdom/jdom/1.0/jdom-1.0.jar
19
- org/apache/pdfbox/jempbox/1.7.0/jempbox-1.7.0.jar
20
- com/googlecode/juniversalchardet/juniversalchardet/1.0.3/juniversalchardet-1.0.3.jar
21
- com/drewnoakes/metadata-extractor/2.4.0-beta-1/metadata-extractor-2.4.0-beta-1.jar
22
- edu/ucar/netcdf/4.2-min/netcdf-4.2-min.jar
23
- org/apache/pdfbox/pdfbox/1.7.0/pdfbox-1.7.0.jar
24
- org/apache/poi/poi/3.8/poi-3.8.jar
25
- org/apache/poi/poi-ooxml/3.8/poi-ooxml-3.8.jar
26
- org/apache/poi/poi-ooxml-schemas/3.8/poi-ooxml-schemas-3.8.jar
27
- org/apache/poi/poi-scratchpad/3.8/poi-scratchpad-3.8.jar
28
- rome/rome/0.9/rome-0.9.jar
29
- org/ccil/cowan/tagsoup/tagsoup/1.2.1/tagsoup-1.2.1.jar
30
- org/apache/tika/tika-core/1.2/tika-core-1.2.jar
31
- org/apache/tika/tika-parsers/1.2/tika-parsers-1.2.jar
32
- org/gagravarr/vorbis-java-core/0.1/vorbis-java-core-0.1.jar
33
- org/gagravarr/vorbis-java-tika/0.1/vorbis-java-tika-0.1.jar
34
- xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar
35
- org/apache/xmlbeans/xmlbeans/2.3.0/xmlbeans-2.3.0.jar
36
- org/tukaani/xz/1.0/xz-1.0.jar
37
- org/aspectj/aspectjrt/1.8.5/aspectjrt-1.8.5.jar
38
- )
39
-
40
- desc 'Configure jetty with full-text indexing'
41
- task config: :download_jars do
42
- Rake::Task['jetty:config'].invoke
43
- end
44
-
45
- desc 'Download Solr full-text extraction jars'
46
- task :download_jars do
47
- puts "Downloading full-text jars from maven.org ..."
48
- fulltext_dir = 'jetty/solr/lib/contrib/extraction/lib'
49
- FileUtils.mkdir_p(fulltext_dir) unless File.directory?(fulltext_dir)
50
- Dir.chdir(fulltext_dir) do
51
- FULLTEXT_JARS.each do |jar|
52
- destination = jar.split('/').last
53
- download_from_maven(jar, destination) unless File.exists?(destination)
54
- end
55
- end
56
- end
57
- end
58
- end
59
-
60
- def download_from_maven url, dst
61
- full_url = '/remotecontent?filepath=' + url
62
- file = File.open(dst, "wb")
63
- endpoint = Net::HTTP.new('search.maven.org', 443)
64
- endpoint.use_ssl = true
65
- endpoint.start do |http|
66
- puts "Fetching #{full_url}"
67
- begin
68
- http.request_get(full_url) do |resp|
69
- resp.read_body { |segment| file.write(segment) }
70
- end
71
- ensure
72
- file.close
73
- end
74
- end
75
- end
@@ -1,13 +0,0 @@
1
- namespace :curation_concerns do
2
- namespace :migrate do
3
-
4
- desc "Migrate audit logs"
5
- task audit_logs: :environment do
6
- ChecksumAuditLog.all.each do |cs|
7
- cs.generic_file_id = cs.generic_file_id.delete "#{CurationConcerns.config.redis_namespace}:"
8
- cs.save
9
- end
10
- end
11
-
12
- end
13
- end
@@ -1,13 +0,0 @@
1
- require 'resque/pool/tasks'
2
-
3
- # This provides access to the Rails env within all Resque workers
4
- task 'resque:setup' => :environment
5
-
6
- # Set up resque-pool
7
- task 'resque:pool:setup' do
8
- ActiveRecord::Base.connection.disconnect!
9
- Resque::Pool.after_prefork do |job|
10
- ActiveRecord::Base.establish_connection
11
- Resque.redis.client.reconnect
12
- end
13
- end
@@ -1,8 +0,0 @@
1
- namespace :curation_concerns do
2
- namespace :solr do
3
- desc "Enqueue a job to resolrize the repository objects"
4
- task reindex: :environment do
5
- CurationConcerns.queue.push(ResolrizeJob.new)
6
- end
7
- end
8
- end