cul_scv_hydra 0.16.1 → 0.16.2

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,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NGU0ZDk1ZThjYjdlMzAwZGZiZDlmM2QzMzlmY2Q3M2ZjNzExOGZjOA==
4
+ NWJjMjhkYjdmOTM2ZWJlNjNkOTUxOTczMmVkMTJmOTZjOGVlMWMxYw==
5
5
  data.tar.gz: !binary |-
6
- ZDQzNTEwOGEwNzgxM2QyZmIxMjc0MDAxZDlmODRlYjIwMWM4NzAyNA==
6
+ OGU3ZDI0NTczMzNmMDI4NTEyYjg0NTQzYzhmODZjMmNlY2Q5ZmE0OQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- MmQyOWE2MmViYjJjM2UyODljYjJmNTc4ZWNkOGUxOGFkY2FkYTcyMmQ3MmVk
10
- NjE4ZTEzOGJhMmU1ZGEzNGMzODFiZjIwZjI1ZWVhZTk4NGEzNThhZTQ4NWUx
11
- Zjg5OGE3NWRiYjAzYTM5YzAzMTQxMjA2MWZkZTdjNzVjYTcwM2Q=
9
+ YWVjMmYxNThmMDJiN2Y4NGYxNjUwM2Q5YzA1MTVlMjZmNWFhYzhiYjExZmFh
10
+ M2I2NGYzNzBjMTgxMGYwZWI4ZDU1Y2NkMDI4YjRhNzlmZjEwZDQ4YjAwMTQw
11
+ Zjg3MTc3ZDM2NDUxY2UwNjZkZTMyOTFhOWY2ODRkNzM1MmRkZjA=
12
12
  data.tar.gz: !binary |-
13
- ZDQyOWQyNDdjODE0MjJhM2UwM2IwZGYyNjllNjg4MjIzZDcxMGQ3MTk2MzVl
14
- ZWRjMzA3MmQwNWE3YzUyZDZiM2I5OTgzMWRlZjI1ZWY2YzdiNTgxZTg0Yjdj
15
- Y2FmMTBhN2UwZTVjYzExNzA5MTVlYmUwZTRiZjIwOGNjNWNhYzM=
13
+ MmM1ZDliNDIxMjM4ZjIzMTIzM2Q0Y2QyN2U2NzVhZTdlYjkzNzg3NDdmNDY0
14
+ MTQ0ZjVkYTNkYzQxYzZjYzhjMzM1YzIxY2FlYzhiZmUxYmIwMGNjMWIyZjdk
15
+ OGVmMWJkOWQ2MWZlNmNmYTdiZGI3OWE0ZWMyYjYyNDljY2YzY2Q=
@@ -11,7 +11,7 @@ class DCMetadata < ::ActiveFedora::OmDatastream
11
11
  "xmlns:oai_dc"=>"http://www.openarchives.org/OAI/2.0/oai_dc/",
12
12
  "xmlns:dc"=>"http://purl.org/dc/elements/1.1/",
13
13
  :schema=>"http://www.openarchives.org/OAI/2.0/oai_dc.xsd")
14
- t.dc_contributor(:path=>"contributor",
14
+ t.dc_contributor(:path=>"contributor",
15
15
  :namespace_prefix=>"dc",
16
16
  :index_as=>[:displayable, :searchable])
17
17
  t.dc_coverage(:path=>"coverage",
@@ -79,9 +79,9 @@ src
79
79
  end
80
80
 
81
81
  def prefix
82
- if ::ActiveFedora::VERSION >= '8'
83
- Rails.logger.warn("the prefix method of #{self.class.name} was overriden to maintain backwards compatibility")
84
- end
82
+ #if ::ActiveFedora::VERSION >= '8'
83
+ # Rails.logger.warn("the prefix method of #{self.class.name} was overriden to maintain backwards compatibility")
84
+ #end
85
85
  ''
86
86
  end
87
87
 
@@ -106,4 +106,4 @@ end
106
106
  end
107
107
  end
108
108
  end
109
- end
109
+ end
@@ -33,6 +33,11 @@ class ModsDocument < ::ActiveFedora::OmDatastream
33
33
  t.search_title_info(:path=>'titleInfo', :index_as=>[]){
34
34
  t.search_title(:path=>'title', :index_as=>[:textable])
35
35
  }
36
+ t.part(:path=>"relatedItem", :attributes=>{:type=>"constituent"}, :index_as=>[]){
37
+ t.part_title_info(:path=>'titleInfo', :index_as=>[]){
38
+ t.lib_part(:path=>'title',:index_as=>[])
39
+ }
40
+ }
36
41
  t.project(:path=>"relatedItem", :attributes=>{:type=>"host", :displayLabel=>"Project"}, :index_as=>[]){
37
42
  t.project_title_info(:path=>'titleInfo', :index_as=>[]){
38
43
  t.lib_project(:path=>'title',:index_as=>[])
@@ -43,15 +48,16 @@ class ModsDocument < ::ActiveFedora::OmDatastream
43
48
  t.lib_collection(:path=>'title', :index_as=>[])
44
49
  }
45
50
  }
46
- t.lib_project(:proxy=>[:project,:project_title_info],
47
- :index_as=>[:displayable, :searchable, :project_facetable, :project_textable])
51
+ t.lib_project(:proxy=>[:project,:project_title_info], :index_as=>[:displayable, :searchable, :project_facetable, :project_textable])
48
52
  t.lib_collection(:proxy=>[:collection,:collection_title_info])
49
- # pattern matches
53
+ t.lib_part(:proxy=>[:part,:part_title_info], :index_as=>[:displayable, :textable])
54
+ # pattern matches
50
55
  t.identifier(:path=>"identifier", :attributes=>{:type=>"local"}, :type=>:string, :index_as=>[:symbol, :textable])
51
56
  t.clio(:path=>"identifier", :attributes=>{:type=>"CLIO"}, :data_type=>:symbol, :index_as=>[:symbol, :textable])
52
- t.abstract
57
+ t.abstract(:index_as=>[:displayable, :textable])
58
+ t.table_of_contents(:path=>"tableOfContents", :index_as=>[:displayable, :textable])
53
59
  t.subject(:index_as=>[:textable]){
54
- t.topic(:index_as=>[:facetable])
60
+ t.topic(:index_as=>[:facetable, :displayable])
55
61
  t.geographic(:index_as=>[:facetable])
56
62
  }
57
63
  t.type_of_resource(:path=>"typeOfResource", :index_as=>[:displayable])
@@ -71,9 +77,11 @@ class ModsDocument < ::ActiveFedora::OmDatastream
71
77
  t.lib_repo(:path=>"physicalLocation",
72
78
  :attributes=>{:authority=>"marcorg"},
73
79
  :index_as=>[:textable])
74
- t.shelf_locator(:path=>"shelfLocator", :index_as=>[:textable])
75
- t.sublocation(:path=>"sublocation", :index_as=>[:textable])
80
+ t.shelf_locator(:path=>"shelfLocator", :index_as=>[:textable, :displayable])
81
+ t.sublocation(:path=>"sublocation", :index_as=>[:textable, :displayable])
82
+ t.url
76
83
  }
84
+ t.top_level_location_url(:proxy=>[:mods, :location, :url])
77
85
  t.lib_repo(:proxy=>[:location, :lib_repo], :type=>:text,
78
86
  :index_as=>[:marc_code_facetable, :marc_code_displayable, :marc_code_textable])
79
87
  t.lib_name(
@@ -90,9 +98,7 @@ class ModsDocument < ::ActiveFedora::OmDatastream
90
98
  :index_as=>[])
91
99
  }
92
100
  t.note(:path=>"note", :index_as=>[:textable])
93
- t.access_condition(:path=>"accessCondition",
94
- :attributes=>{:type=>"useAndReproduction"},
95
- :index_as => [:searchable, :symbol])
101
+ t.access_condition(:path=>"accessCondition", :attributes=>{:type=>"useAndReproduction"}, :index_as => [:searchable, :symbol])
96
102
  t.record_info(:path=>"recordInfo", :index_as=>[]) {
97
103
  t.record_creation_date(:path=>"recordCreationDate",:attributes=>{:encoding=>"w3cdtf"}, :index_as=>[])
98
104
  t.record_content_source(:path=>"recordContentSource",:attributes=>{:authority=>"marcorg"}, :index_as=>[])
@@ -106,21 +112,31 @@ class ModsDocument < ::ActiveFedora::OmDatastream
106
112
  t.language_code(:proxy=>[:record_info, :language_of_cataloging, :language_code])
107
113
 
108
114
  t.language(:index_as=>[]){
109
- t.language_term_text(:path=>"languageTerm", :attributes=>{:authority=>'iso639-2b',:type=>'text'}, :index_as=>[:facetable, :textable])
110
- t.language_term_code(:path=>"languageTerm", :attributes=>{:authority=>'iso639-2b',:type=>'code'}, :index_as=>[:facetable, :textable])
115
+ t.language_term_text(:path=>"languageTerm", :attributes=>{:authority=>'iso639-2b',:type=>'text'}, :index_as=>[:facetable, :displayable, :textable])
116
+ t.language_term_code(:path=>"languageTerm", :attributes=>{:authority=>'iso639-2b',:type=>'code'}, :index_as=>[:facetable, :displayable, :textable])
111
117
  }
112
118
 
113
119
  t.origin_info(:path=>"originInfo", :index_as=>[]){
114
120
  t.date_issued(:path=>"dateIssued", :attributes=>{:encoding=>'w3cdtf',:keyDate=>'yes'}, :index_as=>[:displayable, :textable])
115
121
  t.date_issued_start(:path=>"dateIssued", :attributes=>{:encoding=>'w3cdtf',:keyDate=>'yes',:point=>'start'}, :index_as=>[:displayable, :textable])
116
122
  t.date_issued_end(:path=>"dateIssued", :attributes=>{:encoding=>'w3cdtf',:point=>'end'}, :index_as=>[:displayable, :textable])
123
+ t.date_issued_textual(:path=>"dateIssued", :attributes=>{:encoding=>:none, :keyDate=>:none}, :index_as=>[:textable])
124
+
117
125
  t.date_created(:path=>"dateCreated", :attributes=>{:encoding=>'w3cdtf',:keyDate=>'yes'}, :index_as=>[:displayable, :textable])
118
126
  t.date_created_start(:path=>"dateCreated", :attributes=>{:encoding=>'w3cdtf',:keyDate=>'yes',:point=>'start'}, :index_as=>[:displayable, :textable])
119
127
  t.date_created_end(:path=>"dateCreated", :attributes=>{:encoding=>'w3cdtf',:point=>'end'}, :index_as=>[:displayable, :textable])
128
+ t.date_created_textual(:path=>"dateCreated", :attributes=>{:encoding=>:none, :keyDate=>:none}, :index_as=>[:textable])
129
+
120
130
  t.date_other(:path=>"dateOther", :attributes=>{:encoding=>'w3cdtf',:keyDate=>'yes'}, :index_as=>[:displayable, :textable])
121
131
  t.date_other_start(:path=>"dateOther", :attributes=>{:encoding=>'w3cdtf',:keyDate=>'yes',:point=>'start'}, :index_as=>[:displayable, :textable])
122
132
  t.date_other_end(:path=>"dateOther", :attributes=>{:encoding=>'w3cdtf',:point=>'end'}, :index_as=>[:displayable, :textable])
133
+ t.date_other_textual(:path=>"dateOther", :attributes=>{:encoding=>:none, :keyDate=>:none}, :index_as=>[:textable])
134
+
135
+ t.publisher(:index_as=>[:displayable])
136
+ t.place(:index_as=>[:displayable])
137
+ t.edition(:index_as=>[:displayable])
123
138
  }
139
+ t.lib_publisher(:proxy=>[:mods, :origin_info, :publisher], :index_as=>[:displayable])
124
140
  end
125
141
 
126
142
  def self.xml_template
@@ -138,9 +154,9 @@ class ModsDocument < ::ActiveFedora::OmDatastream
138
154
  end
139
155
 
140
156
  def prefix
141
- if ::ActiveFedora::VERSION >= '8'
142
- Rails.logger.warn("the prefix method of #{self.class.name} was overriden to maintain backwards compatibility")
143
- end
157
+ #if ::ActiveFedora::VERSION >= '8'
158
+ # Rails.logger.warn("the prefix method of #{self.class.name} was overriden to maintain backwards compatibility")
159
+ #end
144
160
  ''
145
161
  end
146
162
 
@@ -2,17 +2,20 @@ en:
2
2
  ldpd:
3
3
  short:
4
4
  repo:
5
- 'NNC' : 'General Collections'
6
- 'NNC-A' : 'Avery'
7
- 'NNC-ART' : 'Office of Art Properties'
8
5
  'NNBa' : 'Barnard College Library'
9
- 'NNC-EA' : 'East Asian'
6
+ 'NNC' : 'Butler Library'
7
+ 'NNC-A' : 'Avery Library'
8
+ 'NNC-ART' : 'Office of Art Properties'
9
+ 'NNC-EA' : 'East Asian Library'
10
10
  'NNC-L' : 'Law Library'
11
11
  'NNC-M' : 'Health Sciences Library'
12
12
  'NNC-MUS' : 'Music Library'
13
- 'NNC-RB' : 'RBML'
13
+ 'NNC-RB' : 'Rare Book Library'
14
+ 'NNC-UA' : 'University Archives'
14
15
  'NyNyCBL' : 'Burke Library'
15
- 'NyNyCOH' : 'CCOH'
16
+ 'NyNyCOH' : 'Oral History'
17
+ 'NyNyCAP' : 'Art Properties'
18
+ 'NyNyCMA' : 'Music Library'
16
19
  'UkWC-A' : 'Royal Archives, Windsor Castle'
17
20
  project:
18
21
  'Customer Order Collection' : 'Pres Orders'
@@ -20,20 +23,23 @@ en:
20
23
  "Jewels in her crown: treasures of Columbia University Libraries special collections" : 'Jewels in her Crown'
21
24
  "Russian Imperial Corps of Pages" : 'Russian Corps of Pages'
22
25
  "Preserving Historic Audio Content" : 'Audio Preservation'
23
- 'Papers of John Jay' : 'John Jay Papers'
26
+ 'The Papers of John Jay' : 'John Jay Papers'
24
27
  'Project Facet Mapping Test' : 'Successful Project Mapping'
25
28
  'G.E.E. Lindquist Native American Photographs' : 'Lindquist Photographs'
26
29
  long:
27
30
  repo:
28
- 'NNC' : 'General Collections'
29
- 'NNC-A' : 'Avery Architectural & Fine Arts Library'
30
- 'NNC-ART' : 'Office of Art Properties'
31
31
  'NNBa' : 'Barnard College Library'
32
- 'NNC-EA' : 'Starr East Asian'
33
- 'NNC-L' : 'Law Library'
34
- 'NNC-M' : 'Health Sciences Library'
32
+ 'NNC' : 'Columbia University Libraries'
33
+ 'NNC-A' : 'Avery Architectural & Fine Arts Library, Columbia University'
34
+ 'NNC-ART' : 'Office of Art Properties'
35
+ 'NNC-EA' : 'C.V. Starr East Asian Library, Columbia University'
36
+ 'NNC-L' : 'Arthur W. Diamond Law Library, Columbia University'
37
+ 'NNC-M' : 'Augustus C. Long Health Sciences Library, Columbia University'
35
38
  'NNC-MUS' : 'Music Library'
36
- 'NNC-RB' : 'Rare Book and Manuscript Library'
37
- 'NyNyCBL' : 'Burke Library at Union Theological Seminary'
38
- 'NyNyCOH' : 'Columbia Center for Oral History Collections'
39
+ 'NNC-RB' : 'Rare Book & Manuscript Library, Columbia University'
40
+ 'NNC-UA' : 'University Archives, Columbia University'
41
+ 'NyNyCBL' : 'Burke Library at Union Theological Seminary, Columbia University'
42
+ 'NyNyCOH' : 'Columbia Center for Oral History, Columbia University'
43
+ 'NyNyCAP' : 'Art Properties, Columbia University'
44
+ 'NyNyCMA' : 'Gabe M. Wiener Music & Arts Library, Columbia University'
39
45
  'UkWC-A' : 'Royal Archives, Windsor Castle'
@@ -1,33 +1,41 @@
1
1
  :marc_to_facet :
2
- 'NNC' : 'General Collections'
3
- 'NNC-A' : 'Avery'
4
- 'NNC-ART' : 'Office of Art Properties'
5
2
  'NNBa' : 'Barnard College Library'
6
- 'NNC-EA' : 'East Asian'
3
+ 'NNC' : 'Butler Library'
4
+ 'NNC-A' : 'Avery Library'
5
+ 'NNC-ART' : 'Office of Art Properties'
6
+ 'NNC-EA' : 'East Asian Library'
7
7
  'NNC-L' : 'Law Library'
8
8
  'NNC-M' : 'Health Sciences Library'
9
9
  'NNC-MUS' : 'Music Library'
10
- 'NNC-RB' : 'RBML'
10
+ 'NNC-RB' : 'Rare Book Library'
11
+ 'NNC-UA' : 'University Archives'
11
12
  'NyNyCBL' : 'Burke Library'
12
- 'NyNyCOH' : 'CCOH'
13
+ 'NyNyCOH' : 'Oral History'
14
+ 'NyNyCAP' : 'Art Properties'
15
+ 'NyNyCMA' : 'Music Library'
16
+ 'UkWC-A' : 'Royal Archives, Windsor Castle'
13
17
  :marc_to_display :
14
- 'NNC' : 'General Collections'
15
- 'NNC-A' : 'Avery Architectural & Fine Arts Library'
16
- 'NNC-ART' : 'Office of Art Properties'
17
18
  'NNBa' : 'Barnard College Library'
18
- 'NNC-EA' : 'Starr East Asian'
19
- 'NNC-L' : 'Law Library'
20
- 'NNC-M' : 'Health Sciences Library'
19
+ 'NNC' : 'Columbia University Libraries'
20
+ 'NNC-A' : 'Avery Architectural & Fine Arts Library, Columbia University'
21
+ 'NNC-ART' : 'Office of Art Properties'
22
+ 'NNC-EA' : 'C.V. Starr East Asian Library, Columbia University'
23
+ 'NNC-L' : 'Arthur W. Diamond Law Library, Columbia University'
24
+ 'NNC-M' : 'Augustus C. Long Health Sciences Library, Columbia University'
21
25
  'NNC-MUS' : 'Music Library'
22
- 'NNC-RB' : 'Rare Book and Manuscript Library'
23
- 'NyNyCBL' : 'Burke Library at Union Theological Seminary'
24
- 'NyNyCOH' : 'Columbia Center for Oral History Collections'
26
+ 'NNC-RB' : 'Rare Book & Manuscript Library, Columbia University'
27
+ 'NNC-UA' : 'University Archives, Columbia University'
28
+ 'NyNyCBL' : 'Burke Library at Union Theological Seminary, Columbia University'
29
+ 'NyNyCOH' : 'Columbia Center for Oral History, Columbia University'
30
+ 'NyNyCAP' : 'Art Properties, Columbia University'
31
+ 'NyNyCMA' : 'Gabe M. Wiener Music & Arts Library, Columbia University'
32
+ 'UkWC-A' : 'Royal Archives, Windsor Castle'
25
33
  :project_to_facet :
26
34
  'Customer Order Collection' : 'Pres Orders'
27
35
  "Children's Drawings of the Spanish Civil War (online exhibition)" : 'Spanish Civil War'
28
36
  "Jewels in her crown: treasures of Columbia University Libraries special collections" : 'Jewels in her Crown'
29
37
  "Russian Imperial Corps of Pages" : 'Russian Corps of Pages'
30
38
  "Preserving Historic Audio Content" : 'Audio Preservation'
31
- 'Papers of John Jay' : 'John Jay Papers'
39
+ 'The Papers of John Jay' : 'John Jay Papers'
32
40
  'Project Facet Mapping Test' : 'Successful Project Mapping'
33
41
  'G.E.E. Lindquist Native American Photographs' : 'Lindquist Photographs'
@@ -6,7 +6,7 @@ module Scv
6
6
  module Hydra
7
7
  module Om
8
8
  class StandardMods < ::ActiveFedora::OmDatastream
9
-
9
+
10
10
  set_terminology do |t|
11
11
  t.root(:path=>"mods",
12
12
  :xmlns=>"http://www.loc.gov/mods/v3",
@@ -65,10 +65,10 @@ module Om
65
65
  t.end_date(:path=>"dateIssued", :attributes=>{:encoding=>'w3cdtf',:point=>'end'}, :index_as=>[:not_searchable])
66
66
  }
67
67
  end
68
-
68
+
69
69
  def self.xml_template
70
70
  builder = Nokogiri::XML::Builder.new do |xml|
71
- xml.mods(:version=>"3.4",
71
+ xml.mods(:version=>"3.4",
72
72
  "xmlns"=>"http://www.loc.gov/mods/v3",
73
73
  "xmlns:xsi"=>"http://www.w3.org/2001/XMLSchema-instance"){
74
74
  }
@@ -79,9 +79,9 @@ module Om
79
79
  end
80
80
 
81
81
  def prefix
82
- if ::ActiveFedora::VERSION >= '8'
83
- Rails.logger.warn("the prefix method of #{self.class.name} was overriden to maintain backwards compatibility")
84
- end
82
+ #if ::ActiveFedora::VERSION >= '8'
83
+ # Rails.logger.warn("the prefix method of #{self.class.name} was overriden to maintain backwards compatibility")
84
+ #end
85
85
  ''
86
86
  end
87
87
 
@@ -58,18 +58,21 @@ module Solrizer::DefaultDescriptors
58
58
 
59
59
  def self.date_sortable_converter
60
60
  lambda do |type|
61
- lambda do |val|
61
+ lambda do |val|
62
62
  begin
63
63
  d = val.length < 11 ? Date.new(*(val.split('-').collect {|s| s.to_i})) : Date.parse(val)
64
64
  iso8601_date(d)
65
65
  rescue ArgumentError
66
- nil
66
+ nil
67
67
  end
68
68
  end
69
69
  end
70
70
  end
71
71
 
72
72
  module Normal
73
+ SHORT_REPO = "ldpd.short.repo."
74
+ SHORT_PROJ = "ldpd.short.project."
75
+ LONG_REPO = "ldpd.long.repo."
73
76
  def normal(value)
74
77
  normal!(value.clone)
75
78
  end
@@ -78,9 +81,16 @@ module Solrizer::DefaultDescriptors
78
81
  value.strip!
79
82
  value
80
83
  end
84
+ def translate_with_default(prefix, value)
85
+ begin
86
+ I18n.t(prefix + value, default: value)
87
+ rescue
88
+ value
89
+ end
90
+ end
81
91
  end
82
92
 
83
- class TextableDescriptor < Solrizer::Descriptor
93
+ class TextableDescriptor < Solrizer::Descriptor
84
94
  include Normal
85
95
  def name_and_converter(field_name, args=nil)
86
96
  super('all_text', args)
@@ -98,7 +108,7 @@ module Solrizer::DefaultDescriptors
98
108
  def converter(field_type)
99
109
  lambda do |value|
100
110
  if value.is_a? String
101
- I18n.t("ldpd.short.project.#{normal!(value)}")
111
+ translate_with_default(SHORT_PROJ, normal!(value))
102
112
  else
103
113
  raise "unexpected project_textable #{value.inspect}"
104
114
  value
@@ -110,21 +120,21 @@ module Solrizer::DefaultDescriptors
110
120
  class ProjectFacetDescriptor < Solrizer::Descriptor
111
121
  include Normal
112
122
  def converter(field_type)
113
- lambda {|value| I18n.t("ldpd.short.project.#{normal!(value)}")}
123
+ lambda {|value| translate_with_default(SHORT_PROJ, normal!(value))}
114
124
  end
115
125
  end
116
126
 
117
127
  class MarcCodeFacetDescriptor < Solrizer::Descriptor
118
128
  include Normal
119
129
  def converter(field_type)
120
- lambda {|value| I18n.t("ldpd.short.repo.#{normal!(value)}")}
130
+ lambda {|value| translate_with_default(SHORT_REPO, normal!(value))}
121
131
  end
122
132
  end
123
133
 
124
134
  class MarcCodeDisplayDescriptor < Solrizer::Descriptor
125
135
  include Normal
126
136
  def converter(field_type)
127
- lambda {|value| I18n.t("ldpd.long.repo.#{normal!(value)}")}
137
+ lambda {|value| translate_with_default(LONG_REPO, normal!(value))}
128
138
  end
129
139
  end
130
140
 
@@ -137,8 +147,8 @@ module Solrizer::DefaultDescriptors
137
147
  lambda do |value|
138
148
  if value.is_a? String
139
149
  normal!(value)
140
- r = [I18n.t("ldpd.short.repo.#{normal!(value)}")]
141
- r << I18n.t("ldpd.long.repo.#{normal!(value)}")
150
+ r = [translate_with_default(SHORT_REPO, normal!(value))]
151
+ r << translate_with_default(LONG_REPO, normal!(value))
142
152
  r.uniq!
143
153
  r.join(' ')
144
154
  else
@@ -147,4 +157,4 @@ module Solrizer::DefaultDescriptors
147
157
  end
148
158
  end
149
159
  end
150
- end
160
+ end
@@ -116,6 +116,59 @@ module Cul::Scv::Hydra::Solrizer
116
116
  end
117
117
  end
118
118
 
119
+ def textual_dates(node=mods)
120
+ dates = []
121
+ node.xpath("./mods:originInfo/mods:dateCreated[not(@keyDate) and not(@point) and not(@w3cdtf)]", MODS_NS).collect do |n|
122
+ dates << ScvModsFieldable.normalize(n.text, true)
123
+ end
124
+ node.xpath("./mods:originInfo/mods:dateIssued[not(@keyDate) and not(@point) and not(@w3cdtf)]", MODS_NS).collect do |n|
125
+ dates << ScvModsFieldable.normalize(n.text, true)
126
+ end
127
+ node.xpath("./mods:originInfo/mods:dateOther[not(@keyDate) and not(@point) and not(@w3cdtf)]", MODS_NS).collect do |n|
128
+ dates << ScvModsFieldable.normalize(n.text, true)
129
+ end
130
+ return dates
131
+ end
132
+
133
+ def date_range_to_textual_date(start_year, end_year)
134
+ start_year = start_year.to_i.to_s # Remove zero-padding if present
135
+ end_year = end_year.to_i.to_s # Remove zero-padding if present
136
+
137
+ if start_year == end_year
138
+ return [start_year]
139
+ else
140
+ return [('Between ' +
141
+ (start_year.to_i > 0 ? start_year : start_year[1,start_year.length] + ' BCE') +
142
+ ' and ' +
143
+ (end_year.to_i > 0 ? (start_year.to_i > 0 ? end_year : end_year + ' CE') : end_year[1,end_year.length] + ' BCE')
144
+ )]
145
+ end
146
+ end
147
+
148
+ def date_notes(node=mods)
149
+ date_notes = []
150
+ node.xpath("./mods:note[@type = 'date' or @type = 'date source']", MODS_NS).collect do |n|
151
+ date_notes << ScvModsFieldable.normalize(n.text, true)
152
+ end
153
+ return date_notes
154
+ end
155
+
156
+ def non_date_notes(node=mods)
157
+ non_date_notes = []
158
+ node.xpath("./mods:note[not(@type) or (@type != 'date' and @type != 'date source')]", MODS_NS).collect do |n|
159
+ non_date_notes << ScvModsFieldable.normalize(n.text, true)
160
+ end
161
+ return non_date_notes
162
+ end
163
+
164
+ def item_in_context_url(node=mods)
165
+ item_in_context_url_val = []
166
+ node.xpath("./mods:location/mods:url[@access='object in context' and @usage='primary display']", MODS_NS).collect do |n|
167
+ item_in_context_url_val << ScvModsFieldable.normalize(n.text, true)
168
+ end
169
+ item_in_context_url_val
170
+ end
171
+
119
172
  def to_solr(solr_doc={})
120
173
  solr_doc = (defined? super) ? super : solr_doc
121
174
  solr_doc["title_si"] = sort_title
@@ -129,6 +182,10 @@ module Cul::Scv::Hydra::Solrizer
129
182
  solr_doc["lib_format_sim"] = formats
130
183
  solr_doc["lib_repo_sim"] = repositories
131
184
  solr_doc["lib_shelf_sim"] = shelf_locators
185
+ solr_doc["lib_date_textual_ssm"] = textual_dates
186
+ solr_doc["lib_date_notes_ssm"] = date_notes
187
+ solr_doc["lib_non_date_notes_ssm"] = non_date_notes
188
+ solr_doc["lib_item_in_context_url_ssm"] = item_in_context_url
132
189
 
133
190
  # Create convenient start and end date values based on one of the many possible originInfo/dateX elements.
134
191
  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']
@@ -154,24 +211,25 @@ module Cul::Scv::Hydra::Solrizer
154
211
 
155
212
  end_date = start_date if end_date.blank?
156
213
 
157
- #solr_doc["lib_start_date_ss"] = start_date
158
- #solr_doc["lib_end_date_ss"] = end_date
159
-
160
214
  year_regex = /^(-?\d{1,4}).*/
161
215
 
162
216
  start_year_match = start_date.match(year_regex)
163
217
  start_year = start_year_match.captures[0] if start_year_match
164
218
  start_year = zero_pad_year(start_year)
165
- #solr_doc["lib_start_date_year_ssi"] = start_year if start_year
166
219
  solr_doc["lib_start_date_year_itsi"] = start_year.to_i if start_year # TrieInt version for searches
167
220
 
168
221
  end_year_match = end_date.match(year_regex)
169
222
  end_year = end_year_match.captures[0] if end_year_match
170
223
  end_year = zero_pad_year(end_year)
171
- #solr_doc["lib_end_date_year_ssi"] = end_year if end_year
172
224
  solr_doc["lib_end_date_year_itsi"] = end_year.to_i if end_year # TrieInt version for searches
173
225
 
174
226
  solr_doc["lib_date_year_range_si"] = start_year + '-' + end_year if start_year
227
+
228
+ # When no textual date is available, fall back to other date data (if available)
229
+ if solr_doc["lib_date_textual_ssm"].blank?
230
+
231
+ solr_doc["lib_date_textual_ssm"] = date_range_to_textual_date(start_year.to_i, end_year.to_i)
232
+ end
175
233
  end
176
234
 
177
235
  solr_doc.each do |k, v|
@@ -11,7 +11,7 @@ class ValueMapper
11
11
  config_path = File.join(File.dirname(__FILE__), "..", "..", "..", "config", "solr_value_maps.yml")
12
12
  end
13
13
  end
14
- logger.info("ValueMapper: loading field value maps from #{File.expand_path(config_path)}")
14
+ #logger.info("ValueMapper: loading field value maps from #{File.expand_path(config_path)}")
15
15
  YAML::load(File.open(config_path))
16
16
  end
17
17
 
@@ -1,7 +1,7 @@
1
1
  module Cul
2
2
  module Scv
3
3
  module Hydra
4
- VERSION = '0.16.1'
4
+ VERSION = '0.16.2'
5
5
  def self.version
6
6
  VERSION
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cul_scv_hydra
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.16.1
4
+ version: 0.16.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Benjamin Armintor
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-23 00:00:00.000000000 Z
11
+ date: 2014-07-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: blacklight