Difference between revisions of "API:EPrints"

From EPrints Documentation
Jump to: navigation, search
 
(9 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.pm|package_name=EPrints}}[[Category:API|EPrints]]<div><!-- Edit below this comment -->
+
  -->{{API}}{{Pod2Wiki}}{{API:Source|file=EPrints|package_name=EPrints}}[[Category:API|EPRINTS]]<div><!-- Edit below this comment -->
  
  
 
<!-- Pod2Wiki=_private_ --><!-- Pod2Wiki=head_name -->
 
<!-- Pod2Wiki=_private_ --><!-- Pod2Wiki=head_name -->
 
==NAME==
 
==NAME==
'''EPrints''' - Institutional Repository software
+
EPrints - Institutional Repository software
  
<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_synopsis -->
 
<!-- Pod2Wiki=head_synopsis -->
 
==SYNOPSIS==
 
==SYNOPSIS==
  use EPrints qw();
+
<source lang="perl">use EPrints qw();
 
+
 
  my $session = EPrints::Session-&gt;new( 1, "demoprints" );
+
# don't check current user (CLI only)
 
+
use EPrints qw( no_check_user );
  ...
+
 
 
+
$eprints = EPrints->new;
  $session-&gt;terminate;
+
 
 
+
# CLI
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
+
$repo = $eprints->repository( "demoprints" );
<span style='display:none'>User Comments</span>
+
 
 +
# CGI
 +
$repo = $eprints->current_repository;
 +
 
 +
if( EPrints->VERSION() gt v3.2.0 )
 +
{
 +
...
 +
}</source>
 +
 
 
<!-- Edit below this comment -->
 
<!-- Edit below this comment -->
  
  
 
<!-- Pod2Wiki= -->
 
<!-- Pod2Wiki= -->
</div>
 
 
<!-- Pod2Wiki=head_description -->
 
<!-- Pod2Wiki=head_description -->
 
==DESCRIPTION==
 
==DESCRIPTION==
 
See http://www.eprints.org/.
 
See http://www.eprints.org/.
  
<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_available_symbols -->
 
<!-- Pod2Wiki=head_available_symbols -->
 
===Available Symbols===
 
===Available Symbols===
 
You can pass options to the EPrints package that effect the EPrints initialisation e.g.
 
You can pass options to the EPrints package that effect the EPrints initialisation e.g.
  
  use EPrints qw( no_check_user );
+
<pre>  use EPrints qw( no_check_user );</pre>
 
+
 
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
+
* no_check_user
<span style='display:none'>User Comments</span>
+
: Do not check the current user/group is the same as the user/group in SystemSettings.
 +
 
 
<!-- Edit below this comment -->
 
<!-- Edit below this comment -->
  
  
 
<!-- Pod2Wiki= -->
 
<!-- Pod2Wiki= -->
</div>
+
<!-- Pod2Wiki=head_debugging -->
<!-- Pod2Wiki=item_no_check_user -->
+
===Debugging===
====no_check_user====
+
To get a full stack trace on errors and warnings use {{API:PodLink|file=Carp|package_name=Carp|section=|text=Carp}}'s verbose mode. E.g. in ''perl_lib/EPrints/SystemSettings.pm'' add:
  
Do not check the current user/group is the same as the user/group in Systemsettings.
+
<pre>  use Carp 'verbose';</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 -->
 
<!-- Edit below this comment -->
  
  
 
<!-- Pod2Wiki= -->
 
<!-- Pod2Wiki= -->
</div>
+
<!-- Pod2Wiki=head_methods -->
<!-- Pod2Wiki=head_debugging_slow_processes -->
+
==METHODS==
===Debugging Slow Processes===
+
<!-- Pod2Wiki=head_VERSION -->
This module installs a signal handler that will print a stack trace if given a USR2 signal (if your system supports this signal). To print a stack trace to the error log execute:
+
===VERSION===
  
$ kill -USR2 PID
+
<source lang="perl">$version = EPrints->VERSION()
 
 
Where PID is the id number of the stalled process.
 
  
A shell script will print the stack trace to the console.
+
</source>
 +
Returns the version of EPrints in 'v' format (this is the UNIVERSAL method).
  
<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_human_version -->
<!-- Pod2Wiki=head_methods -->
+
===human_version===
==METHODS==
+
 
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
+
<source lang="perl">EPrints->human_version()
<span style='display:none'>User Comments</span>
+
 
 +
</source>
 +
Returns the EPrints version in a human-readable form.
 +
 
 
<!-- Edit below this comment -->
 
<!-- Edit below this comment -->
  
  
 
<!-- Pod2Wiki= -->
 
<!-- Pod2Wiki= -->
</div>
+
<!-- Pod2Wiki=head_abort -->
<!-- Pod2Wiki=item_abort -->
+
===abort===
===EPrints-&gt;abort( $errmsg )===
 
  
Print an error message and exit. If running under mod_perl then print the error as a webpage and exit.
+
<source lang="perl">EPrints->abort( $errmsg )
  
 +
</source>
 
This subroutine is loaded before other modules so that it may be used to report errors when initialising modules.
 
This subroutine is loaded before other modules so that it may be used to report errors when initialising modules.
  
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
+
When running under Mod_Perl this method is replaced.
<span style='display:none'>User Comments</span>
+
 
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
<!-- Pod2Wiki=head_dump -->
 +
===dump===
 +
 
 +
<source lang="perl">EPrints->dump( $VAR1 [, $VAR2 ... ] )
 +
 
 +
</source>
 +
Use {{API:PodLink|file=Data/Dumper|package_name=Data::Dumper|section=|text=Data::Dumper}} to dump the passed variables to STDERR.
 +
 
 
<!-- Edit below this comment -->
 
<!-- Edit below this comment -->
  
  
 
<!-- Pod2Wiki= -->
 
<!-- Pod2Wiki= -->
</div>
+
<!-- Pod2Wiki=head_new -->
<!-- Pod2Wiki=item_new -->
+
===new===
===$ep = EPrints-&gt;new();===
+
 
 +
<source lang="perl">$ep = EPrints->new();
  
 +
</source>
 
Construct a new EPrints system object.
 
Construct a new EPrints system object.
  
<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_repository -->
<!-- Pod2Wiki=item_repository -->
+
===repository===
===$repo = $ep-&gt;repository( $repository_id, %options );===
+
 
 +
<source lang="perl">$repo = $ep->repository( $repository_id, [%options] );
  
Return the repository with the given ID, or undef. Options are... optional.
+
</source>
 +
Return the [[API:EPrints/Repository|EPrints::Repository]] with the given ID, or undef. Options are... optional.
  
 
Options noise=&gt;1, etc.
 
Options noise=&gt;1, etc.
  
<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_current_repository -->
<!-- Pod2Wiki=item_current_repository -->
+
===current_repository===
===$repo = $ep-&gt;current_repository( %options );===
+
 
 +
<source lang="perl">$repo = $ep->current_repository();
  
Return the repository based on the current web request, or undef.
+
</source>
 +
Returns the current [[API:EPrints/Repository|EPrints::Repository]]. The current  repository is determined by the apache request.
  
%options as for $ep-&gt;repository(..)
+
Returns undef if there is no current repository active.
  
<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=item_repository_ids -->
 
===@ids = $eprints-&gt;repository_ids===
 
 
Returns a list of the active repository ids.
 
 
<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_see_also -->
 
<!-- Pod2Wiki=head_see_also -->
 
==SEE ALSO==
 
==SEE ALSO==
[[API:EPrints/Session|EPrints::Session]]
+
[[API:EPrints/Repository|EPrints::Repository]]
  
<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_copyright -->
 
<!-- Pod2Wiki=head_copyright -->
 
==COPYRIGHT==
 
==COPYRIGHT==
__COPYRIGHT__
+
Copyright 2000-2011 University of Southampton.
 +
 
 +
This file is part of EPrints &lt;http://www.eprints.org/&gt;.
 +
 
 +
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.
  
Copyright 2000-2008 University of Southampton. All Rights Reserved.
+
You should have received a copy of the GNU Lesser General Public License along with EPrints. If not, see &lt;http://www.gnu.org/licenses/&gt;.
  
__LICENSE__
 
<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=_postamble_ -->
<!-- Pod2Wiki=_postamble_ --><!-- Edit below this comment -->
+
<!-- Edit below this comment -->

Latest revision as of 09:56, 22 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 - Institutional Repository software


SYNOPSIS

use EPrints qw();

# don't check current user (CLI only)
use EPrints qw( no_check_user );

$eprints = EPrints->new;

# CLI
$repo = $eprints->repository( "demoprints" );

# CGI
$repo = $eprints->current_repository;

if( EPrints->VERSION() gt v3.2.0 )
{
	...
}


DESCRIPTION

See http://www.eprints.org/.


Available Symbols

You can pass options to the EPrints package that effect the EPrints initialisation e.g.

  use EPrints qw( no_check_user );
  • no_check_user
Do not check the current user/group is the same as the user/group in SystemSettings.


Debugging

To get a full stack trace on errors and warnings use Carp's verbose mode. E.g. in perl_lib/EPrints/SystemSettings.pm add:

  use Carp 'verbose';


METHODS

VERSION

$version = EPrints->VERSION()

Returns the version of EPrints in 'v' format (this is the UNIVERSAL method).


human_version

EPrints->human_version()

Returns the EPrints version in a human-readable form.


abort

EPrints->abort( $errmsg )

This subroutine is loaded before other modules so that it may be used to report errors when initialising modules.

When running under Mod_Perl this method is replaced.


dump

EPrints->dump( $VAR1 [, $VAR2 ... ] )

Use Data::Dumper to dump the passed variables to STDERR.


new

$ep = EPrints->new();

Construct a new EPrints system object.


repository

$repo = $ep->repository( $repository_id, [%options] );

Return the EPrints::Repository with the given ID, or undef. Options are... optional.

Options noise=>1, etc.


current_repository

$repo = $ep->current_repository();

Returns the current EPrints::Repository. The current repository is determined by the apache request.

Returns undef if there is no current repository active.



SEE ALSO

EPrints::Repository


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