⧼vector-jumptocontent⧽

API:EPrints/RepositoryConfig: Difference between revisions

From EPrints Documentation
No edit summary
No edit summary
 
(2 intermediate revisions by 2 users not shown)
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

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