cul_hydra 1.0.7 → 1.1.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 01f266d6762f6bf8a2ce0d8c498a2fa414ac775d
4
- data.tar.gz: b307b9f693f468d48c3b503332b9df090428cf40
3
+ metadata.gz: da3844f4364d4f0488fcce5399fbbbef4f49e49a
4
+ data.tar.gz: 140f4053fb595b0ac8711f6cf917264c6e158568
5
5
  SHA512:
6
- metadata.gz: 9a7d2446ef89b32a22d2e14945fb104fff5be8c1cd12562ab7e128fa90c5e09708c72a0a9d198ac37fa8b833f21cd8e972f383a267614de38b8337de5e5c5d6a
7
- data.tar.gz: 3a1a0fb360f335f9138abbc0827b0339347023405980536002515ddfcf4496c4866d2eddef81eee782e03b6151c515e77e04cff13c4c48b30d4e34cb3e634f5b
6
+ metadata.gz: e7cf3163f61825251ed71f15e55d0b1315c9367e8501bd2a6ed596e3b19f49956d9e8c8cbe27366fd8c6679f6c43cc3ad7e9021de99089d1c78855f14ac438f0
7
+ data.tar.gz: 24194475e9a29a3d8c3445fbf9a7babfcd9b970af7a16105d2056748cc90f1d05b64eb41c0d69b732ffc537a04c52222d981005a3090b07f07e73fcdf1c5e551
@@ -36,16 +36,6 @@ class GenericResource < ::ActiveFedora::Base
36
36
  "FILE ASSET"
37
37
  end
38
38
 
39
- def thumbnail_info
40
- thumb = relsint.relationships(datastreams['content'],:foaf_thumb).first
41
- if thumb
42
- t_dsid = thumb.object.to_s.split('/')[-1]
43
- return {:url=>"#{ActiveFedora.fedora_config[:url]}/objects/#{pid}/datastreams/#{t_dsid}/content",:mime=>datastreams[t_dsid].mimeType}
44
- else
45
- return {:url=>image_url("cul_hydra/crystal/file.png"),:mime=>'image/png'}
46
- end
47
- end
48
-
49
39
  def to_solr(solr_doc = Hash.new, opts={})
50
40
  solr_doc = super
51
41
 
@@ -139,7 +129,14 @@ class GenericResource < ::ActiveFedora::Base
139
129
  end
140
130
 
141
131
  def zooming?
142
- (zr = rels_int.relationships(datastreams['content'], :foaf_zooming) and not zr.first.blank?)
132
+ content = datastreams['content']
133
+ return false unless content
134
+ zr = rels_int.relationships(content, :foaf_zooming)
135
+ if (zr && zr.first)
136
+ return !zr.first.blank?
137
+ else
138
+ false
139
+ end
143
140
  end
144
141
 
145
142
  def with_ds_resource(ds_id, fedora_content_filesystem_mounted=false, &block)
@@ -1,7 +1,7 @@
1
1
  <?xml version='1.0' encoding='UTF-8'?>
2
2
  <mods xmlns='http://www.loc.gov/mods/v3' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.loc.gov/mods/v3 http://www.loc.gov/standards/mods/v3/mods-3-4.xsd' version='3.4'>
3
3
  <originInfo>
4
- <dateCreated encoding='w3cdtf' keyDate='yes' point='start'>1801</dateCreated>
5
- <dateCreated encoding='w3cdtf' point='end'>1802</dateCreated>
4
+ <dateCreated encoding='iso8601' keyDate='yes' point='start'>1801</dateCreated>
5
+ <dateCreated encoding='iso8601' point='end'>1802</dateCreated>
6
6
  </originInfo>
7
7
  </mods>
@@ -4,6 +4,7 @@ module Cul::Hydra::Solrizer
4
4
  include Solrizer::DefaultDescriptors::Normal
5
5
 
6
6
  MODS_NS = {'mods'=>'http://www.loc.gov/mods/v3'}
7
+ ORIGIN_INFO_DATES = ["dateCreated", "dateIssued", "dateOther"]
7
8
 
8
9
  module ClassMethods
9
10
  def value_mapper(maps=nil)
@@ -28,16 +29,19 @@ module Cul::Hydra::Solrizer
28
29
  n_t.gsub!(/\s+/, ' ')
29
30
  # pull off paired punctuation, and any leading punctuation
30
31
  if strip_punctuation
32
+ # strip brackets
31
33
  n_t = n_t.sub(/^\((.*)\)$/, "\\1")
32
34
  n_t = n_t.sub(/^\{(.*)\}$/, "\\1")
33
35
  n_t = n_t.sub(/^\[(.*)\]$/, "\\1")
36
+ n_t = n_t.sub(/^<(.*)>$/, "\\1")
37
+ # strip quotes
34
38
  n_t = n_t.sub(/^"(.*)"$/, "\\1")
35
39
  n_t = n_t.sub(/^'(.*)'$/, "\\1")
36
- n_t = n_t.sub(/^<(.*)>$/, "\\1")
37
- #n_t = n_t.sub(/^\p{Ps}(.*)\p{Pe}/u, "\\1")
40
+ is_negative_number = n_t =~ /^-\d+$/
38
41
  n_t = n_t.sub(/^[[:punct:]]+/, '')
39
42
  # this may have 'created' leading/trailing space, so strip
40
43
  n_t.strip!
44
+ n_t = '-' + n_t if is_negative_number
41
45
  end
42
46
  n_t
43
47
  end
@@ -193,18 +197,34 @@ module Cul::Hydra::Solrizer
193
197
 
194
198
  def textual_dates(node=mods)
195
199
  dates = []
196
- node.xpath("./mods:originInfo/mods:dateCreated[not(@keyDate) and not(@point) and not(@w3cdtf)]", MODS_NS).collect do |n|
197
- dates << ModsFieldable.normalize(n.text, true)
198
- end
199
- node.xpath("./mods:originInfo/mods:dateIssued[not(@keyDate) and not(@point) and not(@w3cdtf)]", MODS_NS).collect do |n|
200
- dates << ModsFieldable.normalize(n.text, true)
201
- end
202
- node.xpath("./mods:originInfo/mods:dateOther[not(@keyDate) and not(@point) and not(@w3cdtf)]", MODS_NS).collect do |n|
203
- dates << ModsFieldable.normalize(n.text, true)
200
+ ORIGIN_INFO_DATES.each do |element|
201
+ node.xpath("./mods:originInfo/mods:#{element}[not(@keyDate) and not(@point) and not(@encoding)]", MODS_NS).collect do |n|
202
+ dates << ModsFieldable.normalize(n.text, true)
203
+ end
204
204
  end
205
205
  return dates
206
206
  end
207
207
 
208
+ def key_date_range(node=mods)
209
+ dates = []
210
+ encodings = ['w3cdtf','iso8601']
211
+ ORIGIN_INFO_DATES.each do |element|
212
+ encodings.each do |encoding|
213
+ xpath = "./mods:originInfo/mods:#{element}[(@keyDate) and (@encoding = '#{encoding}')]"
214
+ node.xpath(xpath, MODS_NS).collect do |n|
215
+ range = [ModsFieldable.normalize(n.text, true)]
216
+ if n['point'] != 'end'
217
+ n.xpath("../mods:#{element}[(@encoding = '#{encoding}' and @point = 'end')]", MODS_NS).each do |ep|
218
+ range << ModsFieldable.normalize(ep.text, true)
219
+ end
220
+ end
221
+ dates << range
222
+ end
223
+ end
224
+ end
225
+ return dates.first || dates
226
+ end
227
+
208
228
  def date_range_to_textual_date(start_year, end_year)
209
229
  start_year = start_year.to_i.to_s # Remove zero-padding if present
210
230
  end_year = end_year.to_i.to_s # Remove zero-padding if present
@@ -386,24 +406,9 @@ module Cul::Hydra::Solrizer
386
406
  end
387
407
 
388
408
  # Create convenient start and end date values based on one of the many possible originInfo/dateX elements.
389
- possible_start_date_fields = ['origin_info_date_issued_ssm', 'origin_info_date_issued_start_ssm', 'origin_info_date_created_ssm', 'origin_info_date_created_start_ssm', 'origin_info_date_other_ssm', 'origin_info_date_other_start_ssm']
390
- possible_end_date_fields = ['origin_info_date_issued_end_ssm', 'origin_info_date_created_end_ssm', 'origin_info_date_other_end_ssm']
391
- start_date = nil
392
- end_date = nil
409
+ start_date, end_date = key_date_range
393
410
  start_year = nil
394
411
  end_year = nil
395
- possible_start_date_fields.each{|key|
396
- if solr_doc.has_key?(key)
397
- start_date = solr_doc[key][0]
398
- break
399
- end
400
- }
401
- possible_end_date_fields.each{|key|
402
- if solr_doc.has_key?(key)
403
- end_date = solr_doc[key][0]
404
- break
405
- end
406
- }
407
412
 
408
413
  if start_date.present?
409
414
 
@@ -1,6 +1,6 @@
1
1
  module Cul
2
2
  module Hydra
3
- VERSION = '1.0.7'
3
+ VERSION = '1.1.0'
4
4
  def self.version
5
5
  VERSION
6
6
  end
@@ -1,7 +1,7 @@
1
1
  APP_ROOT = File.expand_path("#{File.dirname(__FILE__)}/../../") unless defined?(APP_ROOT)
2
2
 
3
3
  require 'jettywrapper'
4
- JETTY_ZIP_BASENAME = 'fedora-3.7-with-risearch'
4
+ JETTY_ZIP_BASENAME = 'fedora-3.8.1-with-risearch'
5
5
  Jettywrapper.url = "https://github.com/cul/hydra-jetty/archive/#{JETTY_ZIP_BASENAME}.zip"
6
6
 
7
7
  namespace :cul_hydra do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cul_hydra
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.7
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Benjamin Armintor
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-06-13 00:00:00.000000000 Z
12
+ date: 2015-08-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: blacklight
@@ -99,16 +99,16 @@ dependencies:
99
99
  name: active_fedora_relsint
100
100
  requirement: !ruby/object:Gem::Requirement
101
101
  requirements:
102
- - - ">="
102
+ - - "~>"
103
103
  - !ruby/object:Gem::Version
104
- version: '0'
104
+ version: '0.4'
105
105
  type: :runtime
106
106
  prerelease: false
107
107
  version_requirements: !ruby/object:Gem::Requirement
108
108
  requirements:
109
- - - ">="
109
+ - - "~>"
110
110
  - !ruby/object:Gem::Version
111
- version: '0'
111
+ version: '0.4'
112
112
  - !ruby/object:Gem::Dependency
113
113
  name: cul_image_props
114
114
  requirement: !ruby/object:Gem::Requirement
@@ -352,14 +352,11 @@ files:
352
352
  - app/models/static_audio_aggregator.rb
353
353
  - app/models/static_image_aggregator.rb
354
354
  - bin/rails
355
- - config/fedora.yml
356
355
  - config/jetty.yml
357
356
  - config/locales/ldpd_hydra.en.yml
358
357
  - config/predicate_mappings.yml
359
- - config/solr.yml
360
358
  - config/solr_mappings.yml
361
359
  - config/solr_value_maps.yml
362
- - config/subs.yml
363
360
  - fixtures/cmodels/ldpd_ADLMetadata.xml
364
361
  - fixtures/cmodels/ldpd_AESMetadata.xml
365
362
  - fixtures/cmodels/ldpd_BagAggregator.xml
@@ -484,7 +481,6 @@ files:
484
481
  - lib/cul_hydra/solrizer/value_mapper.rb
485
482
  - lib/cul_hydra/solrizer_patch.rb
486
483
  - lib/cul_hydra/version.rb
487
- - lib/cul_hydra/version.rb~
488
484
  - lib/tasks/cmodel.rake
489
485
  - lib/tasks/cul_hydra_dev.rake
490
486
  - lib/tasks/index.rake
@@ -511,7 +507,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
511
507
  version: '0'
512
508
  requirements: []
513
509
  rubyforge_project:
514
- rubygems_version: 2.4.3
510
+ rubygems_version: 2.4.6
515
511
  signing_key:
516
512
  specification_version: 4
517
513
  summary: ActiveFedora, OM, and Solrizer implementations for CUL repository apps
data/config/fedora.yml DELETED
@@ -1,17 +0,0 @@
1
- development:
2
- :user: fedoraAdmin
3
- :password: fedoraAdmin
4
- :url: http://localhost:8983/fedora-test
5
- :time_zone: "America/New_York"
6
-
7
- test:
8
- :user: fedoraAdmin
9
- :password: fedoraAdmin
10
- :url: http://localhost:8983/fedora-test
11
- :time_zone: "America/New_York"
12
-
13
- production:
14
- :user: fedoraAdmin
15
- :password: f+BULUS*^
16
- :url: http://alcott.cul.columbia.edu:8080/fedora
17
- :time_zone: "America/New_York"
data/config/solr.yml DELETED
@@ -1,8 +0,0 @@
1
- development:
2
- url: http://localhost:8983/solr/test
3
-
4
- test:
5
- url: http://localhost:8983/solr/test
6
-
7
- production:
8
- url: http://katana.cul.columbia.edu:8080/solr-4.7/dcv_private_dev
data/config/subs.yml DELETED
@@ -1,17 +0,0 @@
1
- development:
2
- djatoka_server: "http://iris.cul.columbia.edu:8080"
3
- fedora_server: "http://sayers.cul.columbia.edu:8080"
4
- php_server: "http://bach.cul.columbia.edu/dev"
5
- test:
6
- djatoka_server: "http://iris.cul.columbia.edu:8080"
7
- fedora_server: "http://sayers.cul.columbia.edu:8080"
8
- php_server: "http://bach.cul.columbia.edu/dev"
9
- production:
10
- djatoka_server: "http://iris.cul.columbia.edu:8080"
11
- fedora_server: "http://alcott.cul.columbia.edu:8080"
12
- php_server: "http://bach.cul.columbia.edu"
13
-
14
- hyacinth_prod:
15
- djatoka_server: "http://iris.cul.columbia.edu:8080"
16
- fedora_server: "http://alcott.cul.columbia.edu:8080"
17
- php_server: "http://bach.cul.columbia.edu"
@@ -1,8 +0,0 @@
1
- module Cul
2
- module Hydra
3
- VERSION = '1.0.6'
4
- def self.version
5
- VERSION
6
- end
7
- end
8
- end