Difference between revisions of "API:EPrints/RepositoryConfig"
(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…') |
|||
(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/.