hydra-head 3.0.1 → 3.1.0.pre1

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.
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>