hydra-head 3.0.1 → 3.1.0.pre1
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile.lock +54 -20
- data/HISTORY.textile +0 -7
- data/app/controllers/assets_controller.rb +1 -2
- data/app/controllers/contributors_controller.rb +2 -2
- data/app/controllers/downloads_controller.rb +1 -3
- data/app/controllers/file_assets_controller.rb +2 -4
- data/app/controllers/generic_content_objects_controller.rb +1 -2
- data/app/controllers/get_controller.rb +1 -3
- data/app/controllers/permissions_controller.rb +14 -28
- data/app/models/file_asset.rb +6 -2
- data/app/views/catalog/_edit_partials/_default.html.erb +5 -5
- data/app/views/contributors/_index.html.erb +1 -1
- data/app/views/generic_content_objects/_show_description.html.erb +3 -3
- data/app/views/mods_assets/_publication_form.html.erb +2 -2
- data/app/views/mods_assets/_show_contributors.html.erb +4 -4
- data/app/views/mods_assets/_show_description.html.erb +4 -4
- data/app/views/mods_assets/_show_publication.html.erb +2 -2
- data/app/views/permissions/_edit_person_permissions.html.erb +1 -1
- data/app/views/permissions/_index.html.erb +2 -2
- data/hydra-head.gemspec +3 -4
- data/lib/generators/hydra/head_generator.rb +2 -3
- data/lib/generators/hydra/templates/config/initializers/action_dispatch_http_upload_monkey_patch.rb +12 -0
- data/lib/generators/hydra/templates/config/initializers/blacklight_config.rb +0 -7
- data/lib/generators/hydra/templates/solr_conf/conf/schema.xml +1 -7
- data/lib/generators/hydra/templates/solr_conf/conf/solrconfig.xml +55 -117
- data/lib/hydra/access_controls_enforcement.rb +5 -47
- data/lib/hydra/catalog.rb +1 -1
- data/lib/hydra/common_mods_index_methods.rb +0 -1
- data/lib/hydra/file_assets_helper.rb +0 -1
- data/lib/hydra/generic_content.rb +7 -6
- data/lib/hydra/model_methods.rb +7 -6
- data/lib/hydra/rights_metadata.rb +2 -2
- data/lib/hydra-head/version.rb +1 -1
- data/lib/mediashelf/active_fedora_helper.rb +0 -10
- data/lib/railties/hydra-fixtures.rake +14 -18
- data/lib/railties/hyhead_rspec.rake +0 -10
- data/solr_conf/conf/schema.xml +0 -2
- data/solr_conf/conf/solrconfig.xml +29 -116
- data/tasks/hydra-head.rake +6 -6
- data/test_support/features/absent_model_search_result.feature +8 -2
- data/test_support/features/step_definitions/edit_metadata_steps.rb +1 -1
- data/test_support/fixtures/small_file.txt +1 -0
- data/test_support/spec/controllers/catalog_controller_spec.rb +16 -15
- data/test_support/spec/controllers/file_assets_controller_spec.rb +7 -14
- data/test_support/spec/controllers/permissions_controller_spec.rb +12 -4
- data/test_support/spec/helpers/access_controls_enforcement_spec.rb +0 -77
- data/test_support/spec/helpers/hydra_model_methods_spec.rb +9 -4
- data/test_support/spec/integration/file_asset_spec.rb +115 -102
- data/test_support/spec/lib/active_fedora_helper_spec.rb +1 -1
- data/test_support/spec/models/audio_asset_spec.rb +3 -3
- data/test_support/spec/models/file_asset_spec.rb +6 -5
- data/test_support/spec/models/generic_content_spec.rb +1 -2
- data/test_support/spec/models/generic_image_spec.rb +1 -1
- data/test_support/spec/models/hydra_rights_metadata_spec.rb +8 -3
- data/test_support/spec/models/image_asset_spec.rb +3 -3
- data/test_support/spec/models/mods_asset_spec.rb +3 -3
- data/test_support/spec/models/video_asset_spec.rb +3 -3
- data/vendor/cache/{active-fedora-3.0.7.gem → active-fedora-3.1.0.rc1.gem} +0 -0
- data/vendor/cache/akami-1.0.0.gem +0 -0
- data/vendor/cache/factory_girl-2.2.0.gem +0 -0
- data/vendor/cache/ffi-1.0.10.gem +0 -0
- data/vendor/cache/gherkin-2.5.4.gem +0 -0
- data/vendor/cache/gyoku-0.4.4.gem +0 -0
- data/vendor/cache/httpi-0.9.5.gem +0 -0
- data/vendor/cache/jettywrapper-1.0.1.gem +0 -0
- data/vendor/cache/nori-1.0.2.gem +0 -0
- data/vendor/cache/rdf-0.3.4.1.gem +0 -0
- data/vendor/cache/rdf-rdfxml-0.3.5.gem +0 -0
- data/vendor/cache/rdoc-3.11.gem +0 -0
- data/vendor/cache/rspec-2.7.0.gem +0 -0
- data/vendor/cache/rspec-core-2.7.1.gem +0 -0
- data/vendor/cache/rspec-expectations-2.7.0.gem +0 -0
- data/vendor/cache/rspec-mocks-2.7.0.gem +0 -0
- data/vendor/cache/rspec-rails-2.7.0.gem +0 -0
- data/vendor/cache/rubydora-0.1.9.gem +0 -0
- data/vendor/cache/savon-0.9.7.gem +0 -0
- data/vendor/cache/wasabi-2.0.0.gem +0 -0
- metadata +94 -93
- data/RELEASE_NOTES.textile +0 -8
- data/vendor/cache/factory_girl-2.1.2.gem +0 -0
- data/vendor/cache/ffi-1.0.9.gem +0 -0
- data/vendor/cache/gherkin-2.5.2.gem +0 -0
- data/vendor/cache/jettywrapper-0.0.10.gem +0 -0
- data/vendor/cache/rcov-0.9.11.gem +0 -0
- data/vendor/cache/rdoc-3.10.gem +0 -0
- data/vendor/cache/rspec-2.6.0.gem +0 -0
- data/vendor/cache/rspec-core-2.6.4.gem +0 -0
- data/vendor/cache/rspec-expectations-2.6.0.gem +0 -0
- data/vendor/cache/rspec-mocks-2.6.0.gem +0 -0
- data/vendor/cache/rspec-rails-2.6.1.gem +0 -0
data/Gemfile.lock
CHANGED
@@ -3,7 +3,7 @@ PATH
|
|
3
3
|
specs:
|
4
4
|
hydra-head (3.0.0.rc2)
|
5
5
|
RedCloth (= 4.2.3)
|
6
|
-
active-fedora (~> 3.0.
|
6
|
+
active-fedora (~> 3.1.0.rc1)
|
7
7
|
blacklight (= 3.0.0)
|
8
8
|
block_helpers
|
9
9
|
builder
|
@@ -28,11 +28,10 @@ PATH
|
|
28
28
|
rack-test
|
29
29
|
rails (~> 3.0.10)
|
30
30
|
rake
|
31
|
-
rcov
|
32
31
|
sanitize
|
33
32
|
solr-ruby
|
34
33
|
solrizer (>= 1.1.0)
|
35
|
-
solrizer-fedora (>= 1.1.
|
34
|
+
solrizer-fedora (>= 1.1.3)
|
36
35
|
term-ansicolor
|
37
36
|
trollop
|
38
37
|
will_paginate
|
@@ -56,7 +55,7 @@ GEM
|
|
56
55
|
rack-mount (~> 0.6.14)
|
57
56
|
rack-test (~> 0.5.7)
|
58
57
|
tzinfo (~> 0.3.23)
|
59
|
-
active-fedora (3.0.
|
58
|
+
active-fedora (3.1.0.rc1)
|
60
59
|
activeresource (~> 3.0.0)
|
61
60
|
activesupport (~> 3.0.0)
|
62
61
|
equivalent-xml
|
@@ -66,6 +65,9 @@ GEM
|
|
66
65
|
multipart-post (= 1.1.2)
|
67
66
|
nokogiri
|
68
67
|
om (>= 1.4.3)
|
68
|
+
rdf
|
69
|
+
rdf-rdfxml
|
70
|
+
rubydora (~> 0.1.9)
|
69
71
|
solr-ruby (>= 0.0.6)
|
70
72
|
solrizer (> 1.0.0)
|
71
73
|
xml-simple (>= 1.0.12)
|
@@ -83,6 +85,8 @@ GEM
|
|
83
85
|
activesupport (= 3.0.10)
|
84
86
|
activesupport (3.0.10)
|
85
87
|
addressable (2.2.6)
|
88
|
+
akami (1.0.0)
|
89
|
+
gyoku (>= 0.4.0)
|
86
90
|
arel (2.0.10)
|
87
91
|
blacklight (3.0.0)
|
88
92
|
kaminari
|
@@ -125,18 +129,25 @@ GEM
|
|
125
129
|
erubis (2.6.6)
|
126
130
|
abstract (>= 1.0.0)
|
127
131
|
facets (2.8.4)
|
128
|
-
factory_girl (2.
|
132
|
+
factory_girl (2.2.0)
|
129
133
|
activesupport
|
130
134
|
fastercsv (1.5.4)
|
131
|
-
ffi (1.0.
|
132
|
-
gherkin (2.5.
|
135
|
+
ffi (1.0.10)
|
136
|
+
gherkin (2.5.4)
|
133
137
|
json (>= 1.4.6)
|
138
|
+
gyoku (0.4.4)
|
139
|
+
builder (>= 2.1.2)
|
134
140
|
haml (3.1.3)
|
135
141
|
httparty (0.8.1)
|
136
142
|
multi_json
|
137
143
|
multi_xml
|
144
|
+
httpi (0.9.5)
|
145
|
+
rack
|
138
146
|
i18n (0.5.0)
|
139
|
-
jettywrapper (
|
147
|
+
jettywrapper (1.0.1)
|
148
|
+
activesupport (>= 3.0.0)
|
149
|
+
childprocess
|
150
|
+
i18n
|
140
151
|
logger
|
141
152
|
mediashelf-loggable
|
142
153
|
json (1.6.1)
|
@@ -163,6 +174,7 @@ GEM
|
|
163
174
|
multi_xml (0.4.1)
|
164
175
|
multipart-post (1.1.2)
|
165
176
|
nokogiri (1.5.0)
|
177
|
+
nori (1.0.2)
|
166
178
|
om (1.4.3)
|
167
179
|
mediashelf-loggable
|
168
180
|
nokogiri (>= 1.4.2)
|
@@ -188,8 +200,12 @@ GEM
|
|
188
200
|
thor (~> 0.14.4)
|
189
201
|
rake (0.9.2)
|
190
202
|
rbx-require-relative (0.0.5)
|
191
|
-
|
192
|
-
|
203
|
+
rdf (0.3.4.1)
|
204
|
+
addressable (>= 2.2.6)
|
205
|
+
rdf-rdfxml (0.3.5)
|
206
|
+
nokogiri (>= 1.4.4)
|
207
|
+
rdf (>= 0.3.4)
|
208
|
+
rdoc (3.11)
|
193
209
|
json (~> 1.4)
|
194
210
|
rest-client (1.6.7)
|
195
211
|
mime-types (>= 1.16)
|
@@ -197,27 +213,43 @@ GEM
|
|
197
213
|
builder (>= 2.1.2)
|
198
214
|
rsolr-ext (1.0.3)
|
199
215
|
rsolr (>= 1.0.2)
|
200
|
-
rspec (2.
|
201
|
-
rspec-core (~> 2.
|
202
|
-
rspec-expectations (~> 2.
|
203
|
-
rspec-mocks (~> 2.
|
204
|
-
rspec-core (2.
|
205
|
-
rspec-expectations (2.
|
216
|
+
rspec (2.7.0)
|
217
|
+
rspec-core (~> 2.7.0)
|
218
|
+
rspec-expectations (~> 2.7.0)
|
219
|
+
rspec-mocks (~> 2.7.0)
|
220
|
+
rspec-core (2.7.1)
|
221
|
+
rspec-expectations (2.7.0)
|
206
222
|
diff-lcs (~> 1.1.2)
|
207
|
-
rspec-mocks (2.
|
208
|
-
rspec-rails (2.
|
223
|
+
rspec-mocks (2.7.0)
|
224
|
+
rspec-rails (2.7.0)
|
209
225
|
actionpack (~> 3.0)
|
210
226
|
activesupport (~> 3.0)
|
211
227
|
railties (~> 3.0)
|
212
|
-
rspec (~> 2.
|
228
|
+
rspec (~> 2.7.0)
|
213
229
|
ruby-debug (0.10.4)
|
214
230
|
columnize (>= 0.1)
|
215
231
|
ruby-debug-base (~> 0.10.4.0)
|
216
232
|
ruby-debug-base (0.10.4)
|
217
233
|
linecache (>= 0.3)
|
234
|
+
rubydora (0.1.9)
|
235
|
+
activemodel
|
236
|
+
activesupport
|
237
|
+
fastercsv
|
238
|
+
mime-types
|
239
|
+
nokogiri
|
240
|
+
rest-client
|
241
|
+
savon
|
218
242
|
rubyzip (0.9.4)
|
219
243
|
sanitize (2.0.3)
|
220
244
|
nokogiri (>= 1.4.4, < 1.6)
|
245
|
+
savon (0.9.7)
|
246
|
+
akami (~> 1.0)
|
247
|
+
builder (>= 2.1.2)
|
248
|
+
gyoku (>= 0.4.0)
|
249
|
+
httpi (~> 0.9)
|
250
|
+
nokogiri (>= 1.4.0)
|
251
|
+
nori (~> 1.0)
|
252
|
+
wasabi (~> 2.0)
|
221
253
|
selenium-webdriver (2.8.0)
|
222
254
|
childprocess (>= 0.2.1)
|
223
255
|
ffi (>= 1.0.7)
|
@@ -246,6 +278,8 @@ GEM
|
|
246
278
|
trollop (1.16.2)
|
247
279
|
tzinfo (0.3.30)
|
248
280
|
unicode (0.4.0)
|
281
|
+
wasabi (2.0.0)
|
282
|
+
nokogiri (>= 1.4.0)
|
249
283
|
will_paginate (3.0.2)
|
250
284
|
xml-simple (1.1.1)
|
251
285
|
xpath (0.1.4)
|
@@ -261,7 +295,7 @@ DEPENDENCIES
|
|
261
295
|
factory_girl
|
262
296
|
gherkin
|
263
297
|
hydra-head!
|
264
|
-
jettywrapper (
|
298
|
+
jettywrapper (>= 1.0.0)
|
265
299
|
mocha
|
266
300
|
rake
|
267
301
|
rest-client
|
data/HISTORY.textile
CHANGED
@@ -1,10 +1,3 @@
|
|
1
|
-
h3. 3.0.1
|
2
|
-
|
3
|
-
* generator has the correct solr config files
|
4
|
-
* reverted back to using object_type_facet for "Format" facet. This is instead of using active_fedora_model_s, which made some cucumber tests unstable because active_fedora_model_s is populated inconsistently by ActiveFedora (really we should deprecate that solr field)
|
5
|
-
|
6
|
-
h2. 3.0.0: Upgrade to Rails 3
|
7
|
-
|
8
1
|
h3. 0.0.1
|
9
2
|
|
10
3
|
Pulled plugin code from Hydrus
|
@@ -5,7 +5,6 @@ class AssetsController < ApplicationController
|
|
5
5
|
include Blacklight::SolrHelper
|
6
6
|
include Hydra::RepositoryController
|
7
7
|
include Hydra::AssetsControllerHelper
|
8
|
-
# include WhiteListHelper
|
9
8
|
include ReleaseProcessHelper
|
10
9
|
|
11
10
|
|
@@ -13,7 +12,7 @@ class AssetsController < ApplicationController
|
|
13
12
|
helper :hydra
|
14
13
|
|
15
14
|
before_filter :search_session, :history_session
|
16
|
-
before_filter :require_solr
|
15
|
+
before_filter :require_solr
|
17
16
|
|
18
17
|
# need to include this after the :require_solr/fedora before filters because of the before filter that the workflow provides.
|
19
18
|
include Hydra::SubmissionWorkflow
|
@@ -5,7 +5,7 @@ class ContributorsController < ApplicationController
|
|
5
5
|
include MediaShelf::ActiveFedoraHelper
|
6
6
|
include Hydra::RepositoryController
|
7
7
|
include Hydra::AssetsControllerHelper
|
8
|
-
before_filter :require_solr
|
8
|
+
before_filter :require_solr
|
9
9
|
|
10
10
|
# need to include this after the :require_solr/fedora before filters because of the before filter that the workflow provides.
|
11
11
|
include Hydra::SubmissionWorkflow
|
@@ -99,4 +99,4 @@ class ContributorsController < ApplicationController
|
|
99
99
|
af_model.find(asset_id)
|
100
100
|
end
|
101
101
|
|
102
|
-
end
|
102
|
+
end
|
@@ -4,8 +4,6 @@ class DownloadsController < ApplicationController
|
|
4
4
|
include Hydra::RepositoryController
|
5
5
|
helper :downloads
|
6
6
|
|
7
|
-
before_filter :require_fedora
|
8
|
-
|
9
7
|
# Note: Actual downloads are handled by the index method insead of the show method
|
10
8
|
# in order to avoid ActionController being clever with the filenames/extensions/formats.
|
11
9
|
# To download a datastream, pass the datastream id as ?document_id=#{dsid} in the url
|
@@ -33,4 +31,4 @@ class DownloadsController < ApplicationController
|
|
33
31
|
#
|
34
32
|
# end
|
35
33
|
|
36
|
-
end
|
34
|
+
end
|
@@ -7,8 +7,6 @@ class FileAssetsController < ApplicationController
|
|
7
7
|
include MediaShelf::ActiveFedoraHelper
|
8
8
|
include Blacklight::SolrHelper
|
9
9
|
|
10
|
-
|
11
|
-
before_filter :require_fedora
|
12
10
|
before_filter :require_solr, :only=>[:index, :create, :show, :destroy]
|
13
11
|
|
14
12
|
# need to include this after the :require_solr/fedora before filters because of the before filter that the workflow provides.
|
@@ -89,11 +87,11 @@ From file_assets/_new.html.haml
|
|
89
87
|
notice = []
|
90
88
|
@file_assets.each do |file_asset|
|
91
89
|
apply_depositor_metadata(file_asset)
|
92
|
-
|
90
|
+
|
93
91
|
notice << "The file #{file_asset.label} has been saved in <a href=\"#{asset_url(file_asset.pid)}\">#{file_asset.pid}</a>."
|
94
92
|
|
95
93
|
if !params[:container_id].nil?
|
96
|
-
associate_file_asset_with_container(file_asset,params[:container_id])
|
94
|
+
associate_file_asset_with_container(file_asset,'info:fedora/' + params[:container_id])
|
97
95
|
end
|
98
96
|
|
99
97
|
## Apply any posted file metadata
|
@@ -6,7 +6,6 @@ class GenericContentObjectsController < ApplicationController
|
|
6
6
|
include MediaShelf::ActiveFedoraHelper
|
7
7
|
include Blacklight::SolrHelper
|
8
8
|
|
9
|
-
before_filter :require_fedora
|
10
9
|
before_filter :require_solr
|
11
10
|
|
12
11
|
|
@@ -35,4 +34,4 @@ class GenericContentObjectsController < ApplicationController
|
|
35
34
|
private
|
36
35
|
|
37
36
|
|
38
|
-
end
|
37
|
+
end
|
@@ -4,8 +4,6 @@ class GetController < ApplicationController
|
|
4
4
|
include Hydra::RepositoryController
|
5
5
|
helper :downloads
|
6
6
|
|
7
|
-
before_filter :require_fedora
|
8
|
-
|
9
7
|
def show
|
10
8
|
fedora_object = ActiveFedora::Base.load_instance(params[:id])
|
11
9
|
|
@@ -36,4 +34,4 @@ class GetController < ApplicationController
|
|
36
34
|
send_data datastream.content, :filename=>datastream.label, :type=>datastream.attributes["mimeType"]
|
37
35
|
end
|
38
36
|
|
39
|
-
end
|
37
|
+
end
|
@@ -3,7 +3,7 @@ class PermissionsController < ApplicationController
|
|
3
3
|
include MediaShelf::ActiveFedoraHelper
|
4
4
|
include Hydra::AssetsControllerHelper
|
5
5
|
|
6
|
-
before_filter :require_solr
|
6
|
+
before_filter :require_solr
|
7
7
|
# need to include this after the :require_solr/fedora before filters because of the before filter that the workflow provides.
|
8
8
|
include Hydra::SubmissionWorkflow
|
9
9
|
|
@@ -60,11 +60,11 @@ Removed from permissions/_new.html.erb
|
|
60
60
|
# xml_content = Fedora::Repository.instance.fetch_custom(pid, "datastreams/#{dsid}/content")
|
61
61
|
#@document_fedora=ActiveFedora::Base.load_instance(params[:asset_id])
|
62
62
|
@document_fedora=ActiveFedora::Base.load_instance(params[:asset_id])
|
63
|
-
xml_content = @document_fedora.
|
64
|
-
ds = Hydra::RightsMetadata.
|
65
|
-
|
66
|
-
|
67
|
-
@document_fedora.
|
63
|
+
xml_content = @document_fedora.datastreams[dsid].content
|
64
|
+
ds = Hydra::RightsMetadata.new(@document_fedora.inner_object, dsid)
|
65
|
+
Hydra::RightsMetadata.from_xml(xml_content, ds)
|
66
|
+
|
67
|
+
@document_fedora.datastreams[dsid] = ds
|
68
68
|
|
69
69
|
access_actor_type = params["permission"]["actor_type"]
|
70
70
|
actor_id = params["permission"]["actor_id"]
|
@@ -73,13 +73,7 @@ Removed from permissions/_new.html.erb
|
|
73
73
|
# update the datastream's values
|
74
74
|
result = ds.permissions({access_actor_type => actor_id}, access_level)
|
75
75
|
|
76
|
-
|
77
|
-
# !! Careful when re-working this. If you init the object, replace the datastream, and call object.save, the datastream might get indexed twice!
|
78
|
-
# FUTURE: ActiveFedora::Base will support this soon:
|
79
|
-
# ActiveFedora::Base.replace_datastream("changeme:25","rightsMetadata", ds).
|
80
|
-
# base_object.replace_datastream("rightsMetadata", ds)
|
81
|
-
ds.pid = pid
|
82
|
-
ds.dsid = dsid
|
76
|
+
ds.serialize!
|
83
77
|
ds.save
|
84
78
|
|
85
79
|
# Re-index the object
|
@@ -114,25 +108,17 @@ Removed from permissions/_new.html.erb
|
|
114
108
|
end
|
115
109
|
|
116
110
|
dsid = "rightsMetadata"
|
117
|
-
# xml_content = Fedora::Repository.instance.fetch_custom(pid, "datastreams/#{dsid}/content")
|
118
|
-
#@document_fedora=ActiveFedora::Base.load_instance(params[:asset_id])
|
119
111
|
@document_fedora=ActiveFedora::Base.load_instance(pid)
|
120
|
-
xml_content = @document_fedora.
|
121
|
-
ds = Hydra::RightsMetadata.
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
112
|
+
xml_content = @document_fedora.datastreams[dsid].content
|
113
|
+
ds = Hydra::RightsMetadata.new(@document_fedora.inner_object, dsid)
|
114
|
+
Hydra::RightsMetadata.from_xml(xml_content, ds)
|
115
|
+
@document_fedora.datastreams[dsid] = ds
|
116
|
+
|
117
|
+
|
126
118
|
# update the datastream's values
|
127
119
|
result = ds.update_permissions(params[:permission])
|
128
120
|
|
129
|
-
|
130
|
-
# !! Careful when re-working this. If you init the object, replace the datastream, and call object.save, the datastream might get indexed twice!
|
131
|
-
# FUTURE: ActiveFedora::Base will support this soon:
|
132
|
-
# ActiveFedora::Base.replace_datastream("changeme:25","rightsMetadata", ds).
|
133
|
-
# base_object.replace_datastream("rightsMetadata", ds)
|
134
|
-
ds.pid = pid
|
135
|
-
ds.dsid = dsid
|
121
|
+
ds.serialize!
|
136
122
|
ds.save
|
137
123
|
|
138
124
|
# Re-index the object
|
data/app/models/file_asset.rb
CHANGED
@@ -33,10 +33,14 @@ class FileAsset < ActiveFedora::Base
|
|
33
33
|
|
34
34
|
has_metadata :name => "descMetadata", :type => ActiveFedora::QualifiedDublinCoreDatastream do |m|
|
35
35
|
end
|
36
|
+
|
37
|
+
def label
|
38
|
+
descMetadata.title_values.first
|
39
|
+
end
|
36
40
|
|
37
41
|
def label=(label)
|
38
42
|
super
|
39
|
-
|
43
|
+
descMetadata.title_values = label
|
40
44
|
end
|
41
45
|
|
42
46
|
# augments add_file_datastream to also put file size (in bytes/KB/MB/GB/TB) in dc:extent
|
@@ -49,7 +53,7 @@ class FileAsset < ActiveFedora::Base
|
|
49
53
|
else
|
50
54
|
size = ""
|
51
55
|
end
|
52
|
-
|
56
|
+
datastreams["descMetadata"].extent_values = size
|
53
57
|
end
|
54
58
|
|
55
59
|
# Mimic the relationship accessor that would be created if a containers relationship existed
|
@@ -22,7 +22,7 @@
|
|
22
22
|
<dt>state:</dt>
|
23
23
|
<dd><%= @fedora_object.state %></dd>
|
24
24
|
<dt>owner id:</dt>
|
25
|
-
<dd><%= @fedora_object.
|
25
|
+
<dd><%= @fedora_object.inner_object.ownerId %></dd>
|
26
26
|
</dl>
|
27
27
|
<dl>
|
28
28
|
<dt>created:</dt>
|
@@ -40,10 +40,10 @@
|
|
40
40
|
<div id='<%=dsid%>'>
|
41
41
|
<h1><%=dsid%></h1>
|
42
42
|
<dl>
|
43
|
-
<%= ("<dt>label:</dt><dd>" + @datastreams[dsid].
|
44
|
-
<%= ("<dt>last modified:</dt><dd>" + @datastreams[dsid].
|
45
|
-
<%= ("<dt>mimetype:</dt><dd>" + @datastreams[dsid].
|
46
|
-
<%= ("<dt>control group:</dt><dd>" + @datastreams[dsid].
|
43
|
+
<%= ("<dt>label:</dt><dd>" + @datastreams[dsid].dsLabel + "</dd>").html_safe unless @datastreams[dsid].dsLabel.blank? %>
|
44
|
+
<%= ("<dt>last modified:</dt><dd>" + @datastreams[dsid].lastModifiedDate + "</dd>").html_safe unless @datastreams[dsid].lastModifiedDate.blank? %>
|
45
|
+
<%= ("<dt>mimetype:</dt><dd>" + @datastreams[dsid].mimeType + "</dd>").html_safe unless @datastreams[dsid].mimeType.blank? %>
|
46
|
+
<%= ("<dt>control group:</dt><dd>" + @datastreams[dsid].controlGroup + "</dd>").html_safe unless @datastreams[dsid].controlGroup.blank? %>
|
47
47
|
</dl>
|
48
48
|
</div>
|
49
49
|
</div></li>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<%- person_collection = @document_fedora.
|
1
|
+
<%- person_collection = @document_fedora.datastreams["descMetadata"].find_by_terms(:person).to_a -%>
|
2
2
|
<%- person_collection << [] if params[:add_contributor] -%>
|
3
3
|
|
4
4
|
<%= render :partial=>"contributors/edit_person", :collection=>person_collection, :locals=>{:af_model => "mods_asset"} %>
|
@@ -1,9 +1,9 @@
|
|
1
1
|
<div id="contributor_fields">
|
2
2
|
<h3>Contributors</h3>
|
3
3
|
<ol>
|
4
|
-
<%= render :partial=>"contributors/show_person", :collection=>@document_fedora.
|
5
|
-
<%= render :partial=>"contributors/show_organization", :collection=>@document_fedora.
|
6
|
-
<%= render :partial=>"contributors/show_conference", :collection=>@document_fedora.
|
4
|
+
<%= render :partial=>"contributors/show_person", :collection=>@document_fedora.datastreams["descMetadata"].find_by_terms(:person) %>
|
5
|
+
<%= render :partial=>"contributors/show_organization", :collection=>@document_fedora.datastreams["descMetadata"].find_by_terms(:organization) %>
|
6
|
+
<%= render :partial=>"contributors/show_conference", :collection=>@document_fedora.datastreams["descMetadata"].find_by_terms(:conference) %>
|
7
7
|
</ol>
|
8
8
|
</div>
|
9
9
|
|
@@ -4,10 +4,10 @@
|
|
4
4
|
<%= fedora_field_label("descMetadata", [:title_info,:main_title], "Title<span class=\"required-note\">Required</span>".html_safe) %>
|
5
5
|
<%= fedora_text_field(@document_fedora,"descMetadata", [:title_info, :main_title], :multiple=>false, :required=>true) %>
|
6
6
|
</p>
|
7
|
-
<%= render :partial=>"mods_assets/edit_journal", :collection=>@document_fedora.
|
7
|
+
<%= render :partial=>"mods_assets/edit_journal", :collection=>@document_fedora.datastreams["descMetadata"].find_by_terms(:journal) %>
|
8
8
|
<%= hidden_field_tag(:wf_step, params[:wf_step], :id => "publisher_wf_step") %>
|
9
9
|
<%= hidden_field_tag(:new_asset, true, :id => "publisher_new_asset") if params[:new_asset] %>
|
10
10
|
<%= hidden_field_tag(:content_type,"mods_asset", :id => "publisher_content_type") %>
|
11
11
|
<%= submit_tag(submit_name, :name=>"continue", :class=>"save-submit") %>
|
12
12
|
<%= submit_tag("Save and Finish", :name=>"finish", :class=>"save-submit") unless params[:new_asset] %>
|
13
|
-
<%- end -%>
|
13
|
+
<%- end -%>
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<div id="contributors_list">
|
2
2
|
<ol>
|
3
|
-
<%= render :partial=>"contributors/show_person", :collection=>@document_fedora.
|
4
|
-
<%= render :partial=>"contributors/show_organization", :collection=>@document_fedora.
|
5
|
-
<%= render :partial=>"contributors/show_conference", :collection=>@document_fedora.
|
3
|
+
<%= render :partial=>"contributors/show_person", :collection=>@document_fedora.datastreams["descMetadata"].find_by_terms(:person) %>
|
4
|
+
<%= render :partial=>"contributors/show_organization", :collection=>@document_fedora.datastreams["descMetadata"].find_by_terms(:organization) %>
|
5
|
+
<%= render :partial=>"contributors/show_conference", :collection=>@document_fedora.datastreams["descMetadata"].find_by_terms(:conference) %>
|
6
6
|
</ol>
|
7
|
-
</div>
|
7
|
+
</div>
|
@@ -1,9 +1,9 @@
|
|
1
1
|
<%# copied div below to show_contributor partial %>
|
2
2
|
<div id="contributors_list">
|
3
3
|
<ol>
|
4
|
-
<%= render :partial=>"contributors/show_person", :collection=>@document_fedora.
|
5
|
-
<%= render :partial=>"contributors/show_organization", :collection=>@document_fedora.
|
6
|
-
<%= render :partial=>"contributors/show_conference", :collection=>@document_fedora.
|
4
|
+
<%= render :partial=>"contributors/show_person", :collection=>@document_fedora.datastreams["descMetadata"].find_by_terms(:person) %>
|
5
|
+
<%= render :partial=>"contributors/show_organization", :collection=>@document_fedora.datastreams["descMetadata"].find_by_terms(:organization) %>
|
6
|
+
<%= render :partial=>"contributors/show_conference", :collection=>@document_fedora.datastreams["descMetadata"].find_by_terms(:conference) %>
|
7
7
|
</ol>
|
8
8
|
</div>
|
9
9
|
|
@@ -11,7 +11,7 @@
|
|
11
11
|
<% unless get_values_from_datastream(@document_fedora,"descMetadata", [{:journal => 0}, :title_info, :main_title]).first.empty? %>
|
12
12
|
<fieldset><legend>Published</legend>
|
13
13
|
<div id="journal" class="browse_value">
|
14
|
-
<%= render :partial=>"mods_assets/show_journal", :collection=>@document_fedora.
|
14
|
+
<%= render :partial=>"mods_assets/show_journal", :collection=>@document_fedora.datastreams["descMetadata"].find_by_terms(:journal) %>
|
15
15
|
</div>
|
16
16
|
</fieldset>
|
17
17
|
<% end %>
|
@@ -2,7 +2,7 @@
|
|
2
2
|
<fieldset>
|
3
3
|
<legend>Published</legend>
|
4
4
|
<div id="journal" class="browse_value">
|
5
|
-
<%= render :partial=>"mods_assets/show_journal", :collection=>@document_fedora.
|
5
|
+
<%= render :partial=>"mods_assets/show_journal", :collection=>@document_fedora.datastreams["descMetadata"].find_by_terms(:journal) %>
|
6
6
|
</div>
|
7
7
|
</fieldset>
|
8
|
-
<% end %>
|
8
|
+
<% end %>
|
@@ -12,7 +12,7 @@
|
|
12
12
|
<% if person_id != current_user.login %>
|
13
13
|
<% field_name = "#{person_id}_access" %>
|
14
14
|
<% choices = [{"No Access" => "none"},{"Discover" => "discover"}, {"Read & Download" => "read"}, {"Edit & Upload" => "edit"}] %>
|
15
|
-
<% current_permissions = @document_fedora.
|
15
|
+
<% current_permissions = @document_fedora.datastreams["rightsMetadata"].permissions({"person"=>person_id}) %>
|
16
16
|
|
17
17
|
<p class="permission-submit">
|
18
18
|
<label for="<%= field_name %>"><%= person_id %></label>
|
@@ -11,7 +11,7 @@
|
|
11
11
|
<%# This next line should be conditional upon a person having Publish permissions on the object's collection %>
|
12
12
|
<% roles << "public" %>
|
13
13
|
<% roles.each do |role| %>
|
14
|
-
<% role_permissions = @document_fedora.
|
14
|
+
<% role_permissions = @document_fedora.datastreams["rightsMetadata"].permissions({"group"=>role}) %>
|
15
15
|
<% field_name = "#{role}_group_access" %>
|
16
16
|
<p id="<%=h "#{field_name}-container" %>" class="permissions">
|
17
17
|
<label for="<%=h field_name %>"><%= role.capitalize %></label>
|
@@ -42,5 +42,5 @@
|
|
42
42
|
<% choice_name = choice.values.first %>
|
43
43
|
<% individual_permissions[choice_name] = get_values_from_datastream(@document_fedora,"rightsMetadata", ["#{choice_name}_access".to_sym, :person]) %>
|
44
44
|
<% end %>
|
45
|
-
<%= render :partial=>"permissions/edit_person_permissions.html", :collection=>@document_fedora.
|
45
|
+
<%= render :partial=>"permissions/edit_person_permissions.html", :collection=>@document_fedora.datastreams["rightsMetadata"].find_by_terms(:access, :person) %>
|
46
46
|
</fieldset>
|
data/hydra-head.gemspec
CHANGED
@@ -14,7 +14,7 @@ Gem::Specification.new do |s|
|
|
14
14
|
|
15
15
|
s.add_dependency "rails", '~> 3.0.10'
|
16
16
|
s.add_dependency "blacklight", '3.0.0'
|
17
|
-
s.add_dependency "active-fedora", '~>3.0.
|
17
|
+
s.add_dependency "active-fedora", '~>3.1.0.rc1'
|
18
18
|
s.add_dependency 'builder'
|
19
19
|
s.add_dependency 'columnize'
|
20
20
|
s.add_dependency 'crack'
|
@@ -35,12 +35,11 @@ Gem::Specification.new do |s|
|
|
35
35
|
s.add_dependency 'rack'
|
36
36
|
s.add_dependency 'rack-test'
|
37
37
|
s.add_dependency 'rake'
|
38
|
-
s.add_dependency 'rcov'
|
39
38
|
s.add_dependency 'RedCloth', '=4.2.3'
|
40
39
|
s.add_dependency 'solr-ruby'
|
41
40
|
s.add_dependency 'mediashelf-loggable', '>=0.4.7' ##This can be removed once this dependency is declared in solrizer
|
42
41
|
s.add_dependency 'solrizer', '>=1.1.0'
|
43
|
-
s.add_dependency 'solrizer-fedora', '>=1.1.
|
42
|
+
s.add_dependency 'solrizer-fedora', '>=1.1.3'
|
44
43
|
s.add_dependency 'term-ansicolor'
|
45
44
|
s.add_dependency 'trollop'
|
46
45
|
s.add_dependency 'will_paginate'
|
@@ -49,7 +48,7 @@ Gem::Specification.new do |s|
|
|
49
48
|
s.add_dependency 'sanitize'
|
50
49
|
|
51
50
|
s.add_development_dependency 'yard'
|
52
|
-
s.add_development_dependency 'jettywrapper', "
|
51
|
+
s.add_development_dependency 'jettywrapper', ">=1.0.0"
|
53
52
|
s.add_development_dependency 'ruby-debug'
|
54
53
|
s.add_development_dependency 'ruby-debug-base'
|
55
54
|
s.add_development_dependency 'rspec', '>= 2.0.0'
|
@@ -31,6 +31,7 @@ class HeadGenerator < Rails::Generators::Base
|
|
31
31
|
copy_file "config/initializers/fedora_config.rb", "config/initializers/fedora_config.rb"
|
32
32
|
copy_file "config/initializers/hydra_config.rb", "config/initializers/hydra_config.rb"
|
33
33
|
copy_file "config/initializers/blacklight_config.rb", "config/initializers/blacklight_config.rb"
|
34
|
+
copy_file "config/initializers/action_dispatch_http_upload_monkey_patch.rb", "config/initializers/action_dispatch_http_upload_monkey_patch.rb"
|
34
35
|
|
35
36
|
# Role Mappings
|
36
37
|
copy_file "config/role_map_cucumber.yml", "config/role_map_cucumber.yml"
|
@@ -118,9 +119,7 @@ EOF
|
|
118
119
|
"\n before_filter :enforce_access_controls" +
|
119
120
|
"\n before_filter :enforce_viewing_context_for_show_requests, :only=>:show" +
|
120
121
|
"\n # This applies appropriate access controls to all solr queries" +
|
121
|
-
"\n CatalogController.solr_search_params_logic << :add_access_controls_to_solr_params"
|
122
|
-
"\n # This filters out objects that you want to exclude from search results, like FileAssets" +
|
123
|
-
"\n CatalogController.solr_search_params_logic << :exclude_unwanted_models"
|
122
|
+
"\n CatalogController.solr_search_params_logic << :add_access_controls_to_solr_params"
|
124
123
|
end
|
125
124
|
else
|
126
125
|
puts " \e[31mFailure\e[0m Could not find #{model_name.underscore}.rb. To add Hydra behaviors to your Blacklight::Catalog Controllers, you must include the Hydra::Controller module in the Controller class definition. See the Hydra::Controller section in the Hydra API Docs for more info."
|
@@ -42,13 +42,6 @@ Blacklight.configure(:shared) do |config|
|
|
42
42
|
# TODO: Reorganize facet data structures supplied in config to make simpler
|
43
43
|
# for human reading/writing, kind of like search_fields. Eg,
|
44
44
|
# config[:facet] << {:field_name => "format", :label => "Format", :limit => 10}
|
45
|
-
#
|
46
|
-
# Hydra uses active_fedora_model_s by default for displaying Format because that field is automatically
|
47
|
-
# populated by active-fedora from your RELS-EXT. You can change this to anything you want to use though.
|
48
|
-
# for example, the sample Hydra::ModsAsset Datastream Class adds object_type_facet = "Article" in its to_solr method.\
|
49
|
-
# You could use that as the format field instead of active_fedora_model_s to have a more nicer value displayed.
|
50
|
-
#
|
51
|
-
#
|
52
45
|
config[:facet] = {
|
53
46
|
:field_names => (facet_fields = [
|
54
47
|
"object_type_facet",
|
@@ -1,8 +1,4 @@
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8" ?>
|
2
|
-
<!--
|
3
|
-
IMPORTANT
|
4
|
-
This copy of the solr schema is only used in the context of testing hydra-head. If you want to make changes available to individual hydra heads, you must apply them to the template in lib/generators/hydra/templates/solr_config
|
5
|
-
-->
|
6
2
|
<schema name="Hydra" version="1.1">
|
7
3
|
<!-- For complete comments from the Solr project example schema.xml:
|
8
4
|
http://svn.apache.org/viewvc/lucene/dev/trunk/solr/example/solr/conf/schema.xml?view=markup
|
@@ -95,7 +91,7 @@ This copy of the solr schema is only used in the context of testing hydra-head.
|
|
95
91
|
<field name="format" type="string" indexed="true" stored="true"/>
|
96
92
|
<!-- pub_date is assumed by Blacklight's default configuration, so we must define it here to avoid errors -->
|
97
93
|
<field name="pub_date" type="string" indexed="true" stored="true" multiValued="true"/>
|
98
|
-
|
94
|
+
|
99
95
|
<dynamicField name="*_i" type="sint" indexed="true" stored="true"/>
|
100
96
|
<dynamicField name="*_s" type="string" indexed="true" stored="true" multiValued="true"/>
|
101
97
|
<dynamicField name="*_l" type="slong" indexed="true" stored="true"/>
|
@@ -118,7 +114,5 @@ This copy of the solr schema is only used in the context of testing hydra-head.
|
|
118
114
|
<defaultSearchField>text</defaultSearchField>
|
119
115
|
<solrQueryParser defaultOperator="AND" />
|
120
116
|
<copyField source="*_facet" dest="text" />
|
121
|
-
<copyField source="*_t" dest="text" />
|
122
|
-
<copyField source="*_s" dest="text" />
|
123
117
|
|
124
118
|
</schema>
|