class DogBiscuits::Configuration
Attributes
Properties in order:
basic metadata (as per Hyrax), this model (alphebetized), remaining common properties and resource_type (alphebeized)
All of these are date properties These will be indexed into the date_picker
if present
Fields that are not included in the form or show,
eg. those that are generated by the solr indexer for facets only these are already included in facet_properties
All solr fields that will be treated as facets by the blacklight application
The ordering of the field names is the order of the display The properties must have been indexed as facetable
The existing fields will be replaced:
resource_type, creator, tag, subject, language, based_near_label, publisher, file_format
All solr fields to be displayed in the index (search results) view
The ordering of the field names is the order of the display
The existing fields will be replaced so must be included here:
title, description, tag, subject, creator, contributor, publisher, based_near_label, language, date_uploaded, date_modified, date_created, rights, resource_type, format, identifier, extent embargo_release_date, lease_expiration_date
Restrict the following properties in the form to the role specified in
restricted_role
Restrictions apply to 'below the fold' properties only, they are not
applied to required properties
Restrictions apply in the form only, properties are still visible in the
show page
Default is none
Enable restricted properties in the form. If set to false, no restrictions will be applied Default is false
Role to use when restricting properties Default is :admin
Models used in the app (used by the generate_all generator)
Render these properties as singular in the form
Public Instance Methods
All available properties
# File lib/dog_biscuits/configuration.rb, line 11 def all_properties props = selected_models.map { |m| send("#{m.underscore}_properties") }.flatten props.concat(facet_properties) props.concat(index_properties) props << :date_range if date_range == true props.sort.uniq! end
All available models
# File lib/dog_biscuits/configuration.rb, line 20 def available_models ['ConferenceItem', 'Dataset', 'DigitalArchivalObject', 'ExamPaper', 'JournalArticle', 'Package', 'PublishedWork', 'Thesis'].freeze end
Basic Metadata properties from Hyrax Omitting bibliographic_citation
# File lib/dog_biscuits/configuration.rb, line 52 def base_properties %i[title creator contributor description keyword license rights_statement publisher date_created subject language identifier based_near related_url resource_type source].freeze end
Common properties from DogBiscuits
atop those in BasicMetadata Also include resource_type which is part of BasicMetadata but not part of the Hyrax WorkForm Omitting date as this is used for faceting only
# File lib/dog_biscuits/configuration.rb, line 74 def common_properties %i[department doi former_identifier note output_of lat long alt location managing_organisation funder].freeze end
# File lib/dog_biscuits/configuration.rb, line 272 def conference_item_properties properties = %i[abstract date_published date_available date_accepted date_submitted editor event_date isbn official_url pagination place_of_publication publication_status presented_at part_of refereed] properties = base_properties + properties + common_properties properties.sort! @conference_item_properties ||= properties end
# File lib/dog_biscuits/configuration.rb, line 295 def conference_item_properties_required @conference_item_properties_required ||= required_properties end
omitting pure (_uuid, _creation, _type and _link),
requestor_email these are admin info, not for standard form/view
# File lib/dog_biscuits/configuration.rb, line 423 def dataset_properties properties = %i[ abstract content_version date_accepted date_available date_collected date_copyrighted date_issued date_published date_submitted date_updated date_valid dc_access_rights dc_format extent has_restriction last_access number_of_downloads resource_type_general subtitle ] properties = base_properties + properties + common_properties properties.sort! @dataset_properties ||= properties end
use datacite mandatory
exclude doi as this may be generated later in workflow
# File lib/dog_biscuits/configuration.rb, line 454 def dataset_properties_required @dataset_properties_required ||= %i[ creator title publisher date_published resource_type_general resource_type ] end
# File lib/dog_biscuits/configuration.rb, line 31 def date_picker @date_picker ||= false end
# File lib/dog_biscuits/configuration.rb, line 36 def date_picker_dates @date_picker_dates ||= date_properties end
# File lib/dog_biscuits/configuration.rb, line 218 def date_properties @date_properties ||= %i[ date_accepted date_available date_collected date_copyrighted date_created date_issued date_published date_submitted date_updated date_valid date_of_award end_date event_date start_date ] end
# File lib/dog_biscuits/configuration.rb, line 41 def date_range @date_range ||= false end
# File lib/dog_biscuits/configuration.rb, line 303 def digital_archival_object_properties properties = %i[access_provided_by extent part_of lat long alt packaged_by_ids] properties = base_properties + properties + common_properties properties.sort! @digital_archival_object_properties ||= properties end
# File lib/dog_biscuits/configuration.rb, line 318 def digital_archival_object_properties_required @digital_archival_object_properties_required ||= required_properties end
# File lib/dog_biscuits/configuration.rb, line 402 def exam_paper_properties properties = %i[module_code qualification_level qualification_name date_available] properties = base_properties + properties + common_properties properties.sort! @exam_paper_properties ||= properties end
# File lib/dog_biscuits/configuration.rb, line 414 def exam_paper_properties_required @exam_paper_properties_required ||= required_properties end
# File lib/dog_biscuits/configuration.rb, line 159 def exclude_from_search_properties @exclude_from_search_properties ||= %i[ last_access number_of_downloads aip_current_path dip_current_path aip_current_location dip_current_location aip_resource_uri dip_resource_uri packaged_by_ids ] end
# File lib/dog_biscuits/configuration.rb, line 121 def facet_only_properties @facet_only_properties ||= %i[ contributor_combined contributor_type date human_readable_type packaged_by_titles ] end
# File lib/dog_biscuits/configuration.rb, line 92 def facet_properties @facet_properties ||= %i[ human_readable_type resource_type creator contributor_combined contributor_type publisher department funder date keyword subject language based_near_label part_of qualification_level qualification_name refereed publication_status content_version packaged_by_titles ] end
# File lib/dog_biscuits/configuration.rb, line 138 def index_properties @index_properties ||= %i[ title creator publisher contributor_combined date keyword subject resource_type rights_statement license language depositor proxy_depositor embargo_release_date lease_expiration_date ] end
# File lib/dog_biscuits/configuration.rb, line 356 def journal_article_properties properties = %i[abstract date_published date_available date_accepted date_submitted issue_number part_of official_url pagination publication_status refereed volume_number] properties = base_properties + properties + common_properties properties.sort! @journal_article_properties ||= properties end
# File lib/dog_biscuits/configuration.rb, line 376 def journal_article_properties_required @journal_article_properties_required ||= required_properties end
# File lib/dog_biscuits/configuration.rb, line 467 def package_properties properties = %i[ aip_uuid transfer_uuid sip_uuid dip_uuid aip_status dip_status aip_size dip_size aip_current_path dip_current_path aip_current_location dip_current_location aip_resource_uri dip_resource_uri origin_pipeline package_ids ] properties = base_properties + properties + common_properties properties.sort! @package_properties ||= properties end
# File lib/dog_biscuits/configuration.rb, line 493 def package_properties_required @package_properties_required ||= required_properties end
# File lib/dog_biscuits/configuration.rb, line 325 def published_work_properties properties = %i[abstract date_published date_available date_accepted date_submitted edition editor isbn issue_number official_url pagination part place_of_publication publication_status refereed series volume_number] properties = base_properties + properties + common_properties properties.sort! @published_work_properties ||= properties end
# File lib/dog_biscuits/configuration.rb, line 350 def published_work_properties_required @published_work_properties_required ||= required_properties end
Default required properties.
# File lib/dog_biscuits/configuration.rb, line 46 def required_properties %i[title creator keyword rights_statement].freeze end
# File lib/dog_biscuits/configuration.rb, line 253 def restricted_properties @restricted_properties ||= %i[last_access number_of_downloads] end
# File lib/dog_biscuits/configuration.rb, line 241 def restricted_properties_enabled @restricted_properties_enabled ||= false end
# File lib/dog_biscuits/configuration.rb, line 260 def restricted_role @restricted_role ||= :admin end
# File lib/dog_biscuits/configuration.rb, line 26 def selected_models @selected_models ||= available_models end
# File lib/dog_biscuits/configuration.rb, line 175 def singular_properties @singular_properties ||= %i[ date_accepted date_available date_created date_collected date_copyrighted date_issued date_published date_submitted date_updated date_valid end_date event_date issue_number pagination publication_status refereed start_date volume_number aip_uuid transfer_uuid sip_uuid dip_uuid aip_status dip_status aip_size dip_size aip_current_path dip_current_path aip_current_location dip_current_location aip_resource_uri dip_resource_uri origin_pipeline last_access number_of_downloads ] end
omitting orcid
# File lib/dog_biscuits/configuration.rb, line 382 def thesis_properties properties = %i[abstract advisor date_of_award awarding_institution qualification_level qualification_name] properties = base_properties + properties + common_properties properties.sort! @thesis_properties ||= properties end
# File lib/dog_biscuits/configuration.rb, line 396 def thesis_properties_required @thesis_properties_required ||= required_properties end