Jump to content

Namedset field

From EPrints Documentation
Revision as of 11:02, 16 April 2023 by Drn@ecs.soton.ac.uk (talk | contribs) (→Additional Properties)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)


Description[edit]

This field allows a choice from a set of options like a Set field. However, here the options can be defined within a namedset file rather than under the options> attribute of the field configuration. This makes it easier to update the available options, potentially programmatically.

This field offers a halfway house between a Set field and a Subject field. Being more easily re-configurable that the former whilst less complex than the latter.

Inheritance[edit]

Additional Properties[edit]

As for Set fields except for:

Name Default Value Required Description Notes
set_name n/a YES Specifies the filename of the namedset file.
options undef NO Options from which to choose. NOT inherited from Set field. Options provided by namedset file defined in set_name.

Required Phrases[edit]

No additional phrases beyond those required for Set fields. However, you may need to add phrases for some or all the values on the namedset file, depending on whether this is a bespoke namedset file. These will take the form:

namedset_filename + "_typename_" + value

For example for lib/namedsets/'s security file, the phrase for staffonly has the ID:

security_typename_staffonly

Database[edit]

Namedset fields are stored in the database as

fieldname VARCHAR(255)

API[edit]

See API page.

Examples[edit]

Most basic example.

{ 
    name => 'archive', 
    type => 'namedset',
    set_name => 'archives',
}

Make field required and only show one input row.

{
    name => 'security', 
    type => 'namedset', 
    required => 1, 
    input_rows => 1,
    set_name=> 'security',
}

Allow multiple values with long input style (i.e. a list of labelled checkboxes). Link rendered values to a browse view listing.

{
    name => 'category', 
    type => 'namedset',
    set_name => 'artwork', 
    multiple => 1, 
    required => 1, 
    input_style => 'long', 
    browse_link => 'category'
}