hydra-pbcore 1.1.1 → 1.1.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.
- data/lib/hydra-pbcore/datastream/deprecated/digital_document.rb +21 -0
- data/lib/hydra-pbcore/datastream/deprecated/document.rb +38 -17
- data/lib/hydra-pbcore/datastream/deprecated/instantiation.rb +0 -1
- data/lib/hydra-pbcore/methods.rb +15 -0
- data/lib/hydra-pbcore/version.rb +1 -1
- data/spec/deprecated/digital_document_spec.rb +10 -10
- data/spec/deprecated/document_spec.rb +12 -12
- data/spec/fixtures/deprecated/pbcore_solr_digital_document_template.xml +158 -176
- data/spec/fixtures/deprecated/pbcore_solr_document_template.xml +160 -176
- metadata +2 -2
| @@ -76,5 +76,26 @@ class DigitalDocument < ActiveFedora::NokogiriDatastream | |
| 76 76 | 
             
                return builder.doc
         | 
| 77 77 | 
             
              end
         | 
| 78 78 |  | 
| 79 | 
            +
              def to_solr(solr_doc = Hash.new)
         | 
| 80 | 
            +
                super(solr_doc)
         | 
| 81 | 
            +
                solr_doc.merge!({"format" => "Video"})
         | 
| 82 | 
            +
             | 
| 83 | 
            +
                # TODO: map PBcore's three-letter language codes to full language names
         | 
| 84 | 
            +
                # Right now, everything's English.
         | 
| 85 | 
            +
                if self.find_by_terms(:language).text.match("eng")
         | 
| 86 | 
            +
                  solr_doc.merge!(:language_facet => "English")
         | 
| 87 | 
            +
                else
         | 
| 88 | 
            +
                  solr_doc.merge!(:language_facet => "Unknown")
         | 
| 89 | 
            +
                end
         | 
| 90 | 
            +
             | 
| 91 | 
            +
                # Extract 4-digit year for creation date facet in Hydra and pub_date facet in Blacklight
         | 
| 92 | 
            +
                create = self.find_by_terms(:creation_date).text.strip
         | 
| 93 | 
            +
                unless create.nil? or create.empty?
         | 
| 94 | 
            +
                  solr_doc.merge!(:create_date_facet => get_year(create))
         | 
| 95 | 
            +
                  solr_doc.merge!(:pub_date => get_year(create))
         | 
| 96 | 
            +
                end
         | 
| 97 | 
            +
                return solr_doc
         | 
| 98 | 
            +
              end
         | 
| 99 | 
            +
             | 
| 79 100 | 
             
            end
         | 
| 80 101 | 
             
            end
         | 
| @@ -15,7 +15,7 @@ class Document < ActiveFedora::NokogiriDatastream | |
| 15 15 | 
             
                  :attributes=>{ :source=>"Rock and Roll Hall of Fame and Museum", :annotation=>"PID" }
         | 
| 16 16 | 
             
                )
         | 
| 17 17 |  | 
| 18 | 
            -
                t. | 
| 18 | 
            +
                t.title(:path=>"pbcoreTitle", :attributes=>{ :titleType=>"Main" }, :index_as => [:searchable, :displayable])
         | 
| 19 19 | 
             
                t.alternative_title(:path=>"pbcoreTitle", :attributes=>{ :titleType=>"Alternative" },
         | 
| 20 20 | 
             
                  :index_as => [:searchable, :displayable]
         | 
| 21 21 | 
             
                )
         | 
| @@ -30,7 +30,7 @@ class Document < ActiveFedora::NokogiriDatastream | |
| 30 30 | 
             
                )
         | 
| 31 31 |  | 
| 32 32 | 
             
                # This is only to display all subjects
         | 
| 33 | 
            -
                t. | 
| 33 | 
            +
                t.subject(:path=>"pbcoreSubject", :index_as => [:facetable])
         | 
| 34 34 |  | 
| 35 35 | 
             
                # Individual subject types defined for entry
         | 
| 36 36 | 
             
                t.lc_subject(:path=>"pbcoreSubject", 
         | 
| @@ -59,7 +59,7 @@ class Document < ActiveFedora::NokogiriDatastream | |
| 59 59 | 
             
                    :index_as => [:searchable, :displayable]
         | 
| 60 60 | 
             
                )
         | 
| 61 61 |  | 
| 62 | 
            -
                t. | 
| 62 | 
            +
                t.contents(:path=>"pbcoreDescription", 
         | 
| 63 63 | 
             
                  :attributes=>{ 
         | 
| 64 64 | 
             
                    :descriptionType=>"Table of Contents",
         | 
| 65 65 | 
             
                    :descriptionTypeSource=>"pbcoreDescription/descriptionType",
         | 
| @@ -70,7 +70,7 @@ class Document < ActiveFedora::NokogiriDatastream | |
| 70 70 | 
             
                )
         | 
| 71 71 |  | 
| 72 72 | 
             
                # This is only to display all genres
         | 
| 73 | 
            -
                t. | 
| 73 | 
            +
                t.genre(:path=>"pbcoreGenre", :index_as => [:facetable])
         | 
| 74 74 |  | 
| 75 75 | 
             
                # Individual genre types defined for entry
         | 
| 76 76 | 
             
                t.getty_genre(:path=>"pbcoreGenre", 
         | 
| @@ -100,7 +100,7 @@ class Document < ActiveFedora::NokogiriDatastream | |
| 100 100 | 
             
                t.pbcoreRelation do
         | 
| 101 101 | 
             
                  t.pbcoreRelationIdentifier(:attributes=>{ :annotation=>"Event Series" })
         | 
| 102 102 | 
             
                end
         | 
| 103 | 
            -
                t. | 
| 103 | 
            +
                t.series(:ref=>[:pbcoreRelation, :pbcoreRelationIdentifier], :index_as => [:facetable, :displayable])
         | 
| 104 104 |  | 
| 105 105 | 
             
                # Terms for time and place
         | 
| 106 106 | 
             
                t.event_place(:path=>"pbcoreCoverage/coverage", 
         | 
| @@ -114,14 +114,13 @@ class Document < ActiveFedora::NokogiriDatastream | |
| 114 114 |  | 
| 115 115 | 
             
                # Contributor names and roles
         | 
| 116 116 | 
             
                t.contributor(:path=>"pbcoreContributor") do
         | 
| 117 | 
            -
                  t.name_(:path=>"contributor" | 
| 117 | 
            +
                  t.name_(:path=>"contributor")
         | 
| 118 118 | 
             
                  t.role_(:path=>"contributorRole", 
         | 
| 119 | 
            -
                    :attributes=>{ :source=>"MARC relator terms" } | 
| 120 | 
            -
                    :index_as => [:searchable, :displayable]
         | 
| 119 | 
            +
                    :attributes=>{ :source=>"MARC relator terms" }
         | 
| 121 120 | 
             
                  )
         | 
| 122 121 | 
             
                end
         | 
| 123 | 
            -
                t.contributor_name(:proxy=>[:contributor, :name])
         | 
| 124 | 
            -
                t.contributor_role(:proxy=>[:contributor, :role])
         | 
| 122 | 
            +
                t.contributor_name(:proxy=>[:contributor, :name], :index_as => [:searchable, :facetable])
         | 
| 123 | 
            +
                t.contributor_role(:proxy=>[:contributor, :role], :index_as => [:searchable, :displayable])
         | 
| 125 124 |  | 
| 126 125 | 
             
                # Publisher names and roles
         | 
| 127 126 | 
             
                t.publisher(:path=>"pbcorePublisher") do
         | 
| @@ -131,7 +130,7 @@ class Document < ActiveFedora::NokogiriDatastream | |
| 131 130 | 
             
                t.publisher_name(:proxy=>[:publisher, :name], :index_as => [:searchable, :facetable])
         | 
| 132 131 | 
             
                t.publisher_role(:proxy=>[:publisher, :role], :index_as => [:searchable, :displayable])
         | 
| 133 132 |  | 
| 134 | 
            -
                t.note(:path=>"pbcoreAnnotation", :atttributes=>{ :annotationType=>"Notes" }, :index_as => [:searchable])
         | 
| 133 | 
            +
                t.note(:path=>"pbcoreAnnotation", :atttributes=>{ :annotationType=>"Notes" }, :index_as => [:searchable, :displayable])
         | 
| 135 134 |  | 
| 136 135 | 
             
                #
         | 
| 137 136 | 
             
                # pbcoreInstantiation fields for the physical item
         | 
| @@ -177,15 +176,15 @@ class Document < ActiveFedora::NokogiriDatastream | |
| 177 176 | 
             
                t.creation_date(:ref=>[:pbcoreInstantiation, :instantiationDate], :index_as => [:not_searchable, :converted_date, :displayable])
         | 
| 178 177 | 
             
                t.barcode(:ref=>[:pbcoreInstantiation, :instantiationIdentifier], :index_as => [:searchable, :displayable])
         | 
| 179 178 | 
             
                t.repository(:ref=>[:pbcoreInstantiation, :instantiationLocation], :index_as => [:searchable, :displayable])
         | 
| 180 | 
            -
                t. | 
| 181 | 
            -
                t.standard(:ref=>[:pbcoreInstantiation, :instantiationStandard], :index_as => [:searchable, : | 
| 182 | 
            -
                t.media_type(:ref=>[:pbcoreInstantiation, :instantiationMediaType], :index_as => [:searchable, : | 
| 179 | 
            +
                t.media_format(:ref=>[:pbcoreInstantiation, :instantiationPhysical], :index_as => [:searchable, :facetable])
         | 
| 180 | 
            +
                t.standard(:ref=>[:pbcoreInstantiation, :instantiationStandard], :index_as => [:searchable, :displayable])
         | 
| 181 | 
            +
                t.media_type(:ref=>[:pbcoreInstantiation, :instantiationMediaType], :index_as => [:searchable, :displayable])
         | 
| 183 182 | 
             
                t.generation(:ref=>[:pbcoreInstantiation, :instantiationGenerations], :index_as => [:searchable, :displayable])
         | 
| 184 183 | 
             
                t.language(:ref=>[:pbcoreInstantiation, :instantiationLanguage], :index_as => [:searchable, :displayable])
         | 
| 185 184 | 
             
                t.colors(:ref=>[:pbcoreInstantiation, :instantiationColors], :index_as => [:searchable, :displayable])
         | 
| 186 | 
            -
                t. | 
| 185 | 
            +
                t.collection(
         | 
| 187 186 | 
             
                  :ref=>[:pbcoreInstantiation, :instantiationRelation, :arc_collection], 
         | 
| 188 | 
            -
                  :index_as => [: | 
| 187 | 
            +
                  :index_as => [:facetable]
         | 
| 189 188 | 
             
                )
         | 
| 190 189 | 
             
                t.archival_series(
         | 
| 191 190 | 
             
                  :ref=>[:pbcoreInstantiation, :instantiationRelation, :arc_series], 
         | 
| @@ -198,7 +197,7 @@ class Document < ActiveFedora::NokogiriDatastream | |
| 198 197 | 
             
                t.accession_number(:ref=>[:pbcoreInstantiation, :instantiationRelation, :acc_number],
         | 
| 199 198 | 
             
                  :index_as => [:searchable, :displayable]
         | 
| 200 199 | 
             
                )
         | 
| 201 | 
            -
                t. | 
| 200 | 
            +
                t.access(:ref=>[:pbcoreInstantiation, :instantiationRights, :rightsSummary],
         | 
| 202 201 | 
             
                  :index_as => [:searchable, :displayable]
         | 
| 203 202 | 
             
                )
         | 
| 204 203 |  | 
| @@ -306,5 +305,27 @@ class Document < ActiveFedora::NokogiriDatastream | |
| 306 305 | 
             
                return builder.doc
         | 
| 307 306 | 
             
              end
         | 
| 308 307 |  | 
| 308 | 
            +
              def to_solr(solr_doc = Hash.new)
         | 
| 309 | 
            +
                super(solr_doc)
         | 
| 310 | 
            +
                solr_doc.merge!({"format" => "Video"})
         | 
| 311 | 
            +
             | 
| 312 | 
            +
                # TODO: map PBcore's three-letter language codes to full language names
         | 
| 313 | 
            +
                # Right now, everything's English.
         | 
| 314 | 
            +
                if self.find_by_terms(:language).text.match("eng")
         | 
| 315 | 
            +
                  solr_doc.merge!(:language_facet => "English")
         | 
| 316 | 
            +
                else
         | 
| 317 | 
            +
                  solr_doc.merge!(:language_facet => "Unknown")
         | 
| 318 | 
            +
                end
         | 
| 319 | 
            +
             | 
| 320 | 
            +
                # Extract 4-digit year for creation date facet in Hydra and pub_date facet in Blacklight
         | 
| 321 | 
            +
                create = self.find_by_terms(:creation_date).text.strip
         | 
| 322 | 
            +
                unless create.nil? or create.empty?
         | 
| 323 | 
            +
                  solr_doc.merge!(:create_date_facet => get_year(create))
         | 
| 324 | 
            +
                  solr_doc.merge!(:pub_date => get_year(create))
         | 
| 325 | 
            +
                end
         | 
| 326 | 
            +
                return solr_doc
         | 
| 327 | 
            +
              end
         | 
| 328 | 
            +
             | 
| 329 | 
            +
             | 
| 309 330 | 
             
            end
         | 
| 310 331 | 
             
            end
         | 
| @@ -189,7 +189,6 @@ class Instantiation < ActiveFedora::NokogiriDatastream | |
| 189 189 | 
             
                # Proxies to the relation fields
         | 
| 190 190 | 
             
                t.next_(:proxy=>[:pbcoreInstantiation, :next_inst, :instantiationRelationIdentifier])
         | 
| 191 191 | 
             
                t.previous_(:proxy=>[:pbcoreInstantiation, :previous_inst, :instantiationRelationIdentifier])
         | 
| 192 | 
            -
             | 
| 193 192 | 
             
              end
         | 
| 194 193 |  | 
| 195 194 | 
             
              def self.xml_template
         | 
    
        data/lib/hydra-pbcore/methods.rb
    CHANGED
    
    | @@ -27,4 +27,19 @@ module HydraPbcore::Methods | |
| 27 27 | 
             
                xsd.validate(self.to_pbcore_xml)
         | 
| 28 28 | 
             
              end
         | 
| 29 29 |  | 
| 30 | 
            +
              # Returns the 4-digit year from a string
         | 
| 31 | 
            +
              def get_year(s)
         | 
| 32 | 
            +
                begin
         | 
| 33 | 
            +
                  return DateTime.parse(s).year.to_s
         | 
| 34 | 
            +
                rescue
         | 
| 35 | 
            +
                  if s.match(/^\d\d\d\d$/)
         | 
| 36 | 
            +
                    return s.to_s
         | 
| 37 | 
            +
                  elsif s.match(/^(\d\d\d\d)-\d\d$/)
         | 
| 38 | 
            +
                    return $1.to_s
         | 
| 39 | 
            +
                  else
         | 
| 40 | 
            +
                    return nil
         | 
| 41 | 
            +
                  end
         | 
| 42 | 
            +
                end
         | 
| 43 | 
            +
              end
         | 
| 44 | 
            +
             | 
| 30 45 | 
             
            end
         | 
    
        data/lib/hydra-pbcore/version.rb
    CHANGED
    
    
| @@ -10,7 +10,7 @@ describe HydraPbcore::Datastream::Deprecated::DigitalDocument do | |
| 10 10 | 
             
                it "should update all of the fields in #xml_template and fields not requiring additional inserted nodes" do
         | 
| 11 11 | 
             
                  [
         | 
| 12 12 | 
             
                    [:pbc_id],
         | 
| 13 | 
            -
                    [: | 
| 13 | 
            +
                    [:title],
         | 
| 14 14 | 
             
                    [:alternative_title],
         | 
| 15 15 | 
             
                    [:chapter],
         | 
| 16 16 | 
             
                    [:episode],
         | 
| @@ -20,25 +20,25 @@ describe HydraPbcore::Datastream::Deprecated::DigitalDocument do | |
| 20 20 | 
             
                    [:track],
         | 
| 21 21 | 
             
                    [:translation],
         | 
| 22 22 | 
             
                    [:summary],
         | 
| 23 | 
            -
                    [: | 
| 23 | 
            +
                    [:contents],
         | 
| 24 24 | 
             
                    [:lc_subject],
         | 
| 25 25 | 
             
                    [:lc_name],
         | 
| 26 26 | 
             
                    [:rh_subject],
         | 
| 27 27 | 
             
                    [:getty_genre],
         | 
| 28 28 | 
             
                    [:lc_genre],
         | 
| 29 29 | 
             
                    [:lc_subject_genre],
         | 
| 30 | 
            -
                    [: | 
| 30 | 
            +
                    [:series],
         | 
| 31 31 | 
             
                    [:event_place],
         | 
| 32 32 | 
             
                    [:contributor_name],
         | 
| 33 33 | 
             
                    [:contributor_role],
         | 
| 34 34 | 
             
                    [:publisher_name],
         | 
| 35 35 | 
             
                    [:publisher_role],
         | 
| 36 36 | 
             
                    [:note],
         | 
| 37 | 
            -
                    [: | 
| 37 | 
            +
                    [:collection],
         | 
| 38 38 | 
             
                    [:archival_series],
         | 
| 39 39 | 
             
                    [:collection_number],
         | 
| 40 40 | 
             
                    [:accession_number],
         | 
| 41 | 
            -
                    [: | 
| 41 | 
            +
                    [:access],
         | 
| 42 42 | 
             
                  ].each do |pointer|
         | 
| 43 43 | 
             
                    test_val = "#{pointer.last.to_s} value"
         | 
| 44 44 | 
             
                    @object_ds.update_values( {pointer=>{"0"=>test_val}} )
         | 
| @@ -154,7 +154,7 @@ describe HydraPbcore::Datastream::Deprecated::DigitalDocument do | |
| 154 154 | 
             
                  @object_ds.insert_contributor
         | 
| 155 155 | 
             
                  [
         | 
| 156 156 | 
             
                    "pbc_id",
         | 
| 157 | 
            -
                    " | 
| 157 | 
            +
                    "title",
         | 
| 158 158 | 
             
                    "alternative_title",
         | 
| 159 159 | 
             
                    "chapter",
         | 
| 160 160 | 
             
                    "episode",
         | 
| @@ -164,25 +164,25 @@ describe HydraPbcore::Datastream::Deprecated::DigitalDocument do | |
| 164 164 | 
             
                    "track",
         | 
| 165 165 | 
             
                    "translation",
         | 
| 166 166 | 
             
                    "summary",
         | 
| 167 | 
            -
                    " | 
| 167 | 
            +
                    "contents",
         | 
| 168 168 | 
             
                    "lc_subject",
         | 
| 169 169 | 
             
                    "lc_name",
         | 
| 170 170 | 
             
                    "rh_subject",
         | 
| 171 171 | 
             
                    "getty_genre",
         | 
| 172 172 | 
             
                    "lc_genre",
         | 
| 173 173 | 
             
                    "lc_subject_genre",
         | 
| 174 | 
            -
                    " | 
| 174 | 
            +
                    "series",
         | 
| 175 175 | 
             
                    "event_place",
         | 
| 176 176 | 
             
                    "contributor_name",
         | 
| 177 177 | 
             
                    "contributor_role",
         | 
| 178 178 | 
             
                    "publisher_name",
         | 
| 179 179 | 
             
                    "publisher_role",
         | 
| 180 180 | 
             
                    "note",
         | 
| 181 | 
            -
                    " | 
| 181 | 
            +
                    "collection",
         | 
| 182 182 | 
             
                    "archival_series",
         | 
| 183 183 | 
             
                    "collection_number",
         | 
| 184 184 | 
             
                    "accession_number",
         | 
| 185 | 
            -
                    " | 
| 185 | 
            +
                    "access"
         | 
| 186 186 | 
             
                  ].each do |field|
         | 
| 187 187 | 
             
                    @object_ds.send("#{field}=".to_sym, field)
         | 
| 188 188 | 
             
                  end
         | 
| @@ -10,7 +10,7 @@ describe HydraPbcore::Datastream::Deprecated::Document do | |
| 10 10 | 
             
                it "should update all of the fields in #xml_template and fields not requiring additional inserted nodes" do
         | 
| 11 11 | 
             
                  [
         | 
| 12 12 | 
             
                    [:pbc_id],
         | 
| 13 | 
            -
                    [: | 
| 13 | 
            +
                    [:title],
         | 
| 14 14 | 
             
                    [:alternative_title],
         | 
| 15 15 | 
             
                    [:chapter],
         | 
| 16 16 | 
             
                    [:episode],
         | 
| @@ -20,14 +20,14 @@ describe HydraPbcore::Datastream::Deprecated::Document do | |
| 20 20 | 
             
                    [:track],
         | 
| 21 21 | 
             
                    [:translation],
         | 
| 22 22 | 
             
                    [:summary],
         | 
| 23 | 
            -
                    [: | 
| 23 | 
            +
                    [:contents],
         | 
| 24 24 | 
             
                    [:lc_subject],
         | 
| 25 25 | 
             
                    [:lc_name],
         | 
| 26 26 | 
             
                    [:rh_subject],
         | 
| 27 27 | 
             
                    [:getty_genre],
         | 
| 28 28 | 
             
                    [:lc_genre],
         | 
| 29 29 | 
             
                    [:lc_subject_genre],
         | 
| 30 | 
            -
                    [: | 
| 30 | 
            +
                    [:series],
         | 
| 31 31 | 
             
                    [:event_place],
         | 
| 32 32 | 
             
                    [:contributor_name],
         | 
| 33 33 | 
             
                    [:contributor_role],
         | 
| @@ -36,17 +36,17 @@ describe HydraPbcore::Datastream::Deprecated::Document do | |
| 36 36 | 
             
                    [:note],
         | 
| 37 37 | 
             
                    [:barcode],
         | 
| 38 38 | 
             
                    [:repository],
         | 
| 39 | 
            -
                    [: | 
| 39 | 
            +
                    [:media_format],
         | 
| 40 40 | 
             
                    [:standard],
         | 
| 41 41 | 
             
                    [:media_type],
         | 
| 42 42 | 
             
                    [:generation],
         | 
| 43 43 | 
             
                    [:language],
         | 
| 44 44 | 
             
                    [:colors],
         | 
| 45 | 
            -
                    [: | 
| 45 | 
            +
                    [:collection],
         | 
| 46 46 | 
             
                    [:archival_series],
         | 
| 47 47 | 
             
                    [:collection_number],
         | 
| 48 48 | 
             
                    [:accession_number],
         | 
| 49 | 
            -
                    [: | 
| 49 | 
            +
                    [:access],
         | 
| 50 50 | 
             
                    [:condition_note],
         | 
| 51 51 | 
             
                    [:cleaning_note]
         | 
| 52 52 | 
             
                  ].each do |pointer|
         | 
| @@ -176,7 +176,7 @@ describe HydraPbcore::Datastream::Deprecated::Document do | |
| 176 176 | 
             
                  @object_ds.insert_publisher
         | 
| 177 177 | 
             
                  @object_ds.insert_contributor
         | 
| 178 178 | 
             
                  [
         | 
| 179 | 
            -
                    " | 
| 179 | 
            +
                    "title",
         | 
| 180 180 | 
             
                    "alternative_title",
         | 
| 181 181 | 
             
                    "chapter",
         | 
| 182 182 | 
             
                    "episode",
         | 
| @@ -186,14 +186,14 @@ describe HydraPbcore::Datastream::Deprecated::Document do | |
| 186 186 | 
             
                    "track",
         | 
| 187 187 | 
             
                    "translation",
         | 
| 188 188 | 
             
                    "summary",
         | 
| 189 | 
            -
                    " | 
| 189 | 
            +
                    "contents",
         | 
| 190 190 | 
             
                    "lc_subject",
         | 
| 191 191 | 
             
                    "lc_name",
         | 
| 192 192 | 
             
                    "rh_subject",
         | 
| 193 193 | 
             
                    "getty_genre",
         | 
| 194 194 | 
             
                    "lc_genre",
         | 
| 195 195 | 
             
                    "lc_subject_genre",
         | 
| 196 | 
            -
                    " | 
| 196 | 
            +
                    "series",
         | 
| 197 197 | 
             
                    "event_place",
         | 
| 198 198 | 
             
                    "event_date",
         | 
| 199 199 | 
             
                    "contributor_name",
         | 
| @@ -204,17 +204,17 @@ describe HydraPbcore::Datastream::Deprecated::Document do | |
| 204 204 | 
             
                    "creation_date",
         | 
| 205 205 | 
             
                    "barcode",
         | 
| 206 206 | 
             
                    "repository",
         | 
| 207 | 
            -
                    " | 
| 207 | 
            +
                    "media_format",
         | 
| 208 208 | 
             
                    "standard",
         | 
| 209 209 | 
             
                    "media_type",
         | 
| 210 210 | 
             
                    "generation",
         | 
| 211 211 | 
             
                    "language",
         | 
| 212 212 | 
             
                    "colors",
         | 
| 213 | 
            -
                    " | 
| 213 | 
            +
                    "collection",
         | 
| 214 214 | 
             
                    "archival_series",
         | 
| 215 215 | 
             
                    "collection_number",
         | 
| 216 216 | 
             
                    "accession_number",
         | 
| 217 | 
            -
                    " | 
| 217 | 
            +
                    "access",
         | 
| 218 218 | 
             
                    "condition_note",
         | 
| 219 219 | 
             
                    "cleaning_note"
         | 
| 220 220 | 
             
                  ].each do |field|
         |