sufia 4.0.0.beta2 → 4.0.0.beta3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (335) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -0
  3. data/README.md +6 -4
  4. data/SUFIA_VERSION +1 -1
  5. data/app/assets/images/folder.png +0 -0
  6. data/app/assets/javascripts/sufia.js +5 -0
  7. data/app/assets/javascripts/sufia/app.js +1 -0
  8. data/app/assets/javascripts/sufia/batch_select_all.js +1 -2
  9. data/app/assets/javascripts/sufia/dashboard_actions.js +13 -0
  10. data/app/assets/javascripts/sufia/editor.js +1 -1
  11. data/app/assets/javascripts/sufia/ga_events.js +10 -0
  12. data/app/assets/javascripts/sufia/search.js +67 -0
  13. data/app/assets/stylesheets/dashboard.css.scss +15 -1
  14. data/app/assets/stylesheets/sufia.css.scss +12 -0
  15. data/app/controllers/authorities_controller.rb +4 -4
  16. data/app/controllers/batch_controller.rb +4 -4
  17. data/app/controllers/collections_controller.rb +44 -0
  18. data/{lib → app/controllers/concerns}/sufia/batch_edits_controller_behavior.rb +1 -1
  19. data/app/controllers/concerns/sufia/catalog.rb +9 -45
  20. data/{lib → app/controllers/concerns}/sufia/controller.rb +11 -21
  21. data/app/controllers/concerns/sufia/dashboard_controller_behavior.rb +34 -6
  22. data/{lib → app/controllers/concerns}/sufia/downloads_controller_behavior.rb +0 -0
  23. data/app/controllers/concerns/sufia/files_controller/browse_everything.rb +35 -0
  24. data/{lib → app/controllers/concerns}/sufia/files_controller/local_ingest_behavior.rb +19 -7
  25. data/{lib → app/controllers/concerns}/sufia/files_controller/upload_complete_behavior.rb +1 -1
  26. data/app/controllers/concerns/sufia/files_controller_behavior.rb +219 -0
  27. data/app/controllers/concerns/sufia/homepage_controller.rb +41 -0
  28. data/app/controllers/concerns/sufia/users_controller_behavior.rb +3 -2
  29. data/app/controllers/dashboard/collections_controller.rb +19 -0
  30. data/app/controllers/dashboard/files_controller.rb +13 -0
  31. data/app/controllers/dashboard/highlights_controller.rb +20 -0
  32. data/app/controllers/dashboard/lists_controller.rb +13 -0
  33. data/app/controllers/dashboard/shares_controller.rb +19 -0
  34. data/app/controllers/directory_controller.rb +8 -8
  35. data/app/controllers/featured_work_lists_controller.rb +1 -1
  36. data/app/controllers/homepage_controller.rb +4 -0
  37. data/app/controllers/single_use_links_controller.rb +6 -6
  38. data/app/controllers/single_use_links_viewer_controller.rb +6 -6
  39. data/app/controllers/static_controller.rb +4 -3
  40. data/app/helpers/batch_edits_helper.rb +3 -6
  41. data/app/helpers/content_block_helper.rb +7 -2
  42. data/app/helpers/generic_file_helper.rb +33 -39
  43. data/app/helpers/records_helper.rb +4 -0
  44. data/app/helpers/sufia/blacklight_override.rb +11 -0
  45. data/app/helpers/sufia/records_helper_behavior.rb +38 -0
  46. data/app/helpers/sufia/sufia_helper_behavior.rb +109 -0
  47. data/{sufia-models/lib/sufia/models → app/models/concerns/sufia}/solr_document_behavior.rb +6 -1
  48. data/app/models/contact_form.rb +13 -13
  49. data/app/uploaders/tinymce_asset_uploader.rb +2 -2
  50. data/app/views/_controls.html.erb +1 -1
  51. data/app/views/_flash_msg.html.erb +2 -8
  52. data/app/views/_ga.html.erb +4 -0
  53. data/app/views/_user_util_links.html.erb +7 -7
  54. data/app/views/advanced/_advanced_search_facets.html.erb +1 -1
  55. data/app/views/advanced/_advanced_search_fields.html.erb +2 -2
  56. data/app/views/advanced/_advanced_search_form.html.erb +12 -12
  57. data/app/views/batch/_metadata.html.erb +12 -12
  58. data/app/views/batch/_more_metadata.html.erb +1 -2
  59. data/app/views/batch/edit.html.erb +5 -5
  60. data/app/views/batch_edits/_check_all.html.erb +1 -1
  61. data/app/views/batch_edits/_delete_selected.html.erb +2 -3
  62. data/app/views/batch_edits/edit.html.erb +20 -21
  63. data/app/views/catalog/_bookmark_control.html.erb +7 -8
  64. data/app/views/catalog/_constraints_element.html.erb +2 -2
  65. data/app/views/catalog/_delete_partials/_default.html.erb +9 -12
  66. data/app/views/catalog/_document.html.erb +5 -5
  67. data/app/views/catalog/_document_list.html.erb +2 -2
  68. data/app/views/catalog/_edit_partials/_default.html.erb +6 -9
  69. data/app/views/catalog/_edit_partials/_default_details.html.erb +2 -4
  70. data/app/views/catalog/_email_form.html.erb +1 -1
  71. data/app/views/catalog/_facet_limit.html.erb +6 -7
  72. data/app/views/catalog/_facet_selected.html.erb +3 -3
  73. data/app/views/catalog/_folder_control.html.erb +7 -8
  74. data/app/views/catalog/_index_default.html.erb +2 -2
  75. data/app/views/catalog/_index_header_default.html.erb +20 -0
  76. data/app/views/catalog/_index_partials/_default_group.html.erb +1 -1
  77. data/app/views/catalog/_index_partials/_list_files.html.erb +5 -2
  78. data/app/views/catalog/_refworks_form.html.erb +2 -2
  79. data/app/views/catalog/_results_pagination.html.erb +1 -1
  80. data/app/views/catalog/_search_form.html.erb +24 -9
  81. data/app/views/catalog/_show_default.html.erb +2 -2
  82. data/app/views/catalog/_show_partials/_default.html.erb +4 -5
  83. data/app/views/catalog/_show_partials/_default_details.html.erb +5 -5
  84. data/app/views/catalog/_show_partials/_facets.html.erb +7 -7
  85. data/app/views/catalog/_show_tools.html.erb +6 -6
  86. data/app/views/catalog/_sms_form.html.erb +1 -1
  87. data/app/views/catalog/_sort_and_per_page.html.erb +8 -14
  88. data/app/views/catalog/citation.html.erb +1 -1
  89. data/app/views/catalog/email.erb +1 -1
  90. data/app/views/catalog/index.html.erb +16 -27
  91. data/app/views/catalog/recent.js.erb +1 -1
  92. data/app/views/catalog/show.html.erb +2 -2
  93. data/app/views/catalog/sms.erb +1 -1
  94. data/app/views/collections/_action_menu.html.erb +24 -0
  95. data/app/views/collections/_batch_edits_actions.html.erb +3 -0
  96. data/app/views/collections/_button_for_creating_empty_collection.html.erb +3 -0
  97. data/app/views/collections/_dashboard_document_list.html.erb +6 -0
  98. data/app/views/collections/_document_list.html.erb +10 -0
  99. data/app/views/collections/_edit_actions.html.erb +5 -0
  100. data/app/views/collections/_edit_descriptions.html.erb +20 -0
  101. data/app/views/collections/_form.html.erb +24 -0
  102. data/app/views/collections/_form_for_select_collection.html.erb +34 -0
  103. data/app/views/collections/_media_display.html.erb +1 -0
  104. data/app/views/collections/_paginate.html.erb +6 -0
  105. data/app/views/collections/_search_collection_dashboard_form.html.erb +10 -0
  106. data/app/views/collections/_show_actions.html.erb +7 -0
  107. data/app/views/collections/_show_descriptions.html.erb +8 -0
  108. data/app/views/collections/_show_fields.html.erb +0 -0
  109. data/app/views/collections/_single_item_action_fields.html.erb +6 -0
  110. data/app/views/collections/_sort_and_per_page.html.erb +29 -0
  111. data/app/views/collections/_view_type_group.html.erb +13 -0
  112. data/app/views/collections/edit.html.erb +30 -0
  113. data/app/views/collections/show.html.erb +32 -0
  114. data/app/views/contact_form/new.html.erb +13 -13
  115. data/app/views/dashboard/_action_menu.html.erb +29 -0
  116. data/app/views/dashboard/_collection_action_menu.html.erb +15 -0
  117. data/app/views/dashboard/_document_list.html.erb +1 -1
  118. data/app/views/dashboard/_facet_limit.html.erb +2 -2
  119. data/app/views/dashboard/_facet_pagination.html.erb +12 -12
  120. data/app/views/dashboard/_facet_selected.html.erb +2 -2
  121. data/app/views/dashboard/_facets.html.erb +2 -0
  122. data/app/views/dashboard/_index_partials/_default_group.html.erb +9 -2
  123. data/app/views/dashboard/_index_partials/_list_collections.html.erb +45 -0
  124. data/app/views/dashboard/_index_partials/_list_files.html.erb +5 -25
  125. data/app/views/dashboard/_results_pagination.html.erb +1 -1
  126. data/app/views/dashboard/_search_form.html.erb +2 -2
  127. data/app/views/dashboard/_show_partials/_default.html.erb +3 -3
  128. data/app/views/dashboard/_show_partials/_default_details.html.erb +5 -5
  129. data/app/views/dashboard/_show_partials/_facets.html.erb +6 -6
  130. data/app/views/dashboard/_sort_and_per_page.html.erb +24 -8
  131. data/app/views/dashboard/facet.html.erb +3 -3
  132. data/app/views/dashboard/index.html.erb +18 -41
  133. data/app/views/dashboard/lists/index.html.erb +59 -0
  134. data/app/views/generic_files/_breadcrumbs.html.erb +4 -4
  135. data/app/views/generic_files/_descriptions.html.erb +4 -4
  136. data/app/views/generic_files/_field_form.html.erb +5 -5
  137. data/app/views/generic_files/_flot_stats.js.erb +120 -0
  138. data/app/views/generic_files/_media_display.html.erb +14 -4
  139. data/app/views/generic_files/_permission.html.erb +3 -3
  140. data/app/views/generic_files/_permission_form.html.erb +20 -21
  141. data/app/views/generic_files/_show_actions.html.erb +13 -10
  142. data/app/views/generic_files/_show_details.html.erb +16 -9
  143. data/app/views/generic_files/_versioning.html.erb +3 -3
  144. data/app/views/generic_files/edit.html.erb +7 -7
  145. data/app/views/generic_files/edit_fields/_default.html.erb +3 -4
  146. data/app/views/generic_files/edit_fields/_description.html.erb +3 -4
  147. data/app/views/generic_files/edit_fields/_resource_type.html.erb +1 -3
  148. data/app/views/generic_files/edit_fields/_rights.html.erb +3 -5
  149. data/app/views/generic_files/edit_fields/_suffix.html.erb +1 -1
  150. data/app/views/generic_files/show.html.erb +3 -3
  151. data/app/views/generic_files/stats.html.erb +8 -124
  152. data/app/views/generic_files/upload/_alerts.html.erb +2 -4
  153. data/app/views/generic_files/upload/_form.html.erb +1 -1
  154. data/app/views/generic_files/upload/_local_file_import_chooser.html.erb +1 -1
  155. data/app/views/generic_files/upload/_tos_checkbox.html.erb +1 -1
  156. data/app/views/homepage/_featured.html.erb +3 -1
  157. data/app/views/{catalog → homepage}/_featured_researcher.html.erb +0 -0
  158. data/app/views/{catalog → homepage}/_home.html.erb +1 -0
  159. data/app/views/{catalog → homepage}/_home_content.html.erb +4 -4
  160. data/app/views/homepage/_home_header.html.erb +12 -0
  161. data/app/views/homepage/_marketing.html.erb +4 -0
  162. data/app/views/{catalog → homepage}/_recent_document.html.erb +10 -5
  163. data/app/views/homepage/_recents.html.erb +15 -0
  164. data/app/views/homepage/_sortable_featured.html.erb +3 -1
  165. data/app/views/{catalog → homepage}/_tagcloud.html.erb +0 -0
  166. data/app/views/homepage/index.html.erb +1 -0
  167. data/app/views/kaminari/blacklight/_first_page.html.erb +1 -1
  168. data/app/views/kaminari/blacklight/_last_page.html.erb +1 -1
  169. data/app/views/kaminari/blacklight/_next_page.html.erb +1 -1
  170. data/app/views/kaminari/blacklight/_page.html.erb +1 -1
  171. data/app/views/kaminari/blacklight/_prev_page.html.erb +1 -1
  172. data/app/views/layouts/_head_tag_content.html.erb +1 -1
  173. data/app/views/layouts/error.html.erb +2 -2
  174. data/app/views/layouts/homepage.html.erb +4 -4
  175. data/app/views/layouts/sufia-dashboard.html.erb +7 -7
  176. data/app/views/layouts/sufia-one-column.html.erb +4 -4
  177. data/app/views/layouts/sufia-two-column.html.erb +7 -7
  178. data/app/views/mailbox/index.html.erb +2 -2
  179. data/app/views/pages/show.html.erb +1 -0
  180. data/app/views/records/_edit_field.html.erb +18 -0
  181. data/app/views/records/edit_fields/_description.html.erb +10 -0
  182. data/app/views/records/edit_fields/_resource_type.html.erb +7 -0
  183. data/app/views/records/edit_fields/_rights.html.erb +6 -0
  184. data/app/views/records/edit_fields/_suffix.html.erb +9 -0
  185. data/app/views/records/edit_fields/_type.html.erb +13 -0
  186. data/app/views/single_use_links/new_download.html.erb +1 -1
  187. data/app/views/users/_activity.html.erb +1 -1
  188. data/app/views/users/_contributions.html.erb +3 -1
  189. data/app/views/users/_left_sidebar.html.erb +1 -1
  190. data/app/views/users/_notify_link.html.erb +2 -2
  191. data/app/views/users/_profile.html.erb +2 -2
  192. data/app/views/users/_search_form.html.erb +3 -3
  193. data/app/views/users/edit.html.erb +15 -15
  194. data/app/views/users/index.html.erb +3 -3
  195. data/app/views/users/notifications_number.js.erb +1 -1
  196. data/config/locales/sufia.en.yml +13 -2
  197. data/config/routes.rb +56 -20
  198. data/db/seeds.rb +2 -2
  199. data/lib/generators/sufia/sufia_generator.rb +14 -4
  200. data/lib/generators/sufia/templates/catalog_controller.rb +98 -97
  201. data/lib/generators/sufia/templates/sufia_helper.rb +5 -0
  202. data/lib/sufia.rb +4 -0
  203. data/spec/{models/generic_file/actions_spec.rb → actors/generic_file/actor_spec.rb} +2 -2
  204. data/spec/controllers/authorities_controller_spec.rb +7 -7
  205. data/spec/controllers/batch_controller_spec.rb +22 -23
  206. data/spec/controllers/batch_edits_controller_spec.rb +4 -4
  207. data/spec/controllers/catalog_controller_spec.rb +27 -37
  208. data/spec/controllers/collections_controller_spec.rb +179 -0
  209. data/spec/controllers/dashboard/collections_controller_spec.rb +71 -0
  210. data/spec/controllers/dashboard/files_controller_spec.rb +71 -0
  211. data/spec/controllers/dashboard/highlights_controller_spec.rb +66 -0
  212. data/spec/controllers/dashboard/shares_controller_spec.rb +78 -0
  213. data/spec/controllers/dashboard_controller_spec.rb +0 -47
  214. data/spec/controllers/downloads_controller_spec.rb +10 -11
  215. data/spec/controllers/generic_files_controller_spec.rb +147 -118
  216. data/spec/controllers/homepage_controller_spec.rb +57 -0
  217. data/spec/controllers/mailbox_controller_spec.rb +3 -3
  218. data/spec/controllers/single_use_links_viewer_controller_spec.rb +3 -3
  219. data/spec/factories/generic_files.rb +4 -0
  220. data/spec/factories/users.rb +0 -1
  221. data/spec/features/browse_dashboard_files_spec.rb +5 -1
  222. data/spec/features/collection_spec.rb +232 -0
  223. data/spec/features/display_dashboard_spec.rb +1 -0
  224. data/spec/features/notifications_spec.rb +1 -1
  225. data/spec/features/search_spec.rb +22 -0
  226. data/spec/features/single_use_links_spec.rb +2 -2
  227. data/spec/features/users_spec.rb +1 -1
  228. data/spec/fixtures/charter.docx +0 -0
  229. data/spec/helpers/records_helper_spec.rb +61 -0
  230. data/spec/helpers/sufia_helper_spec.rb +40 -2
  231. data/spec/{models → jobs}/active_fedora_pid_based_job_spec.rb +0 -0
  232. data/spec/{models → jobs}/audit_job_spec.rb +0 -2
  233. data/spec/{models → jobs}/batch_update_job_spec.rb +2 -2
  234. data/spec/jobs/characterize_job_spec.rb +25 -0
  235. data/spec/jobs/create_derivatives_job_spec.rb +186 -0
  236. data/spec/{models → jobs}/event_jobs_spec.rb +0 -1
  237. data/spec/jobs/import_url_job_spec.rb +36 -14
  238. data/spec/jobs/ingest_local_file_job_spec.rb +2 -2
  239. data/spec/lib/sufia/analytics_spec.rb +29 -0
  240. data/spec/lib/sufia/upload_complete_behavior_spec.rb +1 -1
  241. data/spec/models/batch_spec.rb +3 -9
  242. data/spec/models/checksum_audit_log_spec.rb +5 -6
  243. data/spec/models/collection_spec.rb +24 -0
  244. data/spec/models/download_spec.rb +21 -0
  245. data/spec/models/featured_work_list_spec.rb +0 -1
  246. data/spec/models/file_content_datastream_spec.rb +8 -14
  247. data/spec/models/file_usage_spec.rb +91 -0
  248. data/spec/models/fits_datastream_spec.rb +1 -1
  249. data/spec/models/generic_file/web_form_spec.rb +2 -2
  250. data/spec/models/generic_file_rdf_datastream_spec.rb +12 -0
  251. data/spec/models/generic_file_spec.rb +150 -168
  252. data/spec/models/local_authority_spec.rb +9 -9
  253. data/spec/models/{pageview.rb → pageview_spec.rb} +0 -0
  254. data/spec/models/single_use_link_spec.rb +32 -35
  255. data/spec/routing/route_spec.rb +19 -3
  256. data/spec/spec_helper.rb +28 -6
  257. data/spec/support/features/session_helpers.rb +5 -6
  258. data/spec/support/lib/generators/test_app_generator.rb +6 -0
  259. data/spec/views/generic_file/edit.html.erb_spec.rb +4 -4
  260. data/spec/views/generic_file/show.html.erb_spec.rb +45 -17
  261. data/spec/views/generic_file/stats.html.erb_spec.rb +26 -7
  262. data/sufia-models/app/actors/sufia/generic_file/actor.rb +98 -0
  263. data/sufia-models/app/models/batch.rb +3 -3
  264. data/sufia-models/app/models/checksum_audit_log.rb +3 -3
  265. data/sufia-models/app/models/collection.rb +41 -0
  266. data/sufia-models/{lib/sufia/models → app/models/concerns/sufia}/generic_file.rb +33 -43
  267. data/sufia-models/{lib/sufia/models → app/models/concerns/sufia}/generic_file/accessible_attributes.rb +3 -3
  268. data/sufia-models/{lib/sufia/models → app/models/concerns/sufia}/generic_file/audit.rb +12 -18
  269. data/sufia-models/{lib/sufia/models → app/models/concerns/sufia}/generic_file/characterization.rb +1 -8
  270. data/sufia-models/app/models/concerns/sufia/generic_file/derivatives.rb +26 -0
  271. data/sufia-models/{lib/sufia/models → app/models/concerns/sufia}/generic_file/export.rb +13 -13
  272. data/sufia-models/{lib/sufia/models → app/models/concerns/sufia}/generic_file/featured.rb +0 -0
  273. data/sufia-models/{lib/sufia/models → app/models/concerns/sufia}/generic_file/metadata.rb +0 -0
  274. data/sufia-models/{lib/sufia/models → app/models/concerns/sufia}/generic_file/mime_types.rb +15 -1
  275. data/sufia-models/{lib/sufia/models → app/models/concerns/sufia}/generic_file/permissions.rb +5 -1
  276. data/sufia-models/{lib/sufia/models → app/models/concerns/sufia}/generic_file/reload_on_save.rb +0 -0
  277. data/sufia-models/{lib/sufia/models → app/models/concerns/sufia}/generic_file/trophies.rb +0 -0
  278. data/sufia-models/app/models/concerns/sufia/generic_file/versions.rb +16 -0
  279. data/sufia-models/{lib/sufia/models → app/models/concerns/sufia}/generic_file/virus_check.rb +2 -3
  280. data/sufia-models/{lib/sufia/models → app/models/concerns/sufia}/generic_file/web_form.rb +9 -2
  281. data/sufia-models/app/models/concerns/sufia/properties_datastream_behavior.rb +3 -4
  282. data/sufia-models/app/models/concerns/sufia/user.rb +2 -2
  283. data/sufia-models/app/models/datastreams/fits_datastream.rb +137 -136
  284. data/sufia-models/app/models/datastreams/generic_file_rdf_datastream.rb +6 -0
  285. data/sufia-models/app/models/datastreams/paranoid_rights_datastream.rb +3 -3
  286. data/sufia-models/app/models/file_usage.rb +53 -0
  287. data/sufia-models/app/models/follow.rb +2 -4
  288. data/sufia-models/app/models/geo_names_resource.rb +5 -7
  289. data/sufia-models/app/models/local_authority.rb +14 -14
  290. data/sufia-models/app/models/single_use_link.rb +1 -1
  291. data/sufia-models/app/models/sufia/download.rb +9 -0
  292. data/sufia-models/app/models/trophy.rb +1 -1
  293. data/sufia-models/app/services/sufia/{usage_statistics.rb → analytics.rb} +1 -24
  294. data/sufia-models/app/services/sufia/id_service.rb +2 -2
  295. data/sufia-models/lib/generators/sufia/models/install_generator.rb +5 -2
  296. data/sufia-models/lib/generators/sufia/models/templates/config/setup_mail.rb +1 -1
  297. data/sufia-models/lib/generators/sufia/models/templates/config/sufia.rb +5 -3
  298. data/sufia-models/lib/generators/sufia/models/templates/migrations/acts_as_follower_migration.rb +6 -6
  299. data/sufia-models/lib/generators/sufia/models/templates/migrations/create_checksum_audit_logs.rb +2 -3
  300. data/sufia-models/lib/generators/sufia/models/templates/migrations/create_local_authorities.rb +20 -20
  301. data/sufia-models/lib/sufia/ability.rb +1 -1
  302. data/sufia-models/lib/sufia/models/engine.rb +3 -9
  303. data/sufia-models/lib/sufia/models/file_content/versions.rb +3 -3
  304. data/sufia-models/lib/sufia/models/jobs/active_fedora_pid_based_job.rb +6 -2
  305. data/sufia-models/lib/sufia/models/jobs/batch_update_job.rb +6 -10
  306. data/sufia-models/lib/sufia/models/jobs/characterize_job.rb +1 -13
  307. data/sufia-models/lib/sufia/models/jobs/create_derivatives_job.rb +14 -0
  308. data/sufia-models/lib/sufia/models/jobs/import_url_job.rb +27 -23
  309. data/sufia-models/lib/tasks/sufia-models_tasks.rake +1 -1
  310. data/sufia-models/sufia-models.gemspec +1 -1
  311. data/sufia.gemspec +7 -2
  312. data/tasks/jetty.rake +4 -4
  313. data/tasks/release.rake +8 -8
  314. data/tasks/sufia-db.rake +4 -4
  315. data/tasks/sufia-dev.rake +11 -5
  316. metadata +226 -95
  317. data/app/helpers/sufia_helper.rb +0 -93
  318. data/app/views/catalog/_bookmark_form.html.erb +0 -8
  319. data/app/views/catalog/_home_header.html.erb +0 -15
  320. data/app/views/catalog/_recents.html.erb +0 -17
  321. data/app/views/dashboard/_index_partials/_thumbnail_display.html.erb +0 -9
  322. data/app/views/layouts/_homepage_sidebar2.html.erb +0 -14
  323. data/lib/sufia/files_controller_behavior.rb +0 -253
  324. data/spec/helpers/generic_file_helper_spec.rb +0 -28
  325. data/spec/lib/sufia/usage_statistics_spec.rb +0 -75
  326. data/spec/models/characterize_job_spec.rb +0 -93
  327. data/spec/models/transcode_audio_job_spec.rb +0 -85
  328. data/spec/models/transcode_video_job_spec.rb +0 -31
  329. data/spec/views/dashboard/index_partials/_thumbnail_display.html.erb_spec.rb +0 -22
  330. data/sufia-models/lib/sufia/models/generic_file/actions.rb +0 -50
  331. data/sufia-models/lib/sufia/models/generic_file/derivatives.rb +0 -31
  332. data/sufia-models/lib/sufia/models/generic_file/thumbnail.rb +0 -37
  333. data/sufia-models/lib/sufia/models/generic_file/versions.rb +0 -16
  334. data/sufia-models/lib/sufia/models/jobs/transcode_audio_job.rb +0 -15
  335. data/sufia-models/lib/sufia/models/jobs/transcode_video_job.rb +0 -15
@@ -23,6 +23,7 @@ module Sufia
23
23
  config.enable_contact_form_delivery = false
24
24
  config.browse_everything = nil
25
25
  config.enable_local_ingest = nil
26
+ config.usage_statistics = nil
26
27
  config.queue = Sufia::Resque::Queue
27
28
 
28
29
  config.autoload_paths += %W(
@@ -46,19 +47,12 @@ module Sufia
46
47
  require 'sufia/models/model_methods'
47
48
  require 'sufia/models/file_content'
48
49
  require 'sufia/models/file_content/versions'
49
- require 'sufia/models/generic_file/audit'
50
- require 'sufia/models/generic_file/characterization'
51
- require 'sufia/models/generic_file/derivatives'
52
- require 'sufia/models/generic_file/export'
53
- require 'sufia/models/generic_file/mime_types'
54
- require 'sufia/models/generic_file/thumbnail'
55
- require 'sufia/models/generic_file'
56
50
  require 'sufia/models/user_local_directory_behavior'
57
- require 'sufia/models/solr_document_behavior'
58
51
  require 'sufia/noid'
59
52
  require 'sufia/id_service'
60
- require 'sufia/usage_statistics'
53
+ require 'sufia/analytics'
61
54
  require 'sufia/pageview'
55
+ require 'sufia/download'
62
56
  end
63
57
 
64
58
  initializer 'configure' do
@@ -10,9 +10,9 @@ module Sufia
10
10
  end
11
11
 
12
12
  def version_committer(version)
13
- vc = VersionCommitter.where(:obj_id => version.pid,
14
- :datastream_id => version.dsid,
15
- :version_id => version.versionID)
13
+ vc = VersionCommitter.where(obj_id: version.pid,
14
+ datastream_id: version.dsid,
15
+ version_id: version.versionID)
16
16
  return vc.empty? ? nil : vc.first.committer_login
17
17
  end
18
18
 
@@ -4,11 +4,15 @@ class ActiveFedoraPidBasedJob
4
4
  end
5
5
 
6
6
  attr_accessor :pid
7
+
7
8
  def initialize(pid)
8
9
  self.pid = pid
9
10
  end
11
+
10
12
  def object
11
- @object ||= ActiveFedora::Base.find(pid, cast:true).tap{|f| f.reload_on_save = true}
13
+ @object ||= ActiveFedora::Base.find(pid, cast: true).tap do |f|
14
+ f.reload_on_save = true
15
+ end
12
16
  end
13
17
  alias_method :generic_file, :object
14
18
  alias_method :generic_file_id, :pid
@@ -16,4 +20,4 @@ class ActiveFedoraPidBasedJob
16
20
  def run
17
21
  raise RuntimeError, "Define #run in a subclass"
18
22
  end
19
- end
23
+ end
@@ -1,6 +1,6 @@
1
1
  class BatchUpdateJob
2
2
  include Hydra::PermissionsQuery
3
- include Rails.application.routes.url_helpers
3
+ include Rails.application.routes.url_helpers
4
4
 
5
5
  def queue_name
6
6
  :batch_update
@@ -14,7 +14,6 @@ class BatchUpdateJob
14
14
  self.file_attributes = params[:generic_file]
15
15
  self.visibility = params[:visibility]
16
16
  self.batch_id = params[:id]
17
-
18
17
  end
19
18
 
20
19
  def run
@@ -27,15 +26,14 @@ class BatchUpdateJob
27
26
  update_file(gf, user)
28
27
  end
29
28
  batch.update_attributes({status:["Complete"]})
30
-
29
+
31
30
  job_user = User.batchuser()
32
-
31
+
33
32
  message = '<span class="batchid ui-helper-hidden">ss-'+batch.noid+'</span>The file(s) '+ file_list(@saved)+ " have been saved." unless @saved.empty?
34
33
  job_user.send_message(user, message, 'Batch upload complete') unless @saved.empty?
35
-
34
+
36
35
  message = '<span class="batchid ui-helper-hidden">'+batch.noid+'</span>The file(s) '+ file_list(@denied)+" could not be updated. You do not have sufficient privileges to edit it." unless @denied.empty?
37
36
  job_user.send_message(user, message, 'Batch upload permission denied') unless @denied.empty?
38
-
39
37
  end
40
38
 
41
39
  def update_file(gf, user)
@@ -62,10 +60,8 @@ class BatchUpdateJob
62
60
  Sufia.queue.push(ContentUpdateEventJob.new(gf.pid, login))
63
61
  @saved << gf
64
62
  end
65
-
63
+
66
64
  def file_list ( files)
67
- return files.map {|gf| '<a href="'+Sufia::Engine.routes.url_helpers.generic_files_path+'/'+gf.noid+'">'+gf.to_s+'</a>'}.join(', ')
68
-
65
+ files.map { |gf| '<a href="'+Sufia::Engine.routes.url_helpers.generic_files_path+'/'+gf.noid+'">'+gf.to_s+'</a>' }.join(', ')
69
66
  end
70
-
71
67
  end
@@ -1,22 +1,10 @@
1
1
  class CharacterizeJob < ActiveFedoraPidBasedJob
2
-
3
2
  def queue_name
4
3
  :characterize
5
4
  end
6
5
 
7
6
  def run
8
7
  generic_file.characterize
9
- after_characterize
10
- end
11
-
12
- def after_characterize
13
- if generic_file.pdf? || generic_file.image? || generic_file.video?
14
- generic_file.create_thumbnail
15
- end
16
- if generic_file.video?
17
- Sufia.queue.push(TranscodeVideoJob.new(generic_file_id))
18
- elsif generic_file.audio?
19
- Sufia.queue.push(TranscodeAudioJob.new(generic_file_id))
20
- end
8
+ Sufia.queue.push(CreateDerivativesJob.new(generic_file.id))
21
9
  end
22
10
  end
@@ -0,0 +1,14 @@
1
+ class CreateDerivativesJob < ActiveFedoraPidBasedJob
2
+ def queue_name
3
+ :derivatives
4
+ end
5
+
6
+ def run
7
+ return unless generic_file.content.has_content?
8
+ if generic_file.video?
9
+ return unless Sufia.config.enable_ffmpeg
10
+ end
11
+ generic_file.create_derivatives
12
+ generic_file.save
13
+ end
14
+ end
@@ -12,32 +12,36 @@ class ImportUrlJob < ActiveFedoraPidBasedJob
12
12
  user = User.find_by_user_key(generic_file.depositor)
13
13
 
14
14
  Tempfile.open(self.pid) do |f|
15
- f.binmode
16
-
17
- # download file from url
18
- uri = URI(generic_file.import_url)
19
- http = Net::HTTP.new(uri.host, uri.port)
20
- http.use_ssl = uri.scheme == "https" # enable SSL/TLS
21
- http.verify_mode = OpenSSL::SSL::VERIFY_NONE
22
-
23
- http.start do
24
- http.request_get(uri.request_uri) do |resp|
25
- resp.read_body do |segment|
26
- f.write(segment)
27
- end
28
- end
15
+ path = copy_remote_file(generic_file.import_url, f)
16
+ # attach downloaded file to generic file stubbed out
17
+ if Sufia::GenericFile::Actor.new(generic_file, user).create_content(f, path, 'content')
18
+ # add message to user for downloaded file
19
+ message = "The file (#{File.basename(path)}) was successfully imported."
20
+ job_user.send_message(user, message, 'File Import')
21
+ else
22
+ job_user.send_message(user, generic_file.errors.full_messages.join(', '), 'File Import Error')
29
23
  end
24
+ end
25
+ end
30
26
 
31
- f.rewind
32
- # attach downloaded file to generic file stubbed out
33
- Sufia::GenericFile::Actions.create_content(generic_file, f, File.basename(uri.path), 'content', user)
34
- Sufia.queue.push(ContentDepositEventJob.new(generic_file.pid, generic_file.depositor))
35
- # add message to user for downloaded file
36
- message = "The file (#{File.basename(uri.path)}) was successfully imported."
37
- job_user.send_message(user, message, 'File Import')
27
+ def copy_remote_file(import_url, f)
28
+ f.binmode
29
+ # download file from url
30
+ uri = URI(generic_file.import_url)
31
+ http = Net::HTTP.new(uri.host, uri.port)
32
+ http.use_ssl = uri.scheme == "https" # enable SSL/TLS
33
+ http.verify_mode = OpenSSL::SSL::VERIFY_NONE
34
+
35
+ http.start do
36
+ http.request_get(uri.request_uri) do |resp|
37
+ resp.read_body do |segment|
38
+ f.write(segment)
39
+ end
40
+ end
38
41
  end
39
- rescue => error
40
- job_user.send_message(user, error.message, 'File Import Error')
42
+
43
+ f.rewind
44
+ uri.path
41
45
  end
42
46
 
43
47
  def job_user
@@ -1,7 +1,7 @@
1
1
  namespace :solr do
2
2
 
3
3
  desc "Enqueue a job to resolrize the repository objects"
4
- task :reindex => :environment do
4
+ task reindex: :environment do
5
5
  Sufia.queue.push(ResolrizeJob.new)
6
6
  end
7
7
  end
@@ -37,7 +37,7 @@ Gem::Specification.new do |spec|
37
37
  spec.add_dependency 'mailboxer', '~> 0.12.0.rc1'
38
38
  spec.add_dependency 'acts_as_follower', '>= 0.1.1', '< 0.3'
39
39
  spec.add_dependency 'carrierwave', '~> 0.9.0'
40
- spec.add_dependency 'hydra-derivatives', '~> 0.0.5'
40
+ spec.add_dependency 'hydra-derivatives', '~> 0.1'
41
41
  spec.add_dependency 'oauth2', '~> 0.9.3'
42
42
  spec.add_dependency 'google-api-client', '~> 0.7.1'
43
43
  spec.add_dependency 'legato', '~> 0.3.0'
@@ -2,8 +2,8 @@
2
2
  version = File.read(File.expand_path("../SUFIA_VERSION",__FILE__)).strip
3
3
 
4
4
  Gem::Specification.new do |gem|
5
- gem.authors = ["Justin Coyne"]
6
- gem.email = ["justin.coyne@yourmediashelf.com"]
5
+ gem.authors = ["Justin Coyne", 'Michael J. Giarlo']
6
+ gem.email = ["justin@curationexperts.com", 'leftwing@alumni.rutgers.edu']
7
7
  gem.description = %q{Sufia is a Rails engine for creating a self-deposit institutional repository}
8
8
  gem.summary = %q{Sufia was extracted from ScholarSphere developed by Penn State University}
9
9
  gem.homepage = "http://github.com/projecthydra/sufia"
@@ -36,4 +36,9 @@ Gem::Specification.new do |gem|
36
36
  gem.add_dependency 'rails_autolink', '~> 1.1.0'
37
37
  gem.add_dependency 'yaml_db', '0.2.3'
38
38
  gem.add_dependency 'font-awesome-sass-rails', '~> 3.0'
39
+ gem.add_dependency 'hydra-editor'
40
+ gem.add_dependency 'hydra-collections', '~> 2.0.2'
41
+ gem.add_dependency 'bootstrap_form', '~> 2.1.1'
42
+ gem.add_dependency 'blacklight-gallery'
43
+
39
44
  end
@@ -8,8 +8,8 @@ namespace :jetty do
8
8
  desc "Copies the contents of solr_conf into the Solr development-core and test-core of Testing Server"
9
9
  task :config_solr do
10
10
  FileList['solr_conf/conf/*'].each do |f|
11
- cp("#{f}", 'jetty/solr/development-core/conf/', :verbose => true)
12
- cp("#{f}", 'jetty/solr/test-core/conf/', :verbose => true)
11
+ cp("#{f}", 'jetty/solr/development-core/conf/', verbose: true)
12
+ cp("#{f}", 'jetty/solr/test-core/conf/', verbose: true)
13
13
  end
14
14
  end
15
15
 
@@ -25,14 +25,14 @@ namespace :jetty do
25
25
  fcfg = File.join(app_root,"fedora_conf","conf","development","fedora.fcfg")
26
26
  if File.exists?(fcfg)
27
27
  puts "copying over development/fedora.fcfg"
28
- cp("#{fcfg}", 'jetty/fedora/default/server/config/', :verbose => true)
28
+ cp("#{fcfg}", 'jetty/fedora/default/server/config/', verbose: true)
29
29
  else
30
30
  puts "#{fcfg} file not found -- skipping fedora config"
31
31
  end
32
32
  fcfg = File.join(app_root,"fedora_conf","conf","test","fedora.fcfg")
33
33
  if File.exists?(fcfg)
34
34
  puts "copying over test/fedora.fcfg"
35
- cp("#{fcfg}", 'jetty/fedora/test/server/config/', :verbose => true)
35
+ cp("#{fcfg}", 'jetty/fedora/test/server/config/', verbose: true)
36
36
  else
37
37
  puts "#{fcfg} file not found -- skipping fedora config"
38
38
  end
@@ -41,14 +41,14 @@ directory 'pkg'
41
41
  sh cmd
42
42
  end
43
43
 
44
- task :build => [:clean, gem]
45
- task :install => :build do
44
+ task build: [:clean, gem]
45
+ task install: :build do
46
46
  sh "gem install #{gem}"
47
47
  end
48
48
 
49
- task :prep_release => [:ensure_clean_state, :build]
49
+ task prep_release: [:ensure_clean_state, :build]
50
50
 
51
- task :push => :build do
51
+ task push: :build do
52
52
  sh "gem push #{gem}"
53
53
  end
54
54
  end
@@ -56,9 +56,9 @@ end
56
56
 
57
57
 
58
58
  namespace :all do
59
- task :build => ['sufia-models:build', 'sufia:build']
60
- task :install => ['sufia-models:install', 'sufia:install']
61
- task :push => ['sufia-models:push', 'sufia:push']
59
+ task build: ['sufia-models:build', 'sufia:build']
60
+ task install: ['sufia-models:install', 'sufia:install']
61
+ task push: ['sufia-models:push', 'sufia:push']
62
62
 
63
63
  task :ensure_clean_state do
64
64
  unless `git status -s | grep -v SUFIA_VERSION | grep -v History.md`.strip.empty?
@@ -88,6 +88,6 @@ namespace :all do
88
88
  end
89
89
 
90
90
  desc "Release both sufia and sufia-models and update the version to #{version} in all locations"
91
- task :release => %w(ensure_clean_state build commit tag push)
91
+ task release: %w(ensure_clean_state build commit tag push)
92
92
  end
93
93
 
@@ -1,21 +1,21 @@
1
1
  namespace :sufia do
2
2
  namespace :db do
3
3
  desc "delete all Generic Files in Fedora and Solr (This may take some time...)."
4
- task :deleteAll => :environment do
4
+ task deleteAll: :environment do
5
5
  unless Rails.env.integration?
6
6
  puts "Warning: this task is only for the integration environment!"
7
7
  next
8
8
  end
9
- GenericFile.find(:all, :rows => GenericFile.count).each(&:delete)
9
+ GenericFile.find(:all, rows: GenericFile.count).each(&:delete)
10
10
  end
11
11
 
12
12
  desc "delete 500 Generic Files from Fedora and Solr."
13
- task :delete500 => :environment do
13
+ task delete500: :environment do
14
14
  unless Rails.env.integration?
15
15
  puts "Warning: this task is only for the integration environment!"
16
16
  next
17
17
  end
18
- GenericFile.find(:all, :rows => 500).each(&:delete)
18
+ GenericFile.find(:all, rows: 500).each(&:delete)
19
19
  end
20
20
  end
21
21
  end
@@ -5,7 +5,7 @@ require 'jettywrapper'
5
5
  #ENV["RAILS_ROOT"] ||= 'spec/internal'
6
6
 
7
7
  desc 'Spin up hydra-jetty and run specs'
8
- task :ci => ['jetty:config'] do
8
+ task ci: ['jetty:config'] do
9
9
  puts 'running continuous integration'
10
10
  jetty_params = Jettywrapper.load_config
11
11
  error = Jettywrapper.wrap(jetty_params) do
@@ -14,7 +14,7 @@ task :ci => ['jetty:config'] do
14
14
  raise "test failures: #{error}" if error
15
15
  end
16
16
 
17
- task :spec => :generate do
17
+ task spec: :generate do
18
18
  Bundler.with_clean_env do
19
19
  within_test_app do
20
20
  Rake::Task['rspec'].invoke
@@ -22,7 +22,6 @@ task :spec => :generate do
22
22
  end
23
23
  end
24
24
 
25
-
26
25
  desc "Run specs"
27
26
  RSpec::Core::RakeTask.new(:rspec) do |t|
28
27
  t.pattern = '../**/*_spec.rb'
@@ -33,7 +32,6 @@ RSpec::Core::RakeTask.new(:rspec) do |t|
33
32
  end
34
33
  end
35
34
 
36
-
37
35
  desc "Create the test rails app"
38
36
  task :generate do
39
37
  unless File.exists?('spec/internal/Rakefile')
@@ -41,9 +39,11 @@ task :generate do
41
39
  `rails new spec/internal`
42
40
  puts "Updating gemfile"
43
41
 
44
- `echo "gem 'sufia', :path=>'../../../sufia'
42
+ `echo "gem 'sufia', path: '../../../sufia'
45
43
  gem 'capybara'
44
+ gem 'database_cleaner'
46
45
  gem 'factory_girl_rails'
46
+ gem 'poltergeist'
47
47
  gem 'kaminari', github: 'harai/kaminari', branch: 'route_prefix_prototype'" >> spec/internal/Gemfile`
48
48
  puts "Copying generator"
49
49
  `cp -r spec/support/lib/generators spec/internal/lib`
@@ -66,6 +66,12 @@ end
66
66
 
67
67
  desc "Clean out the test rails app"
68
68
  task :clean do
69
+ if File.directory?('spec/internal')
70
+ within_test_app do
71
+ puts "Stopping Spring"
72
+ `spring stop`
73
+ end
74
+ end
69
75
  puts "Removing sample rails app"
70
76
  `rm -rf spec/internal`
71
77
  end
metadata CHANGED
@@ -1,14 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sufia
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0.beta2
4
+ version: 4.0.0.beta3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Coyne
8
+ - Michael J. Giarlo
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2014-05-05 00:00:00.000000000 Z
12
+ date: 2014-05-15 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: sufia-models
@@ -16,116 +17,116 @@ dependencies:
16
17
  requirements:
17
18
  - - '='
18
19
  - !ruby/object:Gem::Version
19
- version: 4.0.0.beta2
20
+ version: 4.0.0.beta3
20
21
  type: :runtime
21
22
  prerelease: false
22
23
  version_requirements: !ruby/object:Gem::Requirement
23
24
  requirements:
24
25
  - - '='
25
26
  - !ruby/object:Gem::Version
26
- version: 4.0.0.beta2
27
+ version: 4.0.0.beta3
27
28
  - !ruby/object:Gem::Dependency
28
29
  name: blacklight_advanced_search
29
30
  requirement: !ruby/object:Gem::Requirement
30
31
  requirements:
31
- - - ~>
32
+ - - "~>"
32
33
  - !ruby/object:Gem::Version
33
34
  version: '5.0'
34
35
  type: :runtime
35
36
  prerelease: false
36
37
  version_requirements: !ruby/object:Gem::Requirement
37
38
  requirements:
38
- - - ~>
39
+ - - "~>"
39
40
  - !ruby/object:Gem::Version
40
41
  version: '5.0'
41
42
  - !ruby/object:Gem::Dependency
42
43
  name: blacklight
43
44
  requirement: !ruby/object:Gem::Requirement
44
45
  requirements:
45
- - - ~>
46
+ - - "~>"
46
47
  - !ruby/object:Gem::Version
47
48
  version: '5.0'
48
49
  type: :runtime
49
50
  prerelease: false
50
51
  version_requirements: !ruby/object:Gem::Requirement
51
52
  requirements:
52
- - - ~>
53
+ - - "~>"
53
54
  - !ruby/object:Gem::Version
54
55
  version: '5.0'
55
56
  - !ruby/object:Gem::Dependency
56
57
  name: tinymce-rails
57
58
  requirement: !ruby/object:Gem::Requirement
58
59
  requirements:
59
- - - ~>
60
+ - - "~>"
60
61
  - !ruby/object:Gem::Version
61
62
  version: 4.0.19
62
63
  type: :runtime
63
64
  prerelease: false
64
65
  version_requirements: !ruby/object:Gem::Requirement
65
66
  requirements:
66
- - - ~>
67
+ - - "~>"
67
68
  - !ruby/object:Gem::Version
68
69
  version: 4.0.19
69
70
  - !ruby/object:Gem::Dependency
70
71
  name: tinymce-rails-imageupload
71
72
  requirement: !ruby/object:Gem::Requirement
72
73
  requirements:
73
- - - ~>
74
+ - - "~>"
74
75
  - !ruby/object:Gem::Version
75
76
  version: 4.0.16.beta
76
77
  type: :runtime
77
78
  prerelease: false
78
79
  version_requirements: !ruby/object:Gem::Requirement
79
80
  requirements:
80
- - - ~>
81
+ - - "~>"
81
82
  - !ruby/object:Gem::Version
82
83
  version: 4.0.16.beta
83
84
  - !ruby/object:Gem::Dependency
84
85
  name: sass-rails
85
86
  requirement: !ruby/object:Gem::Requirement
86
87
  requirements:
87
- - - '>='
88
+ - - ">="
88
89
  - !ruby/object:Gem::Version
89
90
  version: '0'
90
91
  type: :runtime
91
92
  prerelease: false
92
93
  version_requirements: !ruby/object:Gem::Requirement
93
94
  requirements:
94
- - - '>='
95
+ - - ">="
95
96
  - !ruby/object:Gem::Version
96
97
  version: '0'
97
98
  - !ruby/object:Gem::Dependency
98
99
  name: hydra-batch-edit
99
100
  requirement: !ruby/object:Gem::Requirement
100
101
  requirements:
101
- - - '>='
102
+ - - ">="
102
103
  - !ruby/object:Gem::Version
103
104
  version: 1.1.1
104
- - - <
105
+ - - "<"
105
106
  - !ruby/object:Gem::Version
106
107
  version: 2.0.0
107
108
  type: :runtime
108
109
  prerelease: false
109
110
  version_requirements: !ruby/object:Gem::Requirement
110
111
  requirements:
111
- - - '>='
112
+ - - ">="
112
113
  - !ruby/object:Gem::Version
113
114
  version: 1.1.1
114
- - - <
115
+ - - "<"
115
116
  - !ruby/object:Gem::Version
116
117
  version: 2.0.0
117
118
  - !ruby/object:Gem::Dependency
118
119
  name: browse-everything
119
120
  requirement: !ruby/object:Gem::Requirement
120
121
  requirements:
121
- - - '>='
122
+ - - ">="
122
123
  - !ruby/object:Gem::Version
123
124
  version: 0.4.0
124
125
  type: :runtime
125
126
  prerelease: false
126
127
  version_requirements: !ruby/object:Gem::Requirement
127
128
  requirements:
128
- - - '>='
129
+ - - ">="
129
130
  - !ruby/object:Gem::Version
130
131
  version: 0.4.0
131
132
  - !ruby/object:Gem::Dependency
@@ -146,28 +147,28 @@ dependencies:
146
147
  name: mail_form
147
148
  requirement: !ruby/object:Gem::Requirement
148
149
  requirements:
149
- - - '>='
150
+ - - ">="
150
151
  - !ruby/object:Gem::Version
151
152
  version: '0'
152
153
  type: :runtime
153
154
  prerelease: false
154
155
  version_requirements: !ruby/object:Gem::Requirement
155
156
  requirements:
156
- - - '>='
157
+ - - ">="
157
158
  - !ruby/object:Gem::Version
158
159
  version: '0'
159
160
  - !ruby/object:Gem::Dependency
160
161
  name: rails_autolink
161
162
  requirement: !ruby/object:Gem::Requirement
162
163
  requirements:
163
- - - ~>
164
+ - - "~>"
164
165
  - !ruby/object:Gem::Version
165
166
  version: 1.1.0
166
167
  type: :runtime
167
168
  prerelease: false
168
169
  version_requirements: !ruby/object:Gem::Requirement
169
170
  requirements:
170
- - - ~>
171
+ - - "~>"
171
172
  - !ruby/object:Gem::Version
172
173
  version: 1.1.0
173
174
  - !ruby/object:Gem::Dependency
@@ -188,28 +189,85 @@ dependencies:
188
189
  name: font-awesome-sass-rails
189
190
  requirement: !ruby/object:Gem::Requirement
190
191
  requirements:
191
- - - ~>
192
+ - - "~>"
192
193
  - !ruby/object:Gem::Version
193
194
  version: '3.0'
194
195
  type: :runtime
195
196
  prerelease: false
196
197
  version_requirements: !ruby/object:Gem::Requirement
197
198
  requirements:
198
- - - ~>
199
+ - - "~>"
199
200
  - !ruby/object:Gem::Version
200
201
  version: '3.0'
202
+ - !ruby/object:Gem::Dependency
203
+ name: hydra-editor
204
+ requirement: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
209
+ type: :runtime
210
+ prerelease: false
211
+ version_requirements: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - ">="
214
+ - !ruby/object:Gem::Version
215
+ version: '0'
216
+ - !ruby/object:Gem::Dependency
217
+ name: hydra-collections
218
+ requirement: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - "~>"
221
+ - !ruby/object:Gem::Version
222
+ version: 2.0.2
223
+ type: :runtime
224
+ prerelease: false
225
+ version_requirements: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - "~>"
228
+ - !ruby/object:Gem::Version
229
+ version: 2.0.2
230
+ - !ruby/object:Gem::Dependency
231
+ name: bootstrap_form
232
+ requirement: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - "~>"
235
+ - !ruby/object:Gem::Version
236
+ version: 2.1.1
237
+ type: :runtime
238
+ prerelease: false
239
+ version_requirements: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - "~>"
242
+ - !ruby/object:Gem::Version
243
+ version: 2.1.1
244
+ - !ruby/object:Gem::Dependency
245
+ name: blacklight-gallery
246
+ requirement: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - ">="
249
+ - !ruby/object:Gem::Version
250
+ version: '0'
251
+ type: :runtime
252
+ prerelease: false
253
+ version_requirements: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - ">="
256
+ - !ruby/object:Gem::Version
257
+ version: '0'
201
258
  description: Sufia is a Rails engine for creating a self-deposit institutional repository
202
259
  email:
203
- - justin.coyne@yourmediashelf.com
260
+ - justin@curationexperts.com
261
+ - leftwing@alumni.rutgers.edu
204
262
  executables:
205
263
  - audit_repository
206
264
  extensions: []
207
265
  extra_rdoc_files: []
208
266
  files:
209
- - .gitignore
210
- - .gitmodules
211
- - .rspec
212
- - .travis.yml
267
+ - ".gitignore"
268
+ - ".gitmodules"
269
+ - ".rspec"
270
+ - ".travis.yml"
213
271
  - CONTRIBUTING.md
214
272
  - Gemfile
215
273
  - History.md
@@ -231,6 +289,7 @@ files:
231
289
  - app/assets/images/blacklight/start_over.gif
232
290
  - app/assets/images/default.png
233
291
  - app/assets/images/favicon.ico
292
+ - app/assets/images/folder.png
234
293
  - app/assets/images/glyphicons-halflings-white.png
235
294
  - app/assets/images/glyphicons-halflings.png
236
295
  - app/assets/images/hydra/powered_by_hydra.png
@@ -282,15 +341,19 @@ files:
282
341
  - app/assets/javascripts/jquery.tagcloud.js
283
342
  - app/assets/javascripts/jquery.tinysort.min.js
284
343
  - app/assets/javascripts/sufia.js
344
+ - app/assets/javascripts/sufia/app.js
285
345
  - app/assets/javascripts/sufia/audio.js
286
346
  - app/assets/javascripts/sufia/batch_edit.js
287
347
  - app/assets/javascripts/sufia/batch_select_all.js
348
+ - app/assets/javascripts/sufia/dashboard_actions.js
288
349
  - app/assets/javascripts/sufia/edit_metadata.js
289
350
  - app/assets/javascripts/sufia/editor.js
290
351
  - app/assets/javascripts/sufia/featured_works.js
291
352
  - app/assets/javascripts/sufia/fileupload.js
353
+ - app/assets/javascripts/sufia/ga_events.js
292
354
  - app/assets/javascripts/sufia/multiForm.js
293
355
  - app/assets/javascripts/sufia/permissions.js
356
+ - app/assets/javascripts/sufia/search.js
294
357
  - app/assets/javascripts/sufia/single_use_link.js
295
358
  - app/assets/javascripts/sufia/trophy.js
296
359
  - app/assets/javascripts/sufia/uploader.js
@@ -315,12 +378,26 @@ files:
315
378
  - app/controllers/authorities_controller.rb
316
379
  - app/controllers/batch_controller.rb
317
380
  - app/controllers/batch_edits_controller.rb
381
+ - app/controllers/collections_controller.rb
382
+ - app/controllers/concerns/sufia/batch_edits_controller_behavior.rb
318
383
  - app/controllers/concerns/sufia/catalog.rb
319
384
  - app/controllers/concerns/sufia/contact_form_controller_behavior.rb
385
+ - app/controllers/concerns/sufia/controller.rb
320
386
  - app/controllers/concerns/sufia/dashboard_controller_behavior.rb
387
+ - app/controllers/concerns/sufia/downloads_controller_behavior.rb
388
+ - app/controllers/concerns/sufia/files_controller/browse_everything.rb
389
+ - app/controllers/concerns/sufia/files_controller/local_ingest_behavior.rb
390
+ - app/controllers/concerns/sufia/files_controller/upload_complete_behavior.rb
391
+ - app/controllers/concerns/sufia/files_controller_behavior.rb
392
+ - app/controllers/concerns/sufia/homepage_controller.rb
321
393
  - app/controllers/concerns/sufia/users_controller_behavior.rb
322
394
  - app/controllers/contact_form_controller.rb
323
395
  - app/controllers/content_blocks_controller.rb
396
+ - app/controllers/dashboard/collections_controller.rb
397
+ - app/controllers/dashboard/files_controller.rb
398
+ - app/controllers/dashboard/highlights_controller.rb
399
+ - app/controllers/dashboard/lists_controller.rb
400
+ - app/controllers/dashboard/shares_controller.rb
324
401
  - app/controllers/dashboard_controller.rb
325
402
  - app/controllers/directory_controller.rb
326
403
  - app/controllers/downloads_controller.rb
@@ -328,6 +405,7 @@ files:
328
405
  - app/controllers/featured_work_lists_controller.rb
329
406
  - app/controllers/featured_works_controller.rb
330
407
  - app/controllers/generic_files_controller.rb
408
+ - app/controllers/homepage_controller.rb
331
409
  - app/controllers/mailbox_controller.rb
332
410
  - app/controllers/pages_controller.rb
333
411
  - app/controllers/single_use_links_controller.rb
@@ -339,7 +417,10 @@ files:
339
417
  - app/helpers/contact_form_helper.rb
340
418
  - app/helpers/content_block_helper.rb
341
419
  - app/helpers/generic_file_helper.rb
342
- - app/helpers/sufia_helper.rb
420
+ - app/helpers/records_helper.rb
421
+ - app/helpers/sufia/blacklight_override.rb
422
+ - app/helpers/sufia/records_helper_behavior.rb
423
+ - app/helpers/sufia/sufia_helper_behavior.rb
343
424
  - app/helpers/trophy_helper.rb
344
425
  - app/jobs/content_delete_event_job.rb
345
426
  - app/jobs/content_deposit_event_job.rb
@@ -351,6 +432,7 @@ files:
351
432
  - app/jobs/user_edit_profile_event_job.rb
352
433
  - app/jobs/user_follow_event_job.rb
353
434
  - app/jobs/user_unfollow_event_job.rb
435
+ - app/models/concerns/sufia/solr_document_behavior.rb
354
436
  - app/models/contact_form.rb
355
437
  - app/models/content_block.rb
356
438
  - app/models/featured_work_list.rb
@@ -380,7 +462,6 @@ files:
380
462
  - app/views/batch_edits/edit.html.erb
381
463
  - app/views/batch_edits/update_edit.js.erb
382
464
  - app/views/catalog/_bookmark_control.html.erb
383
- - app/views/catalog/_bookmark_form.html.erb
384
465
  - app/views/catalog/_citation.html.erb
385
466
  - app/views/catalog/_constraints.html.erb
386
467
  - app/views/catalog/_constraints_element.html.erb
@@ -395,19 +476,14 @@ files:
395
476
  - app/views/catalog/_facet_limit.html.erb
396
477
  - app/views/catalog/_facet_selected.html.erb
397
478
  - app/views/catalog/_facets.html.erb
398
- - app/views/catalog/_featured_researcher.html.erb
399
479
  - app/views/catalog/_folder_control.html.erb
400
- - app/views/catalog/_home.html.erb
401
- - app/views/catalog/_home_content.html.erb
402
- - app/views/catalog/_home_header.html.erb
403
480
  - app/views/catalog/_index_default.html.erb
481
+ - app/views/catalog/_index_header_default.html.erb
404
482
  - app/views/catalog/_index_partials/_default_group.html.erb
405
483
  - app/views/catalog/_index_partials/_list_files.html.erb
406
484
  - app/views/catalog/_marc_view.html.erb
407
485
  - app/views/catalog/_opensearch_response_metadata.html.erb
408
486
  - app/views/catalog/_previous_next_doc.html.erb
409
- - app/views/catalog/_recent_document.html.erb
410
- - app/views/catalog/_recents.html.erb
411
487
  - app/views/catalog/_refworks_form.html.erb
412
488
  - app/views/catalog/_results_pagination.html.erb
413
489
  - app/views/catalog/_search_form.html.erb
@@ -419,7 +495,6 @@ files:
419
495
  - app/views/catalog/_show_tools.html.erb
420
496
  - app/views/catalog/_sms_form.html.erb
421
497
  - app/views/catalog/_sort_and_per_page.html.erb
422
- - app/views/catalog/_tagcloud.html.erb
423
498
  - app/views/catalog/about.html.erb
424
499
  - app/views/catalog/citation.html.erb
425
500
  - app/views/catalog/email.erb
@@ -436,10 +511,32 @@ files:
436
511
  - app/views/catalog/show.html.erb
437
512
  - app/views/catalog/show.refworks.erb
438
513
  - app/views/catalog/sms.erb
514
+ - app/views/collections/_action_menu.html.erb
515
+ - app/views/collections/_batch_edits_actions.html.erb
516
+ - app/views/collections/_button_for_creating_empty_collection.html.erb
517
+ - app/views/collections/_dashboard_document_list.html.erb
518
+ - app/views/collections/_document_list.html.erb
519
+ - app/views/collections/_edit_actions.html.erb
520
+ - app/views/collections/_edit_descriptions.html.erb
521
+ - app/views/collections/_form.html.erb
522
+ - app/views/collections/_form_for_select_collection.html.erb
523
+ - app/views/collections/_media_display.html.erb
524
+ - app/views/collections/_paginate.html.erb
525
+ - app/views/collections/_search_collection_dashboard_form.html.erb
526
+ - app/views/collections/_show_actions.html.erb
527
+ - app/views/collections/_show_descriptions.html.erb
528
+ - app/views/collections/_show_fields.html.erb
529
+ - app/views/collections/_single_item_action_fields.html.erb
530
+ - app/views/collections/_sort_and_per_page.html.erb
531
+ - app/views/collections/_view_type_group.html.erb
532
+ - app/views/collections/edit.html.erb
533
+ - app/views/collections/show.html.erb
439
534
  - app/views/contact_form/_directions.html.erb
440
535
  - app/views/contact_form/create.html.erb
441
536
  - app/views/contact_form/new.html.erb
537
+ - app/views/dashboard/_action_menu.html.erb
442
538
  - app/views/dashboard/_batch_edits_actions.html.erb
539
+ - app/views/dashboard/_collection_action_menu.html.erb
443
540
  - app/views/dashboard/_constraints.html.erb
444
541
  - app/views/dashboard/_did_you_mean.html.erb
445
542
  - app/views/dashboard/_document_list.html.erb
@@ -450,8 +547,8 @@ files:
450
547
  - app/views/dashboard/_facets.html.erb
451
548
  - app/views/dashboard/_heading.html.erb
452
549
  - app/views/dashboard/_index_partials/_default_group.html.erb
550
+ - app/views/dashboard/_index_partials/_list_collections.html.erb
453
551
  - app/views/dashboard/_index_partials/_list_files.html.erb
454
- - app/views/dashboard/_index_partials/_thumbnail_display.html.erb
455
552
  - app/views/dashboard/_results_pagination.html.erb
456
553
  - app/views/dashboard/_search_form.html.erb
457
554
  - app/views/dashboard/_show_partials/_default.html.erb
@@ -460,6 +557,7 @@ files:
460
557
  - app/views/dashboard/_sort_and_per_page.html.erb
461
558
  - app/views/dashboard/facet.html.erb
462
559
  - app/views/dashboard/index.html.erb
560
+ - app/views/dashboard/lists/index.html.erb
463
561
  - app/views/error/401.html.erb
464
562
  - app/views/error/404.html.erb
465
563
  - app/views/error/500.html.erb
@@ -474,6 +572,7 @@ files:
474
572
  - app/views/generic_files/_extra_fields_modal.html.erb
475
573
  - app/views/generic_files/_field_display.html.erb
476
574
  - app/views/generic_files/_field_form.html.erb
575
+ - app/views/generic_files/_flot_stats.js.erb
477
576
  - app/views/generic_files/_groups_description.html.erb
478
577
  - app/views/generic_files/_local_file_import.html.erb
479
578
  - app/views/generic_files/_media_display.html.erb
@@ -505,8 +604,17 @@ files:
505
604
  - app/views/generic_files/upload/_tos_checkbox.html.erb
506
605
  - app/views/homepage/_featured.html.erb
507
606
  - app/views/homepage/_featured_fields.html.erb
607
+ - app/views/homepage/_featured_researcher.html.erb
508
608
  - app/views/homepage/_featured_works.html.erb
609
+ - app/views/homepage/_home.html.erb
610
+ - app/views/homepage/_home_content.html.erb
611
+ - app/views/homepage/_home_header.html.erb
612
+ - app/views/homepage/_marketing.html.erb
613
+ - app/views/homepage/_recent_document.html.erb
614
+ - app/views/homepage/_recents.html.erb
509
615
  - app/views/homepage/_sortable_featured.html.erb
616
+ - app/views/homepage/_tagcloud.html.erb
617
+ - app/views/homepage/index.html.erb
510
618
  - app/views/kaminari/blacklight/_first_page.html.erb
511
619
  - app/views/kaminari/blacklight/_gap.html.erb
512
620
  - app/views/kaminari/blacklight/_last_page.html.erb
@@ -515,7 +623,6 @@ files:
515
623
  - app/views/kaminari/blacklight/_paginator.html.erb
516
624
  - app/views/kaminari/blacklight/_prev_page.html.erb
517
625
  - app/views/layouts/_head_tag_content.html.erb
518
- - app/views/layouts/_homepage_sidebar2.html.erb
519
626
  - app/views/layouts/error.html.erb
520
627
  - app/views/layouts/homepage.html.erb
521
628
  - app/views/layouts/sufia-dashboard.html.erb
@@ -523,6 +630,12 @@ files:
523
630
  - app/views/layouts/sufia-two-column.html.erb
524
631
  - app/views/mailbox/index.html.erb
525
632
  - app/views/pages/show.html.erb
633
+ - app/views/records/_edit_field.html.erb
634
+ - app/views/records/edit_fields/_description.html.erb
635
+ - app/views/records/edit_fields/_resource_type.html.erb
636
+ - app/views/records/edit_fields/_rights.html.erb
637
+ - app/views/records/edit_fields/_suffix.html.erb
638
+ - app/views/records/edit_fields/_type.html.erb
526
639
  - app/views/single_use_links/new_download.html.erb
527
640
  - app/views/single_use_links/new_show.html.erb
528
641
  - app/views/single_use_links_viewer/show.html.erb
@@ -565,13 +678,8 @@ files:
565
678
  - lib/generators/sufia/templates/catalog_controller.rb
566
679
  - lib/generators/sufia/templates/config/action_dispatch_http_upload_monkey_patch.rb
567
680
  - lib/generators/sufia/templates/config/tinymce.yml
681
+ - lib/generators/sufia/templates/sufia_helper.rb
568
682
  - lib/sufia.rb
569
- - lib/sufia/batch_edits_controller_behavior.rb
570
- - lib/sufia/controller.rb
571
- - lib/sufia/downloads_controller_behavior.rb
572
- - lib/sufia/files_controller/local_ingest_behavior.rb
573
- - lib/sufia/files_controller/upload_complete_behavior.rb
574
- - lib/sufia/files_controller_behavior.rb
575
683
  - lib/sufia/role_mapper.rb
576
684
  - lib/sufia/single_use_error.rb
577
685
  - lib/sufia/version.rb
@@ -582,16 +690,23 @@ files:
582
690
  - solr_conf/solr.xml
583
691
  - spec/.gitignore
584
692
  - spec/active_fedora/unsaved_digital_object_spec.rb
693
+ - spec/actors/generic_file/actor_spec.rb
585
694
  - spec/controllers/authorities_controller_spec.rb
586
695
  - spec/controllers/batch_controller_spec.rb
587
696
  - spec/controllers/batch_edits_controller_spec.rb
588
697
  - spec/controllers/catalog_controller_spec.rb
698
+ - spec/controllers/collections_controller_spec.rb
589
699
  - spec/controllers/content_blocks_controller_spec.rb
700
+ - spec/controllers/dashboard/collections_controller_spec.rb
701
+ - spec/controllers/dashboard/files_controller_spec.rb
702
+ - spec/controllers/dashboard/highlights_controller_spec.rb
703
+ - spec/controllers/dashboard/shares_controller_spec.rb
590
704
  - spec/controllers/dashboard_controller_spec.rb
591
705
  - spec/controllers/downloads_controller_spec.rb
592
706
  - spec/controllers/featured_work_lists_controller_spec.rb
593
707
  - spec/controllers/featured_works_controller_spec.rb
594
708
  - spec/controllers/generic_files_controller_spec.rb
709
+ - spec/controllers/homepage_controller_spec.rb
595
710
  - spec/controllers/mailbox_controller_spec.rb
596
711
  - spec/controllers/pages_controller_spec.rb
597
712
  - spec/controllers/single_use_links_controller_spec.rb
@@ -608,14 +723,17 @@ files:
608
723
  - spec/features/browse_dashboard_files_spec.rb
609
724
  - spec/features/browse_files_spec.rb
610
725
  - spec/features/cloud_upload_spec.rb
726
+ - spec/features/collection_spec.rb
611
727
  - spec/features/contact_form_spec.rb
612
728
  - spec/features/display_dashboard_spec.rb
613
729
  - spec/features/ingest_upload_files_spec.rb
614
730
  - spec/features/notifications_spec.rb
731
+ - spec/features/search_spec.rb
615
732
  - spec/features/single_use_links_spec.rb
616
733
  - spec/features/users_spec.rb
617
734
  - spec/fixtures/4-20.png
618
735
  - spec/fixtures/Example.ogg
736
+ - spec/fixtures/charter.docx
619
737
  - spec/fixtures/cities15000.tsv
620
738
  - spec/fixtures/countdown.avi
621
739
  - spec/fixtures/docx_fits.xml
@@ -642,39 +760,41 @@ files:
642
760
  - spec/fixtures/xls_fits.xml
643
761
  - spec/fixtures/xml_fits.xml
644
762
  - spec/helpers/content_block_helper_spec.rb
645
- - spec/helpers/generic_file_helper_spec.rb
763
+ - spec/helpers/records_helper_spec.rb
646
764
  - spec/helpers/sufia_helper_spec.rb
647
765
  - spec/helpers/trophy_helper_spec.rb
766
+ - spec/jobs/active_fedora_pid_based_job_spec.rb
767
+ - spec/jobs/audit_job_spec.rb
768
+ - spec/jobs/batch_update_job_spec.rb
769
+ - spec/jobs/characterize_job_spec.rb
770
+ - spec/jobs/create_derivatives_job_spec.rb
771
+ - spec/jobs/event_jobs_spec.rb
648
772
  - spec/jobs/import_url_job_spec.rb
649
773
  - spec/jobs/ingest_local_file_job_spec.rb
774
+ - spec/lib/sufia/analytics_spec.rb
650
775
  - spec/lib/sufia/id_service_spec.rb
651
776
  - spec/lib/sufia/upload_complete_behavior_spec.rb
652
- - spec/lib/sufia/usage_statistics_spec.rb
653
777
  - spec/models/ability_spec.rb
654
- - spec/models/active_fedora_pid_based_job_spec.rb
655
- - spec/models/audit_job_spec.rb
656
778
  - spec/models/batch_spec.rb
657
- - spec/models/batch_update_job_spec.rb
658
- - spec/models/characterize_job_spec.rb
659
779
  - spec/models/checksum_audit_log_spec.rb
660
- - spec/models/event_jobs_spec.rb
780
+ - spec/models/collection_spec.rb
781
+ - spec/models/download_spec.rb
661
782
  - spec/models/featured_work_list_spec.rb
662
783
  - spec/models/featured_work_spec.rb
663
784
  - spec/models/file_content_datastream_spec.rb
785
+ - spec/models/file_usage_spec.rb
664
786
  - spec/models/fits_datastream_spec.rb
665
- - spec/models/generic_file/actions_spec.rb
666
787
  - spec/models/generic_file/reload_on_save_spec.rb
667
788
  - spec/models/generic_file/visibility_spec.rb
668
789
  - spec/models/generic_file/web_form_spec.rb
790
+ - spec/models/generic_file_rdf_datastream_spec.rb
669
791
  - spec/models/generic_file_spec.rb
670
792
  - spec/models/geo_names_resource_spec.rb
671
793
  - spec/models/local_authority_spec.rb
672
- - spec/models/pageview.rb
794
+ - spec/models/pageview_spec.rb
673
795
  - spec/models/properties_datastream_spec.rb
674
796
  - spec/models/single_use_link_spec.rb
675
797
  - spec/models/solr_document_spec.rb
676
- - spec/models/transcode_audio_job_spec.rb
677
- - spec/models/transcode_video_job_spec.rb
678
798
  - spec/models/trophy_spec.rb
679
799
  - spec/models/user_spec.rb
680
800
  - spec/routing/featured_works_route_spec.rb
@@ -688,7 +808,6 @@ files:
688
808
  - spec/support/uploaded_file_monkeypatch.rb
689
809
  - spec/views/batch_edits/check_all_spec.rb
690
810
  - spec/views/dashboard/facet_limit.html.erb_spec.rb
691
- - spec/views/dashboard/index_partials/_thumbnail_display.html.erb_spec.rb
692
811
  - spec/views/generic_file/edit.html.erb_spec.rb
693
812
  - spec/views/generic_file/show.html.erb_spec.rb
694
813
  - spec/views/generic_file/stats.html.erb_spec.rb
@@ -702,8 +821,25 @@ files:
702
821
  - sufia-models/LICENSE.md
703
822
  - sufia-models/README.md
704
823
  - sufia-models/Rakefile
824
+ - sufia-models/app/actors/sufia/generic_file/actor.rb
705
825
  - sufia-models/app/models/batch.rb
706
826
  - sufia-models/app/models/checksum_audit_log.rb
827
+ - sufia-models/app/models/collection.rb
828
+ - sufia-models/app/models/concerns/sufia/generic_file.rb
829
+ - sufia-models/app/models/concerns/sufia/generic_file/accessible_attributes.rb
830
+ - sufia-models/app/models/concerns/sufia/generic_file/audit.rb
831
+ - sufia-models/app/models/concerns/sufia/generic_file/characterization.rb
832
+ - sufia-models/app/models/concerns/sufia/generic_file/derivatives.rb
833
+ - sufia-models/app/models/concerns/sufia/generic_file/export.rb
834
+ - sufia-models/app/models/concerns/sufia/generic_file/featured.rb
835
+ - sufia-models/app/models/concerns/sufia/generic_file/metadata.rb
836
+ - sufia-models/app/models/concerns/sufia/generic_file/mime_types.rb
837
+ - sufia-models/app/models/concerns/sufia/generic_file/permissions.rb
838
+ - sufia-models/app/models/concerns/sufia/generic_file/reload_on_save.rb
839
+ - sufia-models/app/models/concerns/sufia/generic_file/trophies.rb
840
+ - sufia-models/app/models/concerns/sufia/generic_file/versions.rb
841
+ - sufia-models/app/models/concerns/sufia/generic_file/virus_check.rb
842
+ - sufia-models/app/models/concerns/sufia/generic_file/web_form.rb
707
843
  - sufia-models/app/models/concerns/sufia/properties_datastream_behavior.rb
708
844
  - sufia-models/app/models/concerns/sufia/user.rb
709
845
  - sufia-models/app/models/datastreams/batch_rdf_datastream.rb
@@ -714,6 +850,7 @@ files:
714
850
  - sufia-models/app/models/datastreams/properties_datastream.rb
715
851
  - sufia-models/app/models/domain_term.rb
716
852
  - sufia-models/app/models/featured_work.rb
853
+ - sufia-models/app/models/file_usage.rb
717
854
  - sufia-models/app/models/follow.rb
718
855
  - sufia-models/app/models/generic_file.rb
719
856
  - sufia-models/app/models/geo_names_resource.rb
@@ -724,12 +861,13 @@ files:
724
861
  - sufia-models/app/models/subject_local_authority_entry.rb
725
862
  - sufia-models/app/models/sufia/avatar_uploader.rb
726
863
  - sufia-models/app/models/sufia/avatar_validator.rb
864
+ - sufia-models/app/models/sufia/download.rb
727
865
  - sufia-models/app/models/sufia/pageview.rb
728
866
  - sufia-models/app/models/trophy.rb
729
867
  - sufia-models/app/models/version_committer.rb
868
+ - sufia-models/app/services/sufia/analytics.rb
730
869
  - sufia-models/app/services/sufia/id_service.rb
731
870
  - sufia-models/app/services/sufia/noid.rb
732
- - sufia-models/app/services/sufia/usage_statistics.rb
733
871
  - sufia-models/config/locales/sufia.en.yml
734
872
  - sufia-models/lib/generators/sufia/models/install_generator.rb
735
873
  - sufia-models/lib/generators/sufia/models/templates/config/analytics.yml
@@ -764,34 +902,15 @@ files:
764
902
  - sufia-models/lib/sufia/models/engine.rb
765
903
  - sufia-models/lib/sufia/models/file_content.rb
766
904
  - sufia-models/lib/sufia/models/file_content/versions.rb
767
- - sufia-models/lib/sufia/models/generic_file.rb
768
- - sufia-models/lib/sufia/models/generic_file/accessible_attributes.rb
769
- - sufia-models/lib/sufia/models/generic_file/actions.rb
770
- - sufia-models/lib/sufia/models/generic_file/audit.rb
771
- - sufia-models/lib/sufia/models/generic_file/characterization.rb
772
- - sufia-models/lib/sufia/models/generic_file/derivatives.rb
773
- - sufia-models/lib/sufia/models/generic_file/export.rb
774
- - sufia-models/lib/sufia/models/generic_file/featured.rb
775
- - sufia-models/lib/sufia/models/generic_file/metadata.rb
776
- - sufia-models/lib/sufia/models/generic_file/mime_types.rb
777
- - sufia-models/lib/sufia/models/generic_file/permissions.rb
778
- - sufia-models/lib/sufia/models/generic_file/reload_on_save.rb
779
- - sufia-models/lib/sufia/models/generic_file/thumbnail.rb
780
- - sufia-models/lib/sufia/models/generic_file/trophies.rb
781
- - sufia-models/lib/sufia/models/generic_file/versions.rb
782
- - sufia-models/lib/sufia/models/generic_file/virus_check.rb
783
- - sufia-models/lib/sufia/models/generic_file/web_form.rb
784
905
  - sufia-models/lib/sufia/models/jobs/active_fedora_pid_based_job.rb
785
906
  - sufia-models/lib/sufia/models/jobs/audit_job.rb
786
907
  - sufia-models/lib/sufia/models/jobs/batch_update_job.rb
787
908
  - sufia-models/lib/sufia/models/jobs/characterize_job.rb
909
+ - sufia-models/lib/sufia/models/jobs/create_derivatives_job.rb
788
910
  - sufia-models/lib/sufia/models/jobs/import_url_job.rb
789
911
  - sufia-models/lib/sufia/models/jobs/resolrize_job.rb
790
- - sufia-models/lib/sufia/models/jobs/transcode_audio_job.rb
791
- - sufia-models/lib/sufia/models/jobs/transcode_video_job.rb
792
912
  - sufia-models/lib/sufia/models/model_methods.rb
793
913
  - sufia-models/lib/sufia/models/resque.rb
794
- - sufia-models/lib/sufia/models/solr_document_behavior.rb
795
914
  - sufia-models/lib/sufia/models/user_local_directory_behavior.rb
796
915
  - sufia-models/lib/sufia/models/utils.rb
797
916
  - sufia-models/lib/sufia/models/version.rb
@@ -852,12 +971,12 @@ require_paths:
852
971
  - lib
853
972
  required_ruby_version: !ruby/object:Gem::Requirement
854
973
  requirements:
855
- - - '>='
974
+ - - ">="
856
975
  - !ruby/object:Gem::Version
857
976
  version: '0'
858
977
  required_rubygems_version: !ruby/object:Gem::Requirement
859
978
  requirements:
860
- - - '>'
979
+ - - ">"
861
980
  - !ruby/object:Gem::Version
862
981
  version: 1.3.1
863
982
  requirements: []
@@ -869,16 +988,23 @@ summary: Sufia was extracted from ScholarSphere developed by Penn State Universi
869
988
  test_files:
870
989
  - spec/.gitignore
871
990
  - spec/active_fedora/unsaved_digital_object_spec.rb
991
+ - spec/actors/generic_file/actor_spec.rb
872
992
  - spec/controllers/authorities_controller_spec.rb
873
993
  - spec/controllers/batch_controller_spec.rb
874
994
  - spec/controllers/batch_edits_controller_spec.rb
875
995
  - spec/controllers/catalog_controller_spec.rb
996
+ - spec/controllers/collections_controller_spec.rb
876
997
  - spec/controllers/content_blocks_controller_spec.rb
998
+ - spec/controllers/dashboard/collections_controller_spec.rb
999
+ - spec/controllers/dashboard/files_controller_spec.rb
1000
+ - spec/controllers/dashboard/highlights_controller_spec.rb
1001
+ - spec/controllers/dashboard/shares_controller_spec.rb
877
1002
  - spec/controllers/dashboard_controller_spec.rb
878
1003
  - spec/controllers/downloads_controller_spec.rb
879
1004
  - spec/controllers/featured_work_lists_controller_spec.rb
880
1005
  - spec/controllers/featured_works_controller_spec.rb
881
1006
  - spec/controllers/generic_files_controller_spec.rb
1007
+ - spec/controllers/homepage_controller_spec.rb
882
1008
  - spec/controllers/mailbox_controller_spec.rb
883
1009
  - spec/controllers/pages_controller_spec.rb
884
1010
  - spec/controllers/single_use_links_controller_spec.rb
@@ -895,14 +1021,17 @@ test_files:
895
1021
  - spec/features/browse_dashboard_files_spec.rb
896
1022
  - spec/features/browse_files_spec.rb
897
1023
  - spec/features/cloud_upload_spec.rb
1024
+ - spec/features/collection_spec.rb
898
1025
  - spec/features/contact_form_spec.rb
899
1026
  - spec/features/display_dashboard_spec.rb
900
1027
  - spec/features/ingest_upload_files_spec.rb
901
1028
  - spec/features/notifications_spec.rb
1029
+ - spec/features/search_spec.rb
902
1030
  - spec/features/single_use_links_spec.rb
903
1031
  - spec/features/users_spec.rb
904
1032
  - spec/fixtures/4-20.png
905
1033
  - spec/fixtures/Example.ogg
1034
+ - spec/fixtures/charter.docx
906
1035
  - spec/fixtures/cities15000.tsv
907
1036
  - spec/fixtures/countdown.avi
908
1037
  - spec/fixtures/docx_fits.xml
@@ -929,39 +1058,41 @@ test_files:
929
1058
  - spec/fixtures/xls_fits.xml
930
1059
  - spec/fixtures/xml_fits.xml
931
1060
  - spec/helpers/content_block_helper_spec.rb
932
- - spec/helpers/generic_file_helper_spec.rb
1061
+ - spec/helpers/records_helper_spec.rb
933
1062
  - spec/helpers/sufia_helper_spec.rb
934
1063
  - spec/helpers/trophy_helper_spec.rb
1064
+ - spec/jobs/active_fedora_pid_based_job_spec.rb
1065
+ - spec/jobs/audit_job_spec.rb
1066
+ - spec/jobs/batch_update_job_spec.rb
1067
+ - spec/jobs/characterize_job_spec.rb
1068
+ - spec/jobs/create_derivatives_job_spec.rb
1069
+ - spec/jobs/event_jobs_spec.rb
935
1070
  - spec/jobs/import_url_job_spec.rb
936
1071
  - spec/jobs/ingest_local_file_job_spec.rb
1072
+ - spec/lib/sufia/analytics_spec.rb
937
1073
  - spec/lib/sufia/id_service_spec.rb
938
1074
  - spec/lib/sufia/upload_complete_behavior_spec.rb
939
- - spec/lib/sufia/usage_statistics_spec.rb
940
1075
  - spec/models/ability_spec.rb
941
- - spec/models/active_fedora_pid_based_job_spec.rb
942
- - spec/models/audit_job_spec.rb
943
1076
  - spec/models/batch_spec.rb
944
- - spec/models/batch_update_job_spec.rb
945
- - spec/models/characterize_job_spec.rb
946
1077
  - spec/models/checksum_audit_log_spec.rb
947
- - spec/models/event_jobs_spec.rb
1078
+ - spec/models/collection_spec.rb
1079
+ - spec/models/download_spec.rb
948
1080
  - spec/models/featured_work_list_spec.rb
949
1081
  - spec/models/featured_work_spec.rb
950
1082
  - spec/models/file_content_datastream_spec.rb
1083
+ - spec/models/file_usage_spec.rb
951
1084
  - spec/models/fits_datastream_spec.rb
952
- - spec/models/generic_file/actions_spec.rb
953
1085
  - spec/models/generic_file/reload_on_save_spec.rb
954
1086
  - spec/models/generic_file/visibility_spec.rb
955
1087
  - spec/models/generic_file/web_form_spec.rb
1088
+ - spec/models/generic_file_rdf_datastream_spec.rb
956
1089
  - spec/models/generic_file_spec.rb
957
1090
  - spec/models/geo_names_resource_spec.rb
958
1091
  - spec/models/local_authority_spec.rb
959
- - spec/models/pageview.rb
1092
+ - spec/models/pageview_spec.rb
960
1093
  - spec/models/properties_datastream_spec.rb
961
1094
  - spec/models/single_use_link_spec.rb
962
1095
  - spec/models/solr_document_spec.rb
963
- - spec/models/transcode_audio_job_spec.rb
964
- - spec/models/transcode_video_job_spec.rb
965
1096
  - spec/models/trophy_spec.rb
966
1097
  - spec/models/user_spec.rb
967
1098
  - spec/routing/featured_works_route_spec.rb
@@ -975,7 +1106,6 @@ test_files:
975
1106
  - spec/support/uploaded_file_monkeypatch.rb
976
1107
  - spec/views/batch_edits/check_all_spec.rb
977
1108
  - spec/views/dashboard/facet_limit.html.erb_spec.rb
978
- - spec/views/dashboard/index_partials/_thumbnail_display.html.erb_spec.rb
979
1109
  - spec/views/generic_file/edit.html.erb_spec.rb
980
1110
  - spec/views/generic_file/show.html.erb_spec.rb
981
1111
  - spec/views/generic_file/stats.html.erb_spec.rb
@@ -984,3 +1114,4 @@ test_files:
984
1114
  - spec/views/users/_notify_number.html.erb_spec.rb
985
1115
  - spec/views/users/index.html.erb_spec.rb
986
1116
  - spec/views/users/show.html.erb_spec.rb
1117
+ has_rdoc: