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.
Files changed (90) hide show
  1. data/Gemfile.lock +54 -20
  2. data/HISTORY.textile +0 -7
  3. data/app/controllers/assets_controller.rb +1 -2
  4. data/app/controllers/contributors_controller.rb +2 -2
  5. data/app/controllers/downloads_controller.rb +1 -3
  6. data/app/controllers/file_assets_controller.rb +2 -4
  7. data/app/controllers/generic_content_objects_controller.rb +1 -2
  8. data/app/controllers/get_controller.rb +1 -3
  9. data/app/controllers/permissions_controller.rb +14 -28
  10. data/app/models/file_asset.rb +6 -2
  11. data/app/views/catalog/_edit_partials/_default.html.erb +5 -5
  12. data/app/views/contributors/_index.html.erb +1 -1
  13. data/app/views/generic_content_objects/_show_description.html.erb +3 -3
  14. data/app/views/mods_assets/_publication_form.html.erb +2 -2
  15. data/app/views/mods_assets/_show_contributors.html.erb +4 -4
  16. data/app/views/mods_assets/_show_description.html.erb +4 -4
  17. data/app/views/mods_assets/_show_publication.html.erb +2 -2
  18. data/app/views/permissions/_edit_person_permissions.html.erb +1 -1
  19. data/app/views/permissions/_index.html.erb +2 -2
  20. data/hydra-head.gemspec +3 -4
  21. data/lib/generators/hydra/head_generator.rb +2 -3
  22. data/lib/generators/hydra/templates/config/initializers/action_dispatch_http_upload_monkey_patch.rb +12 -0
  23. data/lib/generators/hydra/templates/config/initializers/blacklight_config.rb +0 -7
  24. data/lib/generators/hydra/templates/solr_conf/conf/schema.xml +1 -7
  25. data/lib/generators/hydra/templates/solr_conf/conf/solrconfig.xml +55 -117
  26. data/lib/hydra/access_controls_enforcement.rb +5 -47
  27. data/lib/hydra/catalog.rb +1 -1
  28. data/lib/hydra/common_mods_index_methods.rb +0 -1
  29. data/lib/hydra/file_assets_helper.rb +0 -1
  30. data/lib/hydra/generic_content.rb +7 -6
  31. data/lib/hydra/model_methods.rb +7 -6
  32. data/lib/hydra/rights_metadata.rb +2 -2
  33. data/lib/hydra-head/version.rb +1 -1
  34. data/lib/mediashelf/active_fedora_helper.rb +0 -10
  35. data/lib/railties/hydra-fixtures.rake +14 -18
  36. data/lib/railties/hyhead_rspec.rake +0 -10
  37. data/solr_conf/conf/schema.xml +0 -2
  38. data/solr_conf/conf/solrconfig.xml +29 -116
  39. data/tasks/hydra-head.rake +6 -6
  40. data/test_support/features/absent_model_search_result.feature +8 -2
  41. data/test_support/features/step_definitions/edit_metadata_steps.rb +1 -1
  42. data/test_support/fixtures/small_file.txt +1 -0
  43. data/test_support/spec/controllers/catalog_controller_spec.rb +16 -15
  44. data/test_support/spec/controllers/file_assets_controller_spec.rb +7 -14
  45. data/test_support/spec/controllers/permissions_controller_spec.rb +12 -4
  46. data/test_support/spec/helpers/access_controls_enforcement_spec.rb +0 -77
  47. data/test_support/spec/helpers/hydra_model_methods_spec.rb +9 -4
  48. data/test_support/spec/integration/file_asset_spec.rb +115 -102
  49. data/test_support/spec/lib/active_fedora_helper_spec.rb +1 -1
  50. data/test_support/spec/models/audio_asset_spec.rb +3 -3
  51. data/test_support/spec/models/file_asset_spec.rb +6 -5
  52. data/test_support/spec/models/generic_content_spec.rb +1 -2
  53. data/test_support/spec/models/generic_image_spec.rb +1 -1
  54. data/test_support/spec/models/hydra_rights_metadata_spec.rb +8 -3
  55. data/test_support/spec/models/image_asset_spec.rb +3 -3
  56. data/test_support/spec/models/mods_asset_spec.rb +3 -3
  57. data/test_support/spec/models/video_asset_spec.rb +3 -3
  58. data/vendor/cache/{active-fedora-3.0.7.gem → active-fedora-3.1.0.rc1.gem} +0 -0
  59. data/vendor/cache/akami-1.0.0.gem +0 -0
  60. data/vendor/cache/factory_girl-2.2.0.gem +0 -0
  61. data/vendor/cache/ffi-1.0.10.gem +0 -0
  62. data/vendor/cache/gherkin-2.5.4.gem +0 -0
  63. data/vendor/cache/gyoku-0.4.4.gem +0 -0
  64. data/vendor/cache/httpi-0.9.5.gem +0 -0
  65. data/vendor/cache/jettywrapper-1.0.1.gem +0 -0
  66. data/vendor/cache/nori-1.0.2.gem +0 -0
  67. data/vendor/cache/rdf-0.3.4.1.gem +0 -0
  68. data/vendor/cache/rdf-rdfxml-0.3.5.gem +0 -0
  69. data/vendor/cache/rdoc-3.11.gem +0 -0
  70. data/vendor/cache/rspec-2.7.0.gem +0 -0
  71. data/vendor/cache/rspec-core-2.7.1.gem +0 -0
  72. data/vendor/cache/rspec-expectations-2.7.0.gem +0 -0
  73. data/vendor/cache/rspec-mocks-2.7.0.gem +0 -0
  74. data/vendor/cache/rspec-rails-2.7.0.gem +0 -0
  75. data/vendor/cache/rubydora-0.1.9.gem +0 -0
  76. data/vendor/cache/savon-0.9.7.gem +0 -0
  77. data/vendor/cache/wasabi-2.0.0.gem +0 -0
  78. metadata +94 -93
  79. data/RELEASE_NOTES.textile +0 -8
  80. data/vendor/cache/factory_girl-2.1.2.gem +0 -0
  81. data/vendor/cache/ffi-1.0.9.gem +0 -0
  82. data/vendor/cache/gherkin-2.5.2.gem +0 -0
  83. data/vendor/cache/jettywrapper-0.0.10.gem +0 -0
  84. data/vendor/cache/rcov-0.9.11.gem +0 -0
  85. data/vendor/cache/rdoc-3.10.gem +0 -0
  86. data/vendor/cache/rspec-2.6.0.gem +0 -0
  87. data/vendor/cache/rspec-core-2.6.4.gem +0 -0
  88. data/vendor/cache/rspec-expectations-2.6.0.gem +0 -0
  89. data/vendor/cache/rspec-mocks-2.6.0.gem +0 -0
  90. 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.7)
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.0)
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.7)
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.1.2)
132
+ factory_girl (2.2.0)
129
133
  activesupport
130
134
  fastercsv (1.5.4)
131
- ffi (1.0.9)
132
- gherkin (2.5.2)
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 (0.0.10)
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
- rcov (0.9.11)
192
- rdoc (3.10)
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.6.0)
201
- rspec-core (~> 2.6.0)
202
- rspec-expectations (~> 2.6.0)
203
- rspec-mocks (~> 2.6.0)
204
- rspec-core (2.6.4)
205
- rspec-expectations (2.6.0)
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.6.0)
208
- rspec-rails (2.6.1)
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.6.0)
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 (~> 0.0.10)
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, :require_fedora
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, :require_fedora
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, :require_fedora
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.datastreams_in_memory[dsid].content
64
- ds = Hydra::RightsMetadata.from_xml(xml_content)
65
- ds.pid = pid
66
- ds.dsid = dsid
67
- @document_fedora.datastreams_in_memory[dsid] = ds
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
- # Replace the object's datastream with the new updated ds
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.datastreams_in_memory[dsid].content
121
- ds = Hydra::RightsMetadata.from_xml(xml_content)
122
- ds.pid = pid
123
- ds.dsid = dsid
124
- @document_fedora.datastreams_in_memory[dsid] = ds
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
- # Replace the object's datastream with the new updated ds
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
@@ -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
- datastreams_in_memory["descMetadata"].title_values = label
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
- datastreams_in_memory["descMetadata"].extent_values = size
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.owner_id %></dd>
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].label + "</dd>").html_safe unless @datastreams[dsid].label.blank? %>
44
- <%= ("<dt>last modified:</dt><dd>" + @datastreams[dsid].last_modified + "</dd>").html_safe unless @datastreams[dsid].last_modified.blank? %>
45
- <%= ("<dt>mimetype:</dt><dd>" + @datastreams[dsid].mime_type + "</dd>").html_safe unless @datastreams[dsid].mime_type.blank? %>
46
- <%= ("<dt>control group:</dt><dd>" + @datastreams[dsid].control_group + "</dd>").html_safe unless @datastreams[dsid].control_group.blank? %>
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.datastreams_in_memory["descMetadata"].find_by_terms(:person).to_a -%>
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.datastreams_in_memory["descMetadata"].find_by_terms(:person) %>
5
- <%= render :partial=>"contributors/show_organization", :collection=>@document_fedora.datastreams_in_memory["descMetadata"].find_by_terms(:organization) %>
6
- <%= render :partial=>"contributors/show_conference", :collection=>@document_fedora.datastreams_in_memory["descMetadata"].find_by_terms(:conference) %>
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.datastreams_in_memory["descMetadata"].find_by_terms(:journal) %>
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.datastreams_in_memory["descMetadata"].find_by_terms(:person) %>
4
- <%= render :partial=>"contributors/show_organization", :collection=>@document_fedora.datastreams_in_memory["descMetadata"].find_by_terms(:organization) %>
5
- <%= render :partial=>"contributors/show_conference", :collection=>@document_fedora.datastreams_in_memory["descMetadata"].find_by_terms(:conference) %>
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.datastreams_in_memory["descMetadata"].find_by_terms(:person) %>
5
- <%= render :partial=>"contributors/show_organization", :collection=>@document_fedora.datastreams_in_memory["descMetadata"].find_by_terms(:organization) %>
6
- <%= render :partial=>"contributors/show_conference", :collection=>@document_fedora.datastreams_in_memory["descMetadata"].find_by_terms(:conference) %>
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.datastreams_in_memory["descMetadata"].find_by_terms(:journal) %>
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.datastreams_in_memory["descMetadata"].find_by_terms(:journal) %>
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.datastreams_in_memory["rightsMetadata"].permissions({"person"=>person_id}) %>
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.datastreams_in_memory["rightsMetadata"].permissions({"group"=>role}) %>
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.datastreams_in_memory["rightsMetadata"].find_by_terms(:access, :person) %>
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.7'
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.0'
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', "~> 0.0.10"
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."
@@ -0,0 +1,12 @@
1
+ module ActionDispatch
2
+ module Http
3
+ class UploadedFile
4
+ def closed?
5
+ @tempfile.closed?
6
+ end
7
+ def close
8
+ @tempfile.close
9
+ end
10
+ end
11
+ end
12
+ end
@@ -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>