Difference between revisions of "API:EPrints/Repository"
Line 1: | Line 1: | ||
− | + | <!-- 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. | ||
+ | --> | ||
+ | __NOTOC__ | ||
+ | {{Pod2Wiki}}{{API:Source|file=EPrints/Repository.pm|package_name=EPrints::Repository}}[[Category:API|Repository]]<div><!-- Edit below this comment --> | ||
+ | |||
+ | |||
+ | <!-- Pod2Wiki=head_name --></div> | ||
+ | ==NAME== | ||
+ | '''EPrints::Repository''' - A single eprint repository | ||
+ | |||
+ | <div style='background-color: #eef; margin: 0.5em 0em 1em 0em; border: solid 1px #cce; padding: 0em 1em 0em 1em; font-size: 80%; '> | ||
+ | <h4><span style='display:none'>User Comments</span></h4> | ||
+ | <!-- Edit below this comment --> | ||
+ | |||
+ | |||
+ | <!-- Pod2Wiki=head_synopsis --></div> | ||
+ | ==SYNOPSIS== | ||
+ | $repository = $handle->get_repository; | ||
+ | |||
+ | # without a $handle available | ||
+ | $repository = EPrints::Repository->new( $id, [$noxml] ); | ||
+ | |||
+ | $id = $repository->get_id; | ||
+ | $dataset = $repository->get_dataset( $setname ); | ||
+ | |||
+ | $repository->log( $msg ); | ||
+ | |||
+ | $confitem = $repository->get_conf( $key, [@subkeys] ); | ||
+ | |||
+ | # calling subtroutines in the config | ||
+ | $boolean = $repository->can_call( @cmd_conf_path ); | ||
+ | $result = $repository->call( $cmd, @params ); | ||
+ | |||
+ | # calling external commands | ||
+ | $returncode = $repository->exec( $cmd_id, %map ); | ||
+ | |||
+ | <div style='background-color: #eef; margin: 0.5em 0em 1em 0em; border: solid 1px #cce; padding: 0em 1em 0em 1em; font-size: 80%; '> | ||
+ | <h4><span style='display:none'>User Comments</span></h4> | ||
+ | <!-- Edit below this comment --> | ||
+ | |||
+ | |||
+ | <!-- Pod2Wiki=head_description --></div> | ||
+ | ==DESCRIPTION== | ||
+ | This class is a single eprint repository with its own configuration, database and website. | ||
+ | |||
+ | <div style='background-color: #eef; margin: 0.5em 0em 1em 0em; border: solid 1px #cce; padding: 0em 1em 0em 1em; font-size: 80%; '> | ||
+ | <h4><span style='display:none'>User Comments</span></h4> | ||
+ | <!-- Edit below this comment --> | ||
+ | |||
+ | |||
+ | <!-- Pod2Wiki=item_new --></div> | ||
+ | ===$repository = EPrints::Repository->new( $id, [$noxml] )=== | ||
+ | |||
+ | Returns the repository with the given repository ID. If $noxml is specified then it skips loading the XML based configuration files (this is needed when creating an repository as it first has to create the DTD files, and if it can't start you have a catch 22 situtation). | ||
+ | |||
+ | This constructor should only be used if you don't want to create a EPrints::Handle for some reason. | ||
+ | |||
+ | In a CGI context, creating a handle will link it to an existing EPrints::Repository object, whereas calling this constructor will cause all the config files to be read specially for you. (much slower!) | ||
+ | |||
+ | <div style='background-color: #eef; margin: 0.5em 0em 1em 0em; border: solid 1px #cce; padding: 0em 1em 0em 1em; font-size: 80%; '> | ||
+ | <h4><span style='display:none'>User Comments</span></h4> | ||
+ | <!-- Edit below this comment --> | ||
+ | |||
+ | |||
+ | <!-- Pod2Wiki=item_get_dataset_ids --></div> | ||
+ | ===@dataset_ids = $repository->get_dataset_ids()=== | ||
+ | |||
+ | Returns a list of dataset ids in this repository. | ||
+ | |||
+ | <div style='background-color: #eef; margin: 0.5em 0em 1em 0em; border: solid 1px #cce; padding: 0em 1em 0em 1em; font-size: 80%; '> | ||
+ | <h4><span style='display:none'>User Comments</span></h4> | ||
+ | <!-- Edit below this comment --> | ||
+ | |||
+ | |||
+ | <!-- Pod2Wiki=item_get_dataset --></div> | ||
+ | ===$dataset = $repository->get_dataset( $setname )=== | ||
+ | |||
+ | Returns the cached EPrints::DataSet with the given dataset id name. | ||
+ | |||
+ | <div style='background-color: #eef; margin: 0.5em 0em 1em 0em; border: solid 1px #cce; padding: 0em 1em 0em 1em; font-size: 80%; '> | ||
+ | <h4><span style='display:none'>User Comments</span></h4> | ||
+ | <!-- Edit below this comment --> | ||
+ | |||
+ | |||
+ | <!-- Pod2Wiki=item_get_conf --></div> | ||
+ | ===$confitem = $repository->get_conf( $key, [@subkeys] )=== | ||
+ | |||
+ | Returns a named configuration setting. | ||
+ | |||
+ | $repository->get_conf( "stuff", "en", "foo" ) | ||
+ | |||
+ | is equivalent to | ||
+ | |||
+ | $repository->get_conf( "stuff" )->{en}->{foo} | ||
+ | |||
+ | <div style='background-color: #eef; margin: 0.5em 0em 1em 0em; border: solid 1px #cce; padding: 0em 1em 0em 1em; font-size: 80%; '> | ||
+ | <h4><span style='display:none'>User Comments</span></h4> | ||
+ | <!-- Edit below this comment --> | ||
+ | |||
+ | |||
+ | <!-- Pod2Wiki=item_log --></div> | ||
+ | ===$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. | ||
+ | |||
+ | <div style='background-color: #eef; margin: 0.5em 0em 1em 0em; border: solid 1px #cce; padding: 0em 1em 0em 1em; font-size: 80%; '> | ||
+ | <h4><span style='display:none'>User Comments</span></h4> | ||
+ | <!-- Edit below this comment --> | ||
+ | |||
+ | |||
+ | <!-- Pod2Wiki=item_call --></div> | ||
+ | ===$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. | ||
+ | |||
+ | <div style='background-color: #eef; margin: 0.5em 0em 1em 0em; border: solid 1px #cce; padding: 0em 1em 0em 1em; font-size: 80%; '> | ||
+ | <h4><span style='display:none'>User Comments</span></h4> | ||
+ | <!-- Edit below this comment --> | ||
+ | |||
+ | |||
+ | <!-- Pod2Wiki=item_can_call --></div> | ||
+ | ===$boolean = $repository->can_call( @cmd_conf_path )=== | ||
+ | |||
+ | Return true if the given subroutine exists in this repository's config package. | ||
+ | |||
+ | <div style='background-color: #eef; margin: 0.5em 0em 1em 0em; border: solid 1px #cce; padding: 0em 1em 0em 1em; font-size: 80%; '> | ||
+ | <h4><span style='display:none'>User Comments</span></h4> | ||
+ | <!-- Edit below this comment --> | ||
+ | |||
+ | |||
+ | <!-- Pod2Wiki=item_get_id --></div> | ||
+ | ===$id = $repository->get_id === | ||
+ | |||
+ | Returns the id string of this repository. | ||
+ | |||
+ | <div style='background-color: #eef; margin: 0.5em 0em 1em 0em; border: solid 1px #cce; padding: 0em 1em 0em 1em; font-size: 80%; '> | ||
+ | <h4><span style='display:none'>User Comments</span></h4> | ||
+ | <!-- Edit below this comment --> | ||
+ | |||
+ | |||
+ | <!-- Pod2Wiki=item_exec --></div> | ||
+ | ===$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. | ||
+ | |||
+ | <div style='background-color: #eef; margin: 0.5em 0em 1em 0em; border: solid 1px #cce; padding: 0em 1em 0em 1em; font-size: 80%; '> | ||
+ | <h4><span style='display:none'>User Comments</span></h4> | ||
+ | <!-- Edit below this comment --> | ||
+ | |||
+ | |||
+ | <!-- Pod2Wiki=_postamble_ --><!-- Edit below this comment --> |
Revision as of 16:01, 19 August 2009
Latest Source Code (3.4, 3.3) | Revision Log | Before editing this page please read Pod2Wiki
NAME
EPrints::Repository - A single eprint repository
SYNOPSIS
$repository = $handle->get_repository; # without a $handle available $repository = EPrints::Repository->new( $id, [$noxml] ); $id = $repository->get_id; $dataset = $repository->get_dataset( $setname ); $repository->log( $msg ); $confitem = $repository->get_conf( $key, [@subkeys] ); # calling subtroutines in the config $boolean = $repository->can_call( @cmd_conf_path ); $result = $repository->call( $cmd, @params ); # calling external commands $returncode = $repository->exec( $cmd_id, %map );
DESCRIPTION
This class is a single eprint repository with its own configuration, database and website.
$repository = EPrints::Repository->new( $id, [$noxml] )
Returns the repository with the given repository ID. If $noxml is specified then it skips loading the XML based configuration files (this is needed when creating an repository as it first has to create the DTD files, and if it can't start you have a catch 22 situtation).
This constructor should only be used if you don't want to create a EPrints::Handle for some reason.
In a CGI context, creating a handle will link it to an existing EPrints::Repository object, whereas calling this constructor will cause all the config files to be read specially for you. (much slower!)
@dataset_ids = $repository->get_dataset_ids()
Returns a list of dataset ids in this repository.
$dataset = $repository->get_dataset( $setname )
Returns the cached EPrints::DataSet with the given dataset id name.
$confitem = $repository->get_conf( $key, [@subkeys] )
Returns a named configuration setting.
$repository->get_conf( "stuff", "en", "foo" )
is equivalent to
$repository->get_conf( "stuff" )->{en}->{foo}
$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.
$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.
$boolean = $repository->can_call( @cmd_conf_path )
Return true if the given subroutine exists in this repository's config package.
$id = $repository->get_id
Returns the id string of this repository.
$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.