sufia 6.0.0.rc2 → 6.0.0.rc3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (198) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +5 -5
  3. data/History.md +14 -0
  4. data/LICENSE +15 -0
  5. data/SUFIA_VERSION +1 -1
  6. data/app/assets/javascripts/sufia/batch_edit.js +1 -1
  7. data/app/assets/javascripts/sufia/permissions.js +8 -12
  8. data/app/assets/stylesheets/sufia.css.scss +1 -1
  9. data/app/assets/stylesheets/sufia/_multi_value_fields.css.scss +67 -0
  10. data/app/assets/stylesheets/sufia/_settings.scss +1 -0
  11. data/app/assets/stylesheets/sufia/_styles.scss +4 -0
  12. data/app/assets/stylesheets/sufia/_tinymce.scss +14 -0
  13. data/app/controllers/batch_controller.rb +11 -2
  14. data/app/controllers/concerns/sufia/breadcrumbs.rb +2 -3
  15. data/app/controllers/concerns/sufia/collections_controller_behavior.rb +0 -1
  16. data/app/controllers/concerns/sufia/contact_form_controller_behavior.rb +1 -2
  17. data/app/controllers/concerns/sufia/controller.rb +1 -7
  18. data/app/controllers/concerns/sufia/downloads_controller_behavior.rb +3 -8
  19. data/app/controllers/concerns/sufia/files_controller/local_ingest_behavior.rb +2 -3
  20. data/app/controllers/concerns/sufia/files_controller/upload_complete_behavior.rb +1 -2
  21. data/app/controllers/concerns/sufia/files_controller_behavior.rb +27 -14
  22. data/app/controllers/concerns/sufia/homepage_controller.rb +3 -2
  23. data/app/controllers/content_blocks_controller.rb +17 -1
  24. data/app/controllers/downloads_controller.rb +0 -1
  25. data/app/controllers/my/shares_controller.rb +1 -0
  26. data/app/controllers/single_use_links_controller.rb +0 -1
  27. data/app/controllers/single_use_links_viewer_controller.rb +3 -8
  28. data/app/forms/sufia/forms/generic_file_edit_form.rb +1 -8
  29. data/app/helpers/content_block_helper.rb +30 -10
  30. data/app/helpers/generic_file_helper.rb +4 -4
  31. data/app/helpers/sufia/dashboard_helper_behavior.rb +2 -2
  32. data/app/helpers/sufia/sufia_helper_behavior.rb +4 -4
  33. data/app/helpers/trophy_helper.rb +3 -3
  34. data/app/jobs/content_delete_event_job.rb +1 -2
  35. data/app/jobs/content_deposit_event_job.rb +1 -1
  36. data/app/jobs/content_depositor_change_event_job.rb +1 -1
  37. data/app/jobs/content_new_version_event_job.rb +1 -1
  38. data/app/jobs/content_restored_version_event_job.rb +1 -1
  39. data/app/jobs/content_update_event_job.rb +1 -1
  40. data/app/models/concerns/sufia/solr_document_behavior.rb +5 -9
  41. data/app/models/content_block.rb +20 -0
  42. data/app/models/featured_work_list.rb +4 -0
  43. data/app/presenters/sufia/collection_presenter.rb +14 -2
  44. data/app/presenters/sufia/generic_file_presenter.rb +16 -0
  45. data/app/presenters/sufia/version_list_presenter.rb +1 -1
  46. data/app/views/batch/_metadata.html.erb +4 -4
  47. data/app/views/batch_edits/edit.html.erb +1 -1
  48. data/app/views/collections/_action_menu.html.erb +4 -5
  49. data/app/views/collections/_show_descriptions.html.erb +1 -5
  50. data/app/views/collections/_show_document_list.html.erb +0 -2
  51. data/app/views/collections/_show_document_list_menu.html.erb +5 -6
  52. data/app/views/collections/_show_document_list_row.html.erb +9 -9
  53. data/app/views/collections/_sort_and_per_page.html.erb +1 -1
  54. data/app/views/collections/_view_type_group.html.erb +1 -1
  55. data/app/views/collections/show.html.erb +3 -3
  56. data/app/views/generic_files/_asset_permissions_denial_flash.html.erb +1 -1
  57. data/app/views/generic_files/_asset_saved_flash.html.erb +1 -1
  58. data/app/views/generic_files/_asset_updated_flash.html.erb +1 -1
  59. data/app/views/generic_files/_browse_everything.html.erb +4 -4
  60. data/app/views/generic_files/_media_display.html.erb +9 -9
  61. data/app/views/generic_files/_permission_form.html.erb +1 -1
  62. data/app/views/generic_files/_show_actions.html.erb +1 -1
  63. data/app/views/generic_files/_show_collections.html.erb +2 -2
  64. data/app/views/generic_files/_show_details.html.erb +1 -1
  65. data/app/views/generic_files/_versioning.html.erb +9 -5
  66. data/app/views/generic_files/jq_upload.json.jbuilder +1 -1
  67. data/app/views/generic_files/new.html.erb +2 -3
  68. data/app/views/generic_files/show.html.erb +13 -16
  69. data/app/views/generic_files/upload/_alerts.html.erb +2 -2
  70. data/app/views/generic_files/upload/_form_fields.html.erb +1 -1
  71. data/app/views/generic_files/upload/_local_file_import_chooser.html.erb +1 -1
  72. data/app/views/generic_files/upload/_script_templates.html.erb +2 -2
  73. data/app/views/homepage/_featured.html.erb +2 -4
  74. data/app/views/homepage/_featured_researcher.html.erb +1 -1
  75. data/app/views/homepage/_featured_works.html.erb +5 -3
  76. data/app/views/homepage/_home_content.html.erb +1 -1
  77. data/app/views/homepage/_recent_document.html.erb +2 -2
  78. data/app/views/homepage/_sortable_featured.html.erb +1 -2
  79. data/app/views/my/_action_menu.html.erb +8 -8
  80. data/app/views/my/_collection_action_menu.html.erb +4 -4
  81. data/app/views/my/_index_partials/_list_collections.html.erb +9 -12
  82. data/app/views/my/_index_partials/_list_files.html.erb +9 -9
  83. data/app/views/my/index.html.erb +0 -1
  84. data/app/views/records/_rights_modal.html.erb +1 -0
  85. data/app/views/users/_contributions.html.erb +2 -3
  86. data/app/views/users/_edit_primary.html.erb +68 -0
  87. data/app/views/users/_edit_secondary.html.erb +1 -0
  88. data/app/views/users/_trophy_edit.html.erb +1 -3
  89. data/app/views/users/edit.html.erb +4 -78
  90. data/config/initializers/simple_form.rb +167 -0
  91. data/config/initializers/simple_form_bootstrap.rb +137 -0
  92. data/config/locales/simple_form.en.yml +31 -0
  93. data/config/locales/sufia.en.yml +7 -4
  94. data/config/routes.rb +1 -1
  95. data/lib/generators/sufia/templates/catalog_controller.rb +1 -1
  96. data/lib/sufia/single_use_error.rb +1 -1
  97. data/lib/sufia/version.rb +1 -1
  98. data/spec/actors/generic_file/actor_spec.rb +5 -5
  99. data/spec/controllers/batch_controller_spec.rb +15 -0
  100. data/spec/controllers/collections_controller_spec.rb +1 -1
  101. data/spec/controllers/content_blocks_controller_spec.rb +23 -3
  102. data/spec/controllers/downloads_controller_spec.rb +5 -5
  103. data/spec/controllers/generic_files_controller_spec.rb +12 -12
  104. data/spec/controllers/homepage_controller_spec.rb +19 -6
  105. data/spec/controllers/my/files_controller_spec.rb +8 -10
  106. data/spec/controllers/my/shares_controller_spec.rb +34 -23
  107. data/spec/controllers/single_use_links_controller_spec.rb +2 -3
  108. data/spec/controllers/single_use_links_viewer_controller_spec.rb +19 -20
  109. data/spec/controllers/users_controller_spec.rb +8 -8
  110. data/spec/factories/generic_files.rb +4 -4
  111. data/spec/factories/users.rb +2 -3
  112. data/spec/features/browse_dashboard_files_spec.rb +8 -8
  113. data/spec/features/collection_spec.rb +15 -8
  114. data/spec/features/edit_file_spec.rb +26 -0
  115. data/spec/features/single_use_links_spec.rb +3 -3
  116. data/spec/forms/generic_file_edit_form_spec.rb +8 -1
  117. data/spec/helpers/content_block_helper_spec.rb +10 -0
  118. data/spec/helpers/dashboard_helper_spec.rb +42 -0
  119. data/spec/helpers/sufia_helper_spec.rb +34 -7
  120. data/spec/helpers/trophy_helper_spec.rb +6 -6
  121. data/spec/inputs/select_with_help_input_spec.rb +16 -0
  122. data/spec/jobs/audit_job_spec.rb +1 -1
  123. data/spec/jobs/characterize_job_spec.rb +2 -7
  124. data/spec/jobs/create_derivatives_job_spec.rb +27 -38
  125. data/spec/jobs/import_url_job_spec.rb +2 -2
  126. data/spec/jobs/ingest_local_file_job_spec.rb +6 -8
  127. data/spec/lib/sufia/id_service_spec.rb +0 -7
  128. data/spec/lib/sufia/messages_spec.rb +16 -13
  129. data/spec/models/ability_spec.rb +3 -0
  130. data/spec/models/checksum_audit_log_spec.rb +1 -1
  131. data/spec/models/content_block_spec.rb +41 -0
  132. data/spec/models/featured_work_list_spec.rb +23 -9
  133. data/spec/models/file_content_datastream_spec.rb +4 -4
  134. data/spec/models/file_usage_spec.rb +1 -1
  135. data/spec/models/fits_datastream_spec.rb +4 -4
  136. data/spec/models/generic_file_spec.rb +31 -15
  137. data/spec/models/single_use_link_spec.rb +2 -2
  138. data/spec/models/solr_document_spec.rb +8 -5
  139. data/spec/models/user_spec.rb +3 -3
  140. data/spec/presenters/sufia/collection_presenter_spec.rb +34 -0
  141. data/spec/presenters/sufia/generic_file_presenter_spec.rb +41 -1
  142. data/spec/presenters/sufia/version_list_presenter_spec.rb +12 -2
  143. data/spec/services/generic_file_audit_service_spec.rb +3 -3
  144. data/spec/services/noid_spec.rb +4 -11
  145. data/spec/services/repository_audit_service_spec.rb +1 -1
  146. data/spec/spec_helper.rb +1 -0
  147. data/spec/support/fixture_helpers.rb +2 -3
  148. data/spec/support/selectors.rb +7 -7
  149. data/spec/test_app_templates/Gemfile.extra +1 -0
  150. data/spec/views/batch/edit.html.erb_spec.rb +14 -17
  151. data/spec/views/collections/_show_descriptions.html.erb_spec.rb +1 -1
  152. data/spec/views/generic_file/_permission_form.html.erb_spec.rb +29 -7
  153. data/spec/views/generic_file/edit.html.erb_spec.rb +1 -1
  154. data/spec/views/generic_file/show.html.erb_spec.rb +69 -151
  155. data/spec/views/generic_file/stats.html.erb_spec.rb +1 -1
  156. data/spec/views/homepage/_featured_works.html.erb_spec.rb +29 -0
  157. data/spec/views/users/show.html.erb_spec.rb +1 -1
  158. data/sufia-models/app/actors/sufia/generic_file/actor.rb +12 -8
  159. data/sufia-models/app/jobs/batch_update_job.rb +2 -2
  160. data/sufia-models/app/jobs/import_url_job.rb +5 -3
  161. data/sufia-models/app/jobs/ingest_local_file_job.rb +46 -0
  162. data/sufia-models/app/jobs/resolrize_job.rb +1 -8
  163. data/sufia-models/app/models/batch.rb +0 -7
  164. data/sufia-models/app/models/concerns/sufia/ability.rb +1 -1
  165. data/sufia-models/app/models/concerns/sufia/{collection.rb → collection_behavior.rb} +1 -13
  166. data/sufia-models/app/models/concerns/sufia/generic_file/batches.rb +3 -4
  167. data/sufia-models/app/models/concerns/sufia/generic_file/export.rb +1 -1
  168. data/sufia-models/app/models/concerns/sufia/generic_file/featured.rb +1 -4
  169. data/sufia-models/app/models/concerns/sufia/generic_file/metadata.rb +7 -7
  170. data/sufia-models/app/models/concerns/sufia/generic_file/trophies.rb +1 -2
  171. data/sufia-models/app/models/concerns/sufia/generic_file/virus_check.rb +16 -11
  172. data/sufia-models/app/models/concerns/sufia/model_methods.rb +1 -14
  173. data/sufia-models/app/models/concerns/sufia/user.rb +5 -0
  174. data/sufia-models/app/models/file_usage.rb +1 -1
  175. data/sufia-models/app/models/file_view_stat.rb +1 -1
  176. data/sufia-models/app/models/sufia/collection.rb +5 -0
  177. data/sufia-models/app/services/sufia/generic_file_indexing_service.rb +1 -1
  178. data/sufia-models/app/services/sufia/id_service.rb +1 -2
  179. data/sufia-models/app/services/sufia/noid.rb +4 -24
  180. data/sufia-models/lib/generators/sufia/models/install_generator.rb +6 -1
  181. data/sufia-models/lib/generators/sufia/models/templates/app/models/collection.rb +2 -0
  182. data/sufia-models/lib/generators/sufia/models/templates/config/resque_config.rb +1 -1
  183. data/sufia-models/lib/generators/sufia/models/templates/config/solrconfig.xml +46 -0
  184. data/sufia-models/lib/generators/sufia/models/templates/config/sufia.rb +9 -5
  185. data/sufia-models/lib/generators/sufia/models/templates/migrations/add_external_key_to_content_blocks.rb +6 -0
  186. data/sufia-models/lib/generators/sufia/models/update_content_blocks_generator.rb +18 -0
  187. data/sufia-models/lib/sufia/messages.rb +11 -12
  188. data/sufia-models/lib/sufia/models/engine.rb +2 -1
  189. data/sufia-models/lib/sufia/models/stats/user_stat_importer.rb +9 -5
  190. data/sufia-models/lib/sufia/models/version.rb +1 -1
  191. data/sufia-models/sufia-models.gemspec +5 -5
  192. data/sufia.gemspec +15 -15
  193. data/tasks/sufia-dev.rake +0 -16
  194. metadata +86 -64
  195. data/LICENSE.md +0 -14
  196. data/app/jobs/ingest_local_file_job.rb +0 -39
  197. data/sufia-models/app/models/collection.rb +0 -3
  198. data/sufia-models/app/services/sufia/indexing_service.rb +0 -15
@@ -12,7 +12,7 @@ class FileViewStat < ActiveRecord::Base
12
12
  # Sufia::Download is sent to Sufia::Analytics.profile as #sufia__download
13
13
  # see Legato::ProfileMethods.method_name_from_klass
14
14
  def self.ga_statistics start_date, file_id
15
- path = Sufia::Engine.routes.url_helpers.generic_file_path(Sufia::Noid.noidify(file_id))
15
+ path = Sufia::Engine.routes.url_helpers.generic_file_path(file_id)
16
16
  Sufia::Analytics.profile.sufia__pageview(sort: 'date', start_date: start_date).for_path(path)
17
17
  end
18
18
  end
@@ -0,0 +1,5 @@
1
+ module Sufia
2
+ class Collection < ActiveFedora::Base
3
+ include Sufia::CollectionBehavior
4
+ end
5
+ end
@@ -1,5 +1,5 @@
1
1
  module Sufia
2
- class GenericFileIndexingService < IndexingService
2
+ class GenericFileIndexingService < ActiveFedora::IndexingService
3
3
  def generate_solr_document
4
4
  super.tap do |solr_doc|
5
5
  solr_doc[Solrizer.solr_name('label')] = object.label
@@ -9,12 +9,11 @@ module Sufia
9
9
 
10
10
  @minter = ::Noid::Minter.new(template: noid_template)
11
11
  @pid = $$
12
- #@namespace = Sufia.config.id_namespace
13
12
  @semaphore = Mutex.new
14
13
  def self.valid?(identifier)
15
14
  # remove the fedora namespace since it's not part of the noid
16
15
  noid = identifier#.split(":").last
17
- return @minter.valid? noid
16
+ @minter.valid? noid
18
17
  end
19
18
  def self.mint
20
19
  @semaphore.synchronize do
@@ -3,40 +3,20 @@ module Sufia
3
3
  extend ActiveSupport::Concern
4
4
 
5
5
  ## This overrides the default behavior, which is to ask Fedora for a pid
6
- # @see ActiveFedora::Sharding.assign_pid
7
- def assign_pid
8
- Sufia::IdService.mint
6
+ # @see ActiveFedora::Persistence.assign_id
7
+ def assign_id
8
+ Sufia::IdService.mint if Sufia.config.enable_noids
9
9
  end
10
10
 
11
- def noid
12
- Noid.noidify(id)
13
- end
14
-
15
- # Redefine this for more intuitive keys in Redis
16
11
  def to_param
17
- noid
12
+ id
18
13
  end
19
14
 
20
15
  class << self
21
- def noidify(identifier)
22
- String(identifier).split(":").last
23
- end
24
-
25
16
  # Create a pairtree like path for the given identifier
26
17
  def treeify(identifier)
27
18
  (identifier.scan(/..?/).first(4) + [identifier]).join('/')
28
19
  end
29
-
30
- def namespaceize(identifier)
31
- return identifier if identifier.include?(':')
32
- "#{namespace}:#{identifier}"
33
- end
34
-
35
- protected
36
-
37
- def namespace
38
- Sufia.config.id_namespace
39
- end
40
20
  end
41
21
  end
42
22
  end
@@ -37,7 +37,8 @@ This generator makes the following changes to your application:
37
37
  'add_linkedin_to_users.rb',
38
38
  'create_tinymce_assets.rb',
39
39
  'create_content_blocks.rb',
40
- 'create_featured_works.rb'
40
+ 'create_featured_works.rb',
41
+ 'add_external_key_to_content_blocks.rb'
41
42
  ].each do |file|
42
43
  better_migration_template file
43
44
  end
@@ -67,6 +68,10 @@ This generator makes the following changes to your application:
67
68
  copy_file 'config/resque_config.rb', 'config/initializers/resque_config.rb'
68
69
  end
69
70
 
71
+ def create_collection
72
+ copy_file 'app/models/collection.rb', 'app/models/collection.rb'
73
+ end
74
+
70
75
  def install_mailboxer
71
76
  generate "mailboxer:install"
72
77
  end
@@ -0,0 +1,2 @@
1
+ class Collection < Sufia::Collection
2
+ end
@@ -2,4 +2,4 @@ config = YAML::load(ERB.new(IO.read(File.join(Rails.root, 'config', 'redis.yml')
2
2
  Resque.redis = Redis.new(host: config[:host], port: config[:port], thread_safe: true)
3
3
 
4
4
  Resque.inline = Rails.env.test?
5
- Resque.redis.namespace = "#{Sufia.config.id_namespace}:#{Rails.env}"
5
+ Resque.redis.namespace = "#{Sufia.config.redis_namespace}:#{Rails.env}"
@@ -18,6 +18,52 @@
18
18
 
19
19
  <dataDir>${solr.data.dir:}</dataDir>
20
20
 
21
+ <!-- The default high-performance update handler -->
22
+ <updateHandler class="solr.DirectUpdateHandler2">
23
+
24
+ <!-- Enables a transaction log, used for real-time get, durability, and
25
+ and solr cloud replica recovery. The log can grow as big as
26
+ uncommitted changes to the index, so use of a hard autoCommit
27
+ is recommended (see below).
28
+ "dir" - the target directory for transaction logs, defaults to the
29
+ solr data directory. -->
30
+ <updateLog>
31
+ <str name="dir">${solr.ulog.dir:}</str>
32
+ </updateLog>
33
+
34
+ <!-- AutoCommit
35
+ Perform a hard commit automatically under certain conditions.
36
+ Instead of enabling autoCommit, consider using "commitWithin"
37
+ when adding documents.
38
+ http://wiki.apache.org/solr/UpdateXmlMessages
39
+ maxDocs - Maximum number of documents to add since the last
40
+ commit before automatically triggering a new commit.
41
+ maxTime - Maximum amount of time in ms that is allowed to pass
42
+ since a document was added before automatically
43
+ triggering a new commit.
44
+ openSearcher - if false, the commit causes recent index changes
45
+ to be flushed to stable storage, but does not cause a new
46
+ searcher to be opened to make those changes visible.
47
+ If the updateLog is enabled, then it's highly recommended to
48
+ have some sort of hard autoCommit to limit the log size.
49
+ -->
50
+ <autoCommit>
51
+ <maxTime>${solr.autoCommit.maxTime:15000}</maxTime>
52
+ <openSearcher>false</openSearcher>
53
+ </autoCommit>
54
+
55
+ <!-- softAutoCommit is like autoCommit except it causes a
56
+ 'soft' commit which only ensures that changes are visible
57
+ but does not ensure that data is synced to disk. This is
58
+ faster and more near-realtime friendly than a hard commit.
59
+ -->
60
+
61
+ <autoSoftCommit>
62
+ <maxTime>${solr.autoSoftCommit.maxTime:-1}</maxTime>
63
+ </autoSoftCommit>
64
+
65
+ </updateHandler>
66
+
21
67
  <requestHandler name="search" class="solr.SearchHandler" default="true">
22
68
  <!-- default values for query parameters can be specified, these
23
69
  will be overridden by parameters in the request
@@ -6,9 +6,6 @@ Sufia.config do |config|
6
6
  file_author: :creator
7
7
  }
8
8
 
9
- # Specify a different template for your repositories unique identifiers
10
- # config.noid_template = ".reeddeeddk"
11
-
12
9
  config.max_days_between_audits = 7
13
10
 
14
11
  config.max_notifications_for_dashboard = 5
@@ -105,8 +102,15 @@ Sufia.config do |config|
105
102
  # If you have ffmpeg installed and want to transcode audio and video uncomment this line
106
103
  # config.enable_ffmpeg = true
107
104
 
108
- # Specify the Fedora pid prefix:
109
- # config.id_namespace = "sufia"
105
+ # Sufia uses NOIDs for files and collections instead of Fedora UUIDs
106
+ # where NOID = 10-character string and UUID = 32-character string w/ hyphens
107
+ # config.enable_noids = true
108
+
109
+ # Specify a different template for your repository's NOID IDs
110
+ # config.noid_template = ".reeddeeddk"
111
+
112
+ # Specify the prefix for Redis keys:
113
+ # config.redis_namespace = "sufia"
110
114
 
111
115
  # Specify the path to the file characterization tool:
112
116
  # config.fits_path = "fits.sh"
@@ -0,0 +1,6 @@
1
+ class AddExternalKeyToContentBlocks < ActiveRecord::Migration
2
+ def change
3
+ add_column :content_blocks, :external_key, :string
4
+ remove_index :content_blocks, :name
5
+ end
6
+ end
@@ -0,0 +1,18 @@
1
+ require_relative 'abstract_migration_generator'
2
+
3
+ class Sufia::Models::UpdateContentBlocksGenerator < Sufia::Models::AbstractMigrationGenerator
4
+ source_root File.expand_path('../templates', __FILE__)
5
+
6
+ desc """
7
+ This generator creates a database migration to add an external_key column to the content_blocks table (if the migration doesn't already exist). This allows you to associate a user_key with a featured_researcher entry.
8
+ """
9
+
10
+ def banner
11
+ say_status("warning", "CREATING MIGRATION FILE", :yellow)
12
+ end
13
+
14
+ def copy_migrations
15
+ better_migration_template 'add_external_key_to_content_blocks.rb'
16
+ end
17
+
18
+ end
@@ -46,22 +46,21 @@ module Sufia
46
46
  end
47
47
 
48
48
  def link_to_file file
49
- link_to(file.to_s, Sufia::Engine.routes.url_helpers.generic_file_path(file.noid))
49
+ link_to(file.to_s, Sufia::Engine.routes.url_helpers.generic_file_path(file))
50
50
  end
51
51
 
52
52
  private
53
53
 
54
- def success_link files
55
- link_to I18n.t("sufia.messages.success.multiple.link"), "#",
56
- rel: "popover",
57
- data: { content: file_list(files).html_safe, title: I18n.t("sufia.messages.success.title") }
58
- end
59
-
60
- def failure_link files
61
- link_to I18n.t("sufia.messages.failure.multiple.link"), "#",
62
- rel: "popover",
63
- data: { content: file_list(files).html_safe, title: I18n.t("sufia.messages.failure.title") }
64
- end
54
+ def success_link files
55
+ link_to I18n.t("sufia.messages.success.multiple.link"), "#",
56
+ rel: "popover",
57
+ data: { content: file_list(files).html_safe, title: I18n.t("sufia.messages.success.title") }
58
+ end
65
59
 
60
+ def failure_link files
61
+ link_to I18n.t("sufia.messages.failure.multiple.link"), "#",
62
+ rel: "popover",
63
+ data: { content: file_list(files).html_safe, title: I18n.t("sufia.messages.failure.title") }
64
+ end
66
65
  end
67
66
  end
@@ -18,8 +18,9 @@ module Sufia
18
18
  config.ffmpeg_path = 'ffmpeg'
19
19
  config.fits_message_length = 5
20
20
  config.temp_file_base = nil
21
+ config.enable_noids = true
21
22
  config.minter_statefile = '/tmp/minter-state'
22
- config.id_namespace = "sufia"
23
+ config.redis_namespace = "sufia"
23
24
  config.fits_path = "fits.sh"
24
25
  config.enable_contact_form_delivery = false
25
26
  config.browse_everything = nil
@@ -12,11 +12,11 @@ module Sufia
12
12
  start_date = date_since_last_cache(user)
13
13
 
14
14
  stats = {}
15
- files_for_user(user).each do |file|
16
- view_stats = FileViewStat.statistics(file.id, start_date, user.id)
15
+ file_ids_for_user(user).each do |file_id|
16
+ view_stats = FileViewStat.statistics(file_id, start_date, user.id)
17
17
  stats = tally_results(view_stats, :views, stats)
18
18
 
19
- dl_stats = FileDownloadStat.statistics(file.id, start_date, user.id)
19
+ dl_stats = FileDownloadStat.statistics(file_id, start_date, user.id)
20
20
  stats = tally_results(dl_stats, :downloads, stats)
21
21
  end
22
22
 
@@ -38,8 +38,12 @@ private
38
38
  end
39
39
  end
40
40
 
41
- def files_for_user(user)
42
- ::GenericFile.where(Solrizer.solr_name('depositor', :symbol) => user.user_key)
41
+ def file_ids_for_user(user)
42
+ ids = []
43
+ ::GenericFile.find_in_batches("#{Solrizer.solr_name('depositor', :symbol)}:\"#{user.user_key}\"", fl:"id") do |group|
44
+ ids.concat group.map { |doc| doc["id"] }
45
+ end
46
+ ids
43
47
  end
44
48
 
45
49
  # For each date, add the view and download counts for this
@@ -1,5 +1,5 @@
1
1
  module Sufia
2
2
  module Models
3
- VERSION = "6.0.0.rc2"
3
+ VERSION = "6.0.0.rc3"
4
4
  end
5
5
  end
@@ -26,13 +26,13 @@ Gem::Specification.new do |spec|
26
26
  spec.add_development_dependency "bundler", "~> 1.3"
27
27
  spec.add_development_dependency "rake", "~> 10.3"
28
28
 
29
- spec.add_dependency 'rails', '~> 4.0', '< 5.0.0'
29
+ spec.add_dependency 'rails', '~> 4.0'
30
30
  spec.add_dependency 'activeresource', "~> 4.0" # No longer a dependency of rails 4.0
31
31
 
32
- spec.add_dependency "hydra-head", "~> 9.0.0.rc3"
33
- spec.add_dependency "active-fedora", "~> 9.0.0.rc3"
34
- spec.add_dependency "hydra-collections", "~> 4.0.0.rc2"
35
- spec.add_dependency 'hydra-derivatives', '~> 1.0.0.rc1'
32
+ spec.add_dependency "hydra-head", "~> 9.0"
33
+ spec.add_dependency "active-fedora", "~> 9.0"
34
+ spec.add_dependency "hydra-collections", "~> 4.0"
35
+ spec.add_dependency 'hydra-derivatives', '~> 1.0'
36
36
  spec.add_dependency 'nest', '~> 1.1'
37
37
  spec.add_dependency 'resque', '~> 1.23'
38
38
  spec.add_dependency 'resque-pool', '~> 0.3'
@@ -31,24 +31,24 @@ Gem::Specification.new do |gem|
31
31
  gem.add_dependency 'hydra-batch-edit', '~> 1.1'
32
32
  gem.add_dependency 'browse-everything', '~> 0.4'
33
33
  gem.add_dependency 'daemons', '~> 1.1'
34
- gem.add_dependency 'mail_form'
34
+ gem.add_dependency 'mail_form', '~> 1.5'
35
35
  gem.add_dependency 'rails_autolink', '~> 1.1'
36
36
  gem.add_dependency 'yaml_db', '~> 0.2'
37
- gem.add_dependency 'font-awesome-rails'
38
- gem.add_dependency 'hydra-editor', '~> 1.0.0.rc3'
39
- gem.add_dependency 'blacklight-gallery'
40
- gem.add_dependency 'breadcrumbs_on_rails', '~>2.3.0'
41
- gem.add_dependency 'select2-rails'
37
+ gem.add_dependency 'font-awesome-rails', '~> 4.2'
38
+ gem.add_dependency 'hydra-editor', '~> 1.0'
39
+ gem.add_dependency 'blacklight-gallery', '~> 0.1'
40
+ gem.add_dependency 'breadcrumbs_on_rails', '~> 2.3.0'
41
+ gem.add_dependency 'select2-rails', '~> 3.5.9'
42
42
  gem.add_dependency "devise", "~> 3.0"
43
43
 
44
- gem.add_development_dependency 'engine_cart'
45
- gem.add_development_dependency 'mida'
46
- gem.add_development_dependency 'database_cleaner'
47
- gem.add_development_dependency 'rspec-rails'
48
- gem.add_development_dependency 'rspec-its'
49
- gem.add_development_dependency 'rspec-activemodel-mocks'
50
- gem.add_development_dependency "capybara"
44
+ gem.add_development_dependency 'engine_cart', '~> 0.5'
45
+ gem.add_development_dependency 'mida', '~> 0.3'
46
+ gem.add_development_dependency 'database_cleaner', '~> 1.3'
47
+ gem.add_development_dependency 'rspec-rails', '~> 3.1'
48
+ gem.add_development_dependency 'rspec-its', '~> 1.1'
49
+ gem.add_development_dependency 'rspec-activemodel-mocks', '~> 1.0'
50
+ gem.add_development_dependency "capybara", '~> 2.4'
51
51
  gem.add_development_dependency "poltergeist", "~> 1.5"
52
- gem.add_development_dependency "factory_girl_rails"
53
- gem.add_development_dependency "equivalent-xml"
52
+ gem.add_development_dependency "factory_girl_rails", '~> 4.4'
53
+ gem.add_development_dependency "equivalent-xml", '~> 0.5'
54
54
  end
@@ -15,19 +15,3 @@ task ci: ['engine_cart:generate', 'jetty:clean', 'sufia:jetty:config'] do
15
15
  end
16
16
  raise "test failures: #{error}" if error
17
17
  end
18
-
19
- EXTRA_GEMS =<<EOF
20
- gem 'kaminari', github: 'harai/kaminari', branch: 'route_prefix_prototype'
21
- EOF
22
-
23
- namespace :engine_cart do
24
- desc 'Regenerate embedded app for testing'
25
- task regenerate: ['engine_cart:clean', 'engine_cart:generate']
26
-
27
- # we're adding some extra stuff into the gemfile beyond what engine_cart gives us by default
28
- task :inject_gemfile_extras do
29
- open(File.expand_path('Gemfile', EngineCart.destination), 'a') do |f|
30
- f.write EXTRA_GEMS
31
- end
32
- end
33
- 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: 6.0.0.rc2
4
+ version: 6.0.0.rc3
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: 2015-01-16 00:00:00.000000000 Z
12
+ date: 2015-01-30 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: 6.0.0.rc2
20
+ version: 6.0.0.rc3
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: 6.0.0.rc2
27
+ version: 6.0.0.rc3
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: blacklight_advanced_search
30
30
  requirement: !ruby/object:Gem::Requirement
@@ -141,16 +141,16 @@ dependencies:
141
141
  name: mail_form
142
142
  requirement: !ruby/object:Gem::Requirement
143
143
  requirements:
144
- - - ">="
144
+ - - "~>"
145
145
  - !ruby/object:Gem::Version
146
- version: '0'
146
+ version: '1.5'
147
147
  type: :runtime
148
148
  prerelease: false
149
149
  version_requirements: !ruby/object:Gem::Requirement
150
150
  requirements:
151
- - - ">="
151
+ - - "~>"
152
152
  - !ruby/object:Gem::Version
153
- version: '0'
153
+ version: '1.5'
154
154
  - !ruby/object:Gem::Dependency
155
155
  name: rails_autolink
156
156
  requirement: !ruby/object:Gem::Requirement
@@ -183,44 +183,44 @@ dependencies:
183
183
  name: font-awesome-rails
184
184
  requirement: !ruby/object:Gem::Requirement
185
185
  requirements:
186
- - - ">="
186
+ - - "~>"
187
187
  - !ruby/object:Gem::Version
188
- version: '0'
188
+ version: '4.2'
189
189
  type: :runtime
190
190
  prerelease: false
191
191
  version_requirements: !ruby/object:Gem::Requirement
192
192
  requirements:
193
- - - ">="
193
+ - - "~>"
194
194
  - !ruby/object:Gem::Version
195
- version: '0'
195
+ version: '4.2'
196
196
  - !ruby/object:Gem::Dependency
197
197
  name: hydra-editor
198
198
  requirement: !ruby/object:Gem::Requirement
199
199
  requirements:
200
200
  - - "~>"
201
201
  - !ruby/object:Gem::Version
202
- version: 1.0.0.rc3
202
+ version: '1.0'
203
203
  type: :runtime
204
204
  prerelease: false
205
205
  version_requirements: !ruby/object:Gem::Requirement
206
206
  requirements:
207
207
  - - "~>"
208
208
  - !ruby/object:Gem::Version
209
- version: 1.0.0.rc3
209
+ version: '1.0'
210
210
  - !ruby/object:Gem::Dependency
211
211
  name: blacklight-gallery
212
212
  requirement: !ruby/object:Gem::Requirement
213
213
  requirements:
214
- - - ">="
214
+ - - "~>"
215
215
  - !ruby/object:Gem::Version
216
- version: '0'
216
+ version: '0.1'
217
217
  type: :runtime
218
218
  prerelease: false
219
219
  version_requirements: !ruby/object:Gem::Requirement
220
220
  requirements:
221
- - - ">="
221
+ - - "~>"
222
222
  - !ruby/object:Gem::Version
223
- version: '0'
223
+ version: '0.1'
224
224
  - !ruby/object:Gem::Dependency
225
225
  name: breadcrumbs_on_rails
226
226
  requirement: !ruby/object:Gem::Requirement
@@ -239,16 +239,16 @@ dependencies:
239
239
  name: select2-rails
240
240
  requirement: !ruby/object:Gem::Requirement
241
241
  requirements:
242
- - - ">="
242
+ - - "~>"
243
243
  - !ruby/object:Gem::Version
244
- version: '0'
244
+ version: 3.5.9
245
245
  type: :runtime
246
246
  prerelease: false
247
247
  version_requirements: !ruby/object:Gem::Requirement
248
248
  requirements:
249
- - - ">="
249
+ - - "~>"
250
250
  - !ruby/object:Gem::Version
251
- version: '0'
251
+ version: 3.5.9
252
252
  - !ruby/object:Gem::Dependency
253
253
  name: devise
254
254
  requirement: !ruby/object:Gem::Requirement
@@ -267,100 +267,100 @@ dependencies:
267
267
  name: engine_cart
268
268
  requirement: !ruby/object:Gem::Requirement
269
269
  requirements:
270
- - - ">="
270
+ - - "~>"
271
271
  - !ruby/object:Gem::Version
272
- version: '0'
272
+ version: '0.5'
273
273
  type: :development
274
274
  prerelease: false
275
275
  version_requirements: !ruby/object:Gem::Requirement
276
276
  requirements:
277
- - - ">="
277
+ - - "~>"
278
278
  - !ruby/object:Gem::Version
279
- version: '0'
279
+ version: '0.5'
280
280
  - !ruby/object:Gem::Dependency
281
281
  name: mida
282
282
  requirement: !ruby/object:Gem::Requirement
283
283
  requirements:
284
- - - ">="
284
+ - - "~>"
285
285
  - !ruby/object:Gem::Version
286
- version: '0'
286
+ version: '0.3'
287
287
  type: :development
288
288
  prerelease: false
289
289
  version_requirements: !ruby/object:Gem::Requirement
290
290
  requirements:
291
- - - ">="
291
+ - - "~>"
292
292
  - !ruby/object:Gem::Version
293
- version: '0'
293
+ version: '0.3'
294
294
  - !ruby/object:Gem::Dependency
295
295
  name: database_cleaner
296
296
  requirement: !ruby/object:Gem::Requirement
297
297
  requirements:
298
- - - ">="
298
+ - - "~>"
299
299
  - !ruby/object:Gem::Version
300
- version: '0'
300
+ version: '1.3'
301
301
  type: :development
302
302
  prerelease: false
303
303
  version_requirements: !ruby/object:Gem::Requirement
304
304
  requirements:
305
- - - ">="
305
+ - - "~>"
306
306
  - !ruby/object:Gem::Version
307
- version: '0'
307
+ version: '1.3'
308
308
  - !ruby/object:Gem::Dependency
309
309
  name: rspec-rails
310
310
  requirement: !ruby/object:Gem::Requirement
311
311
  requirements:
312
- - - ">="
312
+ - - "~>"
313
313
  - !ruby/object:Gem::Version
314
- version: '0'
314
+ version: '3.1'
315
315
  type: :development
316
316
  prerelease: false
317
317
  version_requirements: !ruby/object:Gem::Requirement
318
318
  requirements:
319
- - - ">="
319
+ - - "~>"
320
320
  - !ruby/object:Gem::Version
321
- version: '0'
321
+ version: '3.1'
322
322
  - !ruby/object:Gem::Dependency
323
323
  name: rspec-its
324
324
  requirement: !ruby/object:Gem::Requirement
325
325
  requirements:
326
- - - ">="
326
+ - - "~>"
327
327
  - !ruby/object:Gem::Version
328
- version: '0'
328
+ version: '1.1'
329
329
  type: :development
330
330
  prerelease: false
331
331
  version_requirements: !ruby/object:Gem::Requirement
332
332
  requirements:
333
- - - ">="
333
+ - - "~>"
334
334
  - !ruby/object:Gem::Version
335
- version: '0'
335
+ version: '1.1'
336
336
  - !ruby/object:Gem::Dependency
337
337
  name: rspec-activemodel-mocks
338
338
  requirement: !ruby/object:Gem::Requirement
339
339
  requirements:
340
- - - ">="
340
+ - - "~>"
341
341
  - !ruby/object:Gem::Version
342
- version: '0'
342
+ version: '1.0'
343
343
  type: :development
344
344
  prerelease: false
345
345
  version_requirements: !ruby/object:Gem::Requirement
346
346
  requirements:
347
- - - ">="
347
+ - - "~>"
348
348
  - !ruby/object:Gem::Version
349
- version: '0'
349
+ version: '1.0'
350
350
  - !ruby/object:Gem::Dependency
351
351
  name: capybara
352
352
  requirement: !ruby/object:Gem::Requirement
353
353
  requirements:
354
- - - ">="
354
+ - - "~>"
355
355
  - !ruby/object:Gem::Version
356
- version: '0'
356
+ version: '2.4'
357
357
  type: :development
358
358
  prerelease: false
359
359
  version_requirements: !ruby/object:Gem::Requirement
360
360
  requirements:
361
- - - ">="
361
+ - - "~>"
362
362
  - !ruby/object:Gem::Version
363
- version: '0'
363
+ version: '2.4'
364
364
  - !ruby/object:Gem::Dependency
365
365
  name: poltergeist
366
366
  requirement: !ruby/object:Gem::Requirement
@@ -379,30 +379,30 @@ dependencies:
379
379
  name: factory_girl_rails
380
380
  requirement: !ruby/object:Gem::Requirement
381
381
  requirements:
382
- - - ">="
382
+ - - "~>"
383
383
  - !ruby/object:Gem::Version
384
- version: '0'
384
+ version: '4.4'
385
385
  type: :development
386
386
  prerelease: false
387
387
  version_requirements: !ruby/object:Gem::Requirement
388
388
  requirements:
389
- - - ">="
389
+ - - "~>"
390
390
  - !ruby/object:Gem::Version
391
- version: '0'
391
+ version: '4.4'
392
392
  - !ruby/object:Gem::Dependency
393
393
  name: equivalent-xml
394
394
  requirement: !ruby/object:Gem::Requirement
395
395
  requirements:
396
- - - ">="
396
+ - - "~>"
397
397
  - !ruby/object:Gem::Version
398
- version: '0'
398
+ version: '0.5'
399
399
  type: :development
400
400
  prerelease: false
401
401
  version_requirements: !ruby/object:Gem::Requirement
402
402
  requirements:
403
- - - ">="
403
+ - - "~>"
404
404
  - !ruby/object:Gem::Version
405
- version: '0'
405
+ version: '0.5'
406
406
  description: Sufia is a Rails engine for creating a self-deposit institutional repository
407
407
  email:
408
408
  - justin@curationexperts.com
@@ -418,7 +418,7 @@ files:
418
418
  - CONTRIBUTING.md
419
419
  - Gemfile
420
420
  - History.md
421
- - LICENSE.md
421
+ - LICENSE
422
422
  - README.md
423
423
  - RELEASING.md
424
424
  - Rakefile
@@ -526,10 +526,12 @@ files:
526
526
  - app/assets/stylesheets/sufia/_file-listing.scss
527
527
  - app/assets/stylesheets/sufia/_header.scss
528
528
  - app/assets/stylesheets/sufia/_home-page.scss
529
+ - app/assets/stylesheets/sufia/_multi_value_fields.css.scss
529
530
  - app/assets/stylesheets/sufia/_proxy-rights.scss
530
531
  - app/assets/stylesheets/sufia/_settings.scss
531
532
  - app/assets/stylesheets/sufia/_styles.scss
532
533
  - app/assets/stylesheets/sufia/_tagcloud.scss
534
+ - app/assets/stylesheets/sufia/_tinymce.scss
533
535
  - app/assets/stylesheets/sufia/_usage-stats.scss
534
536
  - app/builders/sufia/bootstrap_breadcrumbs_builder.rb
535
537
  - app/controllers/authorities_controller.rb
@@ -601,7 +603,6 @@ files:
601
603
  - app/jobs/content_restored_version_event_job.rb
602
604
  - app/jobs/content_update_event_job.rb
603
605
  - app/jobs/event_job.rb
604
- - app/jobs/ingest_local_file_job.rb
605
606
  - app/jobs/user_edit_profile_event_job.rb
606
607
  - app/jobs/user_follow_event_job.rb
607
608
  - app/jobs/user_unfollow_event_job.rb
@@ -777,6 +778,7 @@ files:
777
778
  - app/views/my/facet.html.erb
778
779
  - app/views/my/index.html.erb
779
780
  - app/views/pages/show.html.erb
781
+ - app/views/records/_rights_modal.html.erb
780
782
  - app/views/records/edit_fields/_default.html.erb
781
783
  - app/views/records/edit_fields/_description.html.erb
782
784
  - app/views/records/edit_fields/_resource_type.html.erb
@@ -813,6 +815,8 @@ files:
813
815
  - app/views/users/_activity.html.erb
814
816
  - app/views/users/_activity_log.html.erb
815
817
  - app/views/users/_contributions.html.erb
818
+ - app/views/users/_edit_primary.html.erb
819
+ - app/views/users/_edit_secondary.html.erb
816
820
  - app/views/users/_follower_modal.html.erb
817
821
  - app/views/users/_following_modal.html.erb
818
822
  - app/views/users/_left_sidebar.html.erb
@@ -832,8 +836,11 @@ files:
832
836
  - app/views/users/notifications_number.js.erb
833
837
  - app/views/users/show.html.erb
834
838
  - bin/audit_repository
839
+ - config/initializers/simple_form.rb
840
+ - config/initializers/simple_form_bootstrap.rb
835
841
  - config/initializers/sufia_events.rb
836
842
  - config/jetty.yml
843
+ - config/locales/simple_form.en.yml
837
844
  - config/locales/sufia.en.yml
838
845
  - config/routes.rb
839
846
  - db/data.yml
@@ -896,6 +903,7 @@ files:
896
903
  - spec/features/collection_spec.rb
897
904
  - spec/features/contact_form_spec.rb
898
905
  - spec/features/display_dashboard_spec.rb
906
+ - spec/features/edit_file_spec.rb
899
907
  - spec/features/ingest_upload_files_spec.rb
900
908
  - spec/features/notifications_spec.rb
901
909
  - spec/features/ownership_transfer_spec.rb
@@ -942,6 +950,7 @@ files:
942
950
  - spec/helpers/sufia_helper_spec.rb
943
951
  - spec/helpers/trophy_helper_spec.rb
944
952
  - spec/inputs/multi_value_with_help_input_spec.rb
953
+ - spec/inputs/select_with_help_input_spec.rb
945
954
  - spec/inputs/select_with_modal_help_input_spec.rb
946
955
  - spec/jobs/active_fedora_pid_based_job_spec.rb
947
956
  - spec/jobs/audit_job_spec.rb
@@ -965,6 +974,7 @@ files:
965
974
  - spec/models/characterization_spec.rb
966
975
  - spec/models/checksum_audit_log_spec.rb
967
976
  - spec/models/collection_spec.rb
977
+ - spec/models/content_block_spec.rb
968
978
  - spec/models/download_spec.rb
969
979
  - spec/models/featured_work_list_spec.rb
970
980
  - spec/models/featured_work_spec.rb
@@ -985,6 +995,7 @@ files:
985
995
  - spec/models/user_spec.rb
986
996
  - spec/models/user_usage_stats_spec.rb
987
997
  - spec/presenters/presenter_renderer_spec.rb
998
+ - spec/presenters/sufia/collection_presenter_spec.rb
988
999
  - spec/presenters/sufia/generic_file_presenter_spec.rb
989
1000
  - spec/presenters/sufia/version_list_presenter_spec.rb
990
1001
  - spec/presenters/sufia/version_presenter_spec.rb
@@ -1007,6 +1018,7 @@ files:
1007
1018
  - spec/support/selectors.rb
1008
1019
  - spec/support/statistic_helper.rb
1009
1020
  - spec/support/uploaded_file_monkeypatch.rb
1021
+ - spec/test_app_templates/Gemfile.extra
1010
1022
  - spec/test_app_templates/lib/generators/test_app_generator.rb
1011
1023
  - spec/views/batch/edit.html.erb_spec.rb
1012
1024
  - spec/views/batch_edits/check_all_spec.rb
@@ -1021,6 +1033,7 @@ files:
1021
1033
  - spec/views/generic_file/edit.html.erb_spec.rb
1022
1034
  - spec/views/generic_file/show.html.erb_spec.rb
1023
1035
  - spec/views/generic_file/stats.html.erb_spec.rb
1036
+ - spec/views/homepage/_featured_works.html.erb_spec.rb
1024
1037
  - spec/views/my/facet.html.erb_spec.rb
1025
1038
  - spec/views/users/_follower_modal.html.erb_spec.rb
1026
1039
  - spec/views/users/_following_modal.html.erb_spec.rb
@@ -1040,12 +1053,12 @@ files:
1040
1053
  - sufia-models/app/jobs/characterize_job.rb
1041
1054
  - sufia-models/app/jobs/create_derivatives_job.rb
1042
1055
  - sufia-models/app/jobs/import_url_job.rb
1056
+ - sufia-models/app/jobs/ingest_local_file_job.rb
1043
1057
  - sufia-models/app/jobs/resolrize_job.rb
1044
1058
  - sufia-models/app/models/batch.rb
1045
1059
  - sufia-models/app/models/checksum_audit_log.rb
1046
- - sufia-models/app/models/collection.rb
1047
1060
  - sufia-models/app/models/concerns/sufia/ability.rb
1048
- - sufia-models/app/models/concerns/sufia/collection.rb
1061
+ - sufia-models/app/models/concerns/sufia/collection_behavior.rb
1049
1062
  - sufia-models/app/models/concerns/sufia/file_stat_utils.rb
1050
1063
  - sufia-models/app/models/concerns/sufia/generic_file.rb
1051
1064
  - sufia-models/app/models/concerns/sufia/generic_file/batches.rb
@@ -1085,6 +1098,7 @@ files:
1085
1098
  - sufia-models/app/models/subject_local_authority_entry.rb
1086
1099
  - sufia-models/app/models/sufia/avatar_uploader.rb
1087
1100
  - sufia-models/app/models/sufia/avatar_validator.rb
1101
+ - sufia-models/app/models/sufia/collection.rb
1088
1102
  - sufia-models/app/models/sufia/download.rb
1089
1103
  - sufia-models/app/models/sufia/orcid_validator.rb
1090
1104
  - sufia-models/app/models/sufia/pageview.rb
@@ -1095,7 +1109,6 @@ files:
1095
1109
  - sufia-models/app/services/sufia/generic_file_audit_service.rb
1096
1110
  - sufia-models/app/services/sufia/generic_file_indexing_service.rb
1097
1111
  - sufia-models/app/services/sufia/id_service.rb
1098
- - sufia-models/app/services/sufia/indexing_service.rb
1099
1112
  - sufia-models/app/services/sufia/noid.rb
1100
1113
  - sufia-models/app/services/sufia/repository_audit_service.rb
1101
1114
  - sufia-models/config/locales/sufia.en.yml
@@ -1105,6 +1118,7 @@ files:
1105
1118
  - sufia-models/lib/generators/sufia/models/install_generator.rb
1106
1119
  - sufia-models/lib/generators/sufia/models/orcid_field_generator.rb
1107
1120
  - sufia-models/lib/generators/sufia/models/proxies_generator.rb
1121
+ - sufia-models/lib/generators/sufia/models/templates/app/models/collection.rb
1108
1122
  - sufia-models/lib/generators/sufia/models/templates/config/analytics.yml
1109
1123
  - sufia-models/lib/generators/sufia/models/templates/config/clamav.rb
1110
1124
  - sufia-models/lib/generators/sufia/models/templates/config/mailboxer.rb
@@ -1119,6 +1133,7 @@ files:
1119
1133
  - sufia-models/lib/generators/sufia/models/templates/config/sufia.rb
1120
1134
  - sufia-models/lib/generators/sufia/models/templates/migrations/acts_as_follower_migration.rb
1121
1135
  - sufia-models/lib/generators/sufia/models/templates/migrations/add_avatars_to_users.rb
1136
+ - sufia-models/lib/generators/sufia/models/templates/migrations/add_external_key_to_content_blocks.rb
1122
1137
  - sufia-models/lib/generators/sufia/models/templates/migrations/add_groups_to_users.rb
1123
1138
  - sufia-models/lib/generators/sufia/models/templates/migrations/add_ldap_attrs_to_user.rb
1124
1139
  - sufia-models/lib/generators/sufia/models/templates/migrations/add_linkedin_to_users.rb
@@ -1137,6 +1152,7 @@ files:
1137
1152
  - sufia-models/lib/generators/sufia/models/templates/migrations/create_trophies.rb
1138
1153
  - sufia-models/lib/generators/sufia/models/templates/migrations/create_user_stats.rb
1139
1154
  - sufia-models/lib/generators/sufia/models/templates/migrations/create_version_committers.rb
1155
+ - sufia-models/lib/generators/sufia/models/update_content_blocks_generator.rb
1140
1156
  - sufia-models/lib/generators/sufia/models/upgrade400_generator.rb
1141
1157
  - sufia-models/lib/generators/sufia/models/usagestats_generator.rb
1142
1158
  - sufia-models/lib/generators/sufia/models/user_stats_generator.rb
@@ -1222,7 +1238,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1222
1238
  version: 1.3.1
1223
1239
  requirements: []
1224
1240
  rubyforge_project:
1225
- rubygems_version: 2.4.3
1241
+ rubygems_version: 2.2.2
1226
1242
  signing_key:
1227
1243
  specification_version: 4
1228
1244
  summary: Sufia was extracted from ScholarSphere developed by Penn State University
@@ -1269,6 +1285,7 @@ test_files:
1269
1285
  - spec/features/collection_spec.rb
1270
1286
  - spec/features/contact_form_spec.rb
1271
1287
  - spec/features/display_dashboard_spec.rb
1288
+ - spec/features/edit_file_spec.rb
1272
1289
  - spec/features/ingest_upload_files_spec.rb
1273
1290
  - spec/features/notifications_spec.rb
1274
1291
  - spec/features/ownership_transfer_spec.rb
@@ -1315,6 +1332,7 @@ test_files:
1315
1332
  - spec/helpers/sufia_helper_spec.rb
1316
1333
  - spec/helpers/trophy_helper_spec.rb
1317
1334
  - spec/inputs/multi_value_with_help_input_spec.rb
1335
+ - spec/inputs/select_with_help_input_spec.rb
1318
1336
  - spec/inputs/select_with_modal_help_input_spec.rb
1319
1337
  - spec/jobs/active_fedora_pid_based_job_spec.rb
1320
1338
  - spec/jobs/audit_job_spec.rb
@@ -1338,6 +1356,7 @@ test_files:
1338
1356
  - spec/models/characterization_spec.rb
1339
1357
  - spec/models/checksum_audit_log_spec.rb
1340
1358
  - spec/models/collection_spec.rb
1359
+ - spec/models/content_block_spec.rb
1341
1360
  - spec/models/download_spec.rb
1342
1361
  - spec/models/featured_work_list_spec.rb
1343
1362
  - spec/models/featured_work_spec.rb
@@ -1358,6 +1377,7 @@ test_files:
1358
1377
  - spec/models/user_spec.rb
1359
1378
  - spec/models/user_usage_stats_spec.rb
1360
1379
  - spec/presenters/presenter_renderer_spec.rb
1380
+ - spec/presenters/sufia/collection_presenter_spec.rb
1361
1381
  - spec/presenters/sufia/generic_file_presenter_spec.rb
1362
1382
  - spec/presenters/sufia/version_list_presenter_spec.rb
1363
1383
  - spec/presenters/sufia/version_presenter_spec.rb
@@ -1380,6 +1400,7 @@ test_files:
1380
1400
  - spec/support/selectors.rb
1381
1401
  - spec/support/statistic_helper.rb
1382
1402
  - spec/support/uploaded_file_monkeypatch.rb
1403
+ - spec/test_app_templates/Gemfile.extra
1383
1404
  - spec/test_app_templates/lib/generators/test_app_generator.rb
1384
1405
  - spec/views/batch/edit.html.erb_spec.rb
1385
1406
  - spec/views/batch_edits/check_all_spec.rb
@@ -1394,6 +1415,7 @@ test_files:
1394
1415
  - spec/views/generic_file/edit.html.erb_spec.rb
1395
1416
  - spec/views/generic_file/show.html.erb_spec.rb
1396
1417
  - spec/views/generic_file/stats.html.erb_spec.rb
1418
+ - spec/views/homepage/_featured_works.html.erb_spec.rb
1397
1419
  - spec/views/my/facet.html.erb_spec.rb
1398
1420
  - spec/views/users/_follower_modal.html.erb_spec.rb
1399
1421
  - spec/views/users/_following_modal.html.erb_spec.rb