From EPrints Documentation
Revision as of 12:27, 1 December 2011 by Tdb01r (talk | contribs)
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


Latest Source Code (3.4, 3.3) | Revision Log | Before editing this page please read Pod2Wiki


EPrints::Repository - Single connection to a specific EPrints Repository

User Comments


This module is really a Repository, REALLY. The name is up to date and everything :-)

EPrints::Repository represents a connection to the EPrints system. It connects to a single EPrints repository, and the database used by that repository.

Each Repository has a "current language". If you are running in a multilingual mode, this is used by the HTML rendering functions to choose what language to return text in.

The Repository object also knows about the current apache connection, if there is one, including the CGI parameters.

If the connection requires a username and password then it can also give access to the EPrints::DataObj::User object representing the user who is causing this request. See current_user().

The Repository object also provides access to the EPrints::XHTML class which contains many methods for creating XHTML results which can be returned via the web interface.

User Comments


User Comments


$repository = EPrints::Repository->new( %opts )

Creates and returns a new repository object. This is a utility object only and will only have the basic system configuration available.

User Comments


$repository = EPrints::Repository->new( $repository_id, %opts )

Create a connection to an EPrints repository $repository_id which provides access to the database and to the repository configuration.


 db_connect - 1
 check_db - 1
 noise - 0

User Comments


$query = $repository->query

Return the CGI object describing the current HTTP query, or undefined if this isn't a CGI script.

User Comments


$value or @values = $repository->param( $name )

Passes through to CGI.pm param method.

$value = $repository->param( $name ): returns the value of CGI parameter $name.

$value = $repository->param( $name ): returns the value of CGI parameter $name.

@values = $repository->param: returns an array of the names of all the CGI parameters in the current request.

User Comments


$xml = $repo->xml

Return an EPrints::XML object for working with XML.

User Comments


$xhtml = $repo->xhtml

Return an EPrints::XHTML object for working with XHTML.

User Comments


$eprint = $repository->eprint( $eprint_id );

A convience method to return the EPrints::DataObj::EPrint with the given ID, or undef.

Equivent to $repository->dataset("eprint")->dataobj( $eprint_id )

User Comments


$user = $repository->current_user

Return the current logged in EPrints::DataObj::User for this session.

Return undef if there isn't one.

User Comments


$user = $repository->user( $user_id );

A convience method to return the EPrints::DataObj::User with the given ID, or undef.

Equivent to $repository->dataset("user")->dataobj( $user_id )

User Comments


$user = $repository->user_by_username( $username );

Return the user with the given username, or undef.

User Comments


$user = $repository->user_by_email( $email );

Return the EPrints::DataObj::User with the given email, or undef.

User Comments


$dataset = $repository->dataset( $setname )

Return a given EPrints::DataSet or undef if it doesn't exist.

User Comments


$confitem = $repository->config( $key, [@subkeys] )

Returns a named configuration setting including those defined in archvies/<archive_id>/cfg/cfg.d/

$repository->config( "stuff", "en", "foo" )

is equivalent to

$repository->config( "stuff" )->{en}->{foo}

User Comments


$repository->log( $msg )

Calls the log method from ArchiveConfig.pm for this repository with the given parameters. Basically logs the comments wherever the site admin wants them to go. Printed to STDERR by default.

User Comments


$result = $repository->call( $cmd, @params )

Calls the subroutine named $cmd from the configuration perl modules for this repository with the given params and returns the result.

User Comments


$boolean = $repository->can_call( @cmd_conf_path )

Return true if the given subroutine exists in this repository's config package.

User Comments


$result = $repository->try_call( $cmd, @params )

Calls the subroutine named $cmd from the configuration perl modules for this repository with the given params and returns the result.

If the subroutine does not exist then quietly returns undef.

This is used to call deprecated callback subroutines.

User Comments


$id = $repository->id 

Returns the id string of this repository.

User Comments


$returncode = $repository->exec( $cmd_id, %map )

Executes a system command. $cmd_id is the id of the command as set in SystemSettings and %map contains a list of things to "fill in the blanks" in the invocation line in SystemSettings.

User Comments


( $returncode, $output) = $repository->test_config

This runs "epadmin test" as an external script to test if the current configuraion on disk loads OK. This can be used by the web interface to test if changes to config. files may be saved, or not.

$returncode will be zero if everything seems OK.

If not, then $output will contain the output of epadmin test

User Comments


$ok = $repository->reload_config

Trigger a configuration reload on the next request/index.

To reload the configuration right now just call load_config.

User Comments


$repo->init_from_indexer( $daemon )

(Re)initialise the repository object for use by the indexer.

Calls check_last_changed.

User Comments


User Comments