hydra-pbcore 1.0.0 → 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.
Files changed (49) hide show
  1. data/.gitignore +1 -0
  2. data/Rakefile +6 -0
  3. data/lib/hydra-pbcore.rb +60 -1
  4. data/lib/hydra-pbcore/behaviors.rb +4 -2
  5. data/lib/hydra-pbcore/conversions.rb +88 -0
  6. data/lib/hydra-pbcore/datastream/{digital_document.rb → deprecated/digital_document.rb} +3 -2
  7. data/lib/hydra-pbcore/datastream/deprecated/document.rb +310 -0
  8. data/lib/hydra-pbcore/datastream/deprecated/instantiation.rb +261 -0
  9. data/lib/hydra-pbcore/datastream/document.rb +37 -139
  10. data/lib/hydra-pbcore/datastream/instantiation.rb +184 -223
  11. data/lib/hydra-pbcore/methods.rb +23 -2
  12. data/lib/hydra-pbcore/templates.rb +116 -0
  13. data/lib/hydra-pbcore/version.rb +1 -1
  14. data/spec/{digital_document_spec.rb → deprecated/digital_document_spec.rb} +6 -26
  15. data/spec/deprecated/document_spec.rb +282 -0
  16. data/spec/deprecated/instantiation_spec.rb +214 -0
  17. data/spec/document_spec.rb +71 -194
  18. data/spec/fixtures/converted_digital_document_rrhof_1904.xml +53 -0
  19. data/spec/fixtures/converted_digital_document_rrhof_2405.xml +46 -0
  20. data/spec/fixtures/converted_document_rrhof_2439.xml +19 -0
  21. data/spec/fixtures/converted_document_rrhof_524.xml +45 -0
  22. data/spec/fixtures/converted_instantiation_rrhof_1184.xml +39 -0
  23. data/spec/fixtures/converted_rrhof_524.xml +45 -0
  24. data/spec/fixtures/converted_rrhof_524_instantiation.xml +18 -0
  25. data/spec/fixtures/{pbcore_digital_document_template.xml → deprecated/pbcore_digital_document_template.xml} +0 -0
  26. data/spec/fixtures/{pbcore_document_template.xml → deprecated/pbcore_document_template.xml} +0 -0
  27. data/spec/fixtures/{pbcore_instantiation_template.xml → deprecated/pbcore_instantiation_template.xml} +0 -0
  28. data/spec/fixtures/{pbcore_solr_digital_document_template.xml → deprecated/pbcore_solr_digital_document_template.xml} +0 -0
  29. data/spec/fixtures/{pbcore_solr_document_template.xml → deprecated/pbcore_solr_document_template.xml} +0 -0
  30. data/spec/fixtures/{pbcore_solr_instantiation_template.xml → deprecated/pbcore_solr_instantiation_template.xml} +0 -0
  31. data/spec/fixtures/digital_instantiation.xml +56 -0
  32. data/spec/fixtures/digital_instantiation_solr.xml +1913 -0
  33. data/spec/fixtures/digital_instantiation_template.xml +33 -0
  34. data/spec/fixtures/document.xml +72 -0
  35. data/spec/fixtures/document_solr.xml +582 -0
  36. data/spec/fixtures/document_template.xml +30 -0
  37. data/spec/fixtures/integration/digital_document_rrhof_1904.xml +63 -0
  38. data/spec/fixtures/integration/digital_document_rrhof_2405.xml +62 -0
  39. data/spec/fixtures/integration/document_rrhof_2439.xml +54 -0
  40. data/spec/fixtures/integration/document_rrhof_524.xml +80 -0
  41. data/spec/fixtures/integration/instantiation_rrhof_1184.xml +44 -0
  42. data/spec/fixtures/physical_instantiation.xml +20 -0
  43. data/spec/fixtures/physical_instantiation_solr.xml +441 -0
  44. data/spec/fixtures/physical_instantiation_template.xml +18 -0
  45. data/spec/instantiation_spec.rb +180 -132
  46. data/spec/integration/conversions_spec.rb +73 -0
  47. data/spec/spec_helper.rb +37 -9
  48. data/spec/templates_spec.rb +31 -0
  49. metadata +68 -17
@@ -0,0 +1,261 @@
1
+ module HydraPbcore::Datastream::Deprecated
2
+ class Instantiation < ActiveFedora::NokogiriDatastream
3
+
4
+ include HydraPbcore::Methods
5
+ include HydraPbcore::Templates
6
+ include HydraPbcore::Conversions
7
+
8
+ # Note: this is not a complete PBCore document, just an instantiation node
9
+ set_terminology do |t|
10
+ t.root(:path=>"pbcoreDescriptionDocument")
11
+
12
+ t.pbcoreInstantiation do
13
+
14
+ t.instantiationIdentifier(
15
+ :attributes=>{
16
+ :annotation=>"Filename",
17
+ :source=>"Rock and Roll Hall of Fame and Museum"
18
+ },
19
+ :index_as => [:displayable]
20
+ )
21
+ t.instantiationDate(:attributes=>{ :dateType=>"created" },
22
+ :index_as => [:not_searchable, :converted_date, :displayable]
23
+ )
24
+ t.instantiationDigital(:attributes=>{ :source=>"EBU file formats" },
25
+ :index_as => [:searchable, :facetable]
26
+ )
27
+ t.instantiationStandard(:index_as => [:displayable])
28
+ t.instantiationLocation(:index_as => [:displayable])
29
+ t.instantiationGenerations(:attributes=>{ :source=>"PBCore instantiationGenerations" },
30
+ :index_as => [:displayable]
31
+ )
32
+ t.instantiationFileSize(:index_as => [:displayable]) do
33
+ t.units(:path=>{:attribute=>"unitsOfMeasure"}, :index_as => [:displayable])
34
+ end
35
+ t.instantiationColors(:attributes=>{ :source=>"PBCore instantiationColors" },
36
+ :index_as => [:displayable]
37
+ )
38
+ t.instantiationMediaType(:attributes=>{ :source=>"PBCore instantiationMediaType" },
39
+ :index_as => [:facetable]
40
+ )
41
+ t.instantiationLanguage(
42
+ :attributes=>{
43
+ :source=>"ISO 639.2",
44
+ :ref=>"http://www.loc.gov/standards/iso639-2/php/code_list.php"
45
+ },
46
+ :index_as => [:searchable]
47
+ )
48
+ t.instantiationDuration(:index_as => [:displayable])
49
+
50
+ t.instantiationRights do
51
+ t.rightsSummary(:index_as => [:displayable])
52
+ end
53
+
54
+ t.instantiationEssenceTrack do
55
+ t.essenceTrackStandard(:index_as => [:displayable])
56
+ t.essenceTrackEncoding( :attributes=>{ :source=>"PBCore essenceTrackEncoding" },
57
+ :index_as => [:displayable]
58
+ )
59
+ t.essenceTrackDataRate(:index_as => [:displayable]) do
60
+ t.units(:path=>{:attribute=>"unitsOfMeasure"}, :index_as => [:displayable])
61
+ end
62
+ t.essenceTrackFrameRate(:attributes=>{ :unitsOfMeasure=>"fps" }, :index_as => [:displayable])
63
+ t.essenceTrackFrameSize(:attributes=>{ :source=>"PBCore essenceTrackFrameSize" }, :index_as => [:displayable])
64
+ t.essenceTrackBitDepth(:index_as => [:displayable])
65
+ t.essenceTrackAspectRatio(:attributes=>{ :source=>"PBCore essenceTrackAspectRatio" },
66
+ :index_as => [:displayable]
67
+ )
68
+ t.essenceTrackSamplingRate(:index_as => [:displayable]) do
69
+ t.units(:path=>{:attribute=>"unitsOfMeasure"}, :index_as => [:displayable])
70
+ end
71
+ t.essenceTrackAnnotation( :attributes=>{ :annotationType=>"Number of Audio Channels" },
72
+ :index_as => [:displayable]
73
+ )
74
+ end
75
+ t.video_essence(:ref => [:pbcoreInstantiation, :instantiationEssenceTrack],
76
+ :path=>'instantiationEssenceTrack[essenceTrackType="Video"]'
77
+ )
78
+ t.audio_essence(:ref => [:pbcoreInstantiation, :instantiationEssenceTrack],
79
+ :path=>'instantiationEssenceTrack[essenceTrackType="Audio"]'
80
+ )
81
+
82
+ t.instantiationRelation do
83
+ t.instantiationRelationIdentifier(:attributes=>{ :source=>"Rock and Roll Hall of Fame and Museum" })
84
+ end
85
+ # The file we're describing at the root of this document preceeds the file marked "next"
86
+ t.next_inst(:ref => [:pbcoreInstantiation, :instantiationRelation],
87
+ :path=>'instantiationRelation[instantiationRelationType="Precedes in Sequence"]'
88
+ )
89
+ # The file we're describing at the root of this document comes after the file marked "previous"
90
+ t.previous_inst(:ref => [:pbcoreInstantiation, :instantiationRelation],
91
+ :path=>'instantiationRelation[instantiationRelationType="Follows in Sequence"]'
92
+ )
93
+
94
+ # Instantitation annotiations
95
+ t.inst_chksum_type(:path=>"instantiationAnnotation", :attributes=>{ :annotationType=>"Checksum Type" },
96
+ :index_as => [:displayable]
97
+ )
98
+ t.inst_chksum_value(:path=>"instantiationAnnotation", :attributes=>{ :annotationType=>"Checksum Value" },
99
+ :index_as => [:displayable]
100
+ )
101
+ t.inst_device(:path=>"instantiationAnnotation", :attributes=>{ :annotationType=>"Playback Device" },
102
+ :index_as => [:displayable]
103
+ )
104
+ t.inst_capture_soft(:path=>"instantiationAnnotation", :attributes=>{ :annotationType=>"Capture Software" },
105
+ :index_as => [:displayable]
106
+ )
107
+ t.inst_trans_soft(:path=>"instantiationAnnotation", :attributes=>{ :annotationType=>"Transcoding Software" },
108
+ :index_as => [:displayable]
109
+ )
110
+ t.inst_operator(:path=>"instantiationAnnotation", :attributes=>{ :annotationType=>"Operator" },
111
+ :index_as => [:displayable]
112
+ )
113
+ t.inst_trans_note(:path=>"instantiationAnnotation", :attributes=>{ :annotationType=>"Transfer Notes" },
114
+ :index_as => [:displayable]
115
+ )
116
+ t.inst_vendor(:path=>"instantiationAnnotation", :attributes=>{ :annotationType=>"Vendor Name" },
117
+ :index_as => [:displayable]
118
+ )
119
+ t.inst_cond_note(:path=>"instantiationAnnotation", :attributes=>{ :annotationType=>"Condition Notes" },
120
+ :index_as => [:displayable]
121
+ )
122
+ t.inst_clean_note(:path=>"instantiationAnnotation", :attributes=>{ :annotationType=>"Cleaning Notes" },
123
+ :index_as => [:displayable]
124
+ )
125
+ t.inst_note(:path=>"instantiationAnnotation", :attributes=>{ :annotationType=>"Notes" },
126
+ :index_as => [:displayable]
127
+ )
128
+ t.inst_color_space(:path=>"instantiationAnnotation", :attributes=>{ :annotationType=>"Color Space" },
129
+ :index_as => [:displayable]
130
+ )
131
+ t.inst_chroma(:path=>"instantiationAnnotation", :attributes=>{ :annotationType=>"Chroma" },
132
+ :index_as => [:displayable]
133
+ )
134
+
135
+ end
136
+
137
+ #
138
+ # Here are the actual references to the fields
139
+ #
140
+ t.name(:proxy=>[:pbcoreInstantiation, :instantiationIdentifier])
141
+ t.location(:proxy=>[:pbcoreInstantiation, :instantiationLocation])
142
+ t.date(:proxy=>[:pbcoreInstantiation, :instantiationDate])
143
+ t.generation(:proxy=>[:pbcoreInstantiation, :instantiationGenerations])
144
+ t.media_type(:proxy=>[:pbcoreInstantiation, :instantiationMediaType])
145
+ t.file_format(:proxy=>[:pbcoreInstantiation, :instantiationDigital])
146
+ t.size(:proxy=>[:pbcoreInstantiation, :instantiationFileSize])
147
+ t.size_units(:proxy=>[:pbcoreInstantiation, :instantiationFileSize, :units])
148
+ t.colors(:proxy=>[:pbcoreInstantiation, :instantiationColors])
149
+ t.duration(:proxy=>[:pbcoreInstantiation, :instantiationDuration])
150
+ t.rights_summary(:proxy=>[:pbcoreInstantiation, :instantiationRights, :rightsSummary])
151
+
152
+ # Proxies to annotation fields and other fields that are not in the template
153
+ t.note(:proxy=>[:pbcoreInstantiation, :inst_note])
154
+ t.checksum_type(:proxy=>[:pbcoreInstantiation, :inst_chksum_type])
155
+ t.checksum_value(:proxy=>[:pbcoreInstantiation, :inst_chksum_value])
156
+ t.device(:proxy=>[:pbcoreInstantiation, :inst_device])
157
+ t.capture_soft(:proxy=>[:pbcoreInstantiation, :inst_capture_soft])
158
+ t.trans_soft(:proxy=>[:pbcoreInstantiation, :inst_trans_soft])
159
+ t.operator(:proxy=>[:pbcoreInstantiation, :inst_operator])
160
+ t.trans_note(:proxy=>[:pbcoreInstantiation, :inst_trans_note])
161
+ t.vendor(:proxy=>[:pbcoreInstantiation, :inst_vendor])
162
+ t.condition(:proxy=>[:pbcoreInstantiation, :inst_cond_note])
163
+ t.cleaning(:proxy=>[:pbcoreInstantiation, :inst_clean_note])
164
+ t.color_space(:proxy=>[:pbcoreInstantiation, :inst_color_space])
165
+ t.chroma(:proxy=>[:pbcoreInstantiation, :inst_chroma])
166
+ t.standard(:proxy=>[:pbcoreInstantiation, :instantiationStandard])
167
+ t.language(:proxy=>[:pbcoreInstantiation, :instantiationLanguage])
168
+
169
+ # Proxies to video essence fields
170
+ t.video_standard(:proxy=>[:pbcoreInstantiation, :video_essence, :essenceTrackStandard])
171
+ t.video_encoding(:proxy=>[:pbcoreInstantiation, :video_essence, :essenceTrackEncoding])
172
+ t.video_bit_rate(:proxy=>[:pbcoreInstantiation, :video_essence, :essenceTrackDataRate])
173
+ t.video_bit_rate_units(:proxy=>[:pbcoreInstantiation, :video_essence, :essenceTrackDataRate, :units])
174
+ t.frame_rate(:proxy=>[:pbcoreInstantiation, :video_essence, :essenceTrackFrameRate])
175
+ t.frame_size(:proxy=>[:pbcoreInstantiation, :video_essence, :essenceTrackFrameSize])
176
+ t.video_bit_depth(:proxy=>[:pbcoreInstantiation, :video_essence, :essenceTrackBitDepth])
177
+ t.aspect_ratio(:proxy=>[:pbcoreInstantiation, :video_essence, :essenceTrackAspectRatio])
178
+
179
+ # Proxies to audio essence fields
180
+ t.audio_standard(:proxy=>[:pbcoreInstantiation, :audio_essence, :essenceTrackStandard])
181
+ t.audio_encoding(:proxy=>[:pbcoreInstantiation, :audio_essence, :essenceTrackEncoding])
182
+ t.audio_bit_rate(:proxy=>[:pbcoreInstantiation, :audio_essence, :essenceTrackDataRate])
183
+ t.audio_bit_rate_units(:proxy=>[:pbcoreInstantiation, :audio_essence, :essenceTrackDataRate, :units])
184
+ t.audio_sample_rate(:proxy=>[:pbcoreInstantiation, :audio_essence, :essenceTrackSamplingRate])
185
+ t.audio_sample_rate_units(:proxy=>[:pbcoreInstantiation, :audio_essence, :essenceTrackSamplingRate, :units])
186
+ t.audio_bit_depth(:proxy=>[:pbcoreInstantiation, :audio_essence, :essenceTrackBitDepth])
187
+ t.audio_channels(:proxy=>[:pbcoreInstantiation, :audio_essence, :essenceTrackAnnotation])
188
+
189
+ # Proxies to the relation fields
190
+ t.next_(:proxy=>[:pbcoreInstantiation, :next_inst, :instantiationRelationIdentifier])
191
+ t.previous_(:proxy=>[:pbcoreInstantiation, :previous_inst, :instantiationRelationIdentifier])
192
+
193
+ end
194
+
195
+ def self.xml_template
196
+ builder = Nokogiri::XML::Builder.new do |xml|
197
+
198
+ xml.pbcoreDescriptionDocument("xmlns:xsi"=>"http://www.w3.org/2001/XMLSchema-instance",
199
+ "xsi:schemaLocation"=>"http://www.pbcore.org/PBCore/PBCoreNamespace.html") {
200
+
201
+ # These fields are only added so that this document will be validated. However, they
202
+ # shouldn't be used for anything else here because they're in the parent Fedora object
203
+ xml.pbcoreIdentifier(:annotation=>"PID", :source=>"Rock and Roll Hall of Fame and Museum")
204
+ xml.pbcoreTitle
205
+ xml.pbcoreDescription
206
+
207
+ xml.pbcoreInstantiation {
208
+
209
+ xml.instantiationIdentifier(:annotation=>"Filename", :source=>"Rock and Roll Hall of Fame and Museum")
210
+ xml.instantiationDate(:dateType=>"created")
211
+ xml.instantiationDigital(:source=>"EBU file formats")
212
+ xml.instantiationLocation
213
+ xml.instantiationMediaType(:source=>"PBCore instantiationMediaType") {
214
+ xml.text "Moving image"
215
+ }
216
+ xml.instantiationGenerations(:source=>"PBCore instantiationGenerations")
217
+ xml.instantiationFileSize(:unitsOfMeasure=>"")
218
+ xml.instantiationDuration
219
+ xml.instantiationColors(:source=>"PBCore instantiationColors") {
220
+ xml.text "Color"
221
+ }
222
+
223
+ xml.instantiationEssenceTrack {
224
+ xml.essenceTrackType {
225
+ xml.text "Video"
226
+ }
227
+ xml.essenceTrackStandard
228
+ xml.essenceTrackEncoding(:source=>"PBCore essenceTrackEncoding")
229
+ xml.essenceTrackDataRate(:unitsOfMeasure=>"")
230
+ xml.essenceTrackFrameRate(:unitsOfMeasure=>"fps")
231
+ xml.essenceTrackBitDepth
232
+ xml.essenceTrackFrameSize(:source=>"PBCore essenceTrackFrameSize")
233
+ xml.essenceTrackAspectRatio(:source=>"PBCore essenceTrackAspectRatio")
234
+ }
235
+
236
+ xml.instantiationEssenceTrack {
237
+ xml.essenceTrackType {
238
+ xml.text "Audio"
239
+ }
240
+ xml.essenceTrackStandard
241
+ xml.essenceTrackEncoding(:source=>"PBCore essenceTrackEncoding")
242
+ xml.essenceTrackDataRate(:unitsOfMeasure=>"")
243
+ xml.essenceTrackSamplingRate(:unitsOfMeasure=>"")
244
+ xml.essenceTrackBitDepth
245
+ xml.essenceTrackAnnotation(:annotationType=>"Number of Audio Channels")
246
+ }
247
+
248
+ xml.instantiationRights {
249
+ xml.rightsSummary
250
+ }
251
+
252
+ }
253
+
254
+ }
255
+
256
+ end
257
+ return builder.doc
258
+ end
259
+
260
+ end
261
+ end
@@ -7,9 +7,6 @@ class Document < ActiveFedora::NokogiriDatastream
7
7
  set_terminology do |t|
8
8
  t.root(:path=>"pbcoreDescriptionDocument")
9
9
 
10
- #
11
- # pbcoreDescription fields
12
- #
13
10
  t.pbc_id(:path=>"pbcoreIdentifier",
14
11
  :attributes=>{ :source=>"Rock and Roll Hall of Fame and Museum", :annotation=>"PID" }
15
12
  )
@@ -94,13 +91,21 @@ class Document < ActiveFedora::NokogiriDatastream
94
91
  :index_as => [:displayable]
95
92
  )
96
93
 
97
-
98
- # Series field
94
+ # PBCore relation fields
99
95
  t.pbcoreRelation do
100
- t.pbcoreRelationIdentifier(:attributes=>{ :annotation=>"Event Series" })
96
+ t.series(:path=>"pbcoreRelationIdentifier", :attributes=>{ :annotation=>"Event Series" })
97
+ t.arch_coll(:path=>"pbcoreRelationIdentifier", :attributes=>{ :annotation=>"Archival Collection" })
98
+ t.arch_ser(:path=>"pbcoreRelationIdentifier", :attributes=>{ :annotation=>"Archival Series" })
99
+ t.coll_num(:path=>"pbcoreRelationIdentifier", :attributes=>{ :annotation=>"Collection Number" })
100
+ t.acc_num(:path=>"pbcoreRelationIdentifier", :attributes=>{ :annotation=>"Accession Number" })
101
101
  end
102
- t.event_series(:ref=>[:pbcoreRelation, :pbcoreRelationIdentifier], :index_as => [:searchable, :displayable])
102
+ t.event_series(:ref=>[:pbcoreRelation, :series], :index_as => [:searchable, :displayable])
103
+ t.archival_collection(:ref=>[:pbcoreRelation, :arch_coll], :index_as => [:searchable, :displayable])
104
+ t.archival_series(:ref=>[:pbcoreRelation, :arch_ser], :index_as => [:searchable, :displayable])
105
+ t.collection_number(:ref=>[:pbcoreRelation, :coll_num], :index_as => [:searchable, :displayable])
106
+ t.accession_number(:ref=>[:pbcoreRelation, :acc_num], :index_as => [:searchable, :displayable])
103
107
 
108
+ t.pbcoreCoverage
104
109
  # Terms for time and place
105
110
  t.event_place(:path=>"pbcoreCoverage/coverage",
106
111
  :attributes => {:annotation=>"Event Place"},
@@ -132,78 +137,11 @@ class Document < ActiveFedora::NokogiriDatastream
132
137
 
133
138
  t.note(:path=>"pbcoreAnnotation", :atttributes=>{ :annotationType=>"Notes" }, :index_as => [:searchable])
134
139
 
135
- #
136
- # pbcoreInstantiation fields for the physical item
137
- #
138
- t.pbcoreInstantiation do
139
- t.instantiationIdentifier(:attributes=>{
140
- :annotation=>"Barcode",
141
- :source=>"Rock and Roll Hall of Fame and Museum"
142
- })
143
- t.instantiationDate(:attributes=>{ :dateType=>"created" })
144
- t.instantiationPhysical(:attributes=>{ :source=>"PBCore instantiationPhysical" })
145
- t.instantiationStandard
146
- t.instantiationLocation
147
- t.instantiationMediaType(:attributes=>{ :source=>"PBCore instantiationMediaType" })
148
- t.instantiationGenerations(:attributes=>{ :source=>"PBCore instantiationGenerations" })
149
- t.instantiationColors
150
- t.instantiationLanguage(:attributes=>{
151
- :source=>"ISO 639.2",
152
- :ref=>"http://www.loc.gov/standards/iso639-2/php/code_list.php"
153
- })
154
- t.instantiationRelation do
155
- t.arc_collection(:path=>"instantiationRelationIdentifier",
156
- :attributes=>{ :annotation=>"Archival collection" },
157
- :index_as => [:searchable, :facetable]
158
- )
159
- t.arc_series(:path=>"instantiationRelationIdentifier", :attributes=>{ :annotation=>"Archival Series" })
160
- t.col_number(:path=>"instantiationRelationIdentifier", :attributes=>{ :annotation=>"Collection Number" })
161
- t.acc_number(:path=>"instantiationRelationIdentifier", :attributes=>{ :annotation=>"Accession Number" })
162
- end
163
- t.instantiationRights do
164
- t.rightsSummary
165
- end
166
- t.inst_cond_note(:path=>"instantiationAnnotation",
167
- :attributes=>{ :annotationType=>"Condition Notes"},
168
- :index_as => [:searchable, :displayable]
169
- )
170
- t.inst_clean_note(:path=>"instantiationAnnotation",
171
- :attributes=>{ :annotationType=>"Cleaning Notes" },
172
- :index_as => [:searchable, :displayable]
173
- )
140
+ t.pbcoreRightsSummary do
141
+ t.rightsSummary
174
142
  end
175
- # Individual field names:
176
- t.creation_date(:ref=>[:pbcoreInstantiation, :instantiationDate], :index_as => [:not_searchable, :converted_date, :displayable])
177
- t.barcode(:ref=>[:pbcoreInstantiation, :instantiationIdentifier], :index_as => [:searchable, :displayable])
178
- t.repository(:ref=>[:pbcoreInstantiation, :instantiationLocation], :index_as => [:searchable, :displayable])
179
- t.format(:ref=>[:pbcoreInstantiation, :instantiationPhysical], :index_as => [:searchable, :facetable])
180
- t.standard(:ref=>[:pbcoreInstantiation, :instantiationStandard], :index_as => [:searchable, :facetable])
181
- t.media_type(:ref=>[:pbcoreInstantiation, :instantiationMediaType], :index_as => [:searchable, :facetable])
182
- t.generation(:ref=>[:pbcoreInstantiation, :instantiationGenerations], :index_as => [:searchable, :displayable])
183
- t.language(:ref=>[:pbcoreInstantiation, :instantiationLanguage], :index_as => [:searchable, :displayable])
184
- t.colors(:ref=>[:pbcoreInstantiation, :instantiationColors], :index_as => [:searchable, :displayable])
185
- t.archival_collection(
186
- :ref=>[:pbcoreInstantiation, :instantiationRelation, :arc_collection],
187
- :index_as => [:searchable, :facetable]
188
- )
189
- t.archival_series(
190
- :ref=>[:pbcoreInstantiation, :instantiationRelation, :arc_series],
191
- :index_as => [:searchable, :displayable]
192
- )
193
- t.collection_number(
194
- :ref=>[:pbcoreInstantiation, :instantiationRelation, :col_number],
195
- :index_as => [:searchable, :displayable]
196
- )
197
- t.accession_number(:ref=>[:pbcoreInstantiation, :instantiationRelation, :acc_number],
198
- :index_as => [:searchable, :displayable]
199
- )
200
- t.usage(:ref=>[:pbcoreInstantiation, :instantiationRights, :rightsSummary],
201
- :index_as => [:searchable, :displayable]
202
- )
203
-
204
- # Inserted terms
205
- t.condition_note(:proxy=>[:pbcoreInstantiation, :inst_cond_note])
206
- t.cleaning_note(:proxy=>[:pbcoreInstantiation, :inst_clean_note])
143
+ t.rights_summary(:ref => [:pbcoreRightsSummary, :rightsSummary], :index_as => [:searchable, :displayable])
144
+
207
145
  end
208
146
 
209
147
  def self.xml_template
@@ -230,74 +168,34 @@ class Document < ActiveFedora::NokogiriDatastream
230
168
  }
231
169
  xml.pbcoreRelationIdentifier(:annotation=>"Event Series")
232
170
  }
233
- xml.pbcoreCoverage {
234
- xml.coverage(:annotation=>"Event Place")
235
- xml.coverageType {
236
- xml.text "Spatial"
171
+ xml.pbcoreRelation {
172
+ xml.pbcoreRelationType(:source=>"PBCore relationType", :ref=>"http://pbcore.org/vocabularies/relationType#is-part-of") {
173
+ xml.text "Is Part Of"
237
174
  }
175
+ xml.pbcoreRelationIdentifier(:annotation=>"Archival Collection")
238
176
  }
239
- xml.pbcoreCoverage {
240
- xml.coverage(:annotation=>"Event Date")
241
- xml.coverageType {
242
- xml.text "Temporal"
177
+ xml.pbcoreRelation {
178
+ xml.pbcoreRelationType(:source=>"PBCore relationType", :ref=>"http://pbcore.org/vocabularies/relationType#is-part-of") {
179
+ xml.text "Is Part Of"
243
180
  }
181
+ xml.pbcoreRelationIdentifier(:annotation=>"Archival Series")
244
182
  }
245
- xml.pbcoreAnnotation(:annotationType=>"Notes")
246
-
247
- #
248
- # Default physical item
249
- #
250
- xml.pbcoreInstantiation {
251
-
252
- # Item details
253
- xml.instantiationIdentifier(:annotation=>"Barcode", :source=>"Rock and Roll Hall of Fame and Museum")
254
- xml.instantiationDate(:dateType=>"created")
255
- xml.instantiationPhysical(:source=>"PBCore instantiationPhysical")
256
- xml.instantiationStandard
257
- xml.instantiationLocation {
258
- xml.text "Rock and Roll Hall of Fame and Museum,\n2809 Woodland Ave.,\nCleveland, OH, 44115\n216-515-1956\nlibrary@rockhall.org"
259
- }
260
- xml.instantiationMediaType(:source=>"PBCore instantiationMediaType") {
261
- xml.text "Moving image"
262
- }
263
- xml.instantiationGenerations(:source=>"PBCore instantiationGenerations") {
264
- xml.text "Original"
265
- }
266
- xml.instantiationColors {
267
- xml.text "Color"
268
- }
269
- xml.instantiationLanguage(:source=>"ISO 639.2", :ref=>"http://www.loc.gov/standards/iso639-2/php/code_list.php") {
270
- xml.text "eng"
271
- }
272
- xml.instantiationRelation {
273
- xml.instantiationRelationType(:source=>"PBCore relationType", :ref=>"http://pbcore.org/vocabularies/relationType#is-part-of") {
274
- xml.text "Is Part Of"
275
- }
276
- xml.instantiationRelationIdentifier(:annotation=>"Archival Collection")
277
- }
278
- xml.instantiationRelation {
279
- xml.instantiationRelationType(:source=>"PBCore relationType", :ref=>"http://pbcore.org/vocabularies/relationType#is-part-of") {
280
- xml.text "Is Part Of"
281
- }
282
- xml.instantiationRelationIdentifier(:annotation=>"Archival Series")
283
- }
284
- xml.instantiationRelation {
285
- xml.instantiationRelationType(:source=>"PBCore relationType", :ref=>"http://pbcore.org/vocabularies/relationType#is-part-of") {
286
- xml.text "Is Part Of"
287
- }
288
- xml.instantiationRelationIdentifier(:annotation=>"Collection Number")
289
- }
290
- xml.instantiationRelation {
291
- xml.instantiationRelationType(:source=>"PBCore relationType", :ref=>"http://pbcore.org/vocabularies/relationType#is-part-of") {
292
- xml.text "Is Part Of"
293
- }
294
- xml.instantiationRelationIdentifier(:annotation=>"Accession Number")
183
+ xml.pbcoreRelation {
184
+ xml.pbcoreRelationType(:source=>"PBCore relationType", :ref=>"http://pbcore.org/vocabularies/relationType#is-part-of") {
185
+ xml.text "Is Part Of"
295
186
  }
296
- xml.instantiationRights {
297
- xml.rightsSummary
187
+ xml.pbcoreRelationIdentifier(:annotation=>"Collection Number")
188
+ }
189
+ xml.pbcoreRelation {
190
+ xml.pbcoreRelationType(:source=>"PBCore relationType", :ref=>"http://pbcore.org/vocabularies/relationType#is-part-of") {
191
+ xml.text "Is Part Of"
298
192
  }
299
-
193
+ xml.pbcoreRelationIdentifier(:annotation=>"Accession Number")
300
194
  }
195
+ xml.pbcoreRightsSummary {
196
+ xml.rightsSummary
197
+ }
198
+ xml.pbcoreAnnotation(:annotationType=>"Notes")
301
199
 
302
200
  }
303
201