API:EPrints/RepositoryConfig

From EPrints Documentation
Revision as of 10:50, 30 January 2013 by Libjlrs (talk | contribs) (Correction to code example.)
Jump to: navigation, search

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


API: Core API

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{rc}} = 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/.