Difference between revisions of "API:EPrints/RepositoryConfig"

From EPrints Documentation
Jump to: navigation, search
 
(3 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
  
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 
<span style='display:none'>User Comments</span>
 
 
<!-- 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= -->
</div>
 
 
<!-- Pod2Wiki=head_synopsis -->
 
<!-- Pod2Wiki=head_synopsis -->
 
==SYNOPSIS==
 
==SYNOPSIS==
  $c-&gt;add_dataset_field( "eprint", {
+
<source lang="perl">$c->add_dataset_field( "eprint", {
    name =&gt; "title",
+
name => "title",
    type =&gt; "longtext",
+
type => "longtext",
  }, reuse =&gt; 1 );
+
}, reuse => 1 );
 
+
 
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce; padding: 0em 1em 0em 1em; font-size: 80%; '>
+
$c->add_trigger( EP_TRIGGER_URL_REWRITE, sub {
<span style='display:none'>User Comments</span>
+
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= -->
</div>
 
 
<!-- 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.
  
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 
<span style='display:none'>User Comments</span>
 
 
<!-- Edit below this comment -->
 
<!-- Edit below this comment -->
  
  
 
<!-- Pod2Wiki= -->
 
<!-- Pod2Wiki= -->
</div>
 
 
<!-- Pod2Wiki=head_methods -->
 
<!-- Pod2Wiki=head_methods -->
 
==METHODS==
 
==METHODS==
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 
<span style='display:none'>User Comments</span>
 
 
<!-- Edit below this comment -->
 
<!-- Edit below this comment -->
  
  
 
<!-- Pod2Wiki= -->
 
<!-- Pod2Wiki= -->
</div>
 
 
<!-- Pod2Wiki=head_setter_methods -->
 
<!-- Pod2Wiki=head_setter_methods -->
 
===Setter Methods===
 
===Setter Methods===
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 
<span style='display:none'>User Comments</span>
 
<!-- Edit below this comment -->
 
 
 
<!-- Pod2Wiki= -->
 
</div>
 
<!-- Pod2Wiki=item_add_dataset_trigger -->
 
====add_dataset_trigger====
 
 
 
  $c-&gt;add_dataset_trigger( $datasetid, TRIGGER_ID, $f, %opts )
 
  $c-&gt;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.
 
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 
<span style='display:none'>User Comments</span>
 
<!-- Edit below this comment -->
 
 
 
<!-- Pod2Wiki= -->
 
</div>
 
<!-- Pod2Wiki=item_add_trigger -->
 
====add_trigger====
 
  
 
  $c-&gt;add_trigger( TRIGGER_ID, $f, %opts )
 
  $c-&gt;add_trigger( TRIGGER_ID, $f, %opts )
Line 85: Line 69:
 
Options:
 
Options:
  
  priority - used to determine the order triggers are executed in (defaults to 0).
+
<pre>  priority - used to determine the order triggers are executed in (defaults to 0).</pre>
 
 
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 
<span style='display:none'>User Comments</span>
 
<!-- Edit below this comment -->
 
 
 
 
 
<!-- Pod2Wiki= -->
 
</div>
 
<!-- Pod2Wiki=item_add_dataset_field -->
 
====add_dataset_field====
 
  
 
  $c-&gt;add_dataset_field( $datasetid, $fielddata, %opts )
 
  $c-&gt;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)
  
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
+
$c-&gt;push( KEY1 [, KEY2 ], VALUE )
<span style='display:none'>User Comments</span>
+
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= -->
</div>
 
 
<!-- Pod2Wiki=head_copyright -->
 
<!-- Pod2Wiki=head_copyright -->
 
==COPYRIGHT==
 
==COPYRIGHT==
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #ccepadding: 0em 1em 0em 1em; font-size: 80%; '>
+
Copyright 2000-2011 University of Southampton.
<span style='display:none'>User Comments</span>
+
 
 +
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= -->
</div>
+
<!-- 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


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{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/.