Difference between revisions of "Eprint fields.pl"

From EPrints Documentation
Jump to: navigation, search
m (Fix typos)
Line 2: Line 2:
 
eprint_fields.pl defines all the optional fields which an EPrint object has. These fields all have mappings to the database. There are a variety of field types which you can see here [[:Category:EPrints_Metadata_Fields|here]].  
 
eprint_fields.pl defines all the optional fields which an EPrint object has. These fields all have mappings to the database. There are a variety of field types which you can see here [[:Category:EPrints_Metadata_Fields|here]].  
  
EPrints have a broad range of field types which enforce various constraints. Each field type has it's own method of storing in the database, retriving the value from the database, rendering the value in HTML, and rendering the input component HTML for use in workflows etc.
+
EPrints have a broad range of field types which enforce various constraints. Each field type has its own method of storing in the database, retrieving the value from the database, rendering the value in HTML, and rendering the input component HTML for use in workflows etc.
  
EPrints also has [[Compound_field|compound]] fields. This is a field made up of compound field definations. This allows you to make very powerful data structures without having to worry about the complexities of how they are stored in the database.
+
EPrints also has [[Compound_field|compound]] fields. This is a field made up of compound field definitions. This allows you to make very powerful data structures without having to worry about the complexities of how they are stored in the database.
  
Note removing fields from eprint_fields.pl does not usually cause data to be deleted from the database. To add or remove fields from eprint_fields.pl you must run <eprintsroot>/bin/epadmin update_database_structure <repo_id> and then reload you configuration (or restart the webserver).
+
Note removing fields from eprint_fields.pl does not usually cause data to be deleted from the database. To add or remove fields from eprint_fields.pl you must run <eprintsroot>/bin/epadmin update_database_structure <repo_id> and then reload your configuration (or restart the webserver).
  
 
==Field Definition==
 
==Field Definition==
The field list is represented by an arrayref of hashrefs. Each hashref has at minimum a <code>name</code> which is the field name used when refering to the field (e.g in search) and a <code>type</code> which describes the type of data the field will hold. Depending on a fields type there may also be other compulsory fields and some optional ones. [[:Category:EPrints_Metadata_Fields |See the details of field definition on the page for that <code>type</code>.]]
+
The field list is represented by an arrayref of hashrefs. Each hashref has at minimum a <code>name</code>, which is the field name used when referring to the field (e.g. in search) and a <code>type</code>, which describes the type of data the field will hold. Depending on a field's type there may also be other compulsory fields and some optional ones. [[:Category:EPrints_Metadata_Fields |See the details of field definition on the page for that <code>type</code>.]]
 
    
 
    
 
<pre>$c->{fields}->{eprint} = [
 
<pre>$c->{fields}->{eprint} = [

Revision as of 10:20, 10 August 2012

EPrint Fields

eprint_fields.pl defines all the optional fields which an EPrint object has. These fields all have mappings to the database. There are a variety of field types which you can see here here.

EPrints have a broad range of field types which enforce various constraints. Each field type has its own method of storing in the database, retrieving the value from the database, rendering the value in HTML, and rendering the input component HTML for use in workflows etc.

EPrints also has compound fields. This is a field made up of compound field definitions. This allows you to make very powerful data structures without having to worry about the complexities of how they are stored in the database.

Note removing fields from eprint_fields.pl does not usually cause data to be deleted from the database. To add or remove fields from eprint_fields.pl you must run <eprintsroot>/bin/epadmin update_database_structure <repo_id> and then reload your configuration (or restart the webserver).

Field Definition

The field list is represented by an arrayref of hashrefs. Each hashref has at minimum a name, which is the field name used when referring to the field (e.g. in search) and a type, which describes the type of data the field will hold. Depending on a field's type there may also be other compulsory fields and some optional ones. See the details of field definition on the page for that type.

$c->{fields}->{eprint} = [
          {
            'name' => 'note',
            'type' => 'longtext',
            'input_rows' => 3,
          },
          ...
];