Difference between revisions of "Namedset field"

From EPrints Documentation
Jump to: navigation, search
(Added examples. Improved other sections unhide ToC.)
Line 1: Line 1:
 
{{fieldtypes}}
 
{{fieldtypes}}
__NOTOC__
+
 
 +
 
 +
== Description ==
 +
This field allow 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 <tt>options></tt> 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 ==
 
== Inheritance ==
 
 
* [[Metadata]]
 
* [[Metadata]]
 
** [[Set field]]
 
** [[Set field]]
 
*** [[Namedset field]]
 
*** [[Namedset field]]
 
== Description ==
 
  
 
== Properties ==
 
== Properties ==
 
 
As for [[set field]]s with the following differences...
 
As for [[set field]]s with the following differences...
  
Line 16: Line 18:
 
| name || default || description  
 
| name || default || description  
 
|-
 
|-
| '''set_name''' || n/a/ || '''This property is always required.'''
+
| '''set_name''' || n/a || '''Specifies the filename of the namedset file.  This property is always required.'''
 
|-
 
|-
| '''options''' || undef || ...
+
| '''options''' || undef || '''This property should not be set as will be overridden by the options in the namedset file specified by <tt>set_name</tt>.'''
 
|}
 
|}
  
 
== Required Phrases ==
 
== Required Phrases ==
 +
No additional phrases.  However, you may need to add phrases for some of 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 <tt>[[lib/namedsets/]]</tt>'s <tt>security</tt> file, the phrase for <tt>staffonly</tt> has the ID:
 +
security_typename_staffonly
 +
 +
== Database ==
 +
Namedset fields are stored in the database as
 +
fieldname VARCHAR(255)
 +
 +
== API ==
 +
See [[API:EPrints/MetaField/Namedset|API page]].
 +
 +
== Examples ==
 +
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'
 +
}

Revision as of 15:01, 30 March 2023

EPrints 3 Reference: Directory Structure - Metadata Fields - Repository Configuration - XML Config Files - XML Export Format - EPrints data structure - Core API - Data Objects


Metadata Fields: Arclanguage - Base64 - Bigint - Boolean - Compound - Counter - Dataobjref - Date - Decimal - Email - Fields - Float - Id - Idci - Image - Int - Itemref - Keywords - Langid - Longtext - Longtext_counter - Multilang - Multipart - Name - Namedset - Pagerange - Recaptcha - Recaptcha3 - Relation - Search - Secret - Set - Storable - Subject - Subobject - Text - Time - Timestamp - Url - Uuid


Description

This field allow 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

Properties

As for set fields with the following differences...

name default description
set_name n/a Specifies the filename of the namedset file. This property is always required.
options undef This property should not be set as will be overridden by the options in the namedset file specified by set_name.

Required Phrases

No additional phrases. However, you may need to add phrases for some of 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

Namedset fields are stored in the database as

fieldname VARCHAR(255)

API

See API page.

Examples

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'
}