class DogBiscuits::Configuration

Attributes

authorities_add_new[W]

Add values that aren't found in the following table-based authorities to be added on save.

This only works in cases where the name of the authority is a pluralized form of
the name of the property which uses it, eg. subjects/subject and languages/language
conference_item_properties[W]

Properties in order:

basic metadata (as per Hyrax),
this model (alphebetized),
remaining common properties and resource_type (alphebeized)
conference_item_properties_required[W]
dataset_properties[W]
dataset_properties_required[W]
date_picker[W]
date_picker_dates[W]
date_properties[W]

All of these are date properties These will be indexed into the date_picker if present

date_range[W]
digital_archival_object_properties[W]
digital_archival_object_properties_required[W]
exam_paper_properties[W]
exam_paper_properties_required[W]
exclude_from_search_properties[W]
facet_only_properties[W]

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
facet_properties[W]

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
index_properties[W]

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
journal_article_properties[W]
journal_article_properties_required[W]
package_properties[W]
package_properties_required[W]
published_work_properties[W]
published_work_properties_required[W]
restricted_properties[W]

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

restricted_properties_enabled[W]

Enable restricted properties in the form. If set to false, no restrictions will be applied Default is false

restricted_role[W]

Role to use when restricting properties Default is :admin

selected_models[W]

Models used in the app (used by the generate_all generator)

singular_properties[W]

Render these properties as singular in the form

thesis_properties[W]
thesis_properties_required[W]

Public Instance Methods

all_properties() click to toggle source

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
authorities_add_new() click to toggle source
# File lib/dog_biscuits/configuration.rb, line 82
def authorities_add_new
  @authorities_add_new ||= []
end
available_models() click to toggle source

All available models

# File lib/dog_biscuits/configuration.rb, line 20
def available_models
  ['ConferenceItem', 'Dataset', 'DigitalArchivalObject', 'ExamPaper', 'JournalArticle', 'Package', 'PublishedWork', 'Thesis'].freeze
end
base_properties() click to toggle source

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() click to toggle source

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
conference_item_properties() click to toggle source
# 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
conference_item_properties_required() click to toggle source
# File lib/dog_biscuits/configuration.rb, line 295
def conference_item_properties_required
  @conference_item_properties_required ||= required_properties
end
dataset_properties() click to toggle source

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
dataset_properties_required() click to toggle source

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
date_picker() click to toggle source
# File lib/dog_biscuits/configuration.rb, line 31
def date_picker
  @date_picker ||= false
end
date_picker_dates() click to toggle source
# File lib/dog_biscuits/configuration.rb, line 36
def date_picker_dates
  @date_picker_dates ||= date_properties
end
date_properties() click to toggle source
# 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
date_range() click to toggle source
# File lib/dog_biscuits/configuration.rb, line 41
def date_range
  @date_range ||= false
end
digital_archival_object_properties() click to toggle source
# 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
digital_archival_object_properties_required() click to toggle source
# File lib/dog_biscuits/configuration.rb, line 318
def digital_archival_object_properties_required
  @digital_archival_object_properties_required ||= required_properties
end
exam_paper_properties() click to toggle source
# 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
exam_paper_properties_required() click to toggle source
# File lib/dog_biscuits/configuration.rb, line 414
def exam_paper_properties_required
  @exam_paper_properties_required ||= required_properties
end
exclude_from_search_properties() click to toggle source
# 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
facet_only_properties() click to toggle source
# 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
facet_properties() click to toggle source
# 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
index_properties() click to toggle source
# 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
journal_article_properties() click to toggle source
# 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
journal_article_properties_required() click to toggle source
# File lib/dog_biscuits/configuration.rb, line 376
def journal_article_properties_required
  @journal_article_properties_required ||= required_properties
end
package_properties() click to toggle source
# 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
package_properties_required() click to toggle source
# File lib/dog_biscuits/configuration.rb, line 493
def package_properties_required
  @package_properties_required ||= required_properties
end
published_work_properties() click to toggle source
# 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
published_work_properties_required() click to toggle source
# File lib/dog_biscuits/configuration.rb, line 350
def published_work_properties_required
  @published_work_properties_required ||= required_properties
end
required_properties() click to toggle source

Default required properties.

# File lib/dog_biscuits/configuration.rb, line 46
def required_properties
  %i[title creator keyword rights_statement].freeze
end
restricted_properties() click to toggle source
# File lib/dog_biscuits/configuration.rb, line 253
def restricted_properties
  @restricted_properties ||= %i[last_access number_of_downloads]
end
restricted_properties_enabled() click to toggle source
# File lib/dog_biscuits/configuration.rb, line 241
def restricted_properties_enabled
  @restricted_properties_enabled ||= false
end
restricted_role() click to toggle source
# File lib/dog_biscuits/configuration.rb, line 260
def restricted_role
  @restricted_role ||= :admin
end
selected_models() click to toggle source
# File lib/dog_biscuits/configuration.rb, line 26
def selected_models
  @selected_models ||= available_models
end
singular_properties() click to toggle source
# 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
thesis_properties() click to toggle source

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
thesis_properties_required() click to toggle source
# File lib/dog_biscuits/configuration.rb, line 396
def thesis_properties_required
  @thesis_properties_required ||= required_properties
end