diff --git a/app/models/iiif_resource.rb b/app/models/iiif_resource.rb index aca3ceed..10691f98 100644 --- a/app/models/iiif_resource.rb +++ b/app/models/iiif_resource.rb @@ -35,7 +35,7 @@ def to_solr solr_doc['content_metadata_image_iiif_info_ssm'] = manifest['thumbnail']['@id'].sub(/full.*/, 'info.json') end manifest['metadata'].each do |h| - solr_doc[field_name(h['label'].parameterize('_'))] = h['value'].map { |v| v["@value"] || v} + solr_doc[field_name(h['label'].parameterize('_'))] = h['value'].map { |v| v["@value"] || v } end solr_doc.merge! sidecar.to_solr end diff --git a/app/models/solr_document.rb b/app/models/solr_document.rb index 54242bc3..75499b24 100644 --- a/app/models/solr_document.rb +++ b/app/models/solr_document.rb @@ -19,4 +19,24 @@ class SolrDocument # and Blacklight::Document::SemanticFields#to_semantic_values # Recommendation: Use field names from Dublin Core use_extension(Blacklight::Document::DublinCore) + + def display_fields + @display_fields ||= to_h.select do |x| + !x.start_with?("spotlight_") && + !reserved_fields.include?(x) && + !x.end_with?("bsi") + end + end + + private + + def reserved_fields + [ + "full_title_ssim", + "id", + "_version_", + "timestamp", + "manifest_url_ssm" + ] + end end diff --git a/app/views/catalog/_show_default.html.erb b/app/views/catalog/_show_default.html.erb new file mode 100644 index 00000000..b91e328c --- /dev/null +++ b/app/views/catalog/_show_default.html.erb @@ -0,0 +1,7 @@ +<%# default partial to display solr document fields in catalog show view -%> +