hydra-head 3.2.2 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Gemfile.lock +32 -32
- data/HISTORY.textile +8 -0
- data/config/fedora.yml +3 -12
- data/hydra-head.gemspec +1 -1
- data/lib/generators/hydra/templates/config/fedora.yml +3 -12
- data/lib/hydra-head/version.rb +1 -1
- data/lib/hydra.rb +3 -0
- data/lib/hydra/assets.rb +2 -2
- data/lib/hydra/assets_controller_helper.rb +0 -34
- data/lib/hydra/catalog.rb +14 -43
- data/lib/hydra/common_mods_index_methods.rb +1 -1
- data/lib/hydra/controller.rb +44 -29
- data/lib/hydra/file_assets.rb +1 -0
- data/lib/hydra/ui.rb +6 -0
- data/lib/hydra/ui/controller.rb +47 -0
- data/lib/hydra/workflow.rb +5 -0
- data/lib/hydra/workflow/controller.rb +3 -0
- data/lib/railties/hyhead_rspec.rake +0 -51
- data/test_support/spec/controllers/catalog_controller_spec.rb +0 -29
- data/test_support/spec/controllers/hydra_controller_spec.rb +23 -7
- data/test_support/spec/controllers/hydra_ui_controller_spec.rb +21 -0
- data/test_support/spec/helpers/assets_controller_helper_spec.rb +1 -17
- data/test_support/spec/lib/common_mods_index_methods_spec.rb +3 -5
- data/vendor/cache/active-fedora-3.3.0.gem +0 -0
- data/vendor/cache/childprocess-0.3.0.gem +0 -0
- data/vendor/cache/equivalent-xml-0.2.9.gem +0 -0
- data/vendor/cache/factory_girl-2.5.0.gem +0 -0
- data/vendor/cache/gherkin-2.7.6.gem +0 -0
- data/vendor/cache/jettywrapper-1.2.1.gem +0 -0
- data/vendor/cache/mocha-0.10.3.gem +0 -0
- data/vendor/cache/om-1.5.1.gem +0 -0
- data/vendor/cache/rack-1.2.5.gem +0 -0
- data/vendor/cache/rspec-2.8.0.gem +0 -0
- data/vendor/cache/rspec-core-2.8.0.gem +0 -0
- data/vendor/cache/rspec-expectations-2.8.0.gem +0 -0
- data/vendor/cache/rspec-mocks-2.8.0.gem +0 -0
- data/vendor/cache/rspec-rails-2.8.1.gem +0 -0
- data/vendor/cache/rubydora-0.5.1.gem +0 -0
- data/vendor/cache/selenium-webdriver-2.18.0.gem +0 -0
- data/vendor/cache/solrizer-1.2.0.gem +0 -0
- data/vendor/cache/solrizer-fedora-1.2.3.gem +0 -0
- metadata +31 -26
- data/vendor/cache/active-fedora-3.2.2.gem +0 -0
- data/vendor/cache/childprocess-0.2.3.gem +0 -0
- data/vendor/cache/equivalent-xml-0.2.8.gem +0 -0
- data/vendor/cache/factory_girl-2.3.2.gem +0 -0
- data/vendor/cache/gherkin-2.7.4.gem +0 -0
- data/vendor/cache/jettywrapper-1.2.0.gem +0 -0
- data/vendor/cache/mocha-0.10.0.gem +0 -0
- data/vendor/cache/om-1.4.4.gem +0 -0
- data/vendor/cache/rack-1.2.4.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.4.1.gem +0 -0
- data/vendor/cache/selenium-webdriver-2.15.0.gem +0 -0
- data/vendor/cache/solrizer-1.1.2.gem +0 -0
- data/vendor/cache/solrizer-fedora-1.2.2.gem +0 -0
data/Gemfile.lock
CHANGED
|
@@ -3,7 +3,7 @@ PATH
|
|
|
3
3
|
specs:
|
|
4
4
|
hydra-head (3.2.2)
|
|
5
5
|
RedCloth (= 4.2.3)
|
|
6
|
-
active-fedora (>= 3.
|
|
6
|
+
active-fedora (>= 3.3.0)
|
|
7
7
|
blacklight (~> 3.1.2)
|
|
8
8
|
block_helpers
|
|
9
9
|
builder (= 2.1.2)
|
|
@@ -57,7 +57,7 @@ GEM
|
|
|
57
57
|
rack-mount (~> 0.6.14)
|
|
58
58
|
rack-test (~> 0.5.7)
|
|
59
59
|
tzinfo (~> 0.3.23)
|
|
60
|
-
active-fedora (3.
|
|
60
|
+
active-fedora (3.3.0)
|
|
61
61
|
activeresource (>= 3.0.0)
|
|
62
62
|
activesupport (>= 3.0.0)
|
|
63
63
|
equivalent-xml
|
|
@@ -66,12 +66,12 @@ GEM
|
|
|
66
66
|
mime-types (>= 1.16)
|
|
67
67
|
multipart-post (= 1.1.2)
|
|
68
68
|
nokogiri
|
|
69
|
-
om (>= 1.
|
|
69
|
+
om (>= 1.5.1)
|
|
70
70
|
rdf
|
|
71
71
|
rdf-rdfxml
|
|
72
|
-
rubydora (~> 0.
|
|
72
|
+
rubydora (~> 0.5.1)
|
|
73
73
|
solr-ruby (>= 0.0.6)
|
|
74
|
-
solrizer (
|
|
74
|
+
solrizer (~> 1.2.0)
|
|
75
75
|
xml-simple (>= 1.0.12)
|
|
76
76
|
activemodel (3.0.11)
|
|
77
77
|
activesupport (= 3.0.11)
|
|
@@ -109,7 +109,7 @@ GEM
|
|
|
109
109
|
rack-test (>= 0.5.4)
|
|
110
110
|
selenium-webdriver (~> 2.0)
|
|
111
111
|
xpath (~> 0.1.4)
|
|
112
|
-
childprocess (0.
|
|
112
|
+
childprocess (0.3.0)
|
|
113
113
|
ffi (~> 1.0.6)
|
|
114
114
|
columnize (0.3.6)
|
|
115
115
|
crack (0.3.1)
|
|
@@ -131,16 +131,16 @@ GEM
|
|
|
131
131
|
orm_adapter (~> 0.0.3)
|
|
132
132
|
warden (~> 1.1)
|
|
133
133
|
diff-lcs (1.1.3)
|
|
134
|
-
equivalent-xml (0.2.
|
|
134
|
+
equivalent-xml (0.2.9)
|
|
135
135
|
nokogiri (>= 1.4.3)
|
|
136
136
|
erubis (2.6.6)
|
|
137
137
|
abstract (>= 1.0.0)
|
|
138
138
|
facets (2.8.4)
|
|
139
|
-
factory_girl (2.
|
|
139
|
+
factory_girl (2.5.0)
|
|
140
140
|
activesupport
|
|
141
141
|
fastercsv (1.5.4)
|
|
142
142
|
ffi (1.0.11)
|
|
143
|
-
gherkin (2.7.
|
|
143
|
+
gherkin (2.7.6)
|
|
144
144
|
json (>= 1.4.6)
|
|
145
145
|
gyoku (0.4.4)
|
|
146
146
|
builder (>= 2.1.2)
|
|
@@ -151,7 +151,7 @@ GEM
|
|
|
151
151
|
httpi (0.9.5)
|
|
152
152
|
rack
|
|
153
153
|
i18n (0.5.0)
|
|
154
|
-
jettywrapper (1.2.
|
|
154
|
+
jettywrapper (1.2.1)
|
|
155
155
|
activesupport (>= 3.0.0)
|
|
156
156
|
childprocess
|
|
157
157
|
i18n
|
|
@@ -177,19 +177,19 @@ GEM
|
|
|
177
177
|
mediashelf-loggable (0.4.7)
|
|
178
178
|
metaclass (0.0.1)
|
|
179
179
|
mime-types (1.17.2)
|
|
180
|
-
mocha (0.10.
|
|
180
|
+
mocha (0.10.3)
|
|
181
181
|
metaclass (~> 0.0.1)
|
|
182
182
|
multi_json (1.0.4)
|
|
183
183
|
multi_xml (0.4.1)
|
|
184
184
|
multipart-post (1.1.2)
|
|
185
185
|
nokogiri (1.5.0)
|
|
186
186
|
nori (1.0.2)
|
|
187
|
-
om (1.
|
|
187
|
+
om (1.5.1)
|
|
188
188
|
mediashelf-loggable
|
|
189
189
|
nokogiri (>= 1.4.2)
|
|
190
190
|
orm_adapter (0.0.6)
|
|
191
191
|
polyglot (0.3.3)
|
|
192
|
-
rack (1.2.
|
|
192
|
+
rack (1.2.5)
|
|
193
193
|
rack-mount (0.6.14)
|
|
194
194
|
rack (>= 1.0.0)
|
|
195
195
|
rack-test (0.5.7)
|
|
@@ -223,25 +223,25 @@ GEM
|
|
|
223
223
|
builder (>= 2.1.2)
|
|
224
224
|
rsolr-ext (1.0.3)
|
|
225
225
|
rsolr (>= 1.0.2)
|
|
226
|
-
rspec (2.
|
|
227
|
-
rspec-core (~> 2.
|
|
228
|
-
rspec-expectations (~> 2.
|
|
229
|
-
rspec-mocks (~> 2.
|
|
230
|
-
rspec-core (2.
|
|
231
|
-
rspec-expectations (2.
|
|
226
|
+
rspec (2.8.0)
|
|
227
|
+
rspec-core (~> 2.8.0)
|
|
228
|
+
rspec-expectations (~> 2.8.0)
|
|
229
|
+
rspec-mocks (~> 2.8.0)
|
|
230
|
+
rspec-core (2.8.0)
|
|
231
|
+
rspec-expectations (2.8.0)
|
|
232
232
|
diff-lcs (~> 1.1.2)
|
|
233
|
-
rspec-mocks (2.
|
|
234
|
-
rspec-rails (2.
|
|
235
|
-
actionpack (
|
|
236
|
-
activesupport (
|
|
237
|
-
railties (
|
|
238
|
-
rspec (~> 2.
|
|
233
|
+
rspec-mocks (2.8.0)
|
|
234
|
+
rspec-rails (2.8.1)
|
|
235
|
+
actionpack (>= 3.0)
|
|
236
|
+
activesupport (>= 3.0)
|
|
237
|
+
railties (>= 3.0)
|
|
238
|
+
rspec (~> 2.8.0)
|
|
239
239
|
ruby-debug (0.10.4)
|
|
240
240
|
columnize (>= 0.1)
|
|
241
241
|
ruby-debug-base (~> 0.10.4.0)
|
|
242
242
|
ruby-debug-base (0.10.4)
|
|
243
243
|
linecache (>= 0.3)
|
|
244
|
-
rubydora (0.
|
|
244
|
+
rubydora (0.5.1)
|
|
245
245
|
activemodel
|
|
246
246
|
activesupport
|
|
247
247
|
fastercsv
|
|
@@ -260,20 +260,20 @@ GEM
|
|
|
260
260
|
nokogiri (>= 1.4.0)
|
|
261
261
|
nori (~> 1.0)
|
|
262
262
|
wasabi (~> 2.0)
|
|
263
|
-
selenium-webdriver (2.
|
|
264
|
-
childprocess (>= 0.2.
|
|
263
|
+
selenium-webdriver (2.18.0)
|
|
264
|
+
childprocess (>= 0.2.5)
|
|
265
265
|
ffi (~> 1.0.9)
|
|
266
266
|
multi_json (~> 1.0.4)
|
|
267
267
|
rubyzip
|
|
268
268
|
solr-ruby (0.0.8)
|
|
269
|
-
solrizer (1.
|
|
269
|
+
solrizer (1.2.0)
|
|
270
270
|
daemons
|
|
271
|
-
mediashelf-loggable
|
|
271
|
+
mediashelf-loggable (~> 0.4.7)
|
|
272
272
|
nokogiri
|
|
273
|
-
om (>= 1.
|
|
273
|
+
om (>= 1.5.0)
|
|
274
274
|
stomp
|
|
275
275
|
xml-simple
|
|
276
|
-
solrizer-fedora (1.2.
|
|
276
|
+
solrizer-fedora (1.2.3)
|
|
277
277
|
active-fedora (>= 3.1.0)
|
|
278
278
|
activesupport
|
|
279
279
|
fastercsv
|
data/HISTORY.textile
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
h3. 3.3.0
|
|
2
|
+
* HYDRA-737: fixes to work with Ruby Enterprise Edition 2011.12 and ruby-1.8.7-p357.
|
|
3
|
+
* Update ActiveFedora to 3.3.0
|
|
4
|
+
* Separating Hydra::Controller from Hydra::UI::Controller
|
|
5
|
+
|
|
6
|
+
h3. 3.2.3
|
|
7
|
+
* HYDRA-736: hydra-head should not define a rake task called 'spec'
|
|
8
|
+
|
|
1
9
|
h3. 3.2.2
|
|
2
10
|
* Update to ActiveFedora 3.2.2 to fix severe error
|
|
3
11
|
* HYDRA-661: deprecated tasks and made them call AF repo tasks
|
data/config/fedora.yml
CHANGED
|
@@ -1,17 +1,8 @@
|
|
|
1
1
|
development:
|
|
2
|
-
fedora
|
|
3
|
-
url: http://fedoraAdmin:fedoraAdmin@127.0.0.1:8983/fedora
|
|
4
|
-
solr:
|
|
5
|
-
url: http://localhost:8983/solr/development
|
|
2
|
+
url: http://fedoraAdmin:fedoraAdmin@127.0.0.1:8983/fedora
|
|
6
3
|
test: &TEST
|
|
7
|
-
fedora
|
|
8
|
-
url: http://fedoraAdmin:fedoraAdmin@127.0.0.1:8983/fedora
|
|
9
|
-
solr:
|
|
10
|
-
url: http://localhost:8983/solr/test
|
|
4
|
+
url: http://fedoraAdmin:fedoraAdmin@127.0.0.1:8983/fedora
|
|
11
5
|
production:
|
|
12
|
-
fedora
|
|
13
|
-
url: http://fedoraAdmin:fedoraAdmin@your.production.server:8080/fedora
|
|
14
|
-
solr:
|
|
15
|
-
url: http://your.production.server:8080/solr
|
|
6
|
+
url: http://fedoraAdmin:fedoraAdmin@your.production.server:8080/fedora
|
|
16
7
|
cucumber:
|
|
17
8
|
<<: *TEST
|
data/hydra-head.gemspec
CHANGED
|
@@ -16,7 +16,7 @@ Gem::Specification.new do |s|
|
|
|
16
16
|
s.add_dependency "blacklight", '~>3.1.2'
|
|
17
17
|
s.add_dependency "devise"
|
|
18
18
|
s.add_dependency 'sqlite3-ruby', '~>1.2.5' #Locked here because centos 5.2 (Hudson) won't support a modern version
|
|
19
|
-
s.add_dependency "active-fedora", '>=3.
|
|
19
|
+
s.add_dependency "active-fedora", '>=3.3.0'
|
|
20
20
|
s.add_dependency 'builder', '2.1.2'
|
|
21
21
|
s.add_dependency 'columnize'
|
|
22
22
|
s.add_dependency 'crack'
|
|
@@ -1,17 +1,8 @@
|
|
|
1
1
|
development:
|
|
2
|
-
fedora
|
|
3
|
-
url: http://fedoraAdmin:fedoraAdmin@127.0.0.1:8983/fedora
|
|
4
|
-
solr:
|
|
5
|
-
url: http://localhost:8983/solr/development
|
|
2
|
+
url: http://fedoraAdmin:fedoraAdmin@127.0.0.1:8983/fedora
|
|
6
3
|
test: &TEST
|
|
7
|
-
fedora
|
|
8
|
-
url: http://fedoraAdmin:fedoraAdmin@127.0.0.1:8983/fedora
|
|
9
|
-
solr:
|
|
10
|
-
url: http://localhost:8983/solr/test
|
|
4
|
+
url: http://fedoraAdmin:fedoraAdmin@127.0.0.1:8983/fedora
|
|
11
5
|
production:
|
|
12
|
-
fedora
|
|
13
|
-
url: http://fedoraAdmin:fedoraAdmin@your.production.server:8080/fedora
|
|
14
|
-
solr:
|
|
15
|
-
url: http://your.production.server:8080/solr
|
|
6
|
+
url: http://fedoraAdmin:fedoraAdmin@your.production.server:8080/fedora
|
|
16
7
|
cucumber:
|
|
17
8
|
<<: *TEST
|
data/lib/hydra-head/version.rb
CHANGED
data/lib/hydra.rb
CHANGED
|
@@ -19,6 +19,8 @@ module Hydra
|
|
|
19
19
|
autoload :SubmissionWorkflow
|
|
20
20
|
autoload :SuperuserAttributes
|
|
21
21
|
autoload :User
|
|
22
|
+
autoload :UI
|
|
23
|
+
autoload :Workflow
|
|
22
24
|
end
|
|
23
25
|
|
|
24
26
|
|
|
@@ -34,3 +36,4 @@ require 'hydra/mods_article'
|
|
|
34
36
|
require 'hydra/model_methods'
|
|
35
37
|
require 'hydra/models/file_asset'
|
|
36
38
|
|
|
39
|
+
|
data/lib/hydra/assets.rb
CHANGED
|
@@ -9,12 +9,12 @@ module Hydra::Assets
|
|
|
9
9
|
|
|
10
10
|
included do
|
|
11
11
|
helper :hydra
|
|
12
|
-
|
|
12
|
+
include Hydra::UI::Controller
|
|
13
13
|
before_filter :search_session, :history_session
|
|
14
14
|
before_filter :require_solr
|
|
15
15
|
before_filter :load_document, :only => :update # allows other filters to operate on the document before the update method is called
|
|
16
16
|
|
|
17
|
-
# need to include this after the :require_solr
|
|
17
|
+
# need to include this after the :require_solr before filters because of the before filter that the workflow provides.
|
|
18
18
|
include Hydra::SubmissionWorkflow
|
|
19
19
|
|
|
20
20
|
|
|
@@ -19,40 +19,6 @@ module Hydra::AssetsControllerHelper
|
|
|
19
19
|
end
|
|
20
20
|
end
|
|
21
21
|
|
|
22
|
-
#
|
|
23
|
-
# parses your params hash, massaging them into an appropriate set of params and opts to pass into ActiveFedora::Base.update_indexed_attributes
|
|
24
|
-
#
|
|
25
|
-
def prep_updater_method_args
|
|
26
|
-
logger.warn "DEPRECATED: Hydra::AssetsControllerHelper.prep_updater_method_args is deprecated. Use/override sanitize_update_params instead."
|
|
27
|
-
args = {:params=>{}, :opts=>{}}
|
|
28
|
-
|
|
29
|
-
params["asset"].each_pair do |datastream_name,fields|
|
|
30
|
-
|
|
31
|
-
args[:opts][:datastreams] = datastream_name
|
|
32
|
-
|
|
33
|
-
# TEMPORARY HACK: special case for supporting textile
|
|
34
|
-
if params["field_id"]=="abstract_0"
|
|
35
|
-
params[:field_selectors] = {"descMetadata" => {"abstract" => [:abstract]}}
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
if params.fetch("field_selectors",false) && params["field_selectors"].fetch(datastream_name, false)
|
|
39
|
-
# If there is an entry in field_selectors for the datastream (implying a nokogiri datastream), retrieve the field_selector for this field.
|
|
40
|
-
# if no field selector, exists, use the field name
|
|
41
|
-
fields.each_pair do |field_name,field_values|
|
|
42
|
-
parent_select = OM.destringify( params["field_selectors"][datastream_name].fetch(field_name, field_name) )
|
|
43
|
-
args[:params][parent_select] = field_values
|
|
44
|
-
end
|
|
45
|
-
else
|
|
46
|
-
args[:params] = unescape_keys(params[:asset][datastream_name])
|
|
47
|
-
end
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
@sanitized_params = args
|
|
51
|
-
return args
|
|
52
|
-
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
|
|
56
22
|
# Builds a Hash that you can feed into ActiveFedora::Base.update_datstream_attributes
|
|
57
23
|
# If params[:asset] is empty, returns an empty Hash
|
|
58
24
|
# @return [Hash] a Hash that you can feed into ActiveFedora::Base.update_datstream_attributes
|
data/lib/hydra/catalog.rb
CHANGED
|
@@ -1,37 +1,26 @@
|
|
|
1
|
-
#
|
|
2
|
-
#
|
|
1
|
+
# *Using this Module is not necessary if you're writing Controllers in Rails3.*
|
|
2
|
+
# In a Rails3 app, simply define regular Rails Controllers to expose the Resources & Actions you need and use Hydra::Controller to add Hydra support.
|
|
3
|
+
# For search & discovery in those apps, use Blacklight and customize the "index" partials for each type of content to include links to the show/edit actions of the corresponding Controllers.
|
|
3
4
|
#
|
|
4
|
-
#
|
|
5
|
-
#
|
|
5
|
+
# This Module extends Blacklight Catalog behaviors to give you a "Hydra" Catalog with edit and show behaviors on top of the Blacklight search behaviors.
|
|
6
|
+
# Include this module into any of your Blacklight Catalog classes (ie. CatalogController) to add Hydra functionality.
|
|
6
7
|
#
|
|
7
|
-
# This module will only work if you also include Blacklight::Catalog in the Controller you're extending.
|
|
8
|
-
# The hydra head rails generator will create the CatalogController for you in app/controllers/catalog_controller.rb
|
|
9
|
-
# @example
|
|
10
|
-
# require 'blacklight/catalog'
|
|
11
|
-
# require 'hydra/catalog'
|
|
12
|
-
# class CustomCatalogController < ApplicationController
|
|
13
|
-
# include Blacklight::Catalog
|
|
14
|
-
# include Hydra::Catalog
|
|
15
|
-
# end
|
|
16
8
|
module Hydra::Catalog
|
|
9
|
+
extend ActiveSupport::Concern
|
|
17
10
|
|
|
18
|
-
|
|
11
|
+
|
|
12
|
+
included do
|
|
19
13
|
# Other modules to auto-include
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
klass.send(:include, Hydra::RepositoryController)
|
|
23
|
-
|
|
14
|
+
include Hydra::Controller
|
|
15
|
+
include Hydra::UI::Controller
|
|
24
16
|
|
|
25
17
|
# Controller filters
|
|
26
18
|
# Also see the generator (or generated CatalogController) to see more before_filters in action
|
|
27
|
-
|
|
28
|
-
klass.before_filter :load_fedora_document, :only=>[:show,:edit]
|
|
19
|
+
before_filter :load_fedora_document, :only=>[:show,:edit]
|
|
29
20
|
|
|
30
21
|
# View Helpers
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
klass.helper :hydra_uploader
|
|
34
|
-
klass.helper :article_metadata
|
|
22
|
+
helper :hydra_uploader
|
|
23
|
+
helper :article_metadata
|
|
35
24
|
end
|
|
36
25
|
|
|
37
26
|
def edit
|
|
@@ -44,23 +33,5 @@ module Hydra::Catalog
|
|
|
44
33
|
show
|
|
45
34
|
render "show"
|
|
46
35
|
end
|
|
47
|
-
|
|
48
|
-
def load_fedora_document
|
|
49
|
-
af_base = ActiveFedora::Base.load_instance(params[:id])
|
|
50
|
-
the_model = ActiveFedora::ContentModel.known_models_for( af_base ).first
|
|
51
|
-
unless the_model.include?(ActiveFedora::Relationships)
|
|
52
|
-
the_model.send :include, ActiveFedora::Relationships
|
|
53
|
-
end
|
|
54
|
-
unless the_model.include?(ActiveFedora::FileManagement)
|
|
55
|
-
the_model.send :include, ActiveFedora::FileManagement
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
@document_fedora = af_base.adapt_to(the_model)
|
|
59
|
-
@file_assets = @document_fedora.file_objects(:response_format=>:solr)
|
|
60
|
-
end
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
def check_scripts
|
|
64
|
-
session[:scripts] ||= (params[:combined] and params[:combined] == "true")
|
|
65
|
-
end
|
|
36
|
+
|
|
66
37
|
end
|
|
@@ -20,7 +20,7 @@ module Hydra::CommonModsIndexMethods
|
|
|
20
20
|
hash[child.get_attribute(:type)] = child.text if ["family","given"].include? child.get_attribute(:type)
|
|
21
21
|
hash
|
|
22
22
|
end
|
|
23
|
-
::Solrizer::Extractor.insert_solr_field_value(names, "person_full_name_facet", [name_parts["family"], name_parts["given"]].join(", ") ) if name_parts.keys == ["family","given"]
|
|
23
|
+
::Solrizer::Extractor.insert_solr_field_value(names, "person_full_name_facet", [name_parts["family"], name_parts["given"]].join(", ") ) if name_parts.keys.sort == ["family","given"]
|
|
24
24
|
names
|
|
25
25
|
end
|
|
26
26
|
return names
|
data/lib/hydra/controller.rb
CHANGED
|
@@ -1,37 +1,52 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Include this module into any of your Controller classes to add Hydra functionality
|
|
2
|
+
#
|
|
3
|
+
# The primary function of this module is to mix in a number of other Hydra Modules, including
|
|
4
|
+
# Hydra::AccessControlsEnforcement
|
|
5
|
+
#
|
|
6
|
+
# @example
|
|
7
|
+
# class CustomHydraController < ApplicationController
|
|
8
|
+
# include Hydra::Controller
|
|
9
|
+
# end
|
|
10
|
+
#
|
|
2
11
|
module Hydra::Controller
|
|
3
|
-
def self.included(base)
|
|
4
|
-
base.helper :hydra_assets
|
|
5
|
-
base.helper :hydra_fedora_metadata
|
|
6
|
-
base.helper :generic_content_objects
|
|
7
|
-
base.before_filter :store_bounce
|
|
8
|
-
base.before_filter :set_x_ua_compat
|
|
9
|
-
base.before_filter :load_css
|
|
10
|
-
base.before_filter :load_js
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
protected
|
|
14
|
-
def store_bounce
|
|
15
|
-
session[:bounce]=params[:bounce]
|
|
16
|
-
end
|
|
17
12
|
|
|
18
|
-
def
|
|
19
|
-
#
|
|
20
|
-
|
|
21
|
-
|
|
13
|
+
def self.included(klass)
|
|
14
|
+
# Other modules to auto-include
|
|
15
|
+
klass.send(:include, Hydra::AccessControlsEnforcement)
|
|
16
|
+
klass.send(:include, MediaShelf::ActiveFedoraHelper)
|
|
17
|
+
klass.send(:include, Hydra::RepositoryController)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
# Controller filters
|
|
21
|
+
# Also see the generator (or generated CatalogController) to see more before_filters in action
|
|
22
|
+
klass.before_filter :require_solr
|
|
23
|
+
# klass.before_filter :load_fedora_document, :only=>[:show,:edit]
|
|
22
24
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
+
# View Helpers
|
|
26
|
+
klass.helper :hydra
|
|
27
|
+
klass.helper :hydra_assets
|
|
25
28
|
end
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
29
|
+
|
|
30
|
+
# Use params[:id] to load an object from Fedora. Inspects the object for known models and mixes in any of those models' behaviors.
|
|
31
|
+
# Sets @document_fedora with the loaded object
|
|
32
|
+
# Sets @file_assets with file objects that are children of the loaded object
|
|
33
|
+
def load_fedora_document
|
|
34
|
+
af_base = ActiveFedora::Base.load_instance(params[:id])
|
|
35
|
+
the_model = ActiveFedora::ContentModel.known_models_for( af_base ).first
|
|
36
|
+
unless the_model.include?(ActiveFedora::Relationships)
|
|
37
|
+
the_model.send :include, ActiveFedora::Relationships
|
|
38
|
+
end
|
|
39
|
+
unless the_model.include?(ActiveFedora::FileManagement)
|
|
40
|
+
the_model.send :include, ActiveFedora::FileManagement
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
@document_fedora = af_base.adapt_to(the_model)
|
|
44
|
+
@file_assets = @document_fedora.file_objects(:response_format=>:solr)
|
|
33
45
|
end
|
|
34
|
-
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
# get the currently configured user identifier. Can be overridden to return whatever (ie. login, email, etc)
|
|
49
|
+
# defaults to using whatever you have set as the Devise authentication_key
|
|
35
50
|
def user_key
|
|
36
51
|
current_user.send(Devise.authentication_keys.first)
|
|
37
52
|
end
|
data/lib/hydra/file_assets.rb
CHANGED
|
@@ -8,6 +8,7 @@ module Hydra::FileAssets
|
|
|
8
8
|
include Hydra::FileAssetsHelper
|
|
9
9
|
include Hydra::RepositoryController
|
|
10
10
|
include MediaShelf::ActiveFedoraHelper
|
|
11
|
+
include Hydra::UI::Controller
|
|
11
12
|
include Blacklight::SolrHelper
|
|
12
13
|
before_filter :require_solr, :only=>[:index, :create, :show, :destroy]
|
|
13
14
|
# need to include this after the :require_solr/fedora before filters because of the before filter that the workflow provides.
|
data/lib/hydra/ui.rb
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Basic view helpers & before_filters to support the default Hydra UI
|
|
2
|
+
# This mixin is *not required* in order for a Hydra Controller to function. It is required if you want to use the default UI and javascript.
|
|
3
|
+
module Hydra::UI::Controller
|
|
4
|
+
|
|
5
|
+
def self.included(base)
|
|
6
|
+
base.helper :hydra_fedora_metadata
|
|
7
|
+
base.helper :generic_content_objects
|
|
8
|
+
base.helper :hydra_uploader
|
|
9
|
+
base.helper :article_metadata
|
|
10
|
+
base.before_filter :store_bounce
|
|
11
|
+
base.before_filter :set_x_ua_compat
|
|
12
|
+
base.before_filter :load_css
|
|
13
|
+
base.before_filter :load_js
|
|
14
|
+
base.before_filter :check_scripts
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
protected
|
|
18
|
+
def store_bounce
|
|
19
|
+
session[:bounce]=params[:bounce]
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def check_scripts
|
|
23
|
+
session[:scripts] ||= (params[:combined] and params[:combined] == "true")
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
#
|
|
27
|
+
# These are all setting view stuff in the style of Rails2 Blacklight.
|
|
28
|
+
# Current versions of Blacklight have pushed this stuff back out of the controllers and into views.
|
|
29
|
+
#
|
|
30
|
+
def set_x_ua_compat
|
|
31
|
+
# Always force latest IE rendering engine & Chrome Frame through header information.
|
|
32
|
+
response.headers["X-UA-Compatible"] = "IE=edge,chrome=1"
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def load_css
|
|
36
|
+
stylesheet_links << ["hydra/html_refactor", {:media=>"all"}]
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def load_js
|
|
40
|
+
# This JS file implementes Blacklight's JavaScript framework and simply assigns all of the Blacklight provided JS functionality to empty functions.
|
|
41
|
+
# We can use this file in the future, however we will want to implement a jQuery plugin architecture as we actually add in JS functionality.
|
|
42
|
+
javascript_includes << ["hydra/hydra-head"]
|
|
43
|
+
javascript_includes << ['jquery.form.js']
|
|
44
|
+
javascript_includes << ['spin.min.js' ]
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
end
|
|
@@ -14,7 +14,6 @@ begin
|
|
|
14
14
|
|
|
15
15
|
spec_prereq = Rails.configuration.generators.options[:rails][:orm] == :active_record ? "db:test:prepare" : :noop
|
|
16
16
|
task :noop do; end
|
|
17
|
-
#task :default => :spec
|
|
18
17
|
|
|
19
18
|
hyhead_spec = File.expand_path("./test_support/spec", HydraHead.root)
|
|
20
19
|
|
|
@@ -62,56 +61,6 @@ begin
|
|
|
62
61
|
t.rspec_opts = "--colour"
|
|
63
62
|
end
|
|
64
63
|
|
|
65
|
-
# Blacklight. Solr wrapper. for now just for blacklight:spec, plan to
|
|
66
|
-
# provide it for all variants eventually.
|
|
67
|
-
# if you would like to see solr startup messages on STDERR
|
|
68
|
-
# when starting solr test server during functional tests use:
|
|
69
|
-
#
|
|
70
|
-
# rake SOLR_CONSOLE=true
|
|
71
|
-
require File.expand_path('../jetty_solr_server.rb', __FILE__)
|
|
72
|
-
desc "hyhead:solr with jetty/solr launch"
|
|
73
|
-
task :with_solr do
|
|
74
|
-
# wrap tests with a test-specific Solr server
|
|
75
|
-
# Need to look up where the test jetty is located
|
|
76
|
-
# from solr.yml, we don't hardcode it anymore.
|
|
77
|
-
|
|
78
|
-
solr_yml_path = locate_path("config", "solr.yml")
|
|
79
|
-
jetty_path = if ( File.exists?( solr_yml_path ))
|
|
80
|
-
solr_config = YAML::load(File.open(solr_yml_path))
|
|
81
|
-
solr_config["test"]["jetty_path"] if solr_config["test"]
|
|
82
|
-
end
|
|
83
|
-
raise Exception.new("Can't find jetty path to start test jetty. Expect a jetty_path key in config/solr.yml for test environment.") unless jetty_path
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
# wrap tests with a test-specific Solr server
|
|
87
|
-
JettySolrServer.new(
|
|
88
|
-
:jetty_home => File.expand_path(jetty_path, Rails.root),
|
|
89
|
-
:sleep_after_start => 2).wrap do
|
|
90
|
-
Rake::Task["hyhead:spec"].invoke
|
|
91
|
-
end
|
|
92
|
-
end
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
# Don't understand what this does or how to make it use our remote stats_directory.
|
|
96
|
-
# task :statsetup do
|
|
97
|
-
# require 'rails/code_statistics'
|
|
98
|
-
# ::STATS_DIRECTORIES << %w(Model\ specs spec/models) if File.exist?('spec/models')
|
|
99
|
-
# ::STATS_DIRECTORIES << %w(View\ specs spec/views) if File.exist?('spec/views')
|
|
100
|
-
# ::STATS_DIRECTORIES << %w(Controller\ specs spec/controllers) if File.exist?('spec/controllers')
|
|
101
|
-
# ::STATS_DIRECTORIES << %w(Helper\ specs spec/helpers) if File.exist?('spec/helpers')
|
|
102
|
-
# ::STATS_DIRECTORIES << %w(Library\ specs spec/lib) if File.exist?('spec/lib')
|
|
103
|
-
# ::STATS_DIRECTORIES << %w(Mailer\ specs spec/mailers) if File.exist?('spec/mailers')
|
|
104
|
-
# ::STATS_DIRECTORIES << %w(Routing\ specs spec/routing) if File.exist?('spec/routing')
|
|
105
|
-
# ::STATS_DIRECTORIES << %w(Request\ specs spec/requests) if File.exist?('spec/requests')
|
|
106
|
-
# ::CodeStatistics::TEST_TYPES << "Model specs" if File.exist?('spec/models')
|
|
107
|
-
# ::CodeStatistics::TEST_TYPES << "View specs" if File.exist?('spec/views')
|
|
108
|
-
# ::CodeStatistics::TEST_TYPES << "Controller specs" if File.exist?('spec/controllers')
|
|
109
|
-
# ::CodeStatistics::TEST_TYPES << "Helper specs" if File.exist?('spec/helpers')
|
|
110
|
-
# ::CodeStatistics::TEST_TYPES << "Library specs" if File.exist?('spec/lib')
|
|
111
|
-
# ::CodeStatistics::TEST_TYPES << "Mailer specs" if File.exist?('spec/mailers')
|
|
112
|
-
# ::CodeStatistics::TEST_TYPES << "Routing specs" if File.exist?('spec/routing')
|
|
113
|
-
# ::CodeStatistics::TEST_TYPES << "Request specs" if File.exist?('spec/requests')
|
|
114
|
-
# end
|
|
115
64
|
end
|
|
116
65
|
end
|
|
117
66
|
rescue LoadError
|
|
@@ -82,35 +82,6 @@ describe CatalogController do
|
|
|
82
82
|
end
|
|
83
83
|
end
|
|
84
84
|
end
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
describe "load_fedora_document" do
|
|
88
|
-
|
|
89
|
-
it "should load @document_fedora and @file_assets" do
|
|
90
|
-
# controller.stubs(:params).returns({:id=>"foo:id"})
|
|
91
|
-
# stub_base_object = stub("Base Object")
|
|
92
|
-
# ActiveFedora::ContentModel.expects(:known_models_for).with( stub_base_object ).returns( [ModsAsset] )
|
|
93
|
-
# stub_mods_asset = stub("MODS Asset")
|
|
94
|
-
# stub_mods_asset.expects(:file_objects).with(:response_format=>:solr).returns("file assets response")
|
|
95
|
-
|
|
96
|
-
# Note: Had to stub Fedora::Repository.instance.find_model rather than stubbing ActiveFedora::Base.load_instance and ModsAsset.load_instance because
|
|
97
|
-
# Mocha was not unstubbing the ModsAsset class
|
|
98
|
-
#
|
|
99
|
-
# ActiveFedora::Base.stubs(:load_instance).with("foo:id").returns( stub_base_object )
|
|
100
|
-
# ModsAsset.stubs(:load_instance).with("foo:id").returns( stub_mods_asset )
|
|
101
|
-
# Fedora::Repository.instance.expects(:find_model).with("foo:id", ActiveFedora::Base).returns( stub_base_object )
|
|
102
|
-
# Fedora::Repository.instance.expects(:find_model).with("foo:id", ModsAsset).returns( stub_mods_asset )
|
|
103
|
-
|
|
104
|
-
controller.params[:id]='hydrangea:fixture_mods_article1'
|
|
105
|
-
controller.load_fedora_document
|
|
106
|
-
|
|
107
|
-
assigns[:document_fedora].class.should == ModsAsset
|
|
108
|
-
assigns[:document_fedora].pid.should == 'hydrangea:fixture_mods_article1'
|
|
109
|
-
assigns[:file_assets].class.should == Solr::Response::Standard
|
|
110
|
-
assigns[:file_assets].hits.size.should == 1
|
|
111
|
-
assigns[:file_assets].hits.first["id"].should == "hydrangea:fixture_uploaded_svg1"
|
|
112
|
-
end
|
|
113
|
-
end
|
|
114
85
|
|
|
115
86
|
describe "edit" do
|
|
116
87
|
|
|
@@ -1,17 +1,33 @@
|
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
|
2
2
|
|
|
3
|
+
class HydraControllerTest < ApplicationController
|
|
4
|
+
include Hydra::Controller
|
|
5
|
+
end
|
|
3
6
|
|
|
4
|
-
describe
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
7
|
+
describe HydraControllerTest do
|
|
8
|
+
|
|
9
|
+
after :all do
|
|
10
|
+
Object.send(:remove_const, :HydraControllerTest)
|
|
8
11
|
end
|
|
9
12
|
|
|
10
13
|
it "should add the necessary helpers to classes that include it" do
|
|
14
|
+
HydraControllerTest.expects(:helper).with(:hydra)
|
|
11
15
|
HydraControllerTest.expects(:helper).with(:hydra_assets)
|
|
12
|
-
HydraControllerTest.expects(:helper).with(:hydra_fedora_metadata)
|
|
13
|
-
HydraControllerTest.expects(:helper).with(:generic_content_objects)
|
|
14
16
|
HydraControllerTest.stubs(:before_filter)
|
|
15
17
|
HydraControllerTest.send(:include, Hydra::Controller)
|
|
16
18
|
end
|
|
17
|
-
|
|
19
|
+
|
|
20
|
+
describe "load_fedora_document" do
|
|
21
|
+
|
|
22
|
+
it "should load @document_fedora and @file_assets" do
|
|
23
|
+
controller.params[:id] = 'hydrangea:fixture_mods_article1'
|
|
24
|
+
controller.load_fedora_document
|
|
25
|
+
|
|
26
|
+
assigns[:document_fedora].class.should == ModsAsset
|
|
27
|
+
assigns[:document_fedora].pid.should == 'hydrangea:fixture_mods_article1'
|
|
28
|
+
assigns[:file_assets].class.should == Solr::Response::Standard
|
|
29
|
+
assigns[:file_assets].hits.size.should == 1
|
|
30
|
+
assigns[:file_assets].hits.first["id"].should == "hydrangea:fixture_uploaded_svg1"
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
describe Hydra::Controller do
|
|
5
|
+
before(:all) do
|
|
6
|
+
class HydraUiControllerTest
|
|
7
|
+
end
|
|
8
|
+
end
|
|
9
|
+
after :all do
|
|
10
|
+
Object.send(:remove_const, :HydraUiControllerTest)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
it "should add the necessary helpers to classes that include it" do
|
|
14
|
+
HydraUiControllerTest.expects(:helper).with(:hydra_fedora_metadata)
|
|
15
|
+
HydraUiControllerTest.expects(:helper).with(:generic_content_objects)
|
|
16
|
+
HydraUiControllerTest.expects(:helper).with(:hydra_uploader)
|
|
17
|
+
HydraUiControllerTest.expects(:helper).with(:article_metadata)
|
|
18
|
+
HydraUiControllerTest.stubs(:before_filter)
|
|
19
|
+
HydraUiControllerTest.send(:include, Hydra::UI::Controller)
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -1,22 +1,6 @@
|
|
|
1
1
|
require File.expand_path( File.join( File.dirname(__FILE__),'..','spec_helper') )
|
|
2
2
|
|
|
3
3
|
describe Hydra::AssetsControllerHelper do
|
|
4
|
-
|
|
5
|
-
describe "prep_updater_method_args" do
|
|
6
|
-
it "should parse the input params" do
|
|
7
|
-
sample_params = {"content_type"=>"mods_asset",
|
|
8
|
-
"action"=>"update",
|
|
9
|
-
"_method"=>"put",
|
|
10
|
-
"field_selectors"=>{"descMetadata"=>{"person_0_computing_id"=>[{"person"=>"0"}, "computing_id"], "journal_0_issue_start_page"=>[{"journal"=>"0"}, "issue", "start_page"], "person_1_description"=>[{"person"=>"1"}, "description"], "person_1_institution"=>[{"person"=>"1"}, "institution"], "journal_0_origin_info_publisher"=>[{"journal"=>"0"}, "origin_info", "publisher"], "abstract"=>["abstract"], "person_0_last_name"=>[{"person"=>"0"}, "last_name"], "person_0_description"=>[{"person"=>"0"}, "description"], "journal_0_issue_volume"=>[{"journal"=>"0"}, "issue", "volume"], "title_info_main_title"=>["title_info", "main_title"], "location_url"=>["location", "url"], "note"=>["note"], "person_1_last_name"=>[{"person"=>"1"}, "last_name"], "subject_topic"=>["subject", "topic"], "person_0_institution"=>[{"person"=>"0"}, "institution"], "person_1_first_name"=>[{"person"=>"1"}, "first_name"], "person_1"=>[{"person"=>"1"}], "journal_0_title_info_main_title"=>[{"journal"=>"0"}, "title_info", "main_title"], "journal_0_issue_level"=>[{"journal"=>"0"}, "issue", "level"], "journal_0_issue_end_page"=>[{"journal"=>"0"}, "issue", "end_page"], "peer_reviewed"=>["peer_reviewed"], "person_0_first_name"=>[{"person"=>"0"}, "first_name"], "person_1_computing_id"=>[{"person"=>"1"}, "computing_id"], "journal_0_issn"=>[{"journal"=>"0"}, "issn"], "journal_0_issue_publication_date"=>[{"journal"=>"0"}, "issue", "publication_date"]}, "rightsMetadata"=>{"embargo_embargo_release_date"=>["embargo", "embargo_release_date"]}, "properties"=>{"release_to"=>["release_to"]}},
|
|
11
|
-
"id"=>"hydrangea:fixture_mods_article3",
|
|
12
|
-
"controller"=>"assets",
|
|
13
|
-
"asset"=>{"descMetadata"=>{"person_0_computing_id"=>{"0"=>""}, "journal_0_issue_start_page"=>{"0"=>"195"}, "person_1_description"=>{"0"=>""}, "person_1_institution"=>{"0"=>"Baltimore"}, "journal_0_origin_info_publisher"=>{"0"=>"PUBLISHER"}, "abstract"=>{"0"=>"ABSTRACT"}, "person_0_last_name"=>{"0"=>"Smith"}, "person_0_description"=>{"0"=>""}, "journal_0_issue_volume"=>{"0"=>"2 "}, "title_info_main_title"=>{"0"=>"Test Article"}, "location_url"=>{"0"=>"http://example.com/foo"}, "note"=>{"0"=>""}, "person_1_last_name"=>{"0"=>"Lacks"}, "subject_topic"=>{"0"=>"TOPIC 1", "1"=>"TOPIC 2", "2"=>"CONTROLLED TERM"}, "person_0_institution"=>{"0"=>"FACULTY, UNIVERSITY"}, "person_1_first_name"=>{"0"=>"Henrietta"}, "journal_0_title_info_main_title"=>{"0"=>"The Journal of Mock Object"}, "journal_0_issue_level"=>{"0"=>""}, "journal_0_issue_end_page"=>{"0"=>"230"}, "person_0_first_name"=>{"0"=>"John"}, "person_1_computing_id"=>{"0"=>""}, "journal_0_issn"=>{"0"=>"1234-5678"}, "journal_0_issue_publication_date"=>{"0"=>"FEB. 2007"}}, "rightsMetadata"=>{"embargo_embargo_release_date"=>{"0"=>""}}, "properties"=>{"released"=>{"0"=>"true"}, "release_to"=>{"0"=>"public"}}}}
|
|
14
|
-
helper.stubs(:params).returns(sample_params)
|
|
15
|
-
helper.prep_updater_method_args[:params].should == {[{:journal=>0}, :issn]=>{"0"=>"1234-5678"}, [{:person=>0}, :description]=>{"0"=>""}, [:abstract]=>{"0"=>"ABSTRACT"}, [{:person=>0}, :last_name]=>{"0"=>"Smith"}, [{:journal=>0}, :issue, :level]=>{"0"=>""}, [:release_to]=>{"0"=>"public"}, [{:person=>1}, :computing_id]=>{"0"=>""}, [{:journal=>0}, :title_info, :main_title]=>{"0"=>"The Journal of Mock Object"}, [:subject, :topic]=>{"0"=>"TOPIC 1", "1"=>"TOPIC 2", "2"=>"CONTROLLED TERM"}, [{:person=>1}, :first_name]=>{"0"=>"Henrietta"}, [{:journal=>0}, :issue, :volume]=>{"0"=>"2 "}, [{:person=>1}, :institution]=>{"0"=>"Baltimore"}, [{:journal=>0}, :origin_info, :publisher]=>{"0"=>"PUBLISHER"}, [{:person=>0}, :computing_id]=>{"0"=>""}, [{:person=>0}, :first_name]=>{"0"=>"John"}, [:title_info, :main_title]=>{"0"=>"Test Article"}, [{:person=>0}, :institution]=>{"0"=>"FACULTY, UNIVERSITY"}, [{:journal=>0}, :issue, :end_page]=>{"0"=>"230"}, [:location, :url]=>{"0"=>"http://example.com/foo"}, [{:person=>1}, :description]=>{"0"=>""}, [{:person=>1}, :last_name]=>{"0"=>"Lacks"}, :released=>{"0"=>"true"}, [:embargo, :embargo_release_date]=>{"0"=>""}, [{:journal=>0}, :issue, :publication_date]=>{"0"=>"FEB. 2007"}, [:note]=>{"0"=>""}, [{:journal=>0}, :issue, :start_page]=>{"0"=>"195"}}
|
|
16
|
-
helper.prep_updater_method_args[:opts].should == {:datastreams=>"properties"}
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
|
|
20
4
|
describe "sanitize_update_params" do
|
|
21
5
|
it "should create a hash appropriate for passing into ActiveFedora::Base.update_datastream_attributes" do
|
|
22
6
|
sample_params = {
|
|
@@ -76,4 +60,4 @@ describe Hydra::AssetsControllerHelper do
|
|
|
76
60
|
end
|
|
77
61
|
end
|
|
78
62
|
|
|
79
|
-
end
|
|
63
|
+
end
|
|
@@ -5,12 +5,10 @@ require File.expand_path( File.join( File.dirname(__FILE__),'..','spec_helper')
|
|
|
5
5
|
describe Hydra::CommonModsIndexMethods do
|
|
6
6
|
describe "extract_person_full_names" do
|
|
7
7
|
it "should return an array of Solr::Field objects for :person_full_name_facet" do
|
|
8
|
-
|
|
8
|
+
ma = ModsAsset.find("hydrangea:fixture_mods_article1")
|
|
9
|
+
full_names = ma.datastreams["descMetadata"].extract_person_full_names
|
|
9
10
|
full_names.should be_kind_of Hash
|
|
10
|
-
full_names["person_full_name_facet"].should
|
|
11
|
-
full_names["person_full_name_facet"].length.should == 2
|
|
12
|
-
full_names["person_full_name_facet"].first.should == "FAMILY NAME, GIVEN NAMES"
|
|
13
|
-
full_names["person_full_name_facet"].last.should == "Lacks, Henrietta"
|
|
11
|
+
full_names["person_full_name_facet"].should == ["FAMILY NAME, GIVEN NAMES", "Lacks, Henrietta"]
|
|
14
12
|
end
|
|
15
13
|
end
|
|
16
14
|
describe "extract_person_organizations" do
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
metadata
CHANGED
|
@@ -5,9 +5,9 @@ version: !ruby/object:Gem::Version
|
|
|
5
5
|
prerelease:
|
|
6
6
|
segments:
|
|
7
7
|
- 3
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
version: 3.
|
|
8
|
+
- 3
|
|
9
|
+
- 0
|
|
10
|
+
version: 3.3.0
|
|
11
11
|
platform: ruby
|
|
12
12
|
authors:
|
|
13
13
|
- Matt Zumwalt, Bess Sadler, Julie Meloni, Naomi Dushay, Jessie Keck, John Scofield, Justin Coyne & many more. See https://github.com/projecthydra/hydra-head/contributors
|
|
@@ -15,7 +15,7 @@ autorequire:
|
|
|
15
15
|
bindir: bin
|
|
16
16
|
cert_chain: []
|
|
17
17
|
|
|
18
|
-
date: 2012-01-
|
|
18
|
+
date: 2012-01-31 00:00:00 Z
|
|
19
19
|
dependencies:
|
|
20
20
|
- !ruby/object:Gem::Dependency
|
|
21
21
|
name: rails
|
|
@@ -90,9 +90,9 @@ dependencies:
|
|
|
90
90
|
hash: 11
|
|
91
91
|
segments:
|
|
92
92
|
- 3
|
|
93
|
-
-
|
|
94
|
-
-
|
|
95
|
-
version: 3.
|
|
93
|
+
- 3
|
|
94
|
+
- 0
|
|
95
|
+
version: 3.3.0
|
|
96
96
|
type: :runtime
|
|
97
97
|
version_requirements: *id005
|
|
98
98
|
- !ruby/object:Gem::Dependency
|
|
@@ -1025,7 +1025,11 @@ files:
|
|
|
1025
1025
|
- lib/hydra/rights_metadata.rb
|
|
1026
1026
|
- lib/hydra/submission_workflow.rb
|
|
1027
1027
|
- lib/hydra/superuser_attributes.rb
|
|
1028
|
+
- lib/hydra/ui.rb
|
|
1029
|
+
- lib/hydra/ui/controller.rb
|
|
1028
1030
|
- lib/hydra/user.rb
|
|
1031
|
+
- lib/hydra/workflow.rb
|
|
1032
|
+
- lib/hydra/workflow/controller.rb
|
|
1029
1033
|
- lib/marc_mapper.rb
|
|
1030
1034
|
- lib/marc_record_ext.rb
|
|
1031
1035
|
- lib/mediashelf/active_fedora_helper.rb
|
|
@@ -1125,6 +1129,7 @@ files:
|
|
|
1125
1129
|
- test_support/spec/controllers/contributors_controller_spec.rb
|
|
1126
1130
|
- test_support/spec/controllers/file_assets_controller_spec.rb
|
|
1127
1131
|
- test_support/spec/controllers/hydra_controller_spec.rb
|
|
1132
|
+
- test_support/spec/controllers/hydra_ui_controller_spec.rb
|
|
1128
1133
|
- test_support/spec/controllers/permissions_controller_spec.rb
|
|
1129
1134
|
- test_support/spec/controllers/user_sessions_controller_spec.rb
|
|
1130
1135
|
- test_support/spec/helpers/access_controls_enforcement_spec.rb
|
|
@@ -1167,7 +1172,7 @@ files:
|
|
|
1167
1172
|
- vendor/cache/abstract-1.0.0.gem
|
|
1168
1173
|
- vendor/cache/actionmailer-3.0.11.gem
|
|
1169
1174
|
- vendor/cache/actionpack-3.0.11.gem
|
|
1170
|
-
- vendor/cache/active-fedora-3.
|
|
1175
|
+
- vendor/cache/active-fedora-3.3.0.gem
|
|
1171
1176
|
- vendor/cache/activemodel-3.0.11.gem
|
|
1172
1177
|
- vendor/cache/activerecord-3.0.11.gem
|
|
1173
1178
|
- vendor/cache/activeresource-3.0.11.gem
|
|
@@ -1180,7 +1185,7 @@ files:
|
|
|
1180
1185
|
- vendor/cache/block_helpers-0.3.3.gem
|
|
1181
1186
|
- vendor/cache/builder-2.1.2.gem
|
|
1182
1187
|
- vendor/cache/capybara-1.1.2.gem
|
|
1183
|
-
- vendor/cache/childprocess-0.
|
|
1188
|
+
- vendor/cache/childprocess-0.3.0.gem
|
|
1184
1189
|
- vendor/cache/columnize-0.3.6.gem
|
|
1185
1190
|
- vendor/cache/crack-0.3.1.gem
|
|
1186
1191
|
- vendor/cache/cucumber-1.1.4.gem
|
|
@@ -1190,19 +1195,19 @@ files:
|
|
|
1190
1195
|
- vendor/cache/database_cleaner-0.7.1.gem
|
|
1191
1196
|
- vendor/cache/devise-1.5.3.gem
|
|
1192
1197
|
- vendor/cache/diff-lcs-1.1.3.gem
|
|
1193
|
-
- vendor/cache/equivalent-xml-0.2.
|
|
1198
|
+
- vendor/cache/equivalent-xml-0.2.9.gem
|
|
1194
1199
|
- vendor/cache/erubis-2.6.6.gem
|
|
1195
1200
|
- vendor/cache/facets-2.8.4.gem
|
|
1196
|
-
- vendor/cache/factory_girl-2.
|
|
1201
|
+
- vendor/cache/factory_girl-2.5.0.gem
|
|
1197
1202
|
- vendor/cache/fastercsv-1.5.4.gem
|
|
1198
1203
|
- vendor/cache/ffi-1.0.11.gem
|
|
1199
|
-
- vendor/cache/gherkin-2.7.
|
|
1204
|
+
- vendor/cache/gherkin-2.7.6.gem
|
|
1200
1205
|
- vendor/cache/gyoku-0.4.4.gem
|
|
1201
1206
|
- vendor/cache/haml-3.1.4.gem
|
|
1202
1207
|
- vendor/cache/httparty-0.8.1.gem
|
|
1203
1208
|
- vendor/cache/httpi-0.9.5.gem
|
|
1204
1209
|
- vendor/cache/i18n-0.5.0.gem
|
|
1205
|
-
- vendor/cache/jettywrapper-1.2.
|
|
1210
|
+
- vendor/cache/jettywrapper-1.2.1.gem
|
|
1206
1211
|
- vendor/cache/json-1.6.5.gem
|
|
1207
1212
|
- vendor/cache/json_pure-1.6.5.gem
|
|
1208
1213
|
- vendor/cache/kaminari-0.13.0.gem
|
|
@@ -1214,16 +1219,16 @@ files:
|
|
|
1214
1219
|
- vendor/cache/mediashelf-loggable-0.4.7.gem
|
|
1215
1220
|
- vendor/cache/metaclass-0.0.1.gem
|
|
1216
1221
|
- vendor/cache/mime-types-1.17.2.gem
|
|
1217
|
-
- vendor/cache/mocha-0.10.
|
|
1222
|
+
- vendor/cache/mocha-0.10.3.gem
|
|
1218
1223
|
- vendor/cache/multi_json-1.0.4.gem
|
|
1219
1224
|
- vendor/cache/multi_xml-0.4.1.gem
|
|
1220
1225
|
- vendor/cache/multipart-post-1.1.2.gem
|
|
1221
1226
|
- vendor/cache/nokogiri-1.5.0.gem
|
|
1222
1227
|
- vendor/cache/nori-1.0.2.gem
|
|
1223
|
-
- vendor/cache/om-1.
|
|
1228
|
+
- vendor/cache/om-1.5.1.gem
|
|
1224
1229
|
- vendor/cache/orm_adapter-0.0.6.gem
|
|
1225
1230
|
- vendor/cache/polyglot-0.3.3.gem
|
|
1226
|
-
- vendor/cache/rack-1.2.
|
|
1231
|
+
- vendor/cache/rack-1.2.5.gem
|
|
1227
1232
|
- vendor/cache/rack-mount-0.6.14.gem
|
|
1228
1233
|
- vendor/cache/rack-test-0.5.7.gem
|
|
1229
1234
|
- vendor/cache/rails-3.0.11.gem
|
|
@@ -1236,21 +1241,21 @@ files:
|
|
|
1236
1241
|
- vendor/cache/rest-client-1.6.7.gem
|
|
1237
1242
|
- vendor/cache/rsolr-1.0.2.gem
|
|
1238
1243
|
- vendor/cache/rsolr-ext-1.0.3.gem
|
|
1239
|
-
- vendor/cache/rspec-2.
|
|
1240
|
-
- vendor/cache/rspec-core-2.
|
|
1241
|
-
- vendor/cache/rspec-expectations-2.
|
|
1242
|
-
- vendor/cache/rspec-mocks-2.
|
|
1243
|
-
- vendor/cache/rspec-rails-2.
|
|
1244
|
+
- vendor/cache/rspec-2.8.0.gem
|
|
1245
|
+
- vendor/cache/rspec-core-2.8.0.gem
|
|
1246
|
+
- vendor/cache/rspec-expectations-2.8.0.gem
|
|
1247
|
+
- vendor/cache/rspec-mocks-2.8.0.gem
|
|
1248
|
+
- vendor/cache/rspec-rails-2.8.1.gem
|
|
1244
1249
|
- vendor/cache/ruby-debug-0.10.4.gem
|
|
1245
1250
|
- vendor/cache/ruby-debug-base-0.10.4.gem
|
|
1246
|
-
- vendor/cache/rubydora-0.
|
|
1251
|
+
- vendor/cache/rubydora-0.5.1.gem
|
|
1247
1252
|
- vendor/cache/rubyzip-0.9.5.gem
|
|
1248
1253
|
- vendor/cache/sanitize-2.0.3.gem
|
|
1249
1254
|
- vendor/cache/savon-0.9.7.gem
|
|
1250
|
-
- vendor/cache/selenium-webdriver-2.
|
|
1255
|
+
- vendor/cache/selenium-webdriver-2.18.0.gem
|
|
1251
1256
|
- vendor/cache/solr-ruby-0.0.8.gem
|
|
1252
|
-
- vendor/cache/solrizer-1.
|
|
1253
|
-
- vendor/cache/solrizer-fedora-1.2.
|
|
1257
|
+
- vendor/cache/solrizer-1.2.0.gem
|
|
1258
|
+
- vendor/cache/solrizer-fedora-1.2.3.gem
|
|
1254
1259
|
- vendor/cache/sqlite3-ruby-1.2.5.gem
|
|
1255
1260
|
- vendor/cache/stomp-1.2.0.gem
|
|
1256
1261
|
- vendor/cache/term-ansicolor-1.0.7.gem
|
|
@@ -1294,7 +1299,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
1294
1299
|
requirements: []
|
|
1295
1300
|
|
|
1296
1301
|
rubyforge_project:
|
|
1297
|
-
rubygems_version: 1.8.
|
|
1302
|
+
rubygems_version: 1.8.10
|
|
1298
1303
|
signing_key:
|
|
1299
1304
|
specification_version: 3
|
|
1300
1305
|
summary: Hydra-Head Rails Engine (requires Rails3)
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
data/vendor/cache/om-1.4.4.gem
DELETED
|
Binary file
|
data/vendor/cache/rack-1.2.4.gem
DELETED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|