sufia 1.3.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (163) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +0 -3
  3. data/Gemfile +1 -0
  4. data/Releasing_sufia.md +3 -0
  5. data/SUFIA_VERSION +1 -0
  6. data/app/assets/javascripts/sufia.js +22 -24
  7. data/app/assets/javascripts/sufia/batch_select_all.js +2 -0
  8. data/app/assets/javascripts/sufia/fileupload.js +6 -0
  9. data/app/assets/javascripts/sufia/uploader.js +165 -0
  10. data/app/assets/javascripts/terms_of_service.js +36 -30
  11. data/app/assets/stylesheets/{scholarsphere-bootstrap.css → application-bootstrap.css} +0 -0
  12. data/app/assets/stylesheets/sufia.css.scss +1 -1
  13. data/app/controllers/batch_controller.rb +1 -0
  14. data/app/controllers/concerns/sufia/users_controller_behavior.rb +2 -1
  15. data/app/helpers/generic_file_helper.rb +17 -0
  16. data/{lib/sufia → app}/jobs/content_delete_event_job.rb +0 -0
  17. data/{lib/sufia → app}/jobs/content_deposit_event_job.rb +0 -0
  18. data/{lib/sufia → app}/jobs/content_new_version_event_job.rb +0 -0
  19. data/{lib/sufia → app}/jobs/content_restored_version_event_job.rb +0 -0
  20. data/{lib/sufia → app}/jobs/content_update_event_job.rb +0 -0
  21. data/{lib/sufia → app}/jobs/event_job.rb +0 -0
  22. data/{lib/sufia → app}/jobs/user_edit_profile_event_job.rb +0 -0
  23. data/{lib/sufia → app}/jobs/user_follow_event_job.rb +0 -0
  24. data/{lib/sufia → app}/jobs/user_unfollow_event_job.rb +0 -0
  25. data/app/models/contact_form.rb +2 -2
  26. data/app/views/_ga.html.erb +2 -2
  27. data/app/views/batch_edits/_batch_edits_actions.html.erb +1 -0
  28. data/app/views/batch_edits/_check_all.html.erb +1 -2
  29. data/app/views/catalog/_sort_and_per_page.html.erb +1 -1
  30. data/app/views/dashboard/_batch_edits_actions.html.erb +2 -0
  31. data/app/views/dashboard/_sort_and_per_page.html.erb +1 -1
  32. data/app/views/generic_files/_breadcrumbs.html.erb +5 -1
  33. data/app/views/generic_files/_descriptions.html.erb +6 -4
  34. data/app/views/generic_files/_dropbox_import.html.erb +3 -0
  35. data/app/views/generic_files/_field_display.html.erb +12 -0
  36. data/app/views/generic_files/_field_form.html.erb +1 -1
  37. data/app/views/generic_files/_multiple_upload.html.erb +4 -135
  38. data/app/views/generic_files/_permission_form.html.erb +5 -5
  39. data/app/views/generic_files/_show_descriptions.html.erb +6 -14
  40. data/app/views/generic_files/_show_details.html.erb +2 -2
  41. data/app/views/generic_files/edit_fields/_resource_type.html.erb +9 -0
  42. data/app/views/generic_files/edit_fields/_rights.html.erb +1 -1
  43. data/app/views/generic_files/edit_fields/_type.html.erb +4 -1
  44. data/app/views/generic_files/new.html.erb +18 -1
  45. data/app/views/generic_files/show_fields/_default.html.erb +12 -0
  46. data/app/views/generic_files/upload/_agreement.html.erb +5 -0
  47. data/app/views/generic_files/upload/_alerts.html.erb +19 -0
  48. data/app/views/generic_files/upload/_dropbox_chooser.html.erb +39 -0
  49. data/app/views/generic_files/upload/_form.html.erb +6 -0
  50. data/app/views/generic_files/upload/_form_fields.html.erb +47 -0
  51. data/app/views/generic_files/upload/_script_templates.html.erb +61 -0
  52. data/app/views/generic_files/upload/_tos_checkbox.html.erb +3 -0
  53. data/app/views/layouts/_head-tag-content.html.erb +22 -0
  54. data/app/views/layouts/{hydra-head.html.erb → homepage.html.erb} +3 -44
  55. data/app/views/layouts/sufia-one-column.html.erb +43 -0
  56. data/app/views/layouts/sufia-two-column.html.erb +45 -0
  57. data/app/views/static/agreement.html.erb +12 -11
  58. data/app/views/static/mendeley.html.erb +2 -2
  59. data/app/views/static/terms.html.erb +11 -11
  60. data/app/views/static/zotero.html.erb +2 -2
  61. data/config/initializers/sufia_events.rb +3 -0
  62. data/config/locales/sufia.en.yml +3 -6
  63. data/features/step_definitions/{scholarsphere.rb → sufia.rb} +0 -0
  64. data/lib/generators/sufia/sufia_generator.rb +1 -1
  65. data/lib/generators/sufia/templates/config/resque_config.rb +1 -1
  66. data/lib/generators/sufia/templates/config/sufia.rb +3 -0
  67. data/lib/sufia.rb +1 -50
  68. data/lib/sufia/batch_edits_controller_behavior.rb +4 -0
  69. data/lib/sufia/controller.rb +13 -0
  70. data/lib/sufia/dashboard_controller_behavior.rb +3 -2
  71. data/lib/sufia/files_controller_behavior.rb +35 -12
  72. data/lib/sufia/version.rb +1 -1
  73. data/spec/controllers/batch_edits_controller_spec.rb +2 -2
  74. data/spec/controllers/generic_files_controller_spec.rb +37 -1
  75. data/spec/models/generic_file_spec.rb +6 -6
  76. data/spec/models/properties_datastream_spec.rb +8 -7
  77. data/spec/models/transcode_audio_job_spec.rb +1 -1
  78. data/spec/models/transcode_video_job_spec.rb +1 -1
  79. data/spec/views/batch_edits/check_all_spec.rb +22 -0
  80. data/sufia-models/.gitignore +17 -0
  81. data/sufia-models/Gemfile +4 -0
  82. data/sufia-models/LICENSE.md +177 -0
  83. data/sufia-models/README.md +39 -0
  84. data/sufia-models/Rakefile +1 -0
  85. data/{app → sufia-models/app}/models/batch.rb +2 -4
  86. data/{app → sufia-models/app}/models/checksum_audit_log.rb +3 -4
  87. data/{app → sufia-models/app}/models/datastreams/batch_rdf_datastream.rb +0 -0
  88. data/{app → sufia-models/app}/models/datastreams/file_content_datastream.rb +0 -0
  89. data/{app → sufia-models/app}/models/datastreams/fits_datastream.rb +0 -0
  90. data/{app → sufia-models/app}/models/datastreams/generic_file_rdf_datastream.rb +12 -12
  91. data/{app → sufia-models/app}/models/datastreams/paranoid_rights_datastream.rb +0 -15
  92. data/{app → sufia-models/app}/models/datastreams/properties_datastream.rb +1 -2
  93. data/{app → sufia-models/app}/models/domain_term.rb +0 -0
  94. data/{app → sufia-models/app}/models/follow.rb +0 -0
  95. data/{app → sufia-models/app}/models/generic_file.rb +0 -0
  96. data/{app → sufia-models/app}/models/geo_names_resource.rb +0 -0
  97. data/{app → sufia-models/app}/models/group.rb +0 -0
  98. data/{app → sufia-models/app}/models/local_authority.rb +0 -0
  99. data/{app → sufia-models/app}/models/local_authority_entry.rb +0 -0
  100. data/{app → sufia-models/app}/models/single_use_link.rb +0 -0
  101. data/{app → sufia-models/app}/models/subject_local_authority_entry.rb +0 -0
  102. data/{app → sufia-models/app}/models/trophy.rb +0 -0
  103. data/{app → sufia-models/app}/models/version_committer.rb +0 -0
  104. data/sufia-models/config/locales/sufia.en.yml +6 -0
  105. data/sufia-models/lib/sufia/models.rb +34 -0
  106. data/{lib/sufia → sufia-models/lib/sufia/models}/active_fedora/redis.rb +0 -0
  107. data/{lib/sufia → sufia-models/lib/sufia/models}/active_record/redis.rb +0 -0
  108. data/{lib → sufia-models/lib/sufia/models}/active_support/core_ext/marshal.rb +0 -0
  109. data/sufia-models/lib/sufia/models/engine.rb +61 -0
  110. data/sufia-models/lib/sufia/models/file_content.rb +9 -0
  111. data/{lib/sufia → sufia-models/lib/sufia/models}/file_content/extract_metadata.rb +2 -2
  112. data/{lib/sufia → sufia-models/lib/sufia/models}/file_content/versions.rb +0 -0
  113. data/{lib/sufia → sufia-models/lib/sufia/models}/generic_file.rb +3 -34
  114. data/{lib/sufia → sufia-models/lib/sufia/models}/generic_file/actions.rb +16 -1
  115. data/{lib/sufia → sufia-models/lib/sufia/models}/generic_file/audit.rb +1 -1
  116. data/{lib/sufia → sufia-models/lib/sufia/models}/generic_file/characterization.rb +1 -2
  117. data/{lib/sufia → sufia-models/lib/sufia/models}/generic_file/export.rb +0 -0
  118. data/{lib/sufia → sufia-models/lib/sufia/models}/generic_file/permissions.rb +0 -1
  119. data/{lib/sufia → sufia-models/lib/sufia/models}/generic_file/thumbnail.rb +3 -3
  120. data/sufia-models/lib/sufia/models/generic_file/web_form.rb +45 -0
  121. data/{lib/sufia → sufia-models/lib/sufia/models}/id_service.rb +11 -7
  122. data/{lib/sufia → sufia-models/lib/sufia/models}/jobs/audit_job.rb +0 -0
  123. data/{lib/sufia → sufia-models/lib/sufia/models}/jobs/batch_update_job.rb +0 -0
  124. data/{lib/sufia → sufia-models/lib/sufia/models}/jobs/characterize_job.rb +0 -0
  125. data/{lib/sufia → sufia-models/lib/sufia/models}/jobs/ffmpeg_transcode_job.rb +3 -3
  126. data/sufia-models/lib/sufia/models/jobs/import_url_job.rb +55 -0
  127. data/{lib/sufia → sufia-models/lib/sufia/models}/jobs/resolrize_job.rb +0 -0
  128. data/{lib/sufia → sufia-models/lib/sufia/models}/jobs/transcode_audio_job.rb +0 -0
  129. data/{lib/sufia → sufia-models/lib/sufia/models}/jobs/transcode_video_job.rb +0 -0
  130. data/{lib/sufia → sufia-models/lib/sufia/models}/jobs/unzip_job.rb +16 -4
  131. data/{lib/sufia → sufia-models/lib/sufia/models}/model_methods.rb +0 -0
  132. data/{lib/sufia → sufia-models/lib/sufia/models}/noid.rb +1 -1
  133. data/{lib/sufia/queue → sufia-models/lib/sufia/models}/resque.rb +0 -2
  134. data/{lib/sufia → sufia-models/lib/sufia/models}/solr_document_behavior.rb +0 -0
  135. data/{lib/sufia → sufia-models/lib/sufia/models}/user.rb +1 -1
  136. data/{lib/sufia → sufia-models/lib/sufia/models}/utils.rb +0 -0
  137. data/sufia-models/lib/sufia/models/version.rb +5 -0
  138. data/sufia-models/lib/tasks/sufia-models_tasks.rake +7 -0
  139. data/sufia-models/sufia-models.gemspec +44 -0
  140. data/sufia.gemspec +2 -12
  141. data/tasks/release.rake +90 -0
  142. data/tasks/sufia-dev.rake +1 -1
  143. data/tasks/sufia.rake +1 -3
  144. metadata +118 -238
  145. data/app/views/generic_files/show_fields/_based_near.html.erb +0 -12
  146. data/app/views/generic_files/show_fields/_contributor.html.erb +0 -12
  147. data/app/views/generic_files/show_fields/_creator.html.erb +0 -12
  148. data/app/views/generic_files/show_fields/_date_created.html.erb +0 -12
  149. data/app/views/generic_files/show_fields/_description.html.erb +0 -12
  150. data/app/views/generic_files/show_fields/_identifier.html.erb +0 -9
  151. data/app/views/generic_files/show_fields/_language.html.erb +0 -9
  152. data/app/views/generic_files/show_fields/_publisher.html.erb +0 -12
  153. data/app/views/generic_files/show_fields/_related_url.html.erb +0 -11
  154. data/app/views/generic_files/show_fields/_resource_type.html.erb +0 -9
  155. data/app/views/generic_files/show_fields/_rights.html.erb +0 -9
  156. data/app/views/generic_files/show_fields/_subject.html.erb +0 -12
  157. data/app/views/generic_files/show_fields/_tag.html.erb +0 -9
  158. data/app/views/generic_files/show_fields/_title.html.erb +0 -12
  159. data/lib/sufia/file_content.rb +0 -8
  160. data/lib/sufia/generic_file/web_form.rb +0 -15
  161. data/vendor/assets/javascripts/fileupload.js +0 -6
  162. data/vendor/assets/javascripts/fileupload/application.js +0 -185
  163. data/vendor/assets/javascripts/fileupload/jquery-ui-1.8.14.custom.min.js +0 -76
@@ -0,0 +1,55 @@
1
+ require 'net/https'
2
+ require 'uri'
3
+ require 'tempfile'
4
+
5
+ class ImportUrlJob
6
+
7
+ def queue_name
8
+ :import_url
9
+ end
10
+
11
+ attr_accessor :pid
12
+
13
+ def initialize(pid)
14
+ self.pid = pid
15
+ end
16
+
17
+ def run
18
+ generic_file = GenericFile.find(self.pid)
19
+ f = Tempfile.new(self.pid)
20
+ f.binmode
21
+
22
+ # download file from url
23
+ uri = URI(generic_file.import_url)
24
+ http = Net::HTTP.new(uri.host, uri.port)
25
+ http.use_ssl = uri.scheme == "https" # enable SSL/TLS
26
+ http.verify_mode = OpenSSL::SSL::VERIFY_NONE
27
+
28
+ http.start do
29
+ http.request_get(uri) do |resp|
30
+ resp.read_body do |segment|
31
+ f.write(segment)
32
+ end
33
+ end
34
+ end
35
+ job_user = User.batchuser()
36
+ user = User.find_by_user_key(generic_file.depositor)
37
+ # check for virus
38
+ if Sufia::GenericFile::Actions.virus_check(f) != 0
39
+ message = "The file (#{File.basename(uri.path)}) was unable to be imported because it contained a virus."
40
+ job_user.send_message(user, message, 'File Import Error')
41
+ return
42
+ end
43
+
44
+ f.rewind
45
+ # attach downloaded file to generic file stubbed out
46
+ Sufia::GenericFile::Actions.create_content(generic_file, f, File.basename(uri.path), 'content', user)
47
+ # add message to user for downloaded file
48
+ message = "The file (#{File.basename(uri.path)}) was successfully imported."
49
+ job_user.send_message(user, message, 'File Import')
50
+
51
+ ensure
52
+ f.close
53
+ f.unlink
54
+ end
55
+ end
@@ -26,27 +26,39 @@ class UnzipJob
26
26
  def run
27
27
  Zip::Archive.open_buffer(zip_file.content.content) do |archive|
28
28
  archive.each do |f|
29
- create_file(f)
29
+ if f.directory?
30
+ create_directory(f)
31
+ else
32
+ create_file(f)
33
+ end
30
34
  end
31
35
  end
32
36
  end
33
37
 
34
38
  protected
35
39
 
36
- def create_file(f)
40
+ # Creates a GenericFile object based on +file+
41
+ # @param file [Zip::File]
42
+ def create_file(file)
37
43
  @generic_file = GenericFile.new
38
44
  @generic_file.batch_id = zip_file.batch.pid
39
- file_name = f.name
45
+ file_name = file.name
40
46
  mime_types = MIME::Types.of(file_name)
41
47
  mime_type = mime_types.empty? ? "application/octet-stream" : mime_types.first.content_type
42
48
  options = {:label=>file_name, :dsid=>'content', :mimeType=>mime_type}
43
- @generic_file.add_file_datastream(f.read, options)
49
+ @generic_file.add_file_datastream(file.read, options)
44
50
  @generic_file.set_title_and_label( file_name, :only_if_blank=>true )
45
51
  @generic_file.apply_depositor_metadata(zip_file.edit_users.first)
46
52
  @generic_file.date_uploaded = Time.now.ctime
47
53
  @generic_file.date_modified = Time.now.ctime
48
54
  @generic_file.save
49
55
  end
56
+
57
+ # Creates representation of directory corresponding to +file+
58
+ # Default behavior: _do nothing_
59
+ # @param file [Zip::File]
60
+ def create_directory(file)
61
+ end
50
62
 
51
63
  def zip_file
52
64
  @zip_file ||= GenericFile.find(pid)
@@ -36,7 +36,7 @@ module Sufia
36
36
 
37
37
  protected
38
38
  def Noid.namespace
39
- Sufia::Engine.config.id_namespace
39
+ Sufia.config.id_namespace
40
40
  end
41
41
  end
42
42
  end
@@ -1,5 +1,3 @@
1
- require 'active_support/core_ext/marshal'
2
-
3
1
  # Borrowed from:
4
2
  # https://github.com/jeremy/resque-rails/blob/master/lib/resque/rails/queue.rb
5
3
  module Sufia
@@ -71,7 +71,7 @@ module Sufia::User
71
71
 
72
72
  #method to get the trophy ids without the namespace included
73
73
  def trophy_ids
74
- trophies.map { |t| "#{Sufia::Engine.config.id_namespace}:#{t.generic_file_id}" }
74
+ trophies.map { |t| "#{Sufia.config.id_namespace}:#{t.generic_file_id}" }
75
75
  end
76
76
 
77
77
  # method needed for messaging
@@ -0,0 +1,5 @@
1
+ module Sufia
2
+ module Models
3
+ VERSION = "2.0.0"
4
+ end
5
+ end
@@ -0,0 +1,7 @@
1
+ namespace :solr do
2
+
3
+ desc "Enqueue a job to resolrize the repository objects"
4
+ task :reindex => :environment do
5
+ Sufia.queue.push(ResolrizeJob.new)
6
+ end
7
+ end
@@ -0,0 +1,44 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'sufia/models/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "sufia-models"
8
+ spec.version = Sufia::Models::VERSION
9
+ spec.authors = [
10
+ "Jeremy Friesen",
11
+ ]
12
+ spec.email = [
13
+ "jeremy.n.friesen@gmail.com",
14
+ ]
15
+ spec.description = %q{Models and services for sufia}
16
+ spec.summary = %q{Models and services for sufia}
17
+
18
+ # This is a temporary homepage until we've had a chance to review the
19
+ # process
20
+ spec.homepage = "https://github.com/jeremyf/sufia"
21
+ spec.license = "Apache"
22
+
23
+ spec.files = `git ls-files`.split($/)
24
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
25
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
26
+ spec.require_paths = ["lib"]
27
+
28
+ spec.add_development_dependency "bundler", "~> 1.3"
29
+ spec.add_development_dependency "rake"
30
+ spec.add_dependency "rails", "~> 3.2.13"
31
+ spec.add_dependency 'hydra-head', '~> 6.0'
32
+ spec.add_dependency 'nest', '~> 1.1.1'
33
+ spec.add_dependency 'resque', '~> 1.23.0'#, :require => 'resque/server'
34
+ spec.add_dependency 'resque-pool', '0.3.0'
35
+ spec.add_dependency 'noid', '~> 0.6.6'
36
+ spec.add_dependency 'mailboxer', '0.8.0'
37
+ spec.add_dependency 'acts_as_follower', '0.1.1'
38
+ spec.add_dependency 'rmagick'
39
+ spec.add_dependency 'paperclip', '3.3.0'
40
+ spec.add_dependency 'zipruby', '0.3.6'
41
+ spec.add_dependency 'activerecord-import', '0.3.0' # 0.3.1 caused a bug in testing: "SQLite3::SQLException: near ",": syntax error: INSERT INTO..."
42
+ spec.add_dependency 'devise'
43
+
44
+ end
data/sufia.gemspec CHANGED
@@ -16,27 +16,17 @@ Gem::Specification.new do |gem|
16
16
  gem.version = Sufia::VERSION
17
17
 
18
18
  gem.add_dependency 'rails', '~> 3.2.13'
19
+ gem.add_dependency 'sufia-models', '~> 0.1.2'
19
20
  gem.add_dependency 'blacklight', '~> 4.0'
20
21
  gem.add_dependency 'blacklight_advanced_search'
21
22
  gem.add_dependency "hydra-head", "~> 6.0"
22
23
 
23
- gem.add_dependency 'noid', '~> 0.6.6'
24
24
  gem.add_dependency 'hydra-batch-edit', '~> 1.0'
25
25
 
26
- gem.add_dependency 'resque', '~> 1.23.0'#, :require => 'resque/server'
27
- gem.add_dependency 'resque-pool', '0.3.0'
28
- gem.add_dependency 'rmagick'
29
- gem.add_dependency 'devise'
30
- gem.add_dependency 'paperclip', '3.3.0'
31
26
  gem.add_dependency 'daemons', '1.1.9'
32
- gem.add_dependency 'zipruby', '0.3.6'
33
27
  gem.add_dependency 'mail_form'
34
- gem.add_dependency 'rails_autolink', '1.0.9'
35
- gem.add_dependency 'acts_as_follower', '0.1.1'
36
- gem.add_dependency 'nest', '1.1.1'
28
+ gem.add_dependency 'rails_autolink', '~> 1.1.0'
37
29
  gem.add_dependency 'yaml_db', '0.2.3'
38
- gem.add_dependency 'mailboxer', '0.8.0'
39
30
  gem.add_dependency 'rainbow', '1.1.4'
40
- gem.add_dependency 'activerecord-import', '0.3.0' # 0.3.1 caused a bug in testing: "SQLite3::SQLException: near ",": syntax error: INSERT INTO..."
41
31
  gem.add_dependency 'font-awesome-sass-rails', '~>3.0'
42
32
  end
@@ -0,0 +1,90 @@
1
+ root = File.expand_path('../../', __FILE__)
2
+ version = File.read("#{root}/SUFIA_VERSION").strip
3
+ tag = "v#{version}"
4
+
5
+ ['sufia-models', 'sufia'].each do |framework|
6
+ namespace framework do
7
+ gem = "pkg/#{framework}-#{version}.gem"
8
+ gemspec = "#{framework}.gemspec"
9
+
10
+ task :clean do
11
+ rm_f gem
12
+ end
13
+
14
+ task :update_version_rb do
15
+ glob = root.dup
16
+ if framework == "sufia"
17
+ glob << "/lib/*"
18
+ else
19
+ glob << "/#{framework}/lib/**"
20
+ end
21
+ glob << "/version.rb"
22
+
23
+ file = Dir[glob].first
24
+ if file
25
+ ruby = File.read(file)
26
+
27
+ major, minor, tiny, pre = version.split('.')
28
+ pre = pre ? pre.inspect : "nil"
29
+
30
+ ruby.gsub!(/^(\s*)VERSION = ".*?"$/, "\\1VERSION = \"#{version}\"")
31
+ raise "Could not insert VERSION in #{file}" unless $1
32
+ File.open(file, 'w') { |f| f.write ruby }
33
+ end
34
+ end
35
+ task gem => %w(update_version_rb pkg) do
36
+ cmd = ""
37
+ cmd << "cd #{framework} && " unless framework == "sufia"
38
+ cmd << "gem build #{gemspec} && mv #{framework}-#{version}.gem #{root}/pkg/"
39
+ sh cmd
40
+ end
41
+
42
+ task :build => [:clean, gem]
43
+ task :install => :build do
44
+ sh "gem install #{gem}"
45
+ end
46
+
47
+ task :prep_release => [:ensure_clean_state, :build]
48
+
49
+ task :push => :build do
50
+ sh "gem push #{gem}"
51
+ end
52
+ end
53
+ end
54
+
55
+
56
+ namespace :all do
57
+ task :build => ['sufia-models:build', 'sufia:build']
58
+ task :install => ['sufia-models:install', 'sufia:install']
59
+ task :push => ['sufia-models:push', 'sufia:push']
60
+
61
+ task :ensure_clean_state do
62
+ unless `git status -s | grep -v SUFIA_VERSION | grep -v History.md`.strip.empty?
63
+ abort "[ABORTING] `git status` reports a dirty tree. Make sure all changes are committed"
64
+ end
65
+
66
+ unless ENV['SKIP_TAG'] || `git tag | grep "#{tag}$"`.strip.empty?
67
+ abort "[ABORTING] `git tag` shows that #{tag} already exists. Has this version already\n"\
68
+ " been released? Git tagging can be skipped by setting SKIP_TAG=1"
69
+ end
70
+ end
71
+
72
+ task :commit do
73
+ File.open('pkg/commit_message.txt', 'w') do |f|
74
+ f.puts "# Preparing for #{version} release\n"
75
+ f.puts
76
+ f.puts "# UNCOMMENT THE LINE ABOVE TO APPROVE THIS COMMIT"
77
+ end
78
+
79
+ sh "git add . && git commit --verbose --template=pkg/commit_message.txt"
80
+ rm_f "pkg/commit_message.txt"
81
+ end
82
+
83
+ task :tag do
84
+ sh "git tag #{tag}"
85
+ sh "git push --tags"
86
+ end
87
+
88
+ task :release => %w(ensure_clean_state build commit tag push)
89
+ end
90
+
data/tasks/sufia-dev.rake CHANGED
@@ -25,7 +25,7 @@ RSpec::Core::RakeTask.new(:spec => [:generate]) do |t|
25
25
  t.rspec_opts = "--colour"
26
26
  end
27
27
 
28
- desc "Load scholarsphere fixtures"
28
+ desc "Load fixtures"
29
29
  task :fixtures => :generate do# => ['sufia:fixtures:refresh'] do
30
30
  #NOTE do we need fixtures:create, fixtures:generate
31
31
  within_test_app do
data/tasks/sufia.rake CHANGED
@@ -102,9 +102,7 @@ namespace :sufia do
102
102
  end
103
103
 
104
104
  desc "Re-solrize all objects"
105
- task :resolrize => :environment do
106
- Sufia.queue.push(ResolrizeJob.new)
107
- end
105
+ task :resolrize => ['solr:reindex']
108
106
 
109
107
  namespace :export do
110
108
  desc "Dump metadata as RDF/XML for e.g. Summon integration"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sufia
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Coyne
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-05-24 00:00:00.000000000 Z
11
+ date: 2013-06-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - ~>
25
25
  - !ruby/object:Gem::Version
26
26
  version: 3.2.13
27
+ - !ruby/object:Gem::Dependency
28
+ name: sufia-models
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: 0.1.2
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: 0.1.2
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: blacklight
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -66,20 +80,6 @@ dependencies:
66
80
  - - ~>
67
81
  - !ruby/object:Gem::Version
68
82
  version: '6.0'
69
- - !ruby/object:Gem::Dependency
70
- name: noid
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ~>
74
- - !ruby/object:Gem::Version
75
- version: 0.6.6
76
- type: :runtime
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ~>
81
- - !ruby/object:Gem::Version
82
- version: 0.6.6
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: hydra-batch-edit
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -94,76 +94,6 @@ dependencies:
94
94
  - - ~>
95
95
  - !ruby/object:Gem::Version
96
96
  version: '1.0'
97
- - !ruby/object:Gem::Dependency
98
- name: resque
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ~>
102
- - !ruby/object:Gem::Version
103
- version: 1.23.0
104
- type: :runtime
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ~>
109
- - !ruby/object:Gem::Version
110
- version: 1.23.0
111
- - !ruby/object:Gem::Dependency
112
- name: resque-pool
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - '='
116
- - !ruby/object:Gem::Version
117
- version: 0.3.0
118
- type: :runtime
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - '='
123
- - !ruby/object:Gem::Version
124
- version: 0.3.0
125
- - !ruby/object:Gem::Dependency
126
- name: rmagick
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - '>='
130
- - !ruby/object:Gem::Version
131
- version: '0'
132
- type: :runtime
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - '>='
137
- - !ruby/object:Gem::Version
138
- version: '0'
139
- - !ruby/object:Gem::Dependency
140
- name: devise
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - '>='
144
- - !ruby/object:Gem::Version
145
- version: '0'
146
- type: :runtime
147
- prerelease: false
148
- version_requirements: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - '>='
151
- - !ruby/object:Gem::Version
152
- version: '0'
153
- - !ruby/object:Gem::Dependency
154
- name: paperclip
155
- requirement: !ruby/object:Gem::Requirement
156
- requirements:
157
- - - '='
158
- - !ruby/object:Gem::Version
159
- version: 3.3.0
160
- type: :runtime
161
- prerelease: false
162
- version_requirements: !ruby/object:Gem::Requirement
163
- requirements:
164
- - - '='
165
- - !ruby/object:Gem::Version
166
- version: 3.3.0
167
97
  - !ruby/object:Gem::Dependency
168
98
  name: daemons
169
99
  requirement: !ruby/object:Gem::Requirement
@@ -178,20 +108,6 @@ dependencies:
178
108
  - - '='
179
109
  - !ruby/object:Gem::Version
180
110
  version: 1.1.9
181
- - !ruby/object:Gem::Dependency
182
- name: zipruby
183
- requirement: !ruby/object:Gem::Requirement
184
- requirements:
185
- - - '='
186
- - !ruby/object:Gem::Version
187
- version: 0.3.6
188
- type: :runtime
189
- prerelease: false
190
- version_requirements: !ruby/object:Gem::Requirement
191
- requirements:
192
- - - '='
193
- - !ruby/object:Gem::Version
194
- version: 0.3.6
195
111
  - !ruby/object:Gem::Dependency
196
112
  name: mail_form
197
113
  requirement: !ruby/object:Gem::Requirement
@@ -210,44 +126,16 @@ dependencies:
210
126
  name: rails_autolink
211
127
  requirement: !ruby/object:Gem::Requirement
212
128
  requirements:
213
- - - '='
214
- - !ruby/object:Gem::Version
215
- version: 1.0.9
216
- type: :runtime
217
- prerelease: false
218
- version_requirements: !ruby/object:Gem::Requirement
219
- requirements:
220
- - - '='
221
- - !ruby/object:Gem::Version
222
- version: 1.0.9
223
- - !ruby/object:Gem::Dependency
224
- name: acts_as_follower
225
- requirement: !ruby/object:Gem::Requirement
226
- requirements:
227
- - - '='
228
- - !ruby/object:Gem::Version
229
- version: 0.1.1
230
- type: :runtime
231
- prerelease: false
232
- version_requirements: !ruby/object:Gem::Requirement
233
- requirements:
234
- - - '='
235
- - !ruby/object:Gem::Version
236
- version: 0.1.1
237
- - !ruby/object:Gem::Dependency
238
- name: nest
239
- requirement: !ruby/object:Gem::Requirement
240
- requirements:
241
- - - '='
129
+ - - ~>
242
130
  - !ruby/object:Gem::Version
243
- version: 1.1.1
131
+ version: 1.1.0
244
132
  type: :runtime
245
133
  prerelease: false
246
134
  version_requirements: !ruby/object:Gem::Requirement
247
135
  requirements:
248
- - - '='
136
+ - - ~>
249
137
  - !ruby/object:Gem::Version
250
- version: 1.1.1
138
+ version: 1.1.0
251
139
  - !ruby/object:Gem::Dependency
252
140
  name: yaml_db
253
141
  requirement: !ruby/object:Gem::Requirement
@@ -262,20 +150,6 @@ dependencies:
262
150
  - - '='
263
151
  - !ruby/object:Gem::Version
264
152
  version: 0.2.3
265
- - !ruby/object:Gem::Dependency
266
- name: mailboxer
267
- requirement: !ruby/object:Gem::Requirement
268
- requirements:
269
- - - '='
270
- - !ruby/object:Gem::Version
271
- version: 0.8.0
272
- type: :runtime
273
- prerelease: false
274
- version_requirements: !ruby/object:Gem::Requirement
275
- requirements:
276
- - - '='
277
- - !ruby/object:Gem::Version
278
- version: 0.8.0
279
153
  - !ruby/object:Gem::Dependency
280
154
  name: rainbow
281
155
  requirement: !ruby/object:Gem::Requirement
@@ -290,20 +164,6 @@ dependencies:
290
164
  - - '='
291
165
  - !ruby/object:Gem::Version
292
166
  version: 1.1.4
293
- - !ruby/object:Gem::Dependency
294
- name: activerecord-import
295
- requirement: !ruby/object:Gem::Requirement
296
- requirements:
297
- - - '='
298
- - !ruby/object:Gem::Version
299
- version: 0.3.0
300
- type: :runtime
301
- prerelease: false
302
- version_requirements: !ruby/object:Gem::Requirement
303
- requirements:
304
- - - '='
305
- - !ruby/object:Gem::Version
306
- version: 0.3.0
307
167
  - !ruby/object:Gem::Dependency
308
168
  name: font-awesome-sass-rails
309
169
  requirement: !ruby/object:Gem::Requirement
@@ -335,6 +195,8 @@ files:
335
195
  - LICENSE.md
336
196
  - README.md
337
197
  - Rakefile
198
+ - Releasing_sufia.md
199
+ - SUFIA_VERSION
338
200
  - app/assets/images/blacklight/bg.png
339
201
  - app/assets/images/blacklight/border.png
340
202
  - app/assets/images/blacklight/bul_sq_gry.gif
@@ -399,10 +261,13 @@ files:
399
261
  - app/assets/javascripts/sufia.js
400
262
  - app/assets/javascripts/sufia/batch_select_all.js
401
263
  - app/assets/javascripts/sufia/edit_metadata.js
264
+ - app/assets/javascripts/sufia/fileupload.js
402
265
  - app/assets/javascripts/sufia/multiForm.js
403
266
  - app/assets/javascripts/sufia/permissions.js
404
267
  - app/assets/javascripts/sufia/trophy.js
268
+ - app/assets/javascripts/sufia/uploader.js
405
269
  - app/assets/javascripts/terms_of_service.js
270
+ - app/assets/stylesheets/application-bootstrap.css
406
271
  - app/assets/stylesheets/audio-js.css
407
272
  - app/assets/stylesheets/blacklight_more_facets.css
408
273
  - app/assets/stylesheets/bootstrap.min.css
@@ -418,7 +283,6 @@ files:
418
283
  - app/assets/stylesheets/jquery-ui-1.8.23.custom.css
419
284
  - app/assets/stylesheets/jquery-ui.css
420
285
  - app/assets/stylesheets/reset_body.css
421
- - app/assets/stylesheets/scholarsphere-bootstrap.css
422
286
  - app/assets/stylesheets/sufia.css.scss
423
287
  - app/assets/stylesheets/trophy.css
424
288
  - app/assets/stylesheets/video-js.css
@@ -442,26 +306,16 @@ files:
442
306
  - app/helpers/generic_file_helper.rb
443
307
  - app/helpers/sufia_helper.rb
444
308
  - app/helpers/trophy_helper.rb
445
- - app/models/batch.rb
446
- - app/models/checksum_audit_log.rb
309
+ - app/jobs/content_delete_event_job.rb
310
+ - app/jobs/content_deposit_event_job.rb
311
+ - app/jobs/content_new_version_event_job.rb
312
+ - app/jobs/content_restored_version_event_job.rb
313
+ - app/jobs/content_update_event_job.rb
314
+ - app/jobs/event_job.rb
315
+ - app/jobs/user_edit_profile_event_job.rb
316
+ - app/jobs/user_follow_event_job.rb
317
+ - app/jobs/user_unfollow_event_job.rb
447
318
  - app/models/contact_form.rb
448
- - app/models/datastreams/batch_rdf_datastream.rb
449
- - app/models/datastreams/file_content_datastream.rb
450
- - app/models/datastreams/fits_datastream.rb
451
- - app/models/datastreams/generic_file_rdf_datastream.rb
452
- - app/models/datastreams/paranoid_rights_datastream.rb
453
- - app/models/datastreams/properties_datastream.rb
454
- - app/models/domain_term.rb
455
- - app/models/follow.rb
456
- - app/models/generic_file.rb
457
- - app/models/geo_names_resource.rb
458
- - app/models/group.rb
459
- - app/models/local_authority.rb
460
- - app/models/local_authority_entry.rb
461
- - app/models/single_use_link.rb
462
- - app/models/subject_local_authority_entry.rb
463
- - app/models/trophy.rb
464
- - app/models/version_committer.rb
465
319
  - app/views/_add_assets_links.html.erb
466
320
  - app/views/_flash_msg.html.erb
467
321
  - app/views/_footer.html.erb
@@ -479,6 +333,7 @@ files:
479
333
  - app/views/batch/_metadata.html.erb
480
334
  - app/views/batch/_more_metadata.html.erb
481
335
  - app/views/batch/edit.html.erb
336
+ - app/views/batch_edits/_batch_edits_actions.html.erb
482
337
  - app/views/batch_edits/_check_all.html.erb
483
338
  - app/views/batch_edits/_delete_selected.html.erb
484
339
  - app/views/batch_edits/edit.html.erb
@@ -540,6 +395,7 @@ files:
540
395
  - app/views/contact_form/_directions.html.erb
541
396
  - app/views/contact_form/create.html.erb
542
397
  - app/views/contact_form/new.html.erb
398
+ - app/views/dashboard/_batch_edits_actions.html.erb
543
399
  - app/views/dashboard/_constraints.html.erb
544
400
  - app/views/dashboard/_did_you_mean.html.erb
545
401
  - app/views/dashboard/_document_list.html.erb
@@ -569,7 +425,9 @@ files:
569
425
  - app/views/generic_files/_asset_updated_flash.html.erb
570
426
  - app/views/generic_files/_breadcrumbs.html.erb
571
427
  - app/views/generic_files/_descriptions.html.erb
428
+ - app/views/generic_files/_dropbox_import.html.erb
572
429
  - app/views/generic_files/_extra_fields_modal.html.erb
430
+ - app/views/generic_files/_field_display.html.erb
573
431
  - app/views/generic_files/_field_form.html.erb
574
432
  - app/views/generic_files/_groups_description.html.erb
575
433
  - app/views/generic_files/_media_display.html.erb
@@ -585,25 +443,20 @@ files:
585
443
  - app/views/generic_files/edit.html.erb
586
444
  - app/views/generic_files/edit_fields/_default.html.erb
587
445
  - app/views/generic_files/edit_fields/_description.html.erb
446
+ - app/views/generic_files/edit_fields/_resource_type.html.erb
588
447
  - app/views/generic_files/edit_fields/_rights.html.erb
589
448
  - app/views/generic_files/edit_fields/_suffix.html.erb
590
449
  - app/views/generic_files/edit_fields/_type.html.erb
591
450
  - app/views/generic_files/new.html.erb
592
451
  - app/views/generic_files/show.html.erb
593
- - app/views/generic_files/show_fields/_based_near.html.erb
594
- - app/views/generic_files/show_fields/_contributor.html.erb
595
- - app/views/generic_files/show_fields/_creator.html.erb
596
- - app/views/generic_files/show_fields/_date_created.html.erb
597
- - app/views/generic_files/show_fields/_description.html.erb
598
- - app/views/generic_files/show_fields/_identifier.html.erb
599
- - app/views/generic_files/show_fields/_language.html.erb
600
- - app/views/generic_files/show_fields/_publisher.html.erb
601
- - app/views/generic_files/show_fields/_related_url.html.erb
602
- - app/views/generic_files/show_fields/_resource_type.html.erb
603
- - app/views/generic_files/show_fields/_rights.html.erb
604
- - app/views/generic_files/show_fields/_subject.html.erb
605
- - app/views/generic_files/show_fields/_tag.html.erb
606
- - app/views/generic_files/show_fields/_title.html.erb
452
+ - app/views/generic_files/show_fields/_default.html.erb
453
+ - app/views/generic_files/upload/_agreement.html.erb
454
+ - app/views/generic_files/upload/_alerts.html.erb
455
+ - app/views/generic_files/upload/_dropbox_chooser.html.erb
456
+ - app/views/generic_files/upload/_form.html.erb
457
+ - app/views/generic_files/upload/_form_fields.html.erb
458
+ - app/views/generic_files/upload/_script_templates.html.erb
459
+ - app/views/generic_files/upload/_tos_checkbox.html.erb
607
460
  - app/views/kaminari/blacklight/_first_page.html.erb
608
461
  - app/views/kaminari/blacklight/_gap.html.erb
609
462
  - app/views/kaminari/blacklight/_last_page.html.erb
@@ -611,8 +464,11 @@ files:
611
464
  - app/views/kaminari/blacklight/_page.html.erb
612
465
  - app/views/kaminari/blacklight/_paginator.html.erb
613
466
  - app/views/kaminari/blacklight/_prev_page.html.erb
467
+ - app/views/layouts/_head-tag-content.html.erb
614
468
  - app/views/layouts/error.html.erb
615
- - app/views/layouts/hydra-head.html.erb
469
+ - app/views/layouts/homepage.html.erb
470
+ - app/views/layouts/sufia-one-column.html.erb
471
+ - app/views/layouts/sufia-two-column.html.erb
616
472
  - app/views/mailbox/index.html.erb
617
473
  - app/views/single_use_link/generate_download.html.erb
618
474
  - app/views/single_use_link/generate_show.html.erb
@@ -636,6 +492,7 @@ files:
636
492
  - app/views/users/show.html.erb
637
493
  - bin/audit_repository
638
494
  - config/cucumber.yml
495
+ - config/initializers/sufia_events.rb
639
496
  - config/jetty.yml
640
497
  - config/locales/sufia.en.yml
641
498
  - config/routes.rb
@@ -648,8 +505,8 @@ files:
648
505
  - features/ingest_upload_files.feature
649
506
  - features/step_definitions/edit_metadata_steps.rb
650
507
  - features/step_definitions/fixture_steps.rb
651
- - features/step_definitions/scholarsphere.rb
652
508
  - features/step_definitions/show_document_steps.rb
509
+ - features/step_definitions/sufia.rb
653
510
  - features/step_definitions/user_steps.rb
654
511
  - features/step_definitions/web_steps.rb
655
512
  - features/support/cleanup.rb
@@ -659,7 +516,6 @@ files:
659
516
  - features/users.feature
660
517
  - fedora_conf/conf/development/fedora.fcfg
661
518
  - fedora_conf/conf/test/fedora.fcfg
662
- - lib/active_support/core_ext/marshal.rb
663
519
  - lib/generators/sufia/sufia_generator.rb
664
520
  - lib/generators/sufia/templates/catalog_controller.rb
665
521
  - lib/generators/sufia/templates/config/action_dispatch_http_upload_monkey_patch.rb
@@ -682,51 +538,14 @@ files:
682
538
  - lib/generators/sufia/templates/migrations/create_trophies.rb
683
539
  - lib/generators/sufia/templates/migrations/create_version_committers.rb
684
540
  - lib/sufia.rb
685
- - lib/sufia/active_fedora/redis.rb
686
- - lib/sufia/active_record/redis.rb
687
541
  - lib/sufia/batch_edits_controller_behavior.rb
688
542
  - lib/sufia/contact_form_controller_behavior.rb
689
543
  - lib/sufia/controller.rb
690
544
  - lib/sufia/dashboard_controller_behavior.rb
691
545
  - lib/sufia/downloads_controller_behavior.rb
692
- - lib/sufia/file_content.rb
693
- - lib/sufia/file_content/extract_metadata.rb
694
- - lib/sufia/file_content/versions.rb
695
546
  - lib/sufia/files_controller_behavior.rb
696
- - lib/sufia/generic_file.rb
697
- - lib/sufia/generic_file/actions.rb
698
- - lib/sufia/generic_file/audit.rb
699
- - lib/sufia/generic_file/characterization.rb
700
- - lib/sufia/generic_file/export.rb
701
- - lib/sufia/generic_file/permissions.rb
702
- - lib/sufia/generic_file/thumbnail.rb
703
- - lib/sufia/generic_file/web_form.rb
704
- - lib/sufia/id_service.rb
705
- - lib/sufia/jobs/audit_job.rb
706
- - lib/sufia/jobs/batch_update_job.rb
707
- - lib/sufia/jobs/characterize_job.rb
708
- - lib/sufia/jobs/content_delete_event_job.rb
709
- - lib/sufia/jobs/content_deposit_event_job.rb
710
- - lib/sufia/jobs/content_new_version_event_job.rb
711
- - lib/sufia/jobs/content_restored_version_event_job.rb
712
- - lib/sufia/jobs/content_update_event_job.rb
713
- - lib/sufia/jobs/event_job.rb
714
- - lib/sufia/jobs/ffmpeg_transcode_job.rb
715
- - lib/sufia/jobs/resolrize_job.rb
716
- - lib/sufia/jobs/transcode_audio_job.rb
717
- - lib/sufia/jobs/transcode_video_job.rb
718
- - lib/sufia/jobs/unzip_job.rb
719
- - lib/sufia/jobs/user_edit_profile_event_job.rb
720
- - lib/sufia/jobs/user_follow_event_job.rb
721
- - lib/sufia/jobs/user_unfollow_event_job.rb
722
- - lib/sufia/model_methods.rb
723
- - lib/sufia/noid.rb
724
- - lib/sufia/queue/resque.rb
725
547
  - lib/sufia/role_mapper.rb
726
548
  - lib/sufia/single_use_error.rb
727
- - lib/sufia/solr_document_behavior.rb
728
- - lib/sufia/user.rb
729
- - lib/sufia/utils.rb
730
549
  - lib/sufia/version.rb
731
550
  - lib/tasks/fixtures.rake
732
551
  - lib/tasks/resque.rake
@@ -827,13 +646,75 @@ files:
827
646
  - spec/support/fedora_conf/fedora.fcfg
828
647
  - spec/support/lib/generators/test_app_generator.rb
829
648
  - spec/support/uploaded_file_monkeypatch.rb
649
+ - spec/views/batch_edits/check_all_spec.rb
830
650
  - spec/views/single_user_link/download.html.erb_spec.rb
831
651
  - spec/views/single_user_link/generate_download.html.erb_spec.rb
832
652
  - spec/views/single_user_link/generate_show.html.erb_spec.rb
833
653
  - spec/views/single_user_link/show.html.erb_spec.rb
654
+ - sufia-models/.gitignore
655
+ - sufia-models/Gemfile
656
+ - sufia-models/LICENSE.md
657
+ - sufia-models/README.md
658
+ - sufia-models/Rakefile
659
+ - sufia-models/app/models/batch.rb
660
+ - sufia-models/app/models/checksum_audit_log.rb
661
+ - sufia-models/app/models/datastreams/batch_rdf_datastream.rb
662
+ - sufia-models/app/models/datastreams/file_content_datastream.rb
663
+ - sufia-models/app/models/datastreams/fits_datastream.rb
664
+ - sufia-models/app/models/datastreams/generic_file_rdf_datastream.rb
665
+ - sufia-models/app/models/datastreams/paranoid_rights_datastream.rb
666
+ - sufia-models/app/models/datastreams/properties_datastream.rb
667
+ - sufia-models/app/models/domain_term.rb
668
+ - sufia-models/app/models/follow.rb
669
+ - sufia-models/app/models/generic_file.rb
670
+ - sufia-models/app/models/geo_names_resource.rb
671
+ - sufia-models/app/models/group.rb
672
+ - sufia-models/app/models/local_authority.rb
673
+ - sufia-models/app/models/local_authority_entry.rb
674
+ - sufia-models/app/models/single_use_link.rb
675
+ - sufia-models/app/models/subject_local_authority_entry.rb
676
+ - sufia-models/app/models/trophy.rb
677
+ - sufia-models/app/models/version_committer.rb
678
+ - sufia-models/config/locales/sufia.en.yml
679
+ - sufia-models/lib/sufia/models.rb
680
+ - sufia-models/lib/sufia/models/active_fedora/redis.rb
681
+ - sufia-models/lib/sufia/models/active_record/redis.rb
682
+ - sufia-models/lib/sufia/models/active_support/core_ext/marshal.rb
683
+ - sufia-models/lib/sufia/models/engine.rb
684
+ - sufia-models/lib/sufia/models/file_content.rb
685
+ - sufia-models/lib/sufia/models/file_content/extract_metadata.rb
686
+ - sufia-models/lib/sufia/models/file_content/versions.rb
687
+ - sufia-models/lib/sufia/models/generic_file.rb
688
+ - sufia-models/lib/sufia/models/generic_file/actions.rb
689
+ - sufia-models/lib/sufia/models/generic_file/audit.rb
690
+ - sufia-models/lib/sufia/models/generic_file/characterization.rb
691
+ - sufia-models/lib/sufia/models/generic_file/export.rb
692
+ - sufia-models/lib/sufia/models/generic_file/permissions.rb
693
+ - sufia-models/lib/sufia/models/generic_file/thumbnail.rb
694
+ - sufia-models/lib/sufia/models/generic_file/web_form.rb
695
+ - sufia-models/lib/sufia/models/id_service.rb
696
+ - sufia-models/lib/sufia/models/jobs/audit_job.rb
697
+ - sufia-models/lib/sufia/models/jobs/batch_update_job.rb
698
+ - sufia-models/lib/sufia/models/jobs/characterize_job.rb
699
+ - sufia-models/lib/sufia/models/jobs/ffmpeg_transcode_job.rb
700
+ - sufia-models/lib/sufia/models/jobs/import_url_job.rb
701
+ - sufia-models/lib/sufia/models/jobs/resolrize_job.rb
702
+ - sufia-models/lib/sufia/models/jobs/transcode_audio_job.rb
703
+ - sufia-models/lib/sufia/models/jobs/transcode_video_job.rb
704
+ - sufia-models/lib/sufia/models/jobs/unzip_job.rb
705
+ - sufia-models/lib/sufia/models/model_methods.rb
706
+ - sufia-models/lib/sufia/models/noid.rb
707
+ - sufia-models/lib/sufia/models/resque.rb
708
+ - sufia-models/lib/sufia/models/solr_document_behavior.rb
709
+ - sufia-models/lib/sufia/models/user.rb
710
+ - sufia-models/lib/sufia/models/utils.rb
711
+ - sufia-models/lib/sufia/models/version.rb
712
+ - sufia-models/lib/tasks/sufia-models_tasks.rake
713
+ - sufia-models/sufia-models.gemspec
834
714
  - sufia.gemspec
835
715
  - tasks/cucumber.rake
836
716
  - tasks/jetty.rake
717
+ - tasks/release.rake
837
718
  - tasks/sufia-db.rake
838
719
  - tasks/sufia-dev.rake
839
720
  - tasks/sufia-fixtures.rake
@@ -849,9 +730,6 @@ files:
849
730
  - vendor/assets/javascripts/ZeroClipboard.swf
850
731
  - vendor/assets/javascripts/audio.min.js
851
732
  - vendor/assets/javascripts/audiojs.swf
852
- - vendor/assets/javascripts/fileupload.js
853
- - vendor/assets/javascripts/fileupload/application.js
854
- - vendor/assets/javascripts/fileupload/jquery-ui-1.8.14.custom.min.js
855
733
  - vendor/assets/javascripts/fileupload/jquery.fileupload-ip.js
856
734
  - vendor/assets/javascripts/fileupload/jquery.fileupload-ui.js
857
735
  - vendor/assets/javascripts/fileupload/jquery.fileupload.js
@@ -900,8 +778,8 @@ test_files:
900
778
  - features/ingest_upload_files.feature
901
779
  - features/step_definitions/edit_metadata_steps.rb
902
780
  - features/step_definitions/fixture_steps.rb
903
- - features/step_definitions/scholarsphere.rb
904
781
  - features/step_definitions/show_document_steps.rb
782
+ - features/step_definitions/sufia.rb
905
783
  - features/step_definitions/user_steps.rb
906
784
  - features/step_definitions/web_steps.rb
907
785
  - features/support/cleanup.rb
@@ -1001,7 +879,9 @@ test_files:
1001
879
  - spec/support/fedora_conf/fedora.fcfg
1002
880
  - spec/support/lib/generators/test_app_generator.rb
1003
881
  - spec/support/uploaded_file_monkeypatch.rb
882
+ - spec/views/batch_edits/check_all_spec.rb
1004
883
  - spec/views/single_user_link/download.html.erb_spec.rb
1005
884
  - spec/views/single_user_link/generate_download.html.erb_spec.rb
1006
885
  - spec/views/single_user_link/generate_show.html.erb_spec.rb
1007
886
  - spec/views/single_user_link/show.html.erb_spec.rb
887
+ has_rdoc: