API:EPrints/RepositoryConfig: Difference between revisions
Created page with '<!-- Pod2Wiki=_preamble_ This page has been automatically generated from the EPrints 3.2 source. Any wiki changes made between the 'Pod2Wiki=*' and 'Edit below this comment' com…' |
No edit summary |
||
| (4 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
<!-- Pod2Wiki=_preamble_ | <!-- Pod2Wiki=_preamble_ | ||
This page has been automatically generated from the EPrints 3.2 source. Any wiki changes made between the 'Pod2Wiki=*' and 'Edit below this comment' comments will be lost. | This page has been automatically generated from the EPrints 3.2 source. Any wiki changes made between the 'Pod2Wiki=*' and 'Edit below this comment' comments will be lost. | ||
-->{{API}}{{Pod2Wiki}}{{API:Source|file=EPrints/RepositoryConfig.pm|package_name=EPrints::RepositoryConfig}}[[Category:API|REPOSITORYCONFIG]][[Category:API:EPrints/RepositoryConfig|REPOSITORYCONFIG]]<div><!-- Edit below this comment --> | -->{{API}}{{Pod2Wiki}}{{API:Source|file=perl_lib/EPrints/RepositoryConfig.pm|package_name=EPrints::RepositoryConfig}}[[Category:API|REPOSITORYCONFIG]][[Category:API:EPrints/RepositoryConfig|REPOSITORYCONFIG]]<div><!-- Edit below this comment --> | ||
| Line 8: | Line 8: | ||
'''EPrints::RepositoryConfig''' - Repository Configuration | '''EPrints::RepositoryConfig''' - Repository Configuration | ||
< | <!-- Edit below this comment --> | ||
'''NOTE (2013-01-30)''': The example below uses '${$params{rc}}'. It should be ${$params{return_code}}. | |||
<!-- Pod2Wiki= --> | |||
<!-- Pod2Wiki=head_synopsis --> | |||
==SYNOPSIS== | |||
<source lang="perl">$c->add_dataset_field( "eprint", { | |||
name => "title", | |||
type => "longtext", | |||
}, reuse => 1 ); | |||
$c->add_trigger( EP_TRIGGER_URL_REWRITE, sub { | |||
my( %params ) = @_; | |||
my $r = $params{request}; | |||
my $uri = $params{uri}; | |||
if( $uri =~ m{^/blog/} ) | |||
{ | |||
$r->err_headers_out->{Location} = "http://..."; | |||
${$params{return_code}} = EPrints::Const::HTTP_SEE_OTHER; | |||
return EP_TRIGGER_DONE; | |||
} | |||
return EP_TRIGGER_OK; | |||
});</source> | |||
<!-- Edit below this comment --> | <!-- Edit below this comment --> | ||
<!-- Pod2Wiki= --> | <!-- Pod2Wiki= --> | ||
<!-- Pod2Wiki=head_description --> | <!-- Pod2Wiki=head_description --> | ||
==DESCRIPTION== | ==DESCRIPTION== | ||
This provides methods for reading and setting a repository configuration. Setter methods may only be used in the configuration. | This provides methods for reading and setting a repository configuration. Setter methods may only be used in the configuration. | ||
<!-- Edit below this comment --> | <!-- Edit below this comment --> | ||
<!-- Pod2Wiki= --> | <!-- Pod2Wiki= --> | ||
<!-- Pod2Wiki=head_methods --> | <!-- Pod2Wiki=head_methods --> | ||
==METHODS== | ==METHODS== | ||
<!-- Edit below this comment --> | <!-- Edit below this comment --> | ||
<!-- Pod2Wiki= --> | <!-- Pod2Wiki= --> | ||
<!-- Pod2Wiki=head_setter_methods --> | <!-- Pod2Wiki=head_setter_methods --> | ||
===Setter Methods=== | ===Setter Methods=== | ||
$c->add_dataset_trigger( $datasetid, TRIGGER_ID, $f, %opts ) | |||
Register a function reference $f to be called when the TRIGGER_ID event happens on $datasetid. | |||
See [[API:EPrints/Const|EPrints::Const]] for available triggers. | |||
See [[API:EPrints/RepositoryConfig#add_trigger|add_trigger]] for %opts. | |||
$c-> | $c->add_trigger( TRIGGER_ID, $f, %opts ) | ||
Register a function reference $f to be called when the TRIGGER_ID event happens | Register a function reference $f to be called when the TRIGGER_ID event happens. | ||
See [[API:EPrints/Const|EPrints::Const]] for available triggers. | See [[API:EPrints/Const|EPrints::Const]] for available triggers. | ||
Options: | |||
<pre> priority - used to determine the order triggers are executed in (defaults to 0).</pre> | |||
$c->add_dataset_field( $datasetid, $fielddata, %opts ) | |||
Add a field spec $fielddata to dataset $datasetid. | |||
This method will abort if the field already exists and 'reuse' is unspecified. | |||
Options: | |||
reuse - re-use an existing field if it exists (must be same type) | |||
$c->push( KEY1 [, KEY2 ], VALUE ) | |||
Push a value onto a configuration slot that is an array ref. VALUE may be an array ref in which case each value is pushed onto the existing list. | |||
<!-- Edit below this comment --> | <!-- Edit below this comment --> | ||
<!-- Pod2Wiki= --> | <!-- Pod2Wiki= --> | ||
<!-- Pod2Wiki=head_copyright --> | |||
<!-- Pod2Wiki= | ==COPYRIGHT== | ||
==== | Copyright 2000-2011 University of Southampton. | ||
This file is part of EPrints http://www.eprints.org/. | |||
EPrints is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. | |||
See | EPrints is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. | ||
You should have received a copy of the GNU Lesser General Public License along with EPrints. If not, see http://www.gnu.org/licenses/. | |||
<!-- Edit below this comment --> | <!-- Edit below this comment --> | ||
<!-- Pod2Wiki= --> | <!-- Pod2Wiki= --> | ||
<!-- Pod2Wiki=_postamble_ --> | |||
<!-- Pod2Wiki=_postamble_ --><!-- Edit below this comment --> | <!-- Edit below this comment --> | ||
Latest revision as of 16:24, 30 January 2013
EPrints 3 Reference: Directory Structure - Metadata Fields - Repository Configuration - XML Config Files - XML Export Format - EPrints data structure - Core API - Data Objects
Latest Source Code (3.4, 3.3) | Revision Log | Before editing this page please read Pod2Wiki
NAME
EPrints::RepositoryConfig - Repository Configuration
NOTE (2013-01-30): The example below uses '${$params{rc}}'. It should be ${$params{return_code}}.
SYNOPSIS
$c->add_dataset_field( "eprint", {
name => "title",
type => "longtext",
}, reuse => 1 );
$c->add_trigger( EP_TRIGGER_URL_REWRITE, sub {
my( %params ) = @_;
my $r = $params{request};
my $uri = $params{uri};
if( $uri =~ m{^/blog/} )
{
$r->err_headers_out->{Location} = "http://...";
${$params{return_code}} = EPrints::Const::HTTP_SEE_OTHER;
return EP_TRIGGER_DONE;
}
return EP_TRIGGER_OK;
});
DESCRIPTION
This provides methods for reading and setting a repository configuration. Setter methods may only be used in the configuration.
METHODS
Setter Methods
$c->add_dataset_trigger( $datasetid, TRIGGER_ID, $f, %opts )
Register a function reference $f to be called when the TRIGGER_ID event happens on $datasetid.
See EPrints::Const for available triggers.
See add_trigger for %opts.
$c->add_trigger( TRIGGER_ID, $f, %opts )
Register a function reference $f to be called when the TRIGGER_ID event happens.
See EPrints::Const for available triggers.
Options:
priority - used to determine the order triggers are executed in (defaults to 0).
$c->add_dataset_field( $datasetid, $fielddata, %opts )
Add a field spec $fielddata to dataset $datasetid.
This method will abort if the field already exists and 'reuse' is unspecified.
Options: reuse - re-use an existing field if it exists (must be same type)
$c->push( KEY1 [, KEY2 ], VALUE )
Push a value onto a configuration slot that is an array ref. VALUE may be an array ref in which case each value is pushed onto the existing list.
COPYRIGHT
Copyright 2000-2011 University of Southampton.
This file is part of EPrints http://www.eprints.org/.
EPrints is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
EPrints is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with EPrints. If not, see http://www.gnu.org/licenses/.