sufia-models 4.0.0 → 4.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ae36845b3a2212024c47f63c3f191ae3ddce2d44
4
- data.tar.gz: 7156562bbb3c3a435beb3317ab420b597065b4ce
3
+ metadata.gz: 225e822263154c92055f19c4a792469b2ce46065
4
+ data.tar.gz: 710dd7bb7969847ac3362645003d0fc8b0533fde
5
5
  SHA512:
6
- metadata.gz: 9a420c8a86700d0f47e3d9bf29b5f27a488340cb40561476d78d8cb73a267e4389f1e200a7e97ffcfc53c95026230c1b0a340b6ee1e71250198ac1a731082afa
7
- data.tar.gz: ab6402e7739924eb275f012dadb3ce47af4e31d92277f6f747b3ca9d991bd2f665fdb5e246e7e4dfc775ad4dd35cb5a83b48c1a137036776fef6763618943898
6
+ metadata.gz: 43c341a486f46e61218acb3db3b75cf15fc6e981da57517357fb2c483faf8c22358940510e0edb4f52427e58167f4f4a4902dd317630873179bc96ca70c2a909
7
+ data.tar.gz: a5469d79e6280e930455bfa6b7241e3c467dfc970a704aae4129bab69c0563783ca913ed2022cb5a7ae8e8260ca5e6d9513a7095e9129ae9503574099d035ff6
@@ -58,7 +58,7 @@ module Sufia::GenericFile
58
58
 
59
59
  def update_metadata(attributes, visibility)
60
60
  generic_file.attributes = generic_file.sanitize_attributes(attributes)
61
- generic_file.visibility = visibility
61
+ update_visibility(visibility)
62
62
  generic_file.date_modified = DateTime.now
63
63
  remove_from_feature_works if generic_file.visibility_changed? && !generic_file.public?
64
64
  save_and_record_committer do
@@ -118,6 +118,13 @@ module Sufia::GenericFile
118
118
  end
119
119
  end
120
120
 
121
+ protected
122
+
123
+ # This method can be overridden in case there is a custom approach for visibility (e.g. embargo)
124
+ def update_visibility(visibility)
125
+ generic_file.visibility = visibility
126
+ end
127
+
121
128
  private
122
129
  def remove_from_feature_works
123
130
  featured_work = FeaturedWork.find_by_generic_file_id(generic_file.noid)
@@ -16,7 +16,7 @@ class ImportUrlJob < ActiveFedoraPidBasedJob
16
16
  # attach downloaded file to generic file stubbed out
17
17
  if Sufia::GenericFile::Actor.new(generic_file, user).create_content(f, path, 'content')
18
18
  # add message to user for downloaded file
19
- message = "The file (#{File.basename(path)}) was successfully imported."
19
+ message = "The file (#{generic_file.content.label}) was successfully imported."
20
20
  job_user.send_message(user, message, 'File Import')
21
21
  else
22
22
  job_user.send_message(user, generic_file.errors.full_messages.join(', '), 'File Import Error')
@@ -8,7 +8,7 @@ module Sufia
8
8
  def audit(force = false)
9
9
  logs = []
10
10
  self.per_version do |ver|
11
- logs << ::GenericFile.audit(ver, force)
11
+ logs << audit_each(ver, force)
12
12
  end
13
13
  logs
14
14
  end
@@ -51,23 +51,27 @@ module Sufia
51
51
  end
52
52
  end
53
53
 
54
+ def audit_each(version, force = false)
55
+ latest_audit = logs(version.dsid).first
56
+ return latest_audit unless force || ::GenericFile.needs_audit?(version, latest_audit)
57
+
58
+ # Resque.enqueue(AuditJob, version.pid, version.dsid, version.versionID)
59
+ Sufia.queue.push(AuditJob.new(version.pid, version.dsid, version.versionID))
60
+
61
+ # run the find just incase the job has finished already
62
+ latest_audit = logs(version.dsid).first
63
+ latest_audit = ChecksumAuditLog.new(pass: NO_RUNS, pid: version.pid, dsid: version.dsid, version: version.versionID) unless latest_audit
64
+ latest_audit
65
+ end
66
+
67
+
54
68
  module ClassMethods
55
69
  def audit!(version)
56
70
  ::GenericFile.audit(version, true)
57
71
  end
58
72
 
59
73
  def audit(version, force = false)
60
- latest_audit = self.find(version.pid).logs(version.dsid).first
61
- unless force
62
- return latest_audit unless ::GenericFile.needs_audit?(version, latest_audit)
63
- end
64
- # Resque.enqueue(AuditJob, version.pid, version.dsid, version.versionID)
65
- Sufia.queue.push(AuditJob.new(version.pid, version.dsid, version.versionID))
66
-
67
- # run the find just incase the job has finished already
68
- latest_audit = self.find(version.pid).logs(version.dsid).first
69
- latest_audit = ChecksumAuditLog.new(pass: NO_RUNS, pid: version.pid, dsid: version.dsid, version: version.versionID) unless latest_audit
70
- latest_audit
74
+ latest_audit = self.find(version.pid).audit_each( version, force)
71
75
  end
72
76
 
73
77
  def needs_audit?(version, latest_audit)
@@ -5,7 +5,9 @@ class FileUsage
5
5
  def initialize id
6
6
  self.id = id
7
7
  self.path = Sufia::Engine.routes.url_helpers.generic_file_path(Sufia::Noid.noidify(id))
8
+ earliest = Sufia.config.analytic_start_date
8
9
  self.created = DateTime.parse(::GenericFile.find(id).create_date)
10
+ self.created = earliest > created ? earliest : created unless earliest.blank?
9
11
  self.downloads = download_statistics
10
12
  self.pageviews = pageview_statistics
11
13
  end
@@ -31,13 +33,13 @@ class FileUsage
31
33
  # Sufia::Download is sent to Sufia::Analytics.profile as #sufia__download
32
34
  # see Legato::ProfileMethods.method_name_from_klass
33
35
  def download_statistics
34
- Sufia::Analytics.profile.sufia__download(sort: 'date').for_file(self.id)
36
+ Sufia::Analytics.profile.sufia__download(sort: 'date', start_date: created).for_file(self.id)
35
37
  end
36
38
 
37
39
  # Sufia::Pageview is sent to Sufia::Analytics.profile as #sufia__pageview
38
40
  # see Legato::ProfileMethods.method_name_from_klass
39
41
  def pageview_statistics
40
- Sufia::Analytics.profile.sufia__pageview(sort: 'date').for_path(self.path)
42
+ Sufia::Analytics.profile.sufia__pageview(sort: 'date', start_date: created).for_path(self.path)
41
43
  end
42
44
 
43
45
  def pageviews_to_flot values = Array.new
@@ -79,6 +79,7 @@ This generator makes the following changes to your application:
79
79
  "\nMime::Type.register 'application/x-endnote-refer', :endnote", {verbose: false }
80
80
  copy_file 'config/sufia.rb', 'config/initializers/sufia.rb'
81
81
  copy_file 'config/redis.yml', 'config/redis.yml'
82
+ copy_file 'config/resque-pool.yml', 'config/resque-pool.yml'
82
83
  copy_file 'config/redis_config.rb', 'config/initializers/redis_config.rb'
83
84
  copy_file 'config/resque_admin.rb', 'config/initializers/resque_admin.rb'
84
85
  copy_file 'config/resque_config.rb', 'config/initializers/resque_config.rb'
@@ -105,6 +105,14 @@ Sufia.config do |config|
105
105
  # Specify the path to the file characterization tool:
106
106
  # config.fits_path = "fits.sh"
107
107
 
108
+ # Specify how many seconds back from the current time that we should show by default of the user's activity on the user's dashboard
109
+ # config.activity_to_show_default_seconds_since_now = 24*60*60
110
+
111
+ # Specify a date you wish to start collecting Google Analytic statistics for.
112
+ # Leaving it blank will set the start date to when ever the file was uploaded by
113
+ # NOTE: if you have always sent analytics to GA for downloads and page views leave this commented out
114
+ # config.analytic_start_date = DateTime.new(2014,9,10)
115
+
108
116
  # If browse-everything has been configured, load the configs. Otherwise, set to nil.
109
117
  begin
110
118
  if defined? BrowseEverything
@@ -26,6 +26,10 @@ module Sufia
26
26
  config.analytics = false
27
27
  config.queue = Sufia::Resque::Queue
28
28
  config.max_notifications_for_dashboard = 5
29
+ config.activity_to_show_default_seconds_since_now = 24*60*60
30
+
31
+ # Defaulting analytic start date to when ever the file was uploaded by leaving it blank
32
+ config.analytic_start_date = nil
29
33
 
30
34
  config.autoload_paths += %W(
31
35
  #{config.root}/app/models/datastreams
@@ -1,5 +1,5 @@
1
1
  module Sufia
2
2
  module Models
3
- VERSION = "4.0.0"
3
+ VERSION = "4.0.1"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sufia-models
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0
4
+ version: 4.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeremy Friesen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-08-21 00:00:00.000000000 Z
11
+ date: 2014-10-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -339,6 +339,7 @@ files:
339
339
  - lib/generators/sufia/models/templates/config/mime_types.rb
340
340
  - lib/generators/sufia/models/templates/config/redis.yml
341
341
  - lib/generators/sufia/models/templates/config/redis_config.rb
342
+ - lib/generators/sufia/models/templates/config/resque-pool.yml
342
343
  - lib/generators/sufia/models/templates/config/resque_admin.rb
343
344
  - lib/generators/sufia/models/templates/config/resque_config.rb
344
345
  - lib/generators/sufia/models/templates/config/setup_mail.rb