curation_concerns-models 0.2.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/actors/curation_concerns/file_set_actor.rb +13 -0
- data/app/indexers/curation_concerns/work_indexing_service.rb +1 -1
- data/app/jobs/create_derivatives_job.rb +8 -0
- data/app/models/concerns/curation_concerns/ability.rb +6 -3
- data/app/models/concerns/curation_concerns/basic_metadata.rb +18 -18
- data/lib/curation_concerns/models/version.rb +1 -1
- data/lib/generators/curation_concerns/models/install_generator.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bf5fe8cfb43b91b4bf4b0603bfdbf427c872e442
|
4
|
+
data.tar.gz: da3f9e9f7e522fcce530eb0aa5f0d26289ff6b28
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b190960f8aee8224d04d027a23347dc487efeb83bf86f752c8f5eae55c79488b3a1a8d85ba1109b9fa08a1fceed7ab87dbbef6da63666fdcbd88772e8e1e48dc
|
7
|
+
data.tar.gz: e1f4a3d671a906437afec2d3d8c331b60d1bfce1d9407d6742c98bacb6c4ff736ec2facd7afe002a81fff49f66b77941103d6470e66d97e513bca33aeb8dbd78
|
@@ -167,6 +167,9 @@ module CurationConcerns
|
|
167
167
|
copy_visibility(work, file_set)
|
168
168
|
end
|
169
169
|
work.ordered_members << file_set
|
170
|
+
set_representative(work, file_set)
|
171
|
+
set_thumbnail(work, file_set)
|
172
|
+
|
170
173
|
# Save the work so the association between the work and the file_set is persisted (head_id)
|
171
174
|
work.save
|
172
175
|
end
|
@@ -196,5 +199,15 @@ module CurationConcerns
|
|
196
199
|
def copy_visibility(source_concern, destination_concern)
|
197
200
|
destination_concern.visibility = source_concern.visibility
|
198
201
|
end
|
202
|
+
|
203
|
+
def set_representative(work, file_set)
|
204
|
+
return unless work.representative_id.blank?
|
205
|
+
work.representative = file_set
|
206
|
+
end
|
207
|
+
|
208
|
+
def set_thumbnail(work, file_set)
|
209
|
+
return unless work.thumbnail_id.blank?
|
210
|
+
work.thumbnail = file_set
|
211
|
+
end
|
199
212
|
end
|
200
213
|
end
|
@@ -7,7 +7,7 @@ module CurationConcerns
|
|
7
7
|
# member_ids which requires fewer Fedora API calls than file_set_ids.
|
8
8
|
# file_set_ids requires loading all the members from Fedora but member_ids
|
9
9
|
# looks just at solr
|
10
|
-
solr_doc[Solrizer.solr_name('
|
10
|
+
solr_doc[Solrizer.solr_name('member_ids', :symbol)] = object.member_ids
|
11
11
|
Solrizer.set_field(solr_doc, 'generic_type', 'Work', :facetable)
|
12
12
|
solr_doc['thumbnail_path_ss'] = thumbnail_path
|
13
13
|
end
|
@@ -8,5 +8,13 @@ class CreateDerivativesJob < ActiveFedoraIdBasedJob
|
|
8
8
|
file_set.create_derivatives(file_name)
|
9
9
|
# The thumbnail is indexed in the solr document, so reindex
|
10
10
|
file_set.update_index
|
11
|
+
file_set.parent.update_index if parent_needs_reindex?
|
12
|
+
end
|
13
|
+
|
14
|
+
# If this file_set is the thumbnail for the parent work,
|
15
|
+
# then the parent also needs to be reindexed.
|
16
|
+
def parent_needs_reindex?
|
17
|
+
return false unless file_set.parent
|
18
|
+
file_set.parent.thumbnail_id == file_set.id
|
11
19
|
end
|
12
20
|
end
|
@@ -2,7 +2,7 @@ module CurationConcerns
|
|
2
2
|
module Ability
|
3
3
|
extend ActiveSupport::Concern
|
4
4
|
included do
|
5
|
-
self.ability_logic += [:curation_concerns_permissions]
|
5
|
+
self.ability_logic += [:curation_concerns_permissions, :add_to_collection]
|
6
6
|
end
|
7
7
|
|
8
8
|
def curation_concerns_permissions
|
@@ -19,8 +19,6 @@ module CurationConcerns
|
|
19
19
|
cannot :index, Hydra::AccessControls::Embargo
|
20
20
|
cannot :index, Hydra::AccessControls::Lease
|
21
21
|
end
|
22
|
-
|
23
|
-
can :collect, :all
|
24
22
|
end
|
25
23
|
|
26
24
|
def admin_permissions
|
@@ -31,6 +29,11 @@ module CurationConcerns
|
|
31
29
|
user_groups.include? 'admin'
|
32
30
|
end
|
33
31
|
|
32
|
+
def add_to_collection
|
33
|
+
return if current_user.new_record?
|
34
|
+
can :collect, :all
|
35
|
+
end
|
36
|
+
|
34
37
|
# Add this to your ability_logic if you want all logged in users to be able
|
35
38
|
# to submit content
|
36
39
|
def everyone_can_create_curation_concerns
|
@@ -15,33 +15,33 @@ module CurationConcerns
|
|
15
15
|
index.as :symbol
|
16
16
|
end
|
17
17
|
|
18
|
-
property :part_of, predicate: ::RDF::DC.isPartOf
|
19
|
-
property :resource_type, predicate: ::RDF::DC.type do |index|
|
18
|
+
property :part_of, predicate: ::RDF::Vocab::DC.isPartOf
|
19
|
+
property :resource_type, predicate: ::RDF::Vocab::DC.type do |index|
|
20
20
|
index.as :stored_searchable, :facetable
|
21
21
|
end
|
22
|
-
property :title, predicate: ::RDF::DC.title do |index|
|
22
|
+
property :title, predicate: ::RDF::Vocab::DC.title do |index|
|
23
23
|
index.as :stored_searchable, :facetable
|
24
24
|
end
|
25
|
-
property :creator, predicate: ::RDF::DC.creator do |index|
|
25
|
+
property :creator, predicate: ::RDF::Vocab::DC.creator do |index|
|
26
26
|
index.as :stored_searchable, :facetable
|
27
27
|
end
|
28
|
-
property :contributor, predicate: ::RDF::DC.contributor do |index|
|
28
|
+
property :contributor, predicate: ::RDF::Vocab::DC.contributor do |index|
|
29
29
|
index.as :stored_searchable, :facetable
|
30
30
|
end
|
31
|
-
property :description, predicate: ::RDF::DC.description do |index|
|
31
|
+
property :description, predicate: ::RDF::Vocab::DC.description do |index|
|
32
32
|
index.type :text
|
33
33
|
index.as :stored_searchable
|
34
34
|
end
|
35
|
-
property :tag, predicate: ::RDF::DC.relation do |index|
|
35
|
+
property :tag, predicate: ::RDF::Vocab::DC.relation do |index|
|
36
36
|
index.as :stored_searchable, :facetable
|
37
37
|
end
|
38
|
-
property :rights, predicate: ::RDF::DC.rights do |index|
|
38
|
+
property :rights, predicate: ::RDF::Vocab::DC.rights do |index|
|
39
39
|
index.as :stored_searchable
|
40
40
|
end
|
41
|
-
property :publisher, predicate: ::RDF::DC.publisher do |index|
|
41
|
+
property :publisher, predicate: ::RDF::Vocab::DC.publisher do |index|
|
42
42
|
index.as :stored_searchable, :facetable
|
43
43
|
end
|
44
|
-
property :date_created, predicate: ::RDF::DC.created do |index|
|
44
|
+
property :date_created, predicate: ::RDF::Vocab::DC.created do |index|
|
45
45
|
index.as :stored_searchable
|
46
46
|
end
|
47
47
|
|
@@ -50,34 +50,34 @@ module CurationConcerns
|
|
50
50
|
# fedora's system created date will reflect the date when the record
|
51
51
|
# was created in fedora4, but the date_uploaded will preserve the
|
52
52
|
# original creation date from the old repository.
|
53
|
-
property :date_uploaded, predicate: ::RDF::DC.dateSubmitted, multiple: false do |index|
|
53
|
+
property :date_uploaded, predicate: ::RDF::Vocab::DC.dateSubmitted, multiple: false do |index|
|
54
54
|
index.type :date
|
55
55
|
index.as :stored_sortable
|
56
56
|
end
|
57
57
|
|
58
|
-
property :date_modified, predicate: ::RDF::DC.modified, multiple: false do |index|
|
58
|
+
property :date_modified, predicate: ::RDF::Vocab::DC.modified, multiple: false do |index|
|
59
59
|
index.type :date
|
60
60
|
index.as :stored_sortable
|
61
61
|
end
|
62
|
-
property :subject, predicate: ::RDF::DC.subject do |index|
|
62
|
+
property :subject, predicate: ::RDF::Vocab::DC.subject do |index|
|
63
63
|
index.as :stored_searchable, :facetable
|
64
64
|
end
|
65
|
-
property :language, predicate: ::RDF::DC.language do |index|
|
65
|
+
property :language, predicate: ::RDF::Vocab::DC.language do |index|
|
66
66
|
index.as :stored_searchable, :facetable
|
67
67
|
end
|
68
|
-
property :identifier, predicate: ::RDF::DC.identifier do |index|
|
68
|
+
property :identifier, predicate: ::RDF::Vocab::DC.identifier do |index|
|
69
69
|
index.as :stored_searchable
|
70
70
|
end
|
71
|
-
property :based_near, predicate: ::RDF::FOAF.based_near do |index|
|
71
|
+
property :based_near, predicate: ::RDF::Vocab::FOAF.based_near do |index|
|
72
72
|
index.as :stored_searchable, :facetable
|
73
73
|
end
|
74
74
|
property :related_url, predicate: ::RDF::RDFS.seeAlso do |index|
|
75
75
|
index.as :stored_searchable
|
76
76
|
end
|
77
|
-
property :bibliographic_citation, predicate: ::RDF::DC.bibliographicCitation do |index|
|
77
|
+
property :bibliographic_citation, predicate: ::RDF::Vocab::DC.bibliographicCitation do |index|
|
78
78
|
index.as :stored_searchable
|
79
79
|
end
|
80
|
-
property :source, predicate: ::RDF::DC.source do |index|
|
80
|
+
property :source, predicate: ::RDF::Vocab::DC.source do |index|
|
81
81
|
index.as :stored_searchable
|
82
82
|
end
|
83
83
|
end
|
@@ -7,7 +7,7 @@ class CurationConcerns::Models::InstallGenerator < CurationConcerns::Models::Abs
|
|
7
7
|
This generator makes the following changes to your application:
|
8
8
|
1. Creates several database migrations if they do not exist in /db/migrate
|
9
9
|
2. Creates the curation_concerns.rb configuration file and several others
|
10
|
-
3. Creates the file_set.rb
|
10
|
+
3. Creates the file_set.rb and collection.rb models
|
11
11
|
4. Runs full-text generator
|
12
12
|
"''
|
13
13
|
def banner
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: curation_concerns-models
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.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: 2015-
|
11
|
+
date: 2015-11-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: active_attr
|