Difference between revisions of "API:EPrints/DataObj/EPM"
Line 740: | Line 740: | ||
<!-- Pod2Wiki= --> | <!-- Pod2Wiki= --> | ||
</div> | </div> | ||
− | <!-- Pod2Wiki= | + | <!-- Pod2Wiki=item_render_icon --> |
− | ==== | + | ====render_icon==== |
− | $xhtml = EPrints::DataObj::EPM:: | + | $xhtml = EPrints::DataObj::EPM::render_icon( $repo, $field, $value, under, undef, $epm ) |
Returns and XHTML DOM object rendering for the icon of the EPM using the image with the filename supplied by <tt>$value</tt>. | Returns and XHTML DOM object rendering for the icon of the EPM using the image with the filename supplied by <tt>$value</tt>. | ||
Revision as of 01:41, 11 January 2022
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
- 1 NAME
- 2 DESCRIPTION
- 3 CORE METADATA FIELDS
- 4 REFERENCES AND RELATED OBJECTS
- 5 INSTANCE VARIABLES
- 6 METHODS
- 6.1 Constructor Methods
- 6.2 Class Methods
- 6.3 Object Methods
- 6.3.1 commit
- 6.3.2 rebuild
- 6.3.3 version
- 6.3.4 is_enabled
- 6.3.5 repositories
- 6.3.6 package_filename
- 6.3.7 epm_dir
- 6.3.8 installed_files
- 6.3.9 repository_files
- 6.3.10 control_screen
- 6.3.11 serialise
- 6.3.12 url_stem
- 6.3.13 html_phrase
- 6.3.14 install
- 6.3.15 uninstall
- 6.3.16 disable_unchanged
- 6.3.17 enable
- 6.3.18 enable
- 6.3.19 current_counters
- 6.3.20 current_datasets
- 6.3.21 update_counters
- 6.3.22 update_datasets
- 6.3.23 publish
- 6.3.24 is_set
- 6.4 Utility Methods
- 7 SEE ALSO
- 8 COPYRIGHT
NAME
EPrints::DataObj::EPM - An EPrints Package Manager (EPM) package.
DESCRIPTION
CORE METADATA FIELDS
epmid (id)
The text ID of the EPM package
eprintid (int)
The ID number of the EPrint record from the EPM repository.
E.g. http://bazaar.eprints.org/.
uri (url)
The URI of the EPM package from the EPM repository it is hosted.
E.g. http://bazaar.eprints.org/id/epm/reports
version (text)
The version (e.g. 1.0.0) of the EPM package.
controller (text)
creators (compound, multiple)
Creators of the EPM package including both their full name and email address.
datestamp (time)
The date and time this version of this EPM package was published.
title (longtext)
The title of this EPM package.
description (longtext)
The description of this EPM package and its purpose.
requirements (longtext)
A description of the requirements for this EPM package.
home_page (url)
A URL for the home page of the EPM package. Maybe a page including documentation on how to use the EPM package.
icon (url)
A URL for the icon for the EPM package.
REFERENCES AND RELATED OBJECTS
documents (subobject, multiple)
The documents for this EPM package. Effectively a manifest of files required to install the EPM om a repository.
INSTANCE VARIABLES
See EPrints::DataObj.
METHODS
Constructor Methods
new
$epm = EPrints::DataObj::EPM->new( $repo, $id )
Returns a new object representing the installed EPM package $id.
new_from_data
$epm = EPrints::DataObj::EPM->new_from_data( $repo, $epdata, $dataset )
Returns a new object representing the EPM package based on the $epdata and $dataset.
new_from_data
$epm = EPrints::DataObj::EPM->new_from_data( $repo, $xml )
Returns a new object representing the EPM package based on the $xml provided.
new_from_data
$epm = EPrints::DataObj::EPM->new_from_data( $repo, $fh )
Returns a new object representing the EPM package based on the XML from the file handle $fh provided.
new_from_manifest
$epm = EPrint::DataObj::EPM->new_from_manifest( $repo, $epdata, [ @manifest ] )
Makes and returns a new EPM object based on the $epdata and a manifest of installable files.
Class Methods
get_system_field_info
$metadata = EPrints::DataObj::EPM->get_system_field_info
Returns an array describing the system metadata of the epm dataset.
get_dataset_id
$dataset = EPrints::DataObj::EPM->get_dataset_id
Returns the ID of the EPrints::DataSet object to which this record belongs.
render_controller
$xhtml = EPrints::DataObj::EPM::render_controller( $repo, $field, $value, under, undef, $epm )
Returns and XHTML DOM object rendering for the action link of the EPM using the screen plugin with name supplied by $value.
render_icon
$xhtml = EPrints::DataObj::EPM::render_icon( $repo, $field, $value, under, undef, $epm )
Returns and XHTML DOM object rendering for the icon of the EPM using the image with the filename supplied by $value.
map
EPrints::DataObj::EPM->map( $repo, $f, $ctx )
Apply a function $f over all installed EPMs with and only context $ctx, which is not currently implemented.
sub { my( $repo, $dataset, $epm, [ $ctx ] ) = @_; }
This loads the EPM index files only.
Object Methods
commit
$epm->commit
Commit any changes to the installed .epm, .epmi files.
rebuild
$epm->rebuild
Reload all of the installed files (regenerating hashes if necessary).
version
$v = $epm->version
Returns a stringified version suitable for string gt/lt matching.
is_enabled
$bool = $epm->is_enabled
Returns true if the EPM is enabled for the current repository.
repositories
@repoids = $epm->repositories
Returns a list of repository IDs in which this EPM is enabled.
package_filename
$filename = $epm->package_filename
Returns the complete package filename.
epm_dir
$dir = $epm->epm_dir
Path to the epm directory for this EPM.
installed_files
@files = $epm->installed_files
Returns a list of installed files as EPrints::DataObj::File.
repository_files
@files = $epm->repository_files
Returns the list of configuration files used to enable/configure this EPM.
control_screen
$screen = $epm->control_screen( %params )
Returns the control screen for this EPM. %params are passed to the plugin constructor.
serialise
$epm->serialise( $fh, [ $files ] )
Serialises this EPM to the open file handle $fh. If $files is true file contents are included.
url_stem
$url_stem = $epm->url_stem
Returns the URL stem for this EPM. Always just an empty string.
html_phrase
$xhtml_phrase = $epm->html_phrase( $phraseid, [ @pins ] )
Returns and XHTML DOM oject of the HTML phrase for and EPM with the $phraseid using the @pins provided if required.
install
$ok = $epm->install( $handler, [ $force ] )
Install the EPM into the system. $handler is a EPrints::CLIProcessor or EPrints::ScreenProcessor, used for reporting errors.
$force ignores checking the hashes of the files to make sure they have not been changed.
Returns boolean dependent on whether install was successful.
uninstall
$ok = $epm->uninstall( $handler, [ $force ] )
Remove the EPM from the system. $handler is a EPrints::CLIProcessor or EPrints::ScreenProcessor, used for reporting errors.
$force ignores checking the hashes of the files to make sure they have not been changed.
Returns boolean dependent on whether uninstall was successful.
disable_unchanged
$ok = $epm->disable_unchanged
Remove unchanged files from the repository directory. This allows a new version of the EPM to be installed/enabled.
Returns boolean dependent on whether disabling unchanged was successful.
enable
$ok = $epm->enable( $handler )
Enables the EPM for the current repository using $handler to manage messaging for the enabling process.
Returns boolean dependent on whether enabling was successful.
enable
$ok = $epm->enable( $handler )
Enables the EPM for the current repository using $handler to manage messaging for the disabling process.
Returns boolean dependent on whether disabling was successful.
current_counters
$conf = $epm->current_counters
Get SQL counters for current data objects.
current_datasets
$conf = $epm->current_datasets
Get dataset for current data objects.
update_counters
$ok = $epm->update_counters( $before )
Update the SQL counters. Removing any counters listed in $before that are not used any more. ($before should be retrieved before enabling by using current_counters.)
update_datasets
$ok = $epm->update_datasets( $before )
Update the datasets following any configuration changes made by the extension on being enabled. Removing any datasets listed in $before that are not used any more. $before should be retrieved before enabling by using current_datasets.
publish
$ok = $epm->publish( $handler, $url, %opts )
Publish this EPM to a remote system using SWORD, using $handler to manage messaging for the publishing process.
$url is the URL of the SWORD endpoint or a page containing a SWORD link.
Options:
username - username for Basic auth password - password for Basic auth
Returns a boolean dependent on whether the publishing was successful.
is_set
$ok = $epm->is_set( $fieldid )
Returns a boolean dependent on whether a value is set for the field with $fieldid for this EPM.
Utility Methods
render_controller
$xhtml = EPrints::DataObj::EPM::render_controller( $repo, $field, $value, under, undef, $epm )
Returns and XHTML DOM object rendering for the action link of the EPM using the screen plugin with name supplied by $value.
render_icon
$xhtml = EPrints::DataObj::EPM::render_icon( $repo, $field, $value, under, undef, $epm )
Returns and XHTML DOM object rendering for the icon of the EPM using the image with the filename supplied by $value.
SEE ALSO
EPrints::DataObj and EPrints::DataSet
COPYRIGHT
© Copyright 2000-2024 University of Southampton.
EPrints 3.4 is supplied by EPrints Services.
http://www.eprints.org/eprints-3.4/
LICENSE
This file is part of EPrints 3.4 http://www.eprints.org/.
EPrints 3.4 and this file are released under the terms of the GNU Lesser General Public License version 3 as published by the Free Software Foundation unless otherwise stated.
EPrints 3.4 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 3.4. If not, see http://www.gnu.org/licenses/.