sufia 4.0.0.rc1 → 4.0.0.rc2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (265) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/.travis.yml +2 -2
  4. data/Gemfile +9 -17
  5. data/README.md +18 -9
  6. data/Rakefile +10 -5
  7. data/SUFIA_VERSION +1 -1
  8. data/app/assets/javascripts/jquery.blacklightTagCloud.js +1 -1
  9. data/app/assets/javascripts/sufia.js +5 -22
  10. data/app/assets/javascripts/sufia/batch.js +8 -0
  11. data/app/assets/javascripts/sufia/batch_edit.js +19 -3
  12. data/app/assets/javascripts/sufia/dashboard_actions.js +23 -10
  13. data/app/assets/javascripts/sufia/multiForm.js +2 -2
  14. data/app/assets/javascripts/sufia/permissions.js +10 -9
  15. data/app/assets/javascripts/sufia/tabs.js +20 -0
  16. data/app/assets/stylesheets/catalog.css.scss +5 -0
  17. data/app/assets/stylesheets/collections.css.scss +40 -0
  18. data/app/assets/stylesheets/file-listing.css.scss +37 -13
  19. data/app/assets/stylesheets/generic_files.css.erb +5 -0
  20. data/app/assets/stylesheets/header.css.scss +1 -4
  21. data/app/assets/stylesheets/settings.css.scss +6 -0
  22. data/app/assets/stylesheets/styles.css.scss +4 -3
  23. data/app/assets/stylesheets/sufia-audio-overrides.css +2 -2
  24. data/app/assets/stylesheets/sufia.css.scss +27 -5
  25. data/app/assets/stylesheets/tagcloud.css +5 -1
  26. data/app/controllers/batch_controller.rb +3 -3
  27. data/app/controllers/concerns/sufia/batch_edits_controller_behavior.rb +14 -1
  28. data/app/controllers/concerns/sufia/catalog.rb +0 -1
  29. data/app/controllers/concerns/sufia/controller.rb +5 -0
  30. data/app/controllers/concerns/sufia/dashboard_controller_behavior.rb +2 -9
  31. data/app/controllers/concerns/sufia/files_controller/browse_everything.rb +3 -3
  32. data/app/controllers/concerns/sufia/files_controller_behavior.rb +5 -1
  33. data/app/controllers/concerns/sufia/homepage_controller.rb +1 -1
  34. data/app/controllers/concerns/sufia/users_controller_behavior.rb +3 -2
  35. data/app/helpers/batch_edits_helper.rb +6 -0
  36. data/app/helpers/generic_file_helper.rb +15 -0
  37. data/app/helpers/sufia/blacklight_override.rb +19 -3
  38. data/app/helpers/sufia/dashboard_helper_behavior.rb +25 -3
  39. data/app/helpers/sufia/records_helper_behavior.rb +13 -5
  40. data/app/helpers/sufia/sufia_helper_behavior.rb +15 -12
  41. data/app/models/concerns/sufia/solr_document_behavior.rb +5 -36
  42. data/app/views/_masthead.html.erb +1 -1
  43. data/app/views/_user_util_links.html.erb +6 -4
  44. data/app/views/advanced/_advanced_search_fields.html.erb +4 -4
  45. data/app/views/advanced/_advanced_search_form.html.erb +14 -17
  46. data/app/views/advanced/index.html.erb +3 -3
  47. data/app/views/batch/_metadata.html.erb +22 -24
  48. data/app/views/batch/_more_metadata.html.erb +1 -1
  49. data/app/views/batch/edit.html.erb +2 -2
  50. data/app/views/batch_edits/_check_all.html.erb +7 -9
  51. data/app/views/batch_edits/_delete_selected.html.erb +1 -0
  52. data/app/views/batch_edits/edit.html.erb +25 -26
  53. data/app/views/batch_edits/update_edit.js.erb +1 -1
  54. data/app/views/catalog/_facet_limit.html.erb +4 -12
  55. data/app/views/catalog/_search_form.html.erb +8 -13
  56. data/app/views/collections/_action_menu.html.erb +2 -2
  57. data/app/views/collections/_collection.html.erb +10 -31
  58. data/app/views/collections/_document_list.html.erb +1 -1
  59. data/app/views/collections/_edit_actions.html.erb +2 -2
  60. data/app/views/collections/_edit_descriptions.html.erb +3 -5
  61. data/app/views/collections/_form.html.erb +8 -10
  62. data/app/views/collections/_media_display.html.erb +1 -1
  63. data/app/views/collections/_show_actions.html.erb +5 -5
  64. data/app/views/collections/_show_descriptions.html.erb +13 -8
  65. data/app/views/collections/_show_document_list.html.erb +17 -0
  66. data/app/views/collections/_show_document_list_menu.html.erb +24 -0
  67. data/app/views/collections/_show_document_list_row.html.erb +63 -0
  68. data/app/views/collections/edit.html.erb +2 -2
  69. data/app/views/collections/show.html.erb +28 -19
  70. data/app/views/contact_form/new.html.erb +21 -29
  71. data/app/views/dashboard/_index_partials/_contents.html.erb +14 -0
  72. data/app/views/dashboard/_index_partials/_heading_actions.html.erb +18 -0
  73. data/app/views/dashboard/_index_partials/_heading_greetings.html.erb +8 -0
  74. data/app/views/dashboard/_index_partials/_stats.html.erb +6 -2
  75. data/app/views/dashboard/index.html.erb +5 -37
  76. data/app/views/generic_files/_breadcrumbs.html.erb +2 -0
  77. data/app/views/generic_files/_browse_everything.html.erb +2 -2
  78. data/app/views/generic_files/_descriptions.html.erb +4 -6
  79. data/app/views/generic_files/_field_form.html.erb +2 -2
  80. data/app/views/generic_files/_generic_file.html.erb +8 -29
  81. data/app/views/generic_files/_groups_description.html.erb +5 -4
  82. data/app/views/generic_files/_permission.html.erb +2 -2
  83. data/app/views/generic_files/_permission_form.html.erb +62 -77
  84. data/app/views/generic_files/_rights_modal.html.erb +0 -2
  85. data/app/views/generic_files/_share_with.html.erb +14 -0
  86. data/app/views/generic_files/_show_actions.html.erb +1 -1
  87. data/app/views/generic_files/_show_collections.html.erb +17 -0
  88. data/app/views/generic_files/_show_descriptions.html.erb +2 -2
  89. data/app/views/generic_files/_versioning.html.erb +2 -2
  90. data/app/views/generic_files/_visibility.html.erb +17 -0
  91. data/app/views/generic_files/show.html.erb +39 -2
  92. data/app/views/generic_files/stats.html.erb +1 -1
  93. data/app/views/generic_files/upload/_form_fields.html.erb +2 -2
  94. data/app/views/generic_files/upload/_local_file_import_chooser.html.erb +1 -1
  95. data/app/views/generic_files/upload/_script_templates.html.erb +2 -2
  96. data/app/views/generic_files/upload/_tos_checkbox.html.erb +3 -3
  97. data/app/views/homepage/_home_content.html.erb +0 -9
  98. data/app/views/homepage/_home_header.html.erb +1 -1
  99. data/app/views/homepage/_recent_document.html.erb +2 -2
  100. data/app/views/layouts/_head_tag_content.html.erb +7 -1
  101. data/app/views/layouts/sufia-dashboard.html.erb +4 -2
  102. data/app/views/layouts/sufia-one-column.html.erb +1 -1
  103. data/app/views/my/_action_menu.html.erb +1 -1
  104. data/app/views/my/_collection_action_menu.html.erb +3 -3
  105. data/app/views/my/_constraints.html.erb +11 -0
  106. data/app/views/my/_document_list.html.erb +1 -1
  107. data/app/views/my/_facet_limit.html.erb +4 -12
  108. data/app/views/my/_facets.html.erb +1 -3
  109. data/app/views/my/_index_partials/_default_group.html.erb +2 -3
  110. data/app/views/my/_index_partials/_list_collections.html.erb +17 -11
  111. data/app/views/my/_index_partials/_list_files.html.erb +20 -24
  112. data/app/views/my/_search_header.html.erb +5 -0
  113. data/app/views/my/_sort_and_per_page.html.erb +11 -7
  114. data/app/views/my/index.html.erb +9 -15
  115. data/app/views/records/_edit_field.html.erb +14 -10
  116. data/app/views/records/edit_fields/_default.html.erb +6 -0
  117. data/app/views/records/edit_fields/_description.html.erb +3 -7
  118. data/app/views/records/edit_fields/_resource_type.html.erb +4 -6
  119. data/app/views/records/edit_fields/_rights.html.erb +4 -5
  120. data/app/views/records/edit_fields/_suffix.html.erb +6 -3
  121. data/app/views/records/edit_fields/_type.html.erb +7 -12
  122. data/app/views/{generic_files → records}/show_fields/_based_near.html.erb +1 -1
  123. data/app/views/{generic_files → records}/show_fields/_contributor.html.erb +2 -2
  124. data/app/views/records/show_fields/_creator.html.erb +6 -0
  125. data/app/views/{generic_files → records}/show_fields/_date_created.html.erb +1 -1
  126. data/app/views/records/show_fields/_default.html.erb +6 -0
  127. data/app/views/records/show_fields/_description.html.erb +6 -0
  128. data/app/views/records/show_fields/_identifier.html.erb +4 -0
  129. data/app/views/{generic_files → records}/show_fields/_language.html.erb +1 -1
  130. data/app/views/{generic_files → records}/show_fields/_publisher.html.erb +1 -1
  131. data/app/views/records/show_fields/_related_url.html.erb +6 -0
  132. data/app/views/{generic_files → records}/show_fields/_resource_type.html.erb +1 -1
  133. data/app/views/{generic_files → records}/show_fields/_rights.html.erb +1 -1
  134. data/app/views/{generic_files → records}/show_fields/_subject.html.erb +1 -1
  135. data/app/views/{generic_files → records}/show_fields/_tag.html.erb +1 -1
  136. data/app/views/records/show_fields/_title.html.erb +6 -0
  137. data/app/views/shared/_attributes.html.erb +27 -0
  138. data/app/views/static/agreement.html.erb +1 -1
  139. data/app/views/users/_activity_log.html.erb +0 -2
  140. data/app/views/users/_follower_modal.html.erb +27 -23
  141. data/app/views/users/_following_modal.html.erb +27 -23
  142. data/app/views/users/_social_media_info.html.erb +4 -4
  143. data/app/views/users/_trophy_edit.html.erb +5 -7
  144. data/app/views/users/_user_info.html.erb +3 -3
  145. data/app/views/users/_user_util_links_extra.html.erb +4 -0
  146. data/app/views/users/edit.html.erb +28 -33
  147. data/app/views/users/index.html.erb +1 -1
  148. data/app/views/users/show.html.erb +0 -4
  149. data/config/jetty.yml +1 -1
  150. data/config/locales/sufia.en.yml +53 -12
  151. data/lib/generators/sufia/install_generator.rb +89 -0
  152. data/lib/generators/sufia/templates/catalog_controller.rb +1 -1
  153. data/lib/generators/sufia/upgrade400_generator.rb +4 -0
  154. data/lib/sufia.rb +1 -10
  155. data/lib/sufia/version.rb +1 -1
  156. data/solr_conf/conf/solrconfig.xml +31 -17
  157. data/spec/actors/generic_file/actor_spec.rb +17 -0
  158. data/spec/controllers/batch_controller_spec.rb +2 -2
  159. data/spec/controllers/batch_edits_controller_spec.rb +24 -19
  160. data/spec/controllers/catalog_controller_spec.rb +23 -12
  161. data/spec/controllers/collections_controller_spec.rb +19 -17
  162. data/spec/controllers/dashboard_controller_spec.rb +5 -19
  163. data/spec/controllers/generic_files_controller_spec.rb +35 -20
  164. data/spec/controllers/homepage_controller_spec.rb +25 -2
  165. data/spec/controllers/users_controller_spec.rb +99 -102
  166. data/spec/factories/generic_files.rb +2 -2
  167. data/spec/factories/users.rb +32 -2
  168. data/spec/features/browse_dashboard_files_spec.rb +14 -2
  169. data/spec/features/browse_files_spec.rb +5 -1
  170. data/spec/features/catalog_search_spec.rb +7 -6
  171. data/spec/features/collection_spec.rb +43 -33
  172. data/spec/features/display_dashboard_spec.rb +25 -22
  173. data/spec/features/notifications_spec.rb +9 -4
  174. data/spec/features/users_spec.rb +34 -25
  175. data/spec/fixtures/1.5mb-avatar.jpg +0 -0
  176. data/spec/helpers/batch_edits_helper_spec.rb +38 -0
  177. data/spec/helpers/dashboard_helper_spec.rb +16 -5
  178. data/spec/helpers/generic_file_helper_spec.rb +41 -0
  179. data/spec/helpers/records_helper_spec.rb +12 -0
  180. data/spec/jobs/active_fedora_pid_based_job_spec.rb +1 -1
  181. data/spec/jobs/audit_job_spec.rb +2 -3
  182. data/spec/jobs/batch_update_job_spec.rb +39 -24
  183. data/spec/jobs/event_jobs_spec.rb +1 -1
  184. data/spec/lib/sufia/id_service_spec.rb +25 -7
  185. data/spec/lib/sufia/messages_spec.rb +60 -0
  186. data/spec/lib/sufia/readable_permissions_spec.rb +56 -0
  187. data/spec/lib/sufia/writable_permissions_spec.rb +20 -0
  188. data/spec/models/batch_spec.rb +1 -1
  189. data/spec/models/collection_spec.rb +24 -2
  190. data/spec/models/featured_work_spec.rb +2 -2
  191. data/spec/models/file_content_datastream_spec.rb +5 -5
  192. data/spec/models/generic_file_spec.rb +149 -133
  193. data/spec/models/local_authority_spec.rb +1 -1
  194. data/spec/models/user_spec.rb +33 -6
  195. data/spec/spec_helper.rb +7 -10
  196. data/spec/{support → test_app_templates}/lib/generators/test_app_generator.rb +11 -6
  197. data/spec/views/batch/edit.html.erb_spec.rb +8 -2
  198. data/spec/views/catalog/index.html.erb_spec.rb +34 -0
  199. data/spec/views/catalog/{sort_and_per_pange.html.erb_spec.rb → sort_and_per_page.html.erb_spec.rb} +0 -0
  200. data/spec/views/collections/_form.html.erb_spec.rb +32 -0
  201. data/spec/views/collections/_show_descriptions.html.erb_spec.rb +25 -0
  202. data/spec/views/dashboard/index_spec.rb +33 -4
  203. data/spec/views/generic_file/_breadcrumbs.html.erb_spec.rb +32 -0
  204. data/spec/views/generic_file/show.html.erb_spec.rb +273 -8
  205. data/spec/views/users/_user_util_links.html.erb_spec.rb +25 -0
  206. data/sufia-models/app/actors/sufia/generic_file/actor.rb +14 -5
  207. data/sufia-models/{lib/sufia/models → app}/jobs/active_fedora_pid_based_job.rb +0 -0
  208. data/sufia-models/{lib/sufia/models → app}/jobs/audit_job.rb +4 -10
  209. data/sufia-models/{lib/sufia/models → app}/jobs/batch_update_job.rb +22 -18
  210. data/sufia-models/{lib/sufia/models → app}/jobs/characterize_job.rb +0 -0
  211. data/sufia-models/{lib/sufia/models → app}/jobs/create_derivatives_job.rb +0 -0
  212. data/sufia-models/{lib/sufia/models → app}/jobs/import_url_job.rb +0 -0
  213. data/sufia-models/{lib/sufia/models → app}/jobs/resolrize_job.rb +0 -0
  214. data/sufia-models/app/models/collection.rb +1 -39
  215. data/sufia-models/{lib → app/models/concerns}/sufia/ability.rb +0 -0
  216. data/sufia-models/app/models/concerns/sufia/collection.rb +55 -0
  217. data/sufia-models/app/models/concerns/sufia/generic_file.rb +5 -11
  218. data/sufia-models/app/models/concerns/sufia/generic_file/audit.rb +1 -2
  219. data/sufia-models/app/models/concerns/sufia/generic_file/characterization.rb +4 -2
  220. data/sufia-models/app/models/concerns/sufia/generic_file/full_text_indexing.rb +27 -0
  221. data/sufia-models/app/models/concerns/sufia/generic_file/mime_types.rb +1 -0
  222. data/sufia-models/app/models/concerns/sufia/generic_file/permissions.rb +2 -49
  223. data/sufia-models/{lib/sufia/models → app/models/concerns/sufia}/model_methods.rb +0 -0
  224. data/sufia-models/app/models/concerns/sufia/user.rb +8 -1
  225. data/sufia-models/app/models/sufia/avatar_uploader.rb +2 -3
  226. data/sufia-models/app/services/sufia/noid.rb +9 -0
  227. data/sufia-models/config/locales/sufia.en.yml +1 -0
  228. data/sufia-models/lib/generators/sufia/models/fulltext_generator.rb +27 -0
  229. data/sufia-models/lib/generators/sufia/models/install_generator.rb +7 -0
  230. data/sufia-models/lib/generators/sufia/models/templates/config/analytics.yml +5 -5
  231. data/sufia-models/lib/generators/sufia/models/templates/config/solrconfig.xml +177 -0
  232. data/sufia-models/lib/generators/sufia/models/templates/config/sufia.rb +3 -1
  233. data/sufia-models/lib/generators/sufia/models/upgrade400_generator.rb +7 -0
  234. data/sufia-models/lib/sufia/messages.rb +67 -0
  235. data/sufia-models/lib/sufia/models.rb +2 -0
  236. data/sufia-models/lib/sufia/models/active_fedora/redis.rb +0 -6
  237. data/sufia-models/lib/sufia/models/engine.rb +1 -3
  238. data/sufia-models/lib/sufia/models/resque.rb +1 -1
  239. data/sufia-models/lib/sufia/models/version.rb +1 -1
  240. data/sufia-models/lib/sufia/permissions.rb +9 -0
  241. data/sufia-models/lib/sufia/permissions/readable.rb +20 -0
  242. data/sufia-models/lib/sufia/permissions/writable.rb +56 -0
  243. data/sufia-models/lib/tasks/sufia-models_tasks.rake +58 -2
  244. data/sufia-models/sufia-models.gemspec +11 -11
  245. data/sufia.gemspec +19 -9
  246. data/tasks/jetty.rake +6 -5
  247. data/tasks/sufia-dev.rake +4 -77
  248. metadata +235 -72
  249. data/app/assets/images/folder.png +0 -0
  250. data/app/views/collections/show_fields/_creator.html.erb +0 -11
  251. data/app/views/collections/show_fields/_description.html.erb +0 -8
  252. data/app/views/collections/show_fields/_title.html.erb +0 -8
  253. data/app/views/generic_files/edit_fields/_default.html.erb +0 -6
  254. data/app/views/generic_files/edit_fields/_description.html.erb +0 -5
  255. data/app/views/generic_files/edit_fields/_resource_type.html.erb +0 -6
  256. data/app/views/generic_files/edit_fields/_rights.html.erb +0 -6
  257. data/app/views/generic_files/edit_fields/_suffix.html.erb +0 -9
  258. data/app/views/generic_files/show_fields/_creator.html.erb +0 -7
  259. data/app/views/generic_files/show_fields/_default.html.erb +0 -6
  260. data/app/views/generic_files/show_fields/_description.html.erb +0 -7
  261. data/app/views/generic_files/show_fields/_identifier.html.erb +0 -4
  262. data/app/views/generic_files/show_fields/_related_url.html.erb +0 -6
  263. data/app/views/generic_files/show_fields/_title.html.erb +0 -7
  264. data/lib/generators/sufia/sufia_generator.rb +0 -89
  265. data/spec/active_fedora/unsaved_digital_object_spec.rb +0 -35
@@ -25,11 +25,10 @@ module Sufia
25
25
  config.enable_local_ingest = nil
26
26
  config.analytics = false
27
27
  config.queue = Sufia::Resque::Queue
28
+ config.max_notifications_for_dashboard = 5
28
29
 
29
30
  config.autoload_paths += %W(
30
- #{config.root}/lib/sufia/models/jobs
31
31
  #{config.root}/app/models/datastreams
32
- #{config.root}/app/models/concerns
33
32
  )
34
33
 
35
34
  rake_tasks do
@@ -44,7 +43,6 @@ module Sufia
44
43
  initializer 'requires' do
45
44
  require 'activerecord-import'
46
45
  require 'hydra/derivatives'
47
- require 'sufia/models/model_methods'
48
46
  require 'sufia/models/file_content'
49
47
  require 'sufia/models/file_content/versions'
50
48
  require 'sufia/models/user_local_directory_behavior'
@@ -14,7 +14,7 @@ module Sufia
14
14
  begin
15
15
  ::Resque.enqueue_to queue, MarshaledJob, Base64.encode64(Marshal.dump(job))
16
16
  rescue Redis::CannotConnectError
17
- logger.error "Redis is down!"
17
+ ActiveFedora::Base.logger.error "Redis is down!"
18
18
  end
19
19
  end
20
20
  end
@@ -1,5 +1,5 @@
1
1
  module Sufia
2
2
  module Models
3
- VERSION = "4.0.0.rc1"
3
+ VERSION = "4.0.0.rc2"
4
4
  end
5
5
  end
@@ -0,0 +1,9 @@
1
+ module Sufia
2
+ module Permissions
3
+ extend ActiveSupport::Autoload
4
+
5
+ autoload :Writable
6
+ autoload :Readable
7
+
8
+ end
9
+ end
@@ -0,0 +1,20 @@
1
+ module Sufia
2
+ module Permissions
3
+ module Readable
4
+ extend ActiveSupport::Concern
5
+
6
+ def public?
7
+ read_groups.include?('public')
8
+ end
9
+
10
+ def registered?
11
+ read_groups.include?('registered')
12
+ end
13
+
14
+ def private?
15
+ !(public? || registered?)
16
+ end
17
+
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,56 @@
1
+ module Sufia
2
+ module Permissions
3
+ module Writable
4
+ extend ActiveSupport::Concern
5
+
6
+ #we're overriding the permissions= method which is in Hydra::AccessControls::Permissions
7
+ include Hydra::AccessControls::Permissions
8
+ include Hydra::AccessControls::Visibility
9
+
10
+ included do
11
+ has_metadata "rightsMetadata", type: ParanoidRightsDatastream
12
+ validate :paranoid_permissions
13
+ end
14
+
15
+ def paranoid_permissions
16
+ # let the rightsMetadata ds make this determination
17
+ # - the object instance is passed in for easier access to the props ds
18
+ rightsMetadata.validate(self)
19
+ end
20
+
21
+ ## Updates those permissions that are provided to it. Does not replace any permissions unless they are provided
22
+ def permissions=(params)
23
+ perm_hash = permission_hash
24
+ params[:new_user_name].each { |name, access| perm_hash['person'][name] = access } if params[:new_user_name].present?
25
+ params[:new_group_name].each { |name, access| perm_hash['group'][name] = access } if params[:new_group_name].present?
26
+
27
+ params[:user].each { |name, access| perm_hash['person'][name] = access} if params[:user]
28
+ params[:group].each { |name, access| perm_hash['group'][name] = access if ['read', 'edit'].include?(access)} if params[:group]
29
+
30
+ rightsMetadata.update_permissions(perm_hash)
31
+ end
32
+
33
+ def permissions
34
+ perms = super
35
+ perms.map {|p| { name: p.name, access: p.access, type:p.type } }
36
+ end
37
+
38
+ private
39
+
40
+ def permission_hash
41
+ old_perms = self.permissions
42
+ user_perms = {}
43
+ old_perms.select{|r| r[:type] == 'user'}.each do |r|
44
+ user_perms[r[:name]] = r[:access]
45
+ end
46
+ user_perms
47
+ group_perms = {}
48
+ old_perms.select{|r| r[:type] == 'group'}.each do |r|
49
+ group_perms[r[:name]] = r[:access]
50
+ end
51
+ {'person'=>user_perms, 'group'=>group_perms}
52
+ end
53
+
54
+ end
55
+ end
56
+ end
@@ -1,7 +1,63 @@
1
1
  namespace :solr do
2
-
3
2
  desc "Enqueue a job to resolrize the repository objects"
4
3
  task reindex: :environment do
5
4
  Sufia.queue.push(ResolrizeJob.new)
6
5
  end
7
- end
6
+ end
7
+
8
+ namespace :sufia do
9
+ namespace :jetty do
10
+ desc 'Configure jetty with full-text indexing'
11
+ task config: :download_jars do
12
+ Rake::Task['jetty:config'].invoke
13
+ end
14
+
15
+ desc 'Download Solr full-text extraction jars'
16
+ task :download_jars do
17
+ puts "Downloading full-text jars from maven.org ..."
18
+ url_prefix = 'http://search.maven.org/remotecontent?filepath='
19
+ fulltext_dir = 'jetty/solr/lib/contrib/extraction/lib'
20
+ jars = %w(
21
+ org/apache/james/apache-mime4j-core/0.7.2/apache-mime4j-core-0.7.2.jar
22
+ org/apache/james/apache-mime4j-dom/0.7.2/apache-mime4j-dom-0.7.2.jar
23
+ org/apache/solr/solr-cell/4.0.0/solr-cell-4.0.0.jar
24
+ org/bouncycastle/bcmail-jdk15/1.45/bcmail-jdk15-1.45.jar
25
+ org/bouncycastle/bcprov-jdk15/1.45/bcprov-jdk15-1.45.jar
26
+ de/l3s/boilerpipe/boilerpipe/1.1.0/boilerpipe-1.1.0.jar
27
+ org/apache/commons/commons-compress/1.4.1/commons-compress-1.4.1.jar
28
+ dom4j/dom4j/1.6.1/dom4j-1.6.1.jar
29
+ org/apache/pdfbox/fontbox/1.7.0/fontbox-1.7.0.jar
30
+ com/ibm/icu/icu4j/49.1/icu4j-49.1.jar
31
+ com/googlecode/mp4parser/isoparser/1.0-RC-1/isoparser-1.0-RC-1.jar
32
+ jdom/jdom/1.0/jdom-1.0.jar
33
+ org/apache/pdfbox/jempbox/1.7.0/jempbox-1.7.0.jar
34
+ com/googlecode/juniversalchardet/juniversalchardet/1.0.3/juniversalchardet-1.0.3.jar
35
+ com/drewnoakes/metadata-extractor/2.4.0-beta-1/metadata-extractor-2.4.0-beta-1.jar
36
+ edu/ucar/netcdf/4.2-min/netcdf-4.2-min.jar
37
+ org/apache/pdfbox/pdfbox/1.7.0/pdfbox-1.7.0.jar
38
+ org/apache/poi/poi/3.8/poi-3.8.jar
39
+ org/apache/poi/poi-ooxml/3.8/poi-ooxml-3.8.jar
40
+ org/apache/poi/poi-ooxml-schemas/3.8/poi-ooxml-schemas-3.8.jar
41
+ org/apache/poi/poi-scratchpad/3.8/poi-scratchpad-3.8.jar
42
+ rome/rome/0.9/rome-0.9.jar
43
+ org/ccil/cowan/tagsoup/tagsoup/1.2.1/tagsoup-1.2.1.jar
44
+ org/apache/tika/tika-core/1.2/tika-core-1.2.jar
45
+ org/apache/tika/tika-parsers/1.2/tika-parsers-1.2.jar
46
+ org/gagravarr/vorbis-java-core/0.1/vorbis-java-core-0.1.jar
47
+ org/gagravarr/vorbis-java-tika/0.1/vorbis-java-tika-0.1.jar
48
+ xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar
49
+ org/apache/xmlbeans/xmlbeans/2.3.0/xmlbeans-2.3.0.jar
50
+ org/tukaani/xz/1.0/xz-1.0.jar
51
+ )
52
+ FileUtils.mkdir_p(fulltext_dir) unless File.directory?(fulltext_dir)
53
+ Dir.chdir(fulltext_dir) do
54
+ jars.each do |jar|
55
+ url = url_prefix + jar
56
+ jarfile = jar.split('/').last
57
+ puts "Fetching #{url}" unless File.exists?(jarfile)
58
+ system "wget --quiet --no-clobber #{url} -O #{jarfile}"
59
+ end
60
+ end
61
+ end
62
+ end
63
+ end
@@ -24,22 +24,22 @@ Gem::Specification.new do |spec|
24
24
  spec.require_paths = ["lib"]
25
25
 
26
26
  spec.add_development_dependency "bundler", "~> 1.3"
27
- spec.add_development_dependency "rake"
27
+ spec.add_development_dependency "rake", "~> 10.3"
28
28
 
29
29
  spec.add_dependency 'rails', '~> 4.0', '< 5.0.0'
30
- spec.add_dependency 'activeresource', "~>4.0.0" # No longer a dependency of rails 4.0
30
+ spec.add_dependency 'activeresource', "~> 4.0" # No longer a dependency of rails 4.0
31
31
 
32
32
  spec.add_dependency "hydra-head", "~> 7.0"
33
- spec.add_dependency 'nest', '~> 1.1.1'
33
+ spec.add_dependency 'nest', '~> 1.1'
34
34
  spec.add_dependency 'resque', '~> 1.23'
35
- spec.add_dependency 'resque-pool', '~> 0.3.0'
36
- spec.add_dependency 'noid', '~> 0.6.6'
37
- spec.add_dependency 'mailboxer', '~> 0.12.0'
35
+ spec.add_dependency 'resque-pool', '~> 0.3'
36
+ spec.add_dependency 'noid', '~> 0.6'
37
+ spec.add_dependency 'mailboxer', '~> 0.12'
38
38
  spec.add_dependency 'acts_as_follower', '>= 0.1.1', '< 0.3'
39
- spec.add_dependency 'carrierwave', '~> 0.9.0'
39
+ spec.add_dependency 'carrierwave', '~> 0.9'
40
40
  spec.add_dependency 'hydra-derivatives', '~> 0.1'
41
- spec.add_dependency 'oauth2', '~> 0.9.3'
42
- spec.add_dependency 'google-api-client', '~> 0.7.1'
43
- spec.add_dependency 'legato', '~> 0.3.0'
44
- spec.add_dependency 'activerecord-import'
41
+ spec.add_dependency 'oauth2', '~> 0.9'
42
+ spec.add_dependency 'google-api-client', '~> 0.7'
43
+ spec.add_dependency 'legato', '~> 0.3'
44
+ spec.add_dependency 'activerecord-import', '~> 0.5'
45
45
  end
@@ -18,7 +18,7 @@ Gem::Specification.new do |gem|
18
18
 
19
19
  gem.add_dependency 'sufia-models', version
20
20
  gem.add_dependency 'blacklight_advanced_search', '~> 5.0'
21
- gem.add_dependency 'blacklight', '~> 5.0'
21
+ gem.add_dependency 'blacklight', '~> 5.5'
22
22
  gem.add_dependency 'tinymce-rails', '~> 4.0.19'
23
23
  gem.add_dependency 'tinymce-rails-imageupload', '~> 4.0.16.beta'
24
24
 
@@ -29,16 +29,26 @@ Gem::Specification.new do |gem|
29
29
  gem.add_dependency 'sass-rails'
30
30
 
31
31
  gem.add_dependency 'hydra-batch-edit', '>= 1.1.1', '< 2.0.0'
32
- gem.add_dependency 'browse-everything', '>= 0.4.0'
32
+ gem.add_dependency 'browse-everything', '~> 0.4'
33
33
 
34
- gem.add_dependency 'daemons', '1.1.9'
34
+ gem.add_dependency 'daemons', '~> 1.1'
35
35
  gem.add_dependency 'mail_form'
36
- gem.add_dependency 'rails_autolink', '~> 1.1.0'
37
- gem.add_dependency 'yaml_db', '0.2.3'
38
- gem.add_dependency 'font-awesome-sass-rails', '~> 3.0'
39
- gem.add_dependency 'hydra-editor', '~> 0.3.0'
40
- gem.add_dependency 'hydra-collections', '~> 2.0.2'
41
- gem.add_dependency 'bootstrap_form', '~> 2.1.1'
36
+ gem.add_dependency 'rails_autolink', '~> 1.1'
37
+ gem.add_dependency 'yaml_db', '~> 0.2'
38
+ gem.add_dependency 'font-awesome-rails'
39
+ gem.add_dependency 'hydra-editor', '~> 0.3'
40
+ gem.add_dependency 'hydra-collections', '~> 2.0'
41
+ gem.add_dependency 'bootstrap_form', '~> 2.1'
42
+ gem.add_dependency 'bootstrap-sass', '< 3.2'
42
43
  gem.add_dependency 'blacklight-gallery'
43
44
 
45
+ gem.add_development_dependency 'engine_cart'
46
+ gem.add_development_dependency 'mida'
47
+ gem.add_development_dependency 'database_cleaner'
48
+ gem.add_development_dependency 'rspec-its'
49
+ gem.add_development_dependency 'rspec-activemodel-mocks'
50
+ gem.add_development_dependency "capybara"
51
+ gem.add_development_dependency "poltergeist", "~> 1.5"
52
+ gem.add_development_dependency "factory_girl_rails"
53
+
44
54
  end
@@ -1,13 +1,14 @@
1
1
  namespace :jetty do
2
2
  desc "Copies the default Solr & Fedora configs into the bundled Hydra Testing Server"
3
3
  task :config do
4
- Rake::Task["jetty:config_fedora"].invoke
4
+ Rake::Task['sufia:jetty:download_jars'].invoke
5
5
  Rake::Task["jetty:config_solr"].invoke
6
+ Rake::Task["jetty:config_fedora"].invoke
6
7
  end
7
-
8
+
8
9
  desc "Copies the contents of solr_conf into the Solr development-core and test-core of Testing Server"
9
10
  task :config_solr do
10
- FileList['solr_conf/conf/*'].each do |f|
11
+ FileList['solr_conf/conf/*'].each do |f|
11
12
  cp("#{f}", 'jetty/solr/development-core/conf/', verbose: true)
12
13
  cp("#{f}", 'jetty/solr/test-core/conf/', verbose: true)
13
14
  end
@@ -15,13 +16,13 @@ namespace :jetty do
15
16
 
16
17
  desc "Copies a custom fedora config for the bundled Hydra Testing Server"
17
18
  task :config_fedora do
18
- # load a custom fedora.fcfg -
19
+ # load a custom fedora.fcfg -
19
20
  if defined?(Rails.root)
20
21
  app_root = Rails.root
21
22
  else
22
23
  app_root = File.join(File.dirname(__FILE__),"..")
23
24
  end
24
-
25
+
25
26
  fcfg = File.join(app_root,"fedora_conf","conf","development","fedora.fcfg")
26
27
  if File.exists?(fcfg)
27
28
  puts "copying over development/fedora.fcfg"
@@ -1,11 +1,12 @@
1
1
  require 'rspec/core'
2
2
  require 'rspec/core/rake_task'
3
- APP_ROOT="." # for jettywrapper
3
+ RSpec::Core::RakeTask.new(:spec)
4
+
4
5
  require 'jettywrapper'
5
- #ENV["RAILS_ROOT"] ||= 'spec/internal'
6
+ require 'engine_cart/rake_task'
6
7
 
7
8
  desc 'Spin up hydra-jetty and run specs'
8
- task ci: ['jetty:clean', 'jetty:config'] do
9
+ task ci: ['engine_cart:generate', 'jetty:clean', 'sufia:jetty:config'] do
9
10
  puts 'running continuous integration'
10
11
  jetty_params = Jettywrapper.load_config
11
12
  error = Jettywrapper.wrap(jetty_params) do
@@ -13,77 +14,3 @@ task ci: ['jetty:clean', 'jetty:config'] do
13
14
  end
14
15
  raise "test failures: #{error}" if error
15
16
  end
16
-
17
- task spec: :generate do
18
- Bundler.with_clean_env do
19
- within_test_app do
20
- Rake::Task['rspec'].invoke
21
- end
22
- end
23
- end
24
-
25
- desc "Run specs"
26
- RSpec::Core::RakeTask.new(:rspec) do |t|
27
- t.pattern = '../**/*_spec.rb'
28
- if ENV["TRAVIS"]
29
- t.rspec_opts = ["--colour -I ../", '--backtrace', '--profile 20']
30
- else
31
- t.rspec_opts = ["--colour -I ../"]
32
- end
33
- end
34
-
35
- desc "Create the test rails app"
36
- task :generate do
37
- unless File.exists?('spec/internal/Rakefile')
38
- puts "Generating rails app"
39
- `rails new spec/internal`
40
- puts "Updating gemfile"
41
-
42
- `echo "gem 'sufia', path: '../../../sufia'
43
- gem 'capybara'
44
- gem 'database_cleaner'
45
- gem 'factory_girl_rails'
46
- gem 'poltergeist'
47
- gem 'kaminari', github: 'harai/kaminari', branch: 'route_prefix_prototype'" >> spec/internal/Gemfile`
48
- puts "Copying generator"
49
- `cp -r spec/support/lib/generators spec/internal/lib`
50
- Bundler.with_clean_env do
51
- within_test_app do
52
- puts "Bundle install"
53
- `bundle install`
54
- puts "running test_app_generator"
55
- system "rails generate test_app"
56
-
57
- # These factories are autogenerated and conflict with our factories
58
- system 'rm test/factories/users.rb'
59
- puts "running migrations"
60
- puts `rake db:migrate db:test:prepare`
61
- end
62
- end
63
- end
64
- puts "Done generating test app"
65
- end
66
-
67
- desc "Clean out the test rails app"
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
75
- puts "Removing sample rails app"
76
- `rm -rf spec/internal`
77
- end
78
-
79
- def within_test_app
80
- FileUtils.cd('spec/internal')
81
- yield
82
- FileUtils.cd('../..')
83
- end
84
-
85
- namespace :meme do
86
- desc "configure jetty to generate checksums"
87
- task :config do
88
- end
89
- end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sufia
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0.rc1
4
+ version: 4.0.0.rc2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Coyne
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-06-06 00:00:00.000000000 Z
12
+ date: 2014-08-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: sufia-models
@@ -17,14 +17,14 @@ dependencies:
17
17
  requirements:
18
18
  - - '='
19
19
  - !ruby/object:Gem::Version
20
- version: 4.0.0.rc1
20
+ version: 4.0.0.rc2
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - '='
26
26
  - !ruby/object:Gem::Version
27
- version: 4.0.0.rc1
27
+ version: 4.0.0.rc2
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: blacklight_advanced_search
30
30
  requirement: !ruby/object:Gem::Requirement
@@ -45,14 +45,14 @@ dependencies:
45
45
  requirements:
46
46
  - - "~>"
47
47
  - !ruby/object:Gem::Version
48
- version: '5.0'
48
+ version: '5.5'
49
49
  type: :runtime
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
53
  - - "~>"
54
54
  - !ruby/object:Gem::Version
55
- version: '5.0'
55
+ version: '5.5'
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: tinymce-rails
58
58
  requirement: !ruby/object:Gem::Requirement
@@ -119,30 +119,30 @@ dependencies:
119
119
  name: browse-everything
120
120
  requirement: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - ">="
122
+ - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: 0.4.0
124
+ version: '0.4'
125
125
  type: :runtime
126
126
  prerelease: false
127
127
  version_requirements: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - ">="
129
+ - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: 0.4.0
131
+ version: '0.4'
132
132
  - !ruby/object:Gem::Dependency
133
133
  name: daemons
134
134
  requirement: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - '='
136
+ - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: 1.1.9
138
+ version: '1.1'
139
139
  type: :runtime
140
140
  prerelease: false
141
141
  version_requirements: !ruby/object:Gem::Requirement
142
142
  requirements:
143
- - - '='
143
+ - - "~>"
144
144
  - !ruby/object:Gem::Version
145
- version: 1.1.9
145
+ version: '1.1'
146
146
  - !ruby/object:Gem::Dependency
147
147
  name: mail_form
148
148
  requirement: !ruby/object:Gem::Requirement
@@ -163,84 +163,98 @@ dependencies:
163
163
  requirements:
164
164
  - - "~>"
165
165
  - !ruby/object:Gem::Version
166
- version: 1.1.0
166
+ version: '1.1'
167
167
  type: :runtime
168
168
  prerelease: false
169
169
  version_requirements: !ruby/object:Gem::Requirement
170
170
  requirements:
171
171
  - - "~>"
172
172
  - !ruby/object:Gem::Version
173
- version: 1.1.0
173
+ version: '1.1'
174
174
  - !ruby/object:Gem::Dependency
175
175
  name: yaml_db
176
176
  requirement: !ruby/object:Gem::Requirement
177
177
  requirements:
178
- - - '='
178
+ - - "~>"
179
179
  - !ruby/object:Gem::Version
180
- version: 0.2.3
180
+ version: '0.2'
181
181
  type: :runtime
182
182
  prerelease: false
183
183
  version_requirements: !ruby/object:Gem::Requirement
184
184
  requirements:
185
- - - '='
185
+ - - "~>"
186
186
  - !ruby/object:Gem::Version
187
- version: 0.2.3
187
+ version: '0.2'
188
188
  - !ruby/object:Gem::Dependency
189
- name: font-awesome-sass-rails
189
+ name: font-awesome-rails
190
190
  requirement: !ruby/object:Gem::Requirement
191
191
  requirements:
192
- - - "~>"
192
+ - - ">="
193
193
  - !ruby/object:Gem::Version
194
- version: '3.0'
194
+ version: '0'
195
195
  type: :runtime
196
196
  prerelease: false
197
197
  version_requirements: !ruby/object:Gem::Requirement
198
198
  requirements:
199
- - - "~>"
199
+ - - ">="
200
200
  - !ruby/object:Gem::Version
201
- version: '3.0'
201
+ version: '0'
202
202
  - !ruby/object:Gem::Dependency
203
203
  name: hydra-editor
204
204
  requirement: !ruby/object:Gem::Requirement
205
205
  requirements:
206
206
  - - "~>"
207
207
  - !ruby/object:Gem::Version
208
- version: 0.3.0
208
+ version: '0.3'
209
209
  type: :runtime
210
210
  prerelease: false
211
211
  version_requirements: !ruby/object:Gem::Requirement
212
212
  requirements:
213
213
  - - "~>"
214
214
  - !ruby/object:Gem::Version
215
- version: 0.3.0
215
+ version: '0.3'
216
216
  - !ruby/object:Gem::Dependency
217
217
  name: hydra-collections
218
218
  requirement: !ruby/object:Gem::Requirement
219
219
  requirements:
220
220
  - - "~>"
221
221
  - !ruby/object:Gem::Version
222
- version: 2.0.2
222
+ version: '2.0'
223
223
  type: :runtime
224
224
  prerelease: false
225
225
  version_requirements: !ruby/object:Gem::Requirement
226
226
  requirements:
227
227
  - - "~>"
228
228
  - !ruby/object:Gem::Version
229
- version: 2.0.2
229
+ version: '2.0'
230
230
  - !ruby/object:Gem::Dependency
231
231
  name: bootstrap_form
232
232
  requirement: !ruby/object:Gem::Requirement
233
233
  requirements:
234
234
  - - "~>"
235
235
  - !ruby/object:Gem::Version
236
- version: 2.1.1
236
+ version: '2.1'
237
237
  type: :runtime
238
238
  prerelease: false
239
239
  version_requirements: !ruby/object:Gem::Requirement
240
240
  requirements:
241
241
  - - "~>"
242
242
  - !ruby/object:Gem::Version
243
- version: 2.1.1
243
+ version: '2.1'
244
+ - !ruby/object:Gem::Dependency
245
+ name: bootstrap-sass
246
+ requirement: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - "<"
249
+ - !ruby/object:Gem::Version
250
+ version: '3.2'
251
+ type: :runtime
252
+ prerelease: false
253
+ version_requirements: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - "<"
256
+ - !ruby/object:Gem::Version
257
+ version: '3.2'
244
258
  - !ruby/object:Gem::Dependency
245
259
  name: blacklight-gallery
246
260
  requirement: !ruby/object:Gem::Requirement
@@ -255,6 +269,118 @@ dependencies:
255
269
  - - ">="
256
270
  - !ruby/object:Gem::Version
257
271
  version: '0'
272
+ - !ruby/object:Gem::Dependency
273
+ name: engine_cart
274
+ requirement: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - ">="
277
+ - !ruby/object:Gem::Version
278
+ version: '0'
279
+ type: :development
280
+ prerelease: false
281
+ version_requirements: !ruby/object:Gem::Requirement
282
+ requirements:
283
+ - - ">="
284
+ - !ruby/object:Gem::Version
285
+ version: '0'
286
+ - !ruby/object:Gem::Dependency
287
+ name: mida
288
+ requirement: !ruby/object:Gem::Requirement
289
+ requirements:
290
+ - - ">="
291
+ - !ruby/object:Gem::Version
292
+ version: '0'
293
+ type: :development
294
+ prerelease: false
295
+ version_requirements: !ruby/object:Gem::Requirement
296
+ requirements:
297
+ - - ">="
298
+ - !ruby/object:Gem::Version
299
+ version: '0'
300
+ - !ruby/object:Gem::Dependency
301
+ name: database_cleaner
302
+ requirement: !ruby/object:Gem::Requirement
303
+ requirements:
304
+ - - ">="
305
+ - !ruby/object:Gem::Version
306
+ version: '0'
307
+ type: :development
308
+ prerelease: false
309
+ version_requirements: !ruby/object:Gem::Requirement
310
+ requirements:
311
+ - - ">="
312
+ - !ruby/object:Gem::Version
313
+ version: '0'
314
+ - !ruby/object:Gem::Dependency
315
+ name: rspec-its
316
+ requirement: !ruby/object:Gem::Requirement
317
+ requirements:
318
+ - - ">="
319
+ - !ruby/object:Gem::Version
320
+ version: '0'
321
+ type: :development
322
+ prerelease: false
323
+ version_requirements: !ruby/object:Gem::Requirement
324
+ requirements:
325
+ - - ">="
326
+ - !ruby/object:Gem::Version
327
+ version: '0'
328
+ - !ruby/object:Gem::Dependency
329
+ name: rspec-activemodel-mocks
330
+ requirement: !ruby/object:Gem::Requirement
331
+ requirements:
332
+ - - ">="
333
+ - !ruby/object:Gem::Version
334
+ version: '0'
335
+ type: :development
336
+ prerelease: false
337
+ version_requirements: !ruby/object:Gem::Requirement
338
+ requirements:
339
+ - - ">="
340
+ - !ruby/object:Gem::Version
341
+ version: '0'
342
+ - !ruby/object:Gem::Dependency
343
+ name: capybara
344
+ requirement: !ruby/object:Gem::Requirement
345
+ requirements:
346
+ - - ">="
347
+ - !ruby/object:Gem::Version
348
+ version: '0'
349
+ type: :development
350
+ prerelease: false
351
+ version_requirements: !ruby/object:Gem::Requirement
352
+ requirements:
353
+ - - ">="
354
+ - !ruby/object:Gem::Version
355
+ version: '0'
356
+ - !ruby/object:Gem::Dependency
357
+ name: poltergeist
358
+ requirement: !ruby/object:Gem::Requirement
359
+ requirements:
360
+ - - "~>"
361
+ - !ruby/object:Gem::Version
362
+ version: '1.5'
363
+ type: :development
364
+ prerelease: false
365
+ version_requirements: !ruby/object:Gem::Requirement
366
+ requirements:
367
+ - - "~>"
368
+ - !ruby/object:Gem::Version
369
+ version: '1.5'
370
+ - !ruby/object:Gem::Dependency
371
+ name: factory_girl_rails
372
+ requirement: !ruby/object:Gem::Requirement
373
+ requirements:
374
+ - - ">="
375
+ - !ruby/object:Gem::Version
376
+ version: '0'
377
+ type: :development
378
+ prerelease: false
379
+ version_requirements: !ruby/object:Gem::Requirement
380
+ requirements:
381
+ - - ">="
382
+ - !ruby/object:Gem::Version
383
+ version: '0'
258
384
  description: Sufia is a Rails engine for creating a self-deposit institutional repository
259
385
  email:
260
386
  - justin@curationexperts.com
@@ -287,7 +413,6 @@ files:
287
413
  - app/assets/images/blacklight/start_over.gif
288
414
  - app/assets/images/default.png
289
415
  - app/assets/images/favicon.ico
290
- - app/assets/images/folder.png
291
416
  - app/assets/images/hydra/powered_by_hydra.png
292
417
  - app/assets/images/hydra/search-button.png
293
418
  - app/assets/images/loading.gif
@@ -339,6 +464,7 @@ files:
339
464
  - app/assets/javascripts/sufia.js
340
465
  - app/assets/javascripts/sufia/app.js
341
466
  - app/assets/javascripts/sufia/audio.js
467
+ - app/assets/javascripts/sufia/batch.js
342
468
  - app/assets/javascripts/sufia/batch_edit.js
343
469
  - app/assets/javascripts/sufia/batch_select_all.js
344
470
  - app/assets/javascripts/sufia/dashboard_actions.js
@@ -351,9 +477,12 @@ files:
351
477
  - app/assets/javascripts/sufia/permissions.js
352
478
  - app/assets/javascripts/sufia/search.js
353
479
  - app/assets/javascripts/sufia/single_use_link.js
480
+ - app/assets/javascripts/sufia/tabs.js
354
481
  - app/assets/javascripts/sufia/trophy.js
355
482
  - app/assets/javascripts/sufia/uploader.js
356
483
  - app/assets/javascripts/terms_of_service.js
484
+ - app/assets/stylesheets/catalog.css.scss
485
+ - app/assets/stylesheets/collections.css.scss
357
486
  - app/assets/stylesheets/featured.css.scss
358
487
  - app/assets/stylesheets/file-listing.css.scss
359
488
  - app/assets/stylesheets/fileupload/application.css
@@ -366,6 +495,7 @@ files:
366
495
  - app/assets/stylesheets/home-page.css.scss
367
496
  - app/assets/stylesheets/jquery-ui.css
368
497
  - app/assets/stylesheets/nestable.css.scss
498
+ - app/assets/stylesheets/settings.css.scss
369
499
  - app/assets/stylesheets/styles.css.scss
370
500
  - app/assets/stylesheets/sufia-audio-overrides.css
371
501
  - app/assets/stylesheets/sufia.css.scss
@@ -486,18 +616,21 @@ files:
486
616
  - app/views/collections/_search_collection_dashboard_form.html.erb
487
617
  - app/views/collections/_show_actions.html.erb
488
618
  - app/views/collections/_show_descriptions.html.erb
619
+ - app/views/collections/_show_document_list.html.erb
620
+ - app/views/collections/_show_document_list_menu.html.erb
621
+ - app/views/collections/_show_document_list_row.html.erb
489
622
  - app/views/collections/_show_fields.html.erb
490
623
  - app/views/collections/_single_item_action_fields.html.erb
491
624
  - app/views/collections/_sort_and_per_page.html.erb
492
625
  - app/views/collections/_view_type_group.html.erb
493
626
  - app/views/collections/edit.html.erb
494
627
  - app/views/collections/show.html.erb
495
- - app/views/collections/show_fields/_creator.html.erb
496
- - app/views/collections/show_fields/_description.html.erb
497
- - app/views/collections/show_fields/_title.html.erb
498
628
  - app/views/contact_form/_directions.html.erb
499
629
  - app/views/contact_form/create.html.erb
500
630
  - app/views/contact_form/new.html.erb
631
+ - app/views/dashboard/_index_partials/_contents.html.erb
632
+ - app/views/dashboard/_index_partials/_heading_actions.html.erb
633
+ - app/views/dashboard/_index_partials/_heading_greetings.html.erb
501
634
  - app/views/dashboard/_index_partials/_stats.html.erb
502
635
  - app/views/dashboard/_index_partials/_user_info.html.erb
503
636
  - app/views/dashboard/index.html.erb
@@ -524,34 +657,17 @@ files:
524
657
  - app/views/generic_files/_permission.html.erb
525
658
  - app/views/generic_files/_permission_form.html.erb
526
659
  - app/views/generic_files/_rights_modal.html.erb
660
+ - app/views/generic_files/_share_with.html.erb
527
661
  - app/views/generic_files/_show_actions.html.erb
662
+ - app/views/generic_files/_show_collections.html.erb
528
663
  - app/views/generic_files/_show_descriptions.html.erb
529
664
  - app/views/generic_files/_show_details.html.erb
530
665
  - app/views/generic_files/_versioning.html.erb
666
+ - app/views/generic_files/_visibility.html.erb
531
667
  - app/views/generic_files/citation.html.erb
532
668
  - app/views/generic_files/edit.html.erb
533
- - app/views/generic_files/edit_fields/_default.html.erb
534
- - app/views/generic_files/edit_fields/_description.html.erb
535
- - app/views/generic_files/edit_fields/_resource_type.html.erb
536
- - app/views/generic_files/edit_fields/_rights.html.erb
537
- - app/views/generic_files/edit_fields/_suffix.html.erb
538
669
  - app/views/generic_files/new.html.erb
539
670
  - app/views/generic_files/show.html.erb
540
- - app/views/generic_files/show_fields/_based_near.html.erb
541
- - app/views/generic_files/show_fields/_contributor.html.erb
542
- - app/views/generic_files/show_fields/_creator.html.erb
543
- - app/views/generic_files/show_fields/_date_created.html.erb
544
- - app/views/generic_files/show_fields/_default.html.erb
545
- - app/views/generic_files/show_fields/_description.html.erb
546
- - app/views/generic_files/show_fields/_identifier.html.erb
547
- - app/views/generic_files/show_fields/_language.html.erb
548
- - app/views/generic_files/show_fields/_publisher.html.erb
549
- - app/views/generic_files/show_fields/_related_url.html.erb
550
- - app/views/generic_files/show_fields/_resource_type.html.erb
551
- - app/views/generic_files/show_fields/_rights.html.erb
552
- - app/views/generic_files/show_fields/_subject.html.erb
553
- - app/views/generic_files/show_fields/_tag.html.erb
554
- - app/views/generic_files/show_fields/_title.html.erb
555
671
  - app/views/generic_files/stats.html.erb
556
672
  - app/views/generic_files/upload/_agreement.html.erb
557
673
  - app/views/generic_files/upload/_alerts.html.erb
@@ -591,6 +707,7 @@ files:
591
707
  - app/views/my/_action_menu.html.erb
592
708
  - app/views/my/_batch_edits_actions.html.erb
593
709
  - app/views/my/_collection_action_menu.html.erb
710
+ - app/views/my/_constraints.html.erb
594
711
  - app/views/my/_did_you_mean.html.erb
595
712
  - app/views/my/_document_list.html.erb
596
713
  - app/views/my/_facet_layout.html.erb
@@ -603,16 +720,34 @@ files:
603
720
  - app/views/my/_index_partials/_list_files.html.erb
604
721
  - app/views/my/_results_pagination.html.erb
605
722
  - app/views/my/_scripts.js.erb
723
+ - app/views/my/_search_header.html.erb
606
724
  - app/views/my/_sort_and_per_page.html.erb
607
725
  - app/views/my/facet.html.erb
608
726
  - app/views/my/index.html.erb
609
727
  - app/views/pages/show.html.erb
610
728
  - app/views/records/_edit_field.html.erb
729
+ - app/views/records/edit_fields/_default.html.erb
611
730
  - app/views/records/edit_fields/_description.html.erb
612
731
  - app/views/records/edit_fields/_resource_type.html.erb
613
732
  - app/views/records/edit_fields/_rights.html.erb
614
733
  - app/views/records/edit_fields/_suffix.html.erb
615
734
  - app/views/records/edit_fields/_type.html.erb
735
+ - app/views/records/show_fields/_based_near.html.erb
736
+ - app/views/records/show_fields/_contributor.html.erb
737
+ - app/views/records/show_fields/_creator.html.erb
738
+ - app/views/records/show_fields/_date_created.html.erb
739
+ - app/views/records/show_fields/_default.html.erb
740
+ - app/views/records/show_fields/_description.html.erb
741
+ - app/views/records/show_fields/_identifier.html.erb
742
+ - app/views/records/show_fields/_language.html.erb
743
+ - app/views/records/show_fields/_publisher.html.erb
744
+ - app/views/records/show_fields/_related_url.html.erb
745
+ - app/views/records/show_fields/_resource_type.html.erb
746
+ - app/views/records/show_fields/_rights.html.erb
747
+ - app/views/records/show_fields/_subject.html.erb
748
+ - app/views/records/show_fields/_tag.html.erb
749
+ - app/views/records/show_fields/_title.html.erb
750
+ - app/views/shared/_attributes.html.erb
616
751
  - app/views/single_use_links/new_download.html.erb
617
752
  - app/views/single_use_links/new_show.html.erb
618
753
  - app/views/single_use_links_viewer/show.html.erb
@@ -637,6 +772,7 @@ files:
637
772
  - app/views/users/_social_media_info.html.erb
638
773
  - app/views/users/_trophy_edit.html.erb
639
774
  - app/views/users/_user_info.html.erb
775
+ - app/views/users/_user_util_links_extra.html.erb
640
776
  - app/views/users/_vitals.html.erb
641
777
  - app/views/users/edit.html.erb
642
778
  - app/views/users/index.html.erb
@@ -651,7 +787,7 @@ files:
651
787
  - db/seeds.rb
652
788
  - fedora_conf/conf/development/fedora.fcfg
653
789
  - fedora_conf/conf/test/fedora.fcfg
654
- - lib/generators/sufia/sufia_generator.rb
790
+ - lib/generators/sufia/install_generator.rb
655
791
  - lib/generators/sufia/templates/catalog_controller.rb
656
792
  - lib/generators/sufia/templates/config/action_dispatch_http_upload_monkey_patch.rb
657
793
  - lib/generators/sufia/templates/config/tinymce.yml
@@ -667,7 +803,6 @@ files:
667
803
  - solr_conf/conf/solrconfig.xml
668
804
  - solr_conf/solr.xml
669
805
  - spec/.gitignore
670
- - spec/active_fedora/unsaved_digital_object_spec.rb
671
806
  - spec/actors/generic_file/actor_spec.rb
672
807
  - spec/controllers/authorities_controller_spec.rb
673
808
  - spec/controllers/batch_controller_spec.rb
@@ -711,6 +846,7 @@ files:
711
846
  - spec/features/search_spec.rb
712
847
  - spec/features/single_use_links_spec.rb
713
848
  - spec/features/users_spec.rb
849
+ - spec/fixtures/1.5mb-avatar.jpg
714
850
  - spec/fixtures/4-20.png
715
851
  - spec/fixtures/Example.ogg
716
852
  - spec/fixtures/charter.docx
@@ -739,8 +875,10 @@ files:
739
875
  - spec/fixtures/world.png
740
876
  - spec/fixtures/xls_fits.xml
741
877
  - spec/fixtures/xml_fits.xml
878
+ - spec/helpers/batch_edits_helper_spec.rb
742
879
  - spec/helpers/content_block_helper_spec.rb
743
880
  - spec/helpers/dashboard_helper_spec.rb
881
+ - spec/helpers/generic_file_helper_spec.rb
744
882
  - spec/helpers/records_helper_spec.rb
745
883
  - spec/helpers/sufia_helper_spec.rb
746
884
  - spec/helpers/trophy_helper_spec.rb
@@ -754,7 +892,10 @@ files:
754
892
  - spec/jobs/ingest_local_file_job_spec.rb
755
893
  - spec/lib/sufia/analytics_spec.rb
756
894
  - spec/lib/sufia/id_service_spec.rb
895
+ - spec/lib/sufia/messages_spec.rb
896
+ - spec/lib/sufia/readable_permissions_spec.rb
757
897
  - spec/lib/sufia/upload_complete_behavior_spec.rb
898
+ - spec/lib/sufia/writable_permissions_spec.rb
758
899
  - spec/models/ability_spec.rb
759
900
  - spec/models/batch_spec.rb
760
901
  - spec/models/checksum_audit_log_spec.rb
@@ -786,12 +927,16 @@ files:
786
927
  - spec/support/features/session_helpers.rb
787
928
  - spec/support/fedora_conf/fedora.fcfg
788
929
  - spec/support/fixture_helpers.rb
789
- - spec/support/lib/generators/test_app_generator.rb
790
930
  - spec/support/uploaded_file_monkeypatch.rb
931
+ - spec/test_app_templates/lib/generators/test_app_generator.rb
791
932
  - spec/views/batch/edit.html.erb_spec.rb
792
933
  - spec/views/batch_edits/check_all_spec.rb
793
- - spec/views/catalog/sort_and_per_pange.html.erb_spec.rb
934
+ - spec/views/catalog/index.html.erb_spec.rb
935
+ - spec/views/catalog/sort_and_per_page.html.erb_spec.rb
936
+ - spec/views/collections/_form.html.erb_spec.rb
937
+ - spec/views/collections/_show_descriptions.html.erb_spec.rb
794
938
  - spec/views/dashboard/index_spec.rb
939
+ - spec/views/generic_file/_breadcrumbs.html.erb_spec.rb
795
940
  - spec/views/generic_file/edit.html.erb_spec.rb
796
941
  - spec/views/generic_file/show.html.erb_spec.rb
797
942
  - spec/views/generic_file/stats.html.erb_spec.rb
@@ -799,6 +944,7 @@ files:
799
944
  - spec/views/users/_follower_modal.html.erb_spec.rb
800
945
  - spec/views/users/_following_modal.html.erb_spec.rb
801
946
  - spec/views/users/_notify_number.html.erb_spec.rb
947
+ - spec/views/users/_user_util_links.html.erb_spec.rb
802
948
  - spec/views/users/index.html.erb_spec.rb
803
949
  - spec/views/users/show.html.erb_spec.rb
804
950
  - sufia-models/.gitignore
@@ -807,9 +953,18 @@ files:
807
953
  - sufia-models/README.md
808
954
  - sufia-models/Rakefile
809
955
  - sufia-models/app/actors/sufia/generic_file/actor.rb
956
+ - sufia-models/app/jobs/active_fedora_pid_based_job.rb
957
+ - sufia-models/app/jobs/audit_job.rb
958
+ - sufia-models/app/jobs/batch_update_job.rb
959
+ - sufia-models/app/jobs/characterize_job.rb
960
+ - sufia-models/app/jobs/create_derivatives_job.rb
961
+ - sufia-models/app/jobs/import_url_job.rb
962
+ - sufia-models/app/jobs/resolrize_job.rb
810
963
  - sufia-models/app/models/batch.rb
811
964
  - sufia-models/app/models/checksum_audit_log.rb
812
965
  - sufia-models/app/models/collection.rb
966
+ - sufia-models/app/models/concerns/sufia/ability.rb
967
+ - sufia-models/app/models/concerns/sufia/collection.rb
813
968
  - sufia-models/app/models/concerns/sufia/generic_file.rb
814
969
  - sufia-models/app/models/concerns/sufia/generic_file/accessible_attributes.rb
815
970
  - sufia-models/app/models/concerns/sufia/generic_file/audit.rb
@@ -817,6 +972,7 @@ files:
817
972
  - sufia-models/app/models/concerns/sufia/generic_file/derivatives.rb
818
973
  - sufia-models/app/models/concerns/sufia/generic_file/export.rb
819
974
  - sufia-models/app/models/concerns/sufia/generic_file/featured.rb
975
+ - sufia-models/app/models/concerns/sufia/generic_file/full_text_indexing.rb
820
976
  - sufia-models/app/models/concerns/sufia/generic_file/metadata.rb
821
977
  - sufia-models/app/models/concerns/sufia/generic_file/mime_types.rb
822
978
  - sufia-models/app/models/concerns/sufia/generic_file/permissions.rb
@@ -825,6 +981,7 @@ files:
825
981
  - sufia-models/app/models/concerns/sufia/generic_file/versions.rb
826
982
  - sufia-models/app/models/concerns/sufia/generic_file/virus_check.rb
827
983
  - sufia-models/app/models/concerns/sufia/generic_file/web_form.rb
984
+ - sufia-models/app/models/concerns/sufia/model_methods.rb
828
985
  - sufia-models/app/models/concerns/sufia/properties_datastream_behavior.rb
829
986
  - sufia-models/app/models/concerns/sufia/user.rb
830
987
  - sufia-models/app/models/datastreams/batch_rdf_datastream.rb
@@ -854,6 +1011,7 @@ files:
854
1011
  - sufia-models/app/services/sufia/id_service.rb
855
1012
  - sufia-models/app/services/sufia/noid.rb
856
1013
  - sufia-models/config/locales/sufia.en.yml
1014
+ - sufia-models/lib/generators/sufia/models/fulltext_generator.rb
857
1015
  - sufia-models/lib/generators/sufia/models/install_generator.rb
858
1016
  - sufia-models/lib/generators/sufia/models/templates/config/analytics.yml
859
1017
  - sufia-models/lib/generators/sufia/models/templates/config/clamav.rb
@@ -864,6 +1022,7 @@ files:
864
1022
  - sufia-models/lib/generators/sufia/models/templates/config/resque_admin.rb
865
1023
  - sufia-models/lib/generators/sufia/models/templates/config/resque_config.rb
866
1024
  - sufia-models/lib/generators/sufia/models/templates/config/setup_mail.rb
1025
+ - sufia-models/lib/generators/sufia/models/templates/config/solrconfig.xml
867
1026
  - sufia-models/lib/generators/sufia/models/templates/config/sufia.rb
868
1027
  - sufia-models/lib/generators/sufia/models/templates/migrations/acts_as_follower_migration.rb
869
1028
  - sufia-models/lib/generators/sufia/models/templates/migrations/add_avatars_to_users.rb
@@ -881,26 +1040,21 @@ files:
881
1040
  - sufia-models/lib/generators/sufia/models/templates/migrations/create_version_committers.rb
882
1041
  - sufia-models/lib/generators/sufia/models/upgrade400_generator.rb
883
1042
  - sufia-models/lib/generators/sufia/models/usagestats_generator.rb
884
- - sufia-models/lib/sufia/ability.rb
1043
+ - sufia-models/lib/sufia/messages.rb
885
1044
  - sufia-models/lib/sufia/models.rb
886
1045
  - sufia-models/lib/sufia/models/active_fedora/redis.rb
887
1046
  - sufia-models/lib/sufia/models/active_record/redis.rb
888
1047
  - sufia-models/lib/sufia/models/engine.rb
889
1048
  - sufia-models/lib/sufia/models/file_content.rb
890
1049
  - sufia-models/lib/sufia/models/file_content/versions.rb
891
- - sufia-models/lib/sufia/models/jobs/active_fedora_pid_based_job.rb
892
- - sufia-models/lib/sufia/models/jobs/audit_job.rb
893
- - sufia-models/lib/sufia/models/jobs/batch_update_job.rb
894
- - sufia-models/lib/sufia/models/jobs/characterize_job.rb
895
- - sufia-models/lib/sufia/models/jobs/create_derivatives_job.rb
896
- - sufia-models/lib/sufia/models/jobs/import_url_job.rb
897
- - sufia-models/lib/sufia/models/jobs/resolrize_job.rb
898
- - sufia-models/lib/sufia/models/model_methods.rb
899
1050
  - sufia-models/lib/sufia/models/resque.rb
900
1051
  - sufia-models/lib/sufia/models/user_local_directory_behavior.rb
901
1052
  - sufia-models/lib/sufia/models/utils.rb
902
1053
  - sufia-models/lib/sufia/models/version.rb
903
1054
  - sufia-models/lib/sufia/models/virus_found_error.rb
1055
+ - sufia-models/lib/sufia/permissions.rb
1056
+ - sufia-models/lib/sufia/permissions/readable.rb
1057
+ - sufia-models/lib/sufia/permissions/writable.rb
904
1058
  - sufia-models/lib/tasks/resque.rake
905
1059
  - sufia-models/lib/tasks/sufia-models_tasks.rake
906
1060
  - sufia-models/sufia-models.gemspec
@@ -973,7 +1127,6 @@ specification_version: 4
973
1127
  summary: Sufia was extracted from ScholarSphere developed by Penn State University
974
1128
  test_files:
975
1129
  - spec/.gitignore
976
- - spec/active_fedora/unsaved_digital_object_spec.rb
977
1130
  - spec/actors/generic_file/actor_spec.rb
978
1131
  - spec/controllers/authorities_controller_spec.rb
979
1132
  - spec/controllers/batch_controller_spec.rb
@@ -1017,6 +1170,7 @@ test_files:
1017
1170
  - spec/features/search_spec.rb
1018
1171
  - spec/features/single_use_links_spec.rb
1019
1172
  - spec/features/users_spec.rb
1173
+ - spec/fixtures/1.5mb-avatar.jpg
1020
1174
  - spec/fixtures/4-20.png
1021
1175
  - spec/fixtures/Example.ogg
1022
1176
  - spec/fixtures/charter.docx
@@ -1045,8 +1199,10 @@ test_files:
1045
1199
  - spec/fixtures/world.png
1046
1200
  - spec/fixtures/xls_fits.xml
1047
1201
  - spec/fixtures/xml_fits.xml
1202
+ - spec/helpers/batch_edits_helper_spec.rb
1048
1203
  - spec/helpers/content_block_helper_spec.rb
1049
1204
  - spec/helpers/dashboard_helper_spec.rb
1205
+ - spec/helpers/generic_file_helper_spec.rb
1050
1206
  - spec/helpers/records_helper_spec.rb
1051
1207
  - spec/helpers/sufia_helper_spec.rb
1052
1208
  - spec/helpers/trophy_helper_spec.rb
@@ -1060,7 +1216,10 @@ test_files:
1060
1216
  - spec/jobs/ingest_local_file_job_spec.rb
1061
1217
  - spec/lib/sufia/analytics_spec.rb
1062
1218
  - spec/lib/sufia/id_service_spec.rb
1219
+ - spec/lib/sufia/messages_spec.rb
1220
+ - spec/lib/sufia/readable_permissions_spec.rb
1063
1221
  - spec/lib/sufia/upload_complete_behavior_spec.rb
1222
+ - spec/lib/sufia/writable_permissions_spec.rb
1064
1223
  - spec/models/ability_spec.rb
1065
1224
  - spec/models/batch_spec.rb
1066
1225
  - spec/models/checksum_audit_log_spec.rb
@@ -1092,12 +1251,16 @@ test_files:
1092
1251
  - spec/support/features/session_helpers.rb
1093
1252
  - spec/support/fedora_conf/fedora.fcfg
1094
1253
  - spec/support/fixture_helpers.rb
1095
- - spec/support/lib/generators/test_app_generator.rb
1096
1254
  - spec/support/uploaded_file_monkeypatch.rb
1255
+ - spec/test_app_templates/lib/generators/test_app_generator.rb
1097
1256
  - spec/views/batch/edit.html.erb_spec.rb
1098
1257
  - spec/views/batch_edits/check_all_spec.rb
1099
- - spec/views/catalog/sort_and_per_pange.html.erb_spec.rb
1258
+ - spec/views/catalog/index.html.erb_spec.rb
1259
+ - spec/views/catalog/sort_and_per_page.html.erb_spec.rb
1260
+ - spec/views/collections/_form.html.erb_spec.rb
1261
+ - spec/views/collections/_show_descriptions.html.erb_spec.rb
1100
1262
  - spec/views/dashboard/index_spec.rb
1263
+ - spec/views/generic_file/_breadcrumbs.html.erb_spec.rb
1101
1264
  - spec/views/generic_file/edit.html.erb_spec.rb
1102
1265
  - spec/views/generic_file/show.html.erb_spec.rb
1103
1266
  - spec/views/generic_file/stats.html.erb_spec.rb
@@ -1105,6 +1268,6 @@ test_files:
1105
1268
  - spec/views/users/_follower_modal.html.erb_spec.rb
1106
1269
  - spec/views/users/_following_modal.html.erb_spec.rb
1107
1270
  - spec/views/users/_notify_number.html.erb_spec.rb
1271
+ - spec/views/users/_user_util_links.html.erb_spec.rb
1108
1272
  - spec/views/users/index.html.erb_spec.rb
1109
1273
  - spec/views/users/show.html.erb_spec.rb
1110
- has_rdoc: