Difference between revisions of "API:EPrints/Plugin/Import"
| (4 intermediate revisions by the same user not shown) | |||
| Line 45: | Line 45: | ||
* visible  | * visible  | ||
: "staff" (staff only) or "all" (anyone).  | : "staff" (staff only) or "all" (anyone).  | ||
| + | |||
| + | <!-- Edit below this comment -->  | ||
| + | |||
| + | |||
| + | <!-- Pod2Wiki= -->  | ||
| + | <!-- Pod2Wiki=head_handler -->  | ||
| + | ===handler===  | ||
| + | |||
| + | <source lang="perl">$handler = $plugin->handler()  | ||
| + | |||
| + | </source>  | ||
| + | Returns the Handler object, which is used for messages and object creation.  | ||
| + | |||
| + | <!-- Edit below this comment -->  | ||
| + | |||
| + | |||
| + | <!-- Pod2Wiki= -->  | ||
| + | <!-- Pod2Wiki=head_set_handler -->  | ||
| + | ===set_handler===  | ||
| + | |||
| + | <source lang="perl">$plugin->set_handler( $handler )  | ||
| + | |||
| + | </source>  | ||
| + | Set the handler object.  | ||
| + | |||
| + | <!-- Edit below this comment -->  | ||
| + | |||
| + | |||
| + | <!-- Pod2Wiki= -->  | ||
| + | <!-- Pod2Wiki=head_can_input -->  | ||
| + | ===can_input===  | ||
| + | |||
| + | <source lang="perl">$ok = $plugin->can_input( TYPE )  | ||
| + | |||
| + | </source>  | ||
| + | Supports user input via:  | ||
| + | |||
| + | * textarea  | ||
| + | : Paste into a text area.  | ||
| + | |||
| + | * file  | ||
| + | : Upload a file.  | ||
| + | |||
| + | * form  | ||
| + | : Calls $plugin->render_input_form() to render an input form.  | ||
<!-- Edit below this comment -->  | <!-- Edit below this comment -->  | ||
| Line 56: | Line 101: | ||
</source>  | </source>  | ||
| − | Import one or more objects from   | + | Import one or more objects from '''FILEHANDLE'''. '''FILEHANDLE''' should be set to binary semantics using {{API:PodLink|file=perlfunc|package_name=perlfunc|section=binmode|text=perlfunc/binmode}}.  | 
This method should by subclassed.  | This method should by subclassed.  | ||
| Line 70: | Line 115: | ||
</source>  | </source>  | ||
| − | Opens FILENAME for reading, sets binary semantics and calls input_fh to actually read the file.  | + | Opens '''FILENAME''' for reading, sets binary semantics and calls [[API:EPrints/Plugin/Import#input_fh|input_fh]] to actually read the file.  | 
This method may be subclassed (e.g. see [[API:EPrints/Plugin/Import/TextFile|EPrints::Plugin::Import::TextFile]]).  | This method may be subclassed (e.g. see [[API:EPrints/Plugin/Import/TextFile|EPrints::Plugin::Import::TextFile]]).  | ||
| Line 84: | Line 129: | ||
</source>  | </source>  | ||
| − | Turn $epdata into a [[API:EPrints/DataObj|EPrints::DataObj]]   | + | Turn '''$epdata''' into a [[API:EPrints/DataObj|EPrints::DataObj]] using the [[API:EPrints/DataSet|dataset]] argument passed in %opts.  | 
| + | |||
| + | Uses the [[API:EPrints/Plugin/Import#handler|handler]] object to perform the actual object creation.  | ||
| + | |||
| + | When sub-classing you '''must''' call [[API:EPrints/Plugin/Import#epdata_to_dataobj|epdata_to_dataobj]] in order to correctly handle the parse-only and test phases during import.  | ||
| + | |||
| + | <!-- Edit below this comment -->  | ||
| + | |||
| + | |||
| + | <!-- Pod2Wiki= -->  | ||
| + | <!-- Pod2Wiki=head_warning -->  | ||
| + | ===warning===  | ||
| + | |||
| + | <source lang="perl">$plugin->warning( $text )  | ||
| + | |||
| + | </source>  | ||
| + | Generate a warning message using '''$text'''.  | ||
| + | |||
| + | <!-- Edit below this comment -->  | ||
| + | |||
| + | |||
| + | <!-- Pod2Wiki= -->  | ||
| + | <!-- Pod2Wiki=head_error -->  | ||
| + | ===error===  | ||
| + | |||
| + | <source lang="perl">$plugin->error( $text )  | ||
| + | |||
| + | </source>  | ||
| + | Generate an error message using '''$text'''.  | ||
| − | + | <!-- Edit below this comment -->  | |
| + | |||
| + | |||
| + | <!-- Pod2Wiki= -->  | ||
| + | <!-- Pod2Wiki=head_is_tool -->  | ||
| + | ===is_tool===  | ||
| + | |||
| + | <source lang="perl">$bool = $plugin->is_tool()  | ||
| + | |||
| + | </source>  | ||
| + | Returns true if this plugin is a tool that should be rendered as a link.  | ||
<!-- 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
Latest Source Code (3.4, 3.3) | Revision Log | Before editing this page please read Pod2Wiki
Contents
NAME
EPrints::Plugin::Import
METHODS
new
$plugin = EPrints::Plugin::Import->new( %params )
Creates a new Import plugin. In addition to those parameters defined by EPrints::Plugin:
- accept
 
- Array reference of acceptable MIME types. By default includes application/x-eprints-import-XXX, where XXX is the case-insensitive id of the plugin.
 
- actions
 
- Array reference of named actions.
 
- advertise
 
- Boolean for whether to advertise this plugin to users.
 
- arguments
 
- Hash reference of supported arguments/default values.
 
- Handler
 
- Reference to a handler class, typically EPrints::CLIProcessor or EPrints::ScreenProcessor.
 
- produce
 
- Array reference of object types this plugin can produce.
 
- screen
 
- The screen id this plugin uses to provide its import UI.
 
- visible
 
- "staff" (staff only) or "all" (anyone).
 
handler
$handler = $plugin->handler()
Returns the Handler object, which is used for messages and object creation.
set_handler
$plugin->set_handler( $handler )
Set the handler object.
can_input
$ok = $plugin->can_input( TYPE )
Supports user input via:
- textarea
 
- Paste into a text area.
 
- file
 
- Upload a file.
 
- form
 
- Calls $plugin->render_input_form() to render an input form.
 
input_fh
$plugin->input_fh( fh => FILEHANDLE [, %opts] )
Import one or more objects from FILEHANDLE. FILEHANDLE should be set to binary semantics using perlfunc/binmode.
This method should by subclassed.
input_file
$plugin->input_file( filename => FILENAME [, %opts] )
Opens FILENAME for reading, sets binary semantics and calls input_fh to actually read the file.
This method may be subclassed (e.g. see EPrints::Plugin::Import::TextFile).
epdata_to_dataobj
$dataobj = $plugin->epdata_to_dataobj( $epdata, %opts )
Turn $epdata into a EPrints::DataObj using the dataset argument passed in %opts.
Uses the handler object to perform the actual object creation.
When sub-classing you must call epdata_to_dataobj in order to correctly handle the parse-only and test phases during import.
warning
$plugin->warning( $text )
Generate a warning message using $text.
error
$plugin->error( $text )
Generate an error message using $text.
is_tool
$bool = $plugin->is_tool()
Returns true if this plugin is a tool that should be rendered as a link.
COPYRIGHT
Copyright 2000-2012 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/.