Difference between revisions of "API:EPrints/RepositoryConfig"
(2 intermediate revisions by 2 users not shown) | |||
Line 8: | Line 8: | ||
'''EPrints::RepositoryConfig''' - Repository Configuration | '''EPrints::RepositoryConfig''' - Repository Configuration | ||
− | |||
− | |||
<!-- Edit below this comment --> | <!-- Edit below this comment --> | ||
− | + | '''NOTE (2013-01-30)''': The example below uses '${$params{rc}}'. It should be ${$params{return_code}}. | |
<!-- Pod2Wiki= --> | <!-- Pod2Wiki= --> | ||
− | |||
<!-- Pod2Wiki=head_synopsis --> | <!-- Pod2Wiki=head_synopsis --> | ||
==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 ) | $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. | Register a function reference $f to be called when the TRIGGER_ID event happens on $datasetid. | ||
Line 67: | Line 61: | ||
See [[API:EPrints/RepositoryConfig#add_trigger|add_trigger]] for %opts. | See [[API:EPrints/RepositoryConfig#add_trigger|add_trigger]] for %opts. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
$c->add_trigger( TRIGGER_ID, $f, %opts ) | $c->add_trigger( TRIGGER_ID, $f, %opts ) | ||
Line 85: | Line 69: | ||
Options: | Options: | ||
− | + | <pre> priority - used to determine the order triggers are executed in (defaults to 0).</pre> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
$c->add_dataset_field( $datasetid, $fielddata, %opts ) | $c->add_dataset_field( $datasetid, $fielddata, %opts ) | ||
Line 105: | Line 79: | ||
reuse - re-use an existing field if it exists (must be same type) | 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=head_copyright --> | ||
==COPYRIGHT== | ==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/. | ||
+ | |||
<!-- 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/.