Difference between revisions of "API:EPrints/Plugin"

From EPrints Documentation
Jump to: navigation, search
(New page: <!-- Pod2Wiki=_preamble_ This page has been automatically generated from the EPrints source. Any wiki changes made between the 'Pod2Wiki=*' and 'End of Pod2Wiki' comments will be lost. -...)
 
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
<!-- Pod2Wiki=_preamble_  
 
<!-- Pod2Wiki=_preamble_  
This page has been automatically generated from the EPrints source. Any wiki changes made between the 'Pod2Wiki=*' and 'End of Pod2Wiki' 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.
  -->{{Pod2Wiki}}{{API:Source|file=EPrints/Plugin.pm|package_name=EPrints::Plugin}}[[Category:API|Plugin]]<!-- End of Pod2Wiki -->
+
  -->{{API}}{{Pod2Wiki}}{{API:Source|file=perl_lib/EPrints/Plugin.pm|package_name=EPrints::Plugin}}[[Category:API|PLUGIN]][[Category:API:EPrints/Plugin|PLUGIN]]<div><!-- Edit below this comment -->
<!-- Pod2Wiki=head_name -->=NAME=
 
'''EPrints::Plugin''' - Base class of all EPrints Plugins
 
  
<!-- End of Pod2Wiki -->
+
 
<!-- Pod2Wiki=head_description -->=DESCRIPTION=
+
<!-- Pod2Wiki=_private_ --><!-- Pod2Wiki=head_name -->
 +
==NAME==
 +
EPrints::Plugin - base class of all EPrints Plugins
 +
 
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
<!-- Pod2Wiki=head_synopsis -->
 +
==SYNOPSIS==
 +
<source lang="perl">$plugin = $repo->plugin( "Export::XML" );</source>
 +
 
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
<!-- Pod2Wiki=head_description -->
 +
==DESCRIPTION==
 
This class provides the basic methods used by all EPrints Plugins.
 
This class provides the basic methods used by all EPrints Plugins.
  
<!-- End of Pod2Wiki -->
+
<!-- Edit below this comment -->
<!-- Pod2Wiki=item_new -->==new==
+
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
<!-- Pod2Wiki=head_methods -->
 +
==METHODS==
 +
<!-- Pod2Wiki=head_new -->
 +
===new===
 +
 
 +
<source lang="perl">$plugin = EPrints::Plugin->new( %params );
 +
 
 +
</source>
 +
Create a new instance of a plugin. Defines the following parameters:
 +
 
 +
* repository
 +
: Required handle to the current repository object.
 +
 
 +
* name
 +
: Human-readable name of the plugin.
 +
 
 +
* alias
 +
: Array reference of plugin id's that this plugin is aliasing (replacing).
 +
 
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
<!-- Pod2Wiki=head_mime_type -->
 +
===mime_type===
 +
 
 +
<source lang="perl">$mime_type = EPrints::Plugin->mime_type()
 +
 
 +
</source>
 +
Returns the MIME type for this plugin.
  
  $plugin = EPrints::Plugin-&gt;new( %params );
+
Returns undef if there is no relevant MIME type for this plugin type.
  
Create a new instance of a plugin with the given parameters.
+
<!-- Edit below this comment -->
  
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_local_uri -->==local_uri==
 
  
  $value = EPrints::Plugin-&gt;local_uri
+
<!-- Pod2Wiki= -->
 +
<!-- Pod2Wiki=head_local_uri -->
 +
===local_uri===
  
 +
<source lang="perl">$value = EPrints::Plugin->local_uri
 +
 +
</source>
 
Return a unique ID for this plugin as it relates to the current  repository. This can be used to distinguish that XML import for  different repositories may have minor differences.
 
Return a unique ID for this plugin as it relates to the current  repository. This can be used to distinguish that XML import for  different repositories may have minor differences.
  
 
This URL will not resolve to anything useful.
 
This URL will not resolve to anything useful.
  
<!-- End of Pod2Wiki -->
+
<!-- Edit below this comment -->
<!-- Pod2Wiki=item_global_uri -->==global_uri==
+
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
<!-- Pod2Wiki=head_global_uri -->
 +
===global_uri===
  
  $value = EPrints::Plugin-&gt;global_uri
+
<source lang="perl">$value = EPrints::Plugin->global_uri
  
 +
</source>
 
Return a unique ID for this plugin, but not just in this repository but for any repository. This can be used for fuzzier tools which do not care about the minor differences between EPrints repositories.
 
Return a unique ID for this plugin, but not just in this repository but for any repository. This can be used for fuzzier tools which do not care about the minor differences between EPrints repositories.
  
 
This URL will not resolve to anything useful.
 
This URL will not resolve to anything useful.
  
<!-- End of Pod2Wiki -->
+
<!-- Edit below this comment -->
<!-- Pod2Wiki=item_get_id -->==get_id==
 
  
  $id = $plugin-&gt;get_id
 
  
 +
<!-- Pod2Wiki= -->
 +
<!-- Pod2Wiki=head_id -->
 +
===id===
 +
 +
<source lang="perl">$id = $plugin->id
 +
 +
</source>
 
Return the ID of this plugin.
 
Return the ID of this plugin.
  
<!-- End of Pod2Wiki -->
+
<!-- Edit below this comment -->
<!-- Pod2Wiki=item_get_name -->==get_name==
 
  
  $name = $plugin-&gt;get_name
 
  
 +
<!-- Pod2Wiki= -->
 +
<!-- Pod2Wiki=head_name -->
 +
===name===
 +
 +
<source lang="perl">$name = $plugin->name
 +
 +
</source>
 
Return the ID of this plugin.
 
Return the ID of this plugin.
  
<!-- End of Pod2Wiki -->
+
<!-- Edit below this comment -->
<!-- Pod2Wiki=item_get_type -->==get_type==
+
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
<!-- Pod2Wiki=head_type -->
 +
===type===
  
  $name = $plugin-&gt;get_type
+
<source lang="perl">$name = $plugin->type
  
 +
</source>
 
Return the type of this plugin. eg. Export
 
Return the type of this plugin. eg. Export
  
<!-- End of Pod2Wiki -->
+
<!-- Edit below this comment -->
<!-- Pod2Wiki=item_get_subtype -->==get_subtype==
+
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
<!-- Pod2Wiki=head_subtype -->
 +
===subtype===
  
  $name = $plugin-&gt;get_subtype
+
<source lang="perl">$name = $plugin->subtype
  
 +
</source>
 
Return the sub-type of this plugin. eg. BibTex
 
Return the sub-type of this plugin. eg. BibTex
  
 
This is the ID with the type stripped from the front.
 
This is the ID with the type stripped from the front.
  
<!-- End of Pod2Wiki -->
+
<!-- Edit below this comment -->
<!-- Pod2Wiki=item_error_message -->==error_message==
+
 
  
  $msg = $plugin-&gt;error_message
+
<!-- Pod2Wiki= -->
 +
<!-- Pod2Wiki=head_error_message -->
 +
===error_message===
  
 +
<source lang="perl">$msg = $plugin->error_message
 +
 +
</source>
 
Return the error message, if this plugin can't be used.
 
Return the error message, if this plugin can't be used.
  
<!-- End of Pod2Wiki -->
+
<!-- Edit below this comment -->
<!-- Pod2Wiki=item_broken -->==broken==
+
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
<!-- Pod2Wiki=head_broken -->
 +
===broken===
  
  $boolean = $plugin-&gt;broken
+
<source lang="perl">$boolean = $plugin->broken
  
 +
</source>
 
Return the value of a parameter in the current plugin.
 
Return the value of a parameter in the current plugin.
  
<!-- End of Pod2Wiki -->
+
<!-- Edit below this comment -->
<!-- Pod2Wiki=item_matches -->==matches==
 
  
  $name = $plugin-&gt;matches( $test, $param )
 
  
 +
<!-- Pod2Wiki= -->
 +
<!-- Pod2Wiki=head_matches -->
 +
===matches===
 +
 +
<source lang="perl">$name = $plugin->matches( $test, $param )
 +
 +
</source>
 
Return true if this plugin matches the test, false otherwise. If the test is not known then return false.
 
Return true if this plugin matches the test, false otherwise. If the test is not known then return false.
  
<!-- End of Pod2Wiki -->
+
<!-- Edit below this comment -->
<!-- Pod2Wiki=item_param -->==param==
 
  
  $value = $plugin-&gt;param( $paramid )
 
  
Return the parameter with the given id. This uses the hard wired parameter unless an override has been configured for this archive.
+
<!-- Pod2Wiki= -->
 +
<!-- Pod2Wiki=head_param -->
 +
===param===
  
<!-- End of Pod2Wiki -->
+
<source lang="perl">$value = $plugin->param( $paramid )
<!-- Pod2Wiki=item_html_phrase_id -->==html_phrase_id==
 
  
  $phraseid = $plugin-&gt;html_phrase_id( $id )
+
</source>
 +
Return the parameter with the given id. This uses the hard wired parameter unless an override has been configured for this repository:
  
 +
<pre>  $c-&gt;{plugins}-&gt;{"Export::XML"}-&gt;{params}-&gt;{name} = "My EP3 XML";
 +
  $c-&gt;{plugins}-&gt;{"Export::Ids"}-&gt;{params}-&gt;{disable} = 1;</pre>
 +
 +
<!-- Edit below this comment -->
 +
 +
 +
<!-- Pod2Wiki= -->
 +
<!-- Pod2Wiki=head_html_phrase_id -->
 +
===html_phrase_id===
 +
 +
<source lang="perl">$phraseid = $plugin->html_phrase_id( $id )
 +
 +
</source>
 
Returns the fully-qualified phrase identifier for the $id phrase for this plugin.
 
Returns the fully-qualified phrase identifier for the $id phrase for this plugin.
  
<!-- End of Pod2Wiki -->
+
<!-- Edit below this comment -->
<!-- Pod2Wiki=item_html_phrase -->==html_phrase==
 
  
  $xhtml = $plugin-&gt;html_phrase( $id, %bits )
 
  
 +
<!-- Pod2Wiki= -->
 +
<!-- Pod2Wiki=head_html_phrase -->
 +
===html_phrase===
 +
 +
<source lang="perl">$xhtml = $plugin->html_phrase( $id, %bits )
 +
 +
</source>
 
Return the phrase belonging to this plugin, with the given id.
 
Return the phrase belonging to this plugin, with the given id.
  
 
Returns a DOM tree.
 
Returns a DOM tree.
  
<!-- End of Pod2Wiki -->
+
<!-- Edit below this comment -->
<!-- Pod2Wiki=item_phrase -->==phrase==
 
  
  $utf8 = $plugin-&gt;phrase( $id, %bits )
 
  
 +
<!-- Pod2Wiki= -->
 +
<!-- Pod2Wiki=head_phrase -->
 +
===phrase===
 +
 +
<source lang="perl">$utf8 = $plugin->phrase( $id, %bits )
 +
 +
</source>
 
Return the phrase belonging to this plugin, with the given id.
 
Return the phrase belonging to this plugin, with the given id.
  
 
Returns a utf-8 encoded string.
 
Returns a utf-8 encoded string.
  
<!-- End of Pod2Wiki -->
+
<!-- Edit below this comment -->
<!-- Pod2Wiki=head_static_methods -->==Static Methods==
 
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_load -->===load===
 
 
 
  EPrints::Plugin::load() [static]
 
 
 
Load all system plugins
 
  
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_load_dir -->===load_dir===
 
  
  EPrints::Plugin::load_dir( $reg, $path, $baseclass, $prefix ) [static]
+
<!-- Pod2Wiki= -->
 +
<!-- Pod2Wiki=head_copyright -->
 +
==COPYRIGHT==
 +
Copyright 2000-2011 University of Southampton.
  
Load plugins in this directory and recurse through subdirectories.
+
This file is part of EPrints http://www.eprints.org/.
  
$reg is a pointer to a hash to store the lost of found plugins in.
+
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.
  
<!-- End of Pod2Wiki -->
+
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.
<!-- Pod2Wiki=item_plugin_list -->===plugin_list===
 
  
  @plugin_ids = EPrints::Plugin::plugin_list() [static]
+
You should have received a copy of the GNU Lesser General Public License along with EPrints. If not, see http://www.gnu.org/licenses/.
  
Return either a list of all the ids of the system plugins.
+
<!-- Edit below this comment -->
  
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=head_undocumented_methods -->=UNDOCUMENTED METHODS=
 
{{API:Undocumented Methods}}<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_icon_url -->==icon_url==
 
  
<!-- End of Pod2Wiki -->
+
<!-- Pod2Wiki= -->
<!-- Pod2Wiki=_postamble_ --><!-- End of Pod2Wiki -->
+
<!-- Pod2Wiki=_postamble_ -->
 +
<!-- 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::Plugin - base class of all EPrints Plugins


SYNOPSIS

$plugin = $repo->plugin( "Export::XML" );


DESCRIPTION

This class provides the basic methods used by all EPrints Plugins.


METHODS

new

$plugin = EPrints::Plugin->new( %params );

Create a new instance of a plugin. Defines the following parameters:

  • repository
Required handle to the current repository object.
  • name
Human-readable name of the plugin.
  • alias
Array reference of plugin id's that this plugin is aliasing (replacing).


mime_type

$mime_type = EPrints::Plugin->mime_type()

Returns the MIME type for this plugin.

Returns undef if there is no relevant MIME type for this plugin type.


local_uri

$value = EPrints::Plugin->local_uri

Return a unique ID for this plugin as it relates to the current repository. This can be used to distinguish that XML import for different repositories may have minor differences.

This URL will not resolve to anything useful.


global_uri

$value = EPrints::Plugin->global_uri

Return a unique ID for this plugin, but not just in this repository but for any repository. This can be used for fuzzier tools which do not care about the minor differences between EPrints repositories.

This URL will not resolve to anything useful.


id

$id = $plugin->id

Return the ID of this plugin.


name

$name = $plugin->name

Return the ID of this plugin.


type

$name = $plugin->type

Return the type of this plugin. eg. Export


subtype

$name = $plugin->subtype

Return the sub-type of this plugin. eg. BibTex

This is the ID with the type stripped from the front.


error_message

$msg = $plugin->error_message

Return the error message, if this plugin can't be used.


broken

$boolean = $plugin->broken

Return the value of a parameter in the current plugin.


matches

$name = $plugin->matches( $test, $param )

Return true if this plugin matches the test, false otherwise. If the test is not known then return false.


param

$value = $plugin->param( $paramid )

Return the parameter with the given id. This uses the hard wired parameter unless an override has been configured for this repository:

  $c->{plugins}->{"Export::XML"}->{params}->{name} = "My EP3 XML";
  $c->{plugins}->{"Export::Ids"}->{params}->{disable} = 1;


html_phrase_id

$phraseid = $plugin->html_phrase_id( $id )

Returns the fully-qualified phrase identifier for the $id phrase for this plugin.


html_phrase

$xhtml = $plugin->html_phrase( $id, %bits )

Return the phrase belonging to this plugin, with the given id.

Returns a DOM tree.


phrase

$utf8 = $plugin->phrase( $id, %bits )

Return the phrase belonging to this plugin, with the given id.

Returns a utf-8 encoded string.


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