Difference between revisions of "API:EPrints/DataObj/EPrint"

From EPrints Documentation
Jump to: navigation, search
 
(27 intermediate revisions by 5 users 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.4 source. Any wiki changes made between the 'Pod2Wiki=*' and 'Edit below this comment' comments will be lost.
  -->{{API:Source|file=EPrints/DataObj/EPrint.pm|package_name=EPrints::DataObj::EPrint}}[[Category:API|EPrint]]<!-- End of Pod2Wiki -->
+
  -->{{API}}{{Pod2Wiki}}{{API:Source|file=EPrints/DataObj/EPrint.pm|package_name=EPrints::DataObj::EPrint}}[[Category:API|EPRINT]][[Category:API:EPrints/DataObj|EPRINT]]<div><!-- Edit below this comment -->
<!-- Pod2Wiki=head_name -->'''EPrints::DataObj::EPrint''' - Class representing an actual EPrint
 
__TOC__
 
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=head_description -->=DESCRIPTION=
 
This class represents a single eprint record and the metadata associated with it. This is associated with one of more EPrint::Document objects.
 
EPrints::DataObj::EPrint is a subclass of EPrints::DataObj with the followingmetadata fields (plus those defined in ArchiveMetadataFieldsConfig):
 
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=head_system_metadata -->=SYSTEM METADATA=
 
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_eprintid -->==eprintid==
 
  
  eprintid (int)
+
 
 +
<!-- Pod2Wiki=_private_ --><!-- Pod2Wiki=head_name -->
 +
==NAME==
 +
'''EPrints::DataObj::EPrint''' - The actual publication record.
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=head_description -->
 +
==DESCRIPTION==
 +
This class represents a single eprint record and the metadata  associated with it. This is associated with one of more  {{API:PodLink|file=EPrint/DataObj/Document|package_name=EPrint::DataObj::Document|section=|text=EPrint::DataObj::Document}} objects.
 +
 
 +
This class is has the following core metadata fields.
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=head_core_metadata_fields -->
 +
==CORE METADATA FIELDS==
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_eprintid -->
 +
===eprintid (int)===
  
 
The unique numerical ID of this eprint.  
 
The unique numerical ID of this eprint.  
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_rev_number -->==rev_number==
 
  
  rev_number (int)
+
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_rev_number -->
 +
===rev_number (int)===
  
 
The number of the current revision of this record.
 
The number of the current revision of this record.
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_userid -->==userid==
 
  
  userid (itemref)
+
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
  
The id of the user who deposited this eprint (if any). Scripted importingcould cause this not to be set.
 
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_dir -->==dir==
 
  
  dir (text)
+
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_eprint_status -->
 +
===eprint_status (set)===
  
The directory, relative to the documents directory for this repository, whichthis eprints data is stored in. Eg. disk0/00/00/03/34 for record 334.
+
The current status of the eprint record. By default this must be one  of: <tt>inbox</tt>, <tt>buffer</tt>, <tt>archive</tt>, <tt>deleted</tt>.
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_datestamp -->==datestamp==
 
  
  datestamp (time)
+
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_source -->
 +
===source (text)===
 +
 
 +
Stores an identifier for the source of this record. Rarely used.
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_dir -->
 +
===dir (text)===
 +
 
 +
The directory, relative to the documents directory for this  repository, which this eprints data is stored in. E.g.  <tt>disk0/00/00/03/34</tt> for record 334.  This cannot be cloned or imported.
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_datestamp -->
 +
===datestamp (time)===
  
 
The date this record first appeared live in the repository.
 
The date this record first appeared live in the repository.
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_lastmod -->==lastmod==
 
  
  lastmod (time)
+
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_lastmod -->
 +
===lastmod (time)===
 +
 
 +
The date this record was last modified.  This cannot be imported.
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_status_changed -->
 +
===status_changed (time)===
  
The date this record was last modified.
+
The date/time this record was moved between statuses (see <tt>eprint_status</tt>). This cannot be imported.
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_status_changes -->==status_changes==
 
  
  status_changes (time)
+
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
  
The date/time this record was moved between inbox, buffer, archive, etc.
 
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_type -->==type==
 
  
  type (namedset)
+
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_type -->
 +
===type (namedset)===
  
 
The type of this record, one of the types of the "eprint" dataset.
 
The type of this record, one of the types of the "eprint" dataset.
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_succeeds -->==succeeds==
 
  
   succeeds (itemref)
+
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_metadata_visibility -->
 +
===metadata_visibility (set)===
 +
 
 +
This field is automatically set.
 +
 
 +
show - appears normally
 +
no_search - hidden from search/views
 +
    
 +
The <tt>hide</tt> option may be used to force an eprint to not appear in search/views but is not considered a stable option.
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_fileinfo -->
 +
===fileinfo (longtext)===
 +
 
 +
Stores a serialisation of the files including paths associated with the record.
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_item_issues -->
 +
===item_issues (compound, multiple)===
 +
 
 +
Stores any issues with the metadata for this record, which were reorted by a user  of generated by running <tt>bin/issues_audit</tt>.  Contains the following sub-fields:
 +
 
 +
id (id) - The unique ID of the issue.
 +
type (id) - The type of issue. (E.g. duplicate title, similar title, etc.)
 +
description (longtext) - A description of the issue that can be rendered to the user.
 +
timestamp (time) - The time the issue was detected.
 +
status (set) - The status of the issue, i.e. the progress on its resolution.
 +
reported_by (itemref) - The user who reported the issue.
 +
resolved_by (itemref) - The user who resolved the issue.
 +
comment (longtext) - Comments about the issue and/or the progress of its resolution.
 +
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_item_issues_count -->
 +
===item_issues_count (int)===
  
The ID of the eprint (if any) which this succeeds.  This field should havebeen an int and may be changed in a later upgrade.
+
The current number of issues with the record.  This field is volatile. =back
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_commentary -->==commentary==
 
  
  commentary (itemref)
+
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
  
The ID of the eprint (if any) which this eprint is a commentary on.  This field should have been an int and may be changed in a later upgrade.
 
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_replacedby -->==replacedby==
 
  
  replacedby (itemref)
+
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_edit_lock -->
 +
===edit_lock (compound)===
  
The ID of the eprint (if any) which has replaced this eprint. This is only seton records in the "deletion" datasetThis field should havebeen an int and may be changed in a later upgrade.
+
Stores information about any edit lock on the record to prevent other users from editing itContains the following sub-fields:
<!-- End of Pod2Wiki -->
+
user (itemref) - The user holding the edit lock
<!-- Pod2Wiki=head_methods -->=METHODS=
+
since (int) - Time in seconds since the start of the last epoch when the edit lock begun.
<!-- End of Pod2Wiki -->
+
until (int) - Time in seconds since the start of the last epoch when the edit lock will be released if the user does not otherwise release it.
<!-- Pod2Wiki=item_get_system_field_info -->==get_system_field_info==
 
  
  $metadata = EPrints::DataObj::EPrint-&gt;get_system_field_info
+
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
  
Return an array describing the system metadata of the EPrint dataset.
 
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_get_dataset_id -->==get_dataset_id==
 
  
  $dataset = EPrints::DataObj::EPrint-&gt;get_dataset_id
+
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_template -->
 +
===template (namedset)===
  
Returns the id of the [[API:EPrints/DataSet|EPrints::DataSet]] object to which this record belongs.
+
The name of the template to use for displaying the abstract/summary page.
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_get_dataset -->==get_dataset==
 
  
  $dataset = $eprint-&gt;get_dataset
+
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
  
Return the dataset to which this object belongs. This will returnone of the virtual datasets: inbox, buffer, archive or deletion.
 
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_get_defaults -->==get_defaults==
 
  
  $defaults = EPrints::DataObj::EPrint-&gt;get_defaults( $session, $data )
+
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=head_references_and_related_objects -->
 +
==REFERENCES AND RELATED OBJECTS==
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
  
Return default values for this object based on the starting data.
 
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_clone -->==clone==
 
  
  $eprint = $eprint-&gt;clone( $dest_dataset, $copy_documents, $link )
+
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_documents -->
 +
===documents (subobject, multiple)===
  
Create a copy of this EPrint with a new ID in the given dataset.Return the new eprint, or undef in the case of an error.
+
A virtual field which represents the list of documents which are part of this record.
If $copy_documents is set and true then the documents (and files)will be copied in addition to the metadata.
 
If $nolink is true then the new eprint is not connected to theold one.
 
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_log_mail_owner -->==log_mail_owner==
 
  
  $eprint-&gt;log_mail_owner( $mail )
+
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
  
Log that the given mail message was send to the owner of this EPrint.
 
$mail is the same XHTML DOM that was sent as the email.
 
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_get_editorial_contact -->==get_editorial_contact==
 
  
  $user = $eprint-&gt;get_editorial_contact
+
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_files -->
 +
===files (subobject, multiple)===
  
Return the user identified as the editorial contact for this item.
+
A virtual field which represents the list of files which are part of this record.
By default returns undef.
 
nb. This has nothing to do with the editor defined in the metadata
 
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_remove -->==remove==
 
  
  $success = $eprint-&gt;remove
+
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
  
Erase this eprint and any associated records from the database andfilesystem.
 
This should only be called on eprints in "inbox" or "buffer".
 
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_commit -->==commit==
 
  
  $success = $eprint-&gt;commit( [$force] );
+
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_userid -->
 +
===userid (itemref)===
  
Commit any changes that might have been made to the database.
+
The ID of the user who deposited this eprint (if any). Scripted importing could cause this not to be set.
If the item has not be changed then this function does nothing unless$force is true.
 
Calls L!/set_eprint_automatic_fields! just before the <tt>$eprint</tt> is committed.
 
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_write_revision -->==write_revision==
 
  
  $eprint-&gt;write_revision
+
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
  
Write out a snapshot of the XML describing the current state of theeprint.
 
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_validate -->==validate==
 
  
   $problems = $eprint-&gt;validate( [$for_archive], $workflow_id )
+
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_importid -->
 +
===importid (itemref)===
 +
 
 +
The ID of the import from which this eprint was imported. (Rarely used).
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_sword_depositor -->
 +
===sword_depositor (itemref)===
 +
 
 +
The ID of the user who deposited this eprint through EPrints  {{API:PodLink|file=http:|package_name=http:|section=|text=SWORD API}}.
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_succeeds -->
 +
===succeeds (itemref)===
 +
 
 +
The ID of the eprint (if any) which this succeeds.
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_commentary -->
 +
===commentary (itemref)===
 +
 
 +
The ID of the eprint (if any) which this eprint is a commentary on.
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=head_instance_variables -->
 +
==INSTANCE VARIABLES==
 +
Also see [[API:EPrints/DataObj#INSTANCE_VARIABLES|EPrints::DataObj]].
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_$self->{user} -->
 +
===$self-&gt;{user}===
 +
 
 +
The user who is owner of this eprint data object.
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=head_methods -->
 +
==METHODS==
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=head_constructor_methods -->
 +
===Constructor Methods===
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_create -->
 +
====create====
 +
 
 +
$eprint = EPrints::DataObj::EPrint-&gt;create( $session, $dataset, $data )
 +
Create a new EPrint entry in the given <tt>$dataset</tt>..
 +
 
 +
If <tt>$data</tt> is defined, then this is used as the base for the new  record. Otherwise the repository specific defaults provided by
 +
[[API:EPrints/DataObj/EPrint#set_eprint_defaults|set_eprint_defaults]] are used.
 +
 
 +
The fields <tt>eprintid</tt> and <tt>dir</tt> will be overridden even if they are  set.
 +
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_create_from_data -->
 +
====create_from_data====
 +
 
 +
$dataobj = EPrints::DataObj::EPrint-&gt;create_from_data( $session, $data, $dataset )
 +
Create a new object of this type in the database.
 +
 
 +
<tt>$datase</tt>t is the dataset it will belong to.
 +
 +
<tt>$data</tt> is the data structured as with  [[API:EPrints/DataObj#new_from_data|EPrints::DataObj#new_from_data]].
 +
 
 +
This will also create sub-objects also.
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=head_class_methods -->
 +
===Class Methods===
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_get_system_field_info -->
 +
====get_system_field_info====
 +
 
 +
$fields = EPrints::DataObj::EPrint-&gt;get_system_field_info
 +
Return an array describing the system metadata of the eprint dataset.
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_get_dataset_id -->
 +
====get_dataset_id====
 +
 
 +
$dataset = EPrints::DataObj::EPrint-&gt;get_dataset_id
 +
Returns the ID of the [[API:EPrints/DataSet|EPrints::DataSet]] object to which this record  belongs.
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_get_defaults -->
 +
====get_defaults====
 +
 
 +
$defaults = EPrints::DataObj::EPrint-&gt;get_defaults( $class, $session, $data, $dataset )
 +
Returns default values for this data object based on the starting  <tt>$data</tt>.
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=head_object_methods -->
 +
===Object Methods===
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_set_item_issues -->
 +
====set_item_issues====
 +
 
 +
$eprint-&gt;set_item_issues( $new_issues )
 +
This method updates the issues associated to this eprint based on the  <tt>$new_issues</tt> passed.
 +
 
 +
If an existing issue is set as <tt>discovered</tt> and doesn't exist in  <tt>$new_issues</tt> its status will be updated to <tt>autoresolved</tt>,  otherwise the old issue's status and description are updated.
 +
 
 +
Any issues in <tt>$new_issues</tt> that don't already exist will be  appended.
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_fileinfo -->
 +
====fileinfo====
 +
 
 +
$fileinfo = $eprint-&gt;fileinfo
 +
The special '''fileinfo''' field contains the icon and main file paths  and filenames for each non-volatile document in the eprint. This is a  performance tweak to avoid having to retrieve documents when rendering  eprint citations.
 +
 
 +
Example:
 +
 
 +
/style/images/fileicons/application_pdf.png;/20/1/paper.pdf|/20/4.hassmallThumbnailVersion/tdb_portrait.jpg;/20/4/tdb_portrait.jpg
 +
    
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_update_triggers -->
 +
====update_triggers====
 +
 
 +
$eprint-&gt;update_triggers
 +
Update all the stuff that needs updating before an eprint data object  is written to the database.
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_get_dataset -->
 +
====get_dataset====
 +
 
 +
$dataset = $eprint-&gt;get_dataset
 +
Returns the dataset to which this object belongs. This will return one of the virtual datasets, by default: <tt>inbox</tt>, <tt>buffer</tt>,  <tt>archive</tt> or <tt>deletion</tt>.
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_store_path -->
 +
====store_path====
 +
 
 +
$path = $eprint-&gt;store_path
 +
Get the storage path for this eprint data object.
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_clone -->
 +
====clone====
 +
 
 +
$eprint = $eprint-&gt;clone( $dest_dataset, $copy_documents, $link )
 +
Create a copy of this eprint data object with a new ID in the given  <tt>$dest_dataset</tt>.
 +
 
 +
Returns the new eprint, or <tt>undef</tt> in the case of an error.
 +
 
 +
If <tt>$copy_documents</tt> is set and <tt>true</tt> then the documents (and  files) will be copied in addition to the metadata.
 +
 
 +
If <tt>$nolink</tt> is <tt>true</tt> then the new eprint is not connected to the old one by not setting the new eprint's <tt>succeeds</tt> field.
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_log_mail_owner -->
 +
====log_mail_owner====
 +
 
 +
$eprint-&gt;log_mail_owner( $mail )
 +
Log that the given <tt>$mail</tt> message was sent to the owner of this  eprint data object.
 +
 
 +
<tt>$mail</tt> is the same XHTML DOM that was sent as the email.
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_get_editorial_contact -->
 +
====get_editorial_contact====
 +
 
 +
$user = $eprint-&gt;get_editorial_contact
 +
Returns the user identified as the editorial contact for this item.
 +
 
 +
By default returns <tt>undef</tt>.
 +
 
 +
N.B. This does no relate to any editors defined in the metadata for this eprint data object.
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_empty -->
 +
====empty====
 +
 
 +
$eprint-&gt;empty( [ $clear_all ] )
 +
Remove all documents and set to empty (almost) all fields.
 +
 
 +
If <tt>$clear_all</tt> also unset <tt>rev_number</tt>, <tt>metadata_visibility</tt>, and <tt>eprint_status</tt> fields.
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_remove -->
 +
====remove====
 +
 
 +
$success = $eprint-&gt;remove
 +
Erase this eprint data object and any associated data objects from the  database and filesystem.
 +
 
 +
This should only be called on eprints in <tt>inbox</tt> or <tt>buffer</tt>.
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_commit -->
 +
====commit====
 +
 
 +
$success = $eprint-&gt;commit( [ $force ] );
 +
Commit any changes to the database.
 +
 
 +
Calls [[API:EPrints/DataObj/EPrint#update_triggers|update_triggers]] just before the database is updated.
 +
 
 +
The actions this method does are dependent on some object attributes:
 +
 
 +
  changed - hash of changed fields (from [[API:EPrints/DataObj|EPrints::DataObj]])
 +
  non_volatile_change - boolean (from [[API:EPrints/DataObj|EPrints::DataObj]])
 +
  under_construction - boolean
 +
 
 +
If <tt>datestamp</tt> is unset and this eprint is in the <tt>archive</tt> dataset  <tt>datestamp</tt> will always be set which will in turn set <tt>datestamp</tt> as  changed.
 +
 
 +
If no field values were changed and <tt>$force</tt> is false returns.
 +
 
 +
If <tt>under_construction</tt> is <tt>false</tt>:
 +
- static files updated
 +
 
 +
If <tt>non_volatile_change</tt> is <tt>true</tt>:
 +
- '''lastmod''' field updated
 +
- triples update queued
 +
 
 +
If <tt>under_construction</tt> is <tt>false</tt> and <tt>non_volatile_change</tt> is  <tt>true</tt>:
 +
- revision generated
 +
 
 +
The goal of these controls is to only trigger expensive processes in  response to user actions. Revisions need to be generated when the user  changes metadata or uploads new files (see  [[API:EPrints/DataObj/Document#commit|EPrints::DataObj::Document#commit]]).
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_save_revision -->
 +
====save_revision====
 +
 
 +
$eprint-&gt;save_revision( %opts )
 +
Increase the eprint revision number and save a complete copy of the  record into the history (see [[API:EPrints/DataObj/History|EPrints::DataObj::History]]).
 +
 
 +
Options:
 +
 
 +
  user - user that caused the action to occur, defaults to current user
 +
  action - see history.action, defaults to "modify"
 +
  details - see history.details, defaults to a description of changed fields
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_validate -->
 +
====validate====
 +
 
 +
$problems = $eprint-&gt;validate( [$for_archive], $workflow_id )
 +
Return a reference to an array of XHTML DOM objects describing validation problems with the entire eprint based on <tt>$workflow_id</tt>.
 +
 
 +
If <tt>$workflow_id</tt> is undefined defaults to <tt>default</tt>.
  
Return a reference to an array of XHTML DOM objects describingvalidation problems with the entire eprint based on $workflow_id.
 
If $workflow_id is undefined defaults to "default".
 
 
A reference to an empty array indicates no problems.
 
A reference to an empty array indicates no problems.
Calls L!/validate_eprint! for the <tt>$eprint</tt>.
 
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_get_warnings -->==get_warnings==
 
  
  $warnings = $eprint-&gt;get_warnings
+
Calls [[API:EPrints/DataObj/EPrint#validate_eprint|validate_eprint]] for the <tt>$eprint</tt>.
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_skip_validation -->
 +
====skip_validation====
 +
 
 +
$boolean = $eprint-&gt;skip_validation
 +
Returns <tt>true</tt> if this eprint should pass validation without being properly validated. This is to allow the use of dodgy data imported from legacy systems.
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_prune_documents -->
 +
====prune_documents====
 +
 
 +
$eprint-&gt;prune_documents
 +
Remove any documents associated with this eprint that do not actually have any files.
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
  
Return a reference to an array of XHTML DOM objects describingwarnings about this eprint - that is things that are not quite validation errors, but it'd be nice if they were fixed.
 
Calls L!/eprint_warnings! for the <tt>$eprint</tt>.
 
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_skip_validation -->==skip_validation==
 
  
  $boolean = $eprint-&gt;skip_validation
+
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_get_all_documents -->
 +
====get_all_documents====
  
Returns true if this eprint should pass validation without beingproperly validated. This is to allow the use of dodgey data importedfrom legacy systems.
+
@documents = $eprint-&gt;get_all_documents
<!-- End of Pod2Wiki -->
+
Return a list of all [[API:EPrints/DataObj/Document|EPrints::DataObj::Document]] objects associated with this eprint excluding documents with a <tt>isVolatileVersionOf</tt> relation, (e.g. thumbnails).
<!-- Pod2Wiki=item_prune_documents -->==prune_documents==
 
  
  $eprint-&gt;prune_documents
+
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
  
Remove any documents associated with this eprint which don't actuallyhave any files.
 
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_get_all_documents -->==get_all_documents==
 
  
  @documents = $eprint-&gt;get_all_documents
+
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_move_to_deletion -->
 +
====move_to_deletion====
  
Return an array of all EPrint::Document objects associated with thiseprint.
+
$success = $eprint-&gt;move_to_deletion
<!-- End of Pod2Wiki -->
+
Transfer the eprint into the <tt>deletion</tt> dataset. Should only be called by eprints in the <tt>archive</tt> dataset.
<!-- Pod2Wiki=item_required_formats -->==required_formats==
 
  
  @formats $eprint-&gt;required_formats
+
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce; padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
  
Return a list of the required formats for this eprint. Only one of the required formats is required, not all.
 
An empty list means no format is required.
 
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_move_to_deletion -->==move_to_deletion==
 
  
  $success = $eprint-&gt;move_to_deletion
+
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_move_to_inbox -->
 +
====move_to_inbox====
  
Transfer the EPrint into the "deletion" dataset. Should only becalled in eprints in the "archive" dataset.
+
$success = $eprint-&gt;move_to_inbox
<!-- End of Pod2Wiki -->
+
Transfer the eprint into the <tt>inbox</tt> dataset. Should only be called  for eprints in the <tt>buffer</tt> dataset.
<!-- Pod2Wiki=item_move_to_inbox -->==move_to_inbox==
 
  
  $success = $eprint-&gt;move_to_inbox
+
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
  
Transfer the EPrint into the "inbox" dataset. Should only becalled in eprints in the "buffer" dataset.
 
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_move_to_buffer -->==move_to_buffer==
 
  
  $success = $eprint-&gt;move_to_buffer
+
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_move_to_buffer -->
 +
====move_to_buffer====
  
Transfer the EPrint into the "buffer" dataset. Should only becalled in eprints in the "inbox" or "archive" dataset.
+
$success = $eprint-&gt;move_to_buffer
<!-- End of Pod2Wiki -->
+
Transfer the eprint into the <tt>buffer</tt> dataset. Should only be called  by eprints in the <tt>inbox</tt> or <tt>archive</tt> datasets.
<!-- Pod2Wiki=item_move_to_archive -->==move_to_archive==
 
  
  $success = $eprint-&gt;move_to_archive
+
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
  
Move this eprint into the main "archive" dataset. Normally only calledon eprints in "deletion" or "buffer" datasets.
 
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_local_path -->==local_path==
 
  
  $path = $eprint-&gt;local_path
+
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_move_to_archive -->
 +
====move_to_archive====
  
Return the full path of the EPrint directory on the local filesystem.No trailing slash.
+
$success = $eprint-&gt;move_to_archive
<!-- End of Pod2Wiki -->
+
Move this eprint into the main <tt>archive</tt> dataset. Normally only  called on eprints in <tt>deletion</tt> or <tt>buffer</tt> datasets.
<!-- Pod2Wiki=item_url_stem -->==url_stem==
 
  
  $url = $eprint-&gt;url_stem
+
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
  
Return the URL to this EPrint's directory. Note, this INCLUDES thetrailing slash, unlike the local_path method.
 
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_generate_static -->==generate_static==
 
  
  $eprint-&gt;generate_static
+
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_local_path -->
 +
====local_path====
  
Generate the static version of the abstract web page. In a multi-languagerepository this will generate one version per language.
+
$path = $eprint-&gt;local_path
If called on inbox or buffer, remove the abstract page.
+
Returns the full path of the eprint data onject directory on the local  filesystem with no trailing slash.
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_generate_static_all_related -->==generate_static_all_related==
 
  
  $eprint-&gt;generate_static_all_related
+
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
  
Generate the static pages for this eprint plus any it's related to,by succession or commentary.
 
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_remove_static -->==remove_static==
 
  
  $eprint-&gt;remove_static
+
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_path -->
 +
====path====
  
 +
$path = $eprint-&gt;path
 +
Returns the full URL path of the eprint data object including a  trailing slash. E.g. <tt>1234/</tt>.
 +
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 +
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_url_stem -->
 +
====url_stem====
 +
 +
$url = $eprint-&gt;url_stem
 +
Returns the URL to this eprint's directory.
 +
 +
N.B. This includes the trailing slash, unlike the local_path method.
 +
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 +
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_generate_static -->
 +
====generate_static====
 +
 +
$eprint-&gt;generate_static
 +
Generate the static version of the abstract/summary web page. In a  multi-language repository this will generate one version per language.
 +
 +
If called on eprints in the <tt>inbox</tt> or <tt>buffer</tt>, remove the  abstract/summary page.
 +
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 +
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_remove_static -->
 +
====remove_static====
 +
 +
$eprint-&gt;remove_static
 
Remove the static web page or pages.
 
Remove the static web page or pages.
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_render -->==render==
 
  
  ( $description, $title, $links ) = $eprint-&gt;render
+
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_render -->
 +
====render====
 +
 
 +
( $description, $title, $links ) = $eprint-&gt;render( $preview )
 +
Render the eprint. If <tt>$preview</tt> is <tt>true</tt> then render a preview of the eprint data object
 +
 
 +
The 3 returned values are references to XHTML DOM objects. <tt>$description</tt> is the public viewable description of this  eprintthat appears as the body of the abstract page. <tt>$title</tt> is the title of the abstract page for this eprint. <tt>$links</tt> is any elements  which should go in the <tt>head</tt> elemeny of this HTML page.
  
Render the eprint. The 3 returned values are references to XHTML DOMobjects. $description is the public viewable description of this eprintthat appears as the body of the abstract page. $title is the title ofthe abstract page for this eprint. $links is any elements which shouldgo in the &lt;head&gt; of this page.
+
Calls [[API:EPrints/DataObj/EPrint#eprint_render|eprint_render]] to actually render the <tt>$eprint</tt>, if it isn't in the <tt>deleted</tt> dataset.
Calls L!/eprint_render! to actually render the <tt>$eprint</tt>, if it isn't deleted.
 
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_render_history -->==render_history==
 
  
  ( $html ) = $eprint-&gt;render_history
+
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
  
Render the history of this eprint as XHTML DOM.
 
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_get_control_url -->==get_control_url==
 
  
  $url = $eprint-&gt;get_control_url
+
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_render_preview -->
 +
====render_preview====
  
 +
( $description, $title, $links ) = $eprint-&gt;render_preview
 +
Render a preview version of this eprint. 
 +
 +
See [[API:EPrints/DataObj/EPrint#render|render]] for more details
 +
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 +
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_get_control_url -->
 +
====get_control_url====
 +
 +
$url = $eprint-&gt;get_control_url
 
Return the URL of the control page for this eprint.
 
Return the URL of the control page for this eprint.
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_get_url -->==get_url==
 
  
  $url = $eprint-&gt;get_url
+
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_get_url -->
 +
====get_url====
 +
 
 +
$url = $eprint-&gt;get_url
 +
Return the public URL of this eprints abstract/summary page.
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_get_user -->
 +
====get_user====
 +
 
 +
$user = $eprint-&gt;get_user
 +
Return the [[API:EPrints/DataObj/User|EPrints::DataObj::User]] to whom this eprint belongs (if  any).
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_later_in_thread -->
 +
====later_in_thread====
 +
 
 +
$list = $eprint-&gt;later_in_thread( $field )
 +
Return an [[API:EPrints/List|EPrints::List]] of the immediately later items in the  thread.
 +
 
 +
<tt>$field</tt> is typically the <tt>succeeds</tt> field that generates the thread  of eprints.
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_in_thread -->
 +
====in_thread====
 +
 
 +
$boolean = $eprint-&gt;in_thread( $field )
 +
Returns <tt>true</tt> if this eprint is in the <tt>$field</tt> thread.
 +
 
 +
<tt>$field</tt> is typically the <tt>succeeds</tt> field that generates the thread  of eprints.
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_first_in_thread -->
 +
====first_in_thread====
 +
 
 +
$eprint = $eprint-&gt;first_in_thread( $field )
 +
Return the first (earliest) version or first paper in the thread of commentaries of this paper in the repository.
 +
 
 +
<tt>$field</tt> is typically the <tt>succeeds</tt> field that generates the thread of eprints.
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_last_in_thread -->
 +
====last_in_thread====
 +
 
 +
$eprint = $eprint-&gt;last_in_thread( $field )
 +
Returns the latest item in the <tt>$field</tt> thread on this eprint's  branch of the thread tree.
 +
 
 +
<tt>$field</tt> is typically the <tt>succeeds</tt> field that generates the thread of eprints.
  
Return the public URL of this eprints abstract page.  
+
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
<!-- End of Pod2Wiki -->
+
<span style='display:none'>User Comments</span>
<!-- Pod2Wiki=item_get_user -->==get_user==
+
<!-- Edit below this comment -->
  
  $user = $eprint-&gt;get_user
 
  
Return the EPrints::User to whom this eprint belongs (if any).
+
<!-- Pod2Wiki= -->
<!-- End of Pod2Wiki -->
+
</div>
<!-- Pod2Wiki=item_eprintid_to_path -->==eprintid_to_path==
+
<!-- Pod2Wiki=item_removed_from_thread -->
 +
====removed_from_thread====
  
  $path = EPrints::DataObj::EPrint::eprintid_to_path( $eprintid )
+
$eprint-&gt;removed_from_thread( $field, [ $parent ] )
 +
Fix the <tt>metadata_visibility</tt> for the eprint data object after it has  been removed from the <tt>$field</tt> (typically <tt>succeeds</tt>) based thread.
  
Return this eprints id converted into directories. Thousands of files in one directory cause problems. For example, the eprint with the id 50344 would have the path 00/05/03/44.
+
The change in <tt>$parent</tt> must be committed before this method is  called.
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_get_all_related -->==get_all_related==
 
  
  @eprints = $eprint-&gt;get_all_related
+
N.B. <tt>$parent</tt> (i.e. the eprint this eprint succeeds) is not required  for this method but included for consistency.
  
Return the eprints that are related in some way to this in a successionor commentary thread. The returned list does NOT include this EPrint.
+
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
<!-- End of Pod2Wiki -->
+
<span style='display:none'>User Comments</span>
<!-- Pod2Wiki=item_in_thread -->==in_thread==
+
<!-- Edit below this comment -->
  
  $boolean = $eprint-&gt;in_thread( $field )
 
  
Return true if this eprint is part of a thread of $field. $fieldshould be an EPrint::MetaField representing either "commentary" or"succeeds".
+
<!-- Pod2Wiki= -->
<!-- End of Pod2Wiki -->
+
</div>
<!-- Pod2Wiki=item_first_in_thread -->==first_in_thread==
+
<!-- Pod2Wiki=item_added_to_thread -->
 +
====added_to_thread====
  
  $eprint = $eprint-&gt;first_in_thread( $field )
+
$eprint-&gt;added_to_thread( $field, $parent )
 +
Fix the <tt>metadata_visibility</tt> for this eprint data object now the  has the <tt>$parent</tt> set in the <tt>$field</tt> (typically the <tt>succeeds</tt>  field).
  
Return the first (earliest) version or first paper in the threadof commentaries of this paper in the repository.
+
Does not update <tt>metadata_visibility</tt> if <tt>$parent</tt> is not in <tt>archive</tt>.
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_later_in_thread -->==later_in_thread==
 
  
  @eprints = $eprint-&gt;later_in_thread( $field )
+
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
  
Return a list of the immediately later items in the thread.
 
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_all_in_thread -->==all_in_thread==
 
  
  @eprints = $eprint-&gt;all_in_thread( $field )
+
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_map_thread -->
 +
====map_thread====
  
Return all of the EPrints in the given thread.
+
$eprint-&gt;map_thread( $field, $f )
<!-- End of Pod2Wiki -->
+
Apply function <tt>$f</tt> to every eprint data object in the <tt>$field</tt> based thread that includes this eprint.
<!-- Pod2Wiki=item_last_in_thread -->==last_in_thread==
 
  
  $eprint = $eprint-&gt;last_in_thread( $field )
+
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
  
Return the last item in the specified thread.
 
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_remove_from_threads -->==remove_from_threads==
 
  
  $eprint-&gt;remove_from_threads
+
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_render_version_thread -->
 +
====render_version_thread====
  
Extract the eprint from any threads it's in. i.e., if any otherpaper is a later version of or commentary on this paper, the linkfrom that paper to this will be removed.
+
$xhtml = $eprint-&gt;render_version_thread( $field )
Abstract pages are updated if needed.
+
Return XHTML DOM rendering describing the entire <tt>$field</tt> based  thread for this eprint data object as nested unordered lists.
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_render_version_thread -->==render_version_thread==
 
  
  $xhtml = $eprint-&gt;render_version_thread( $field )
+
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
  
Render XHTML DOM describing the entire thread as nested unordered lists.
 
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_loop_error -->==loop_error==
 
  
  $eprint-&gt;loop_error( $field, @looped_ids )
+
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_loop_error -->
 +
====loop_error====
  
This eprint is part of a threading loop which is not allowed. Log awarning.
+
$eprint-&gt;loop_error( $field, @looped_ids )
<!-- End of Pod2Wiki -->
+
Log repository error message because this eprint is part of a loop of eprint data objects (with IDs <tt>looped_ids</tt>) in a <tt>$field</tt> based  thread.
<!-- Pod2Wiki=item_get_type -->==get_type==
 
  
  $type = $eprint-&gt;get_type
+
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
  
 +
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_get_type -->
 +
====get_type====
 +
 +
$type = $eprint-&gt;get_type
 
Return the type of this eprint.
 
Return the type of this eprint.
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_render_export_links -->==render_export_links==
 
  
  $xhtml_ul_list = $eprint-&gt;render_export_links( [$staff] )
+
This is an alias of:
  
Return a &lt;ul&gt; list containing links to all the formats this eprintis available in.
+
$eprint-&gt;value( "type" )
If $staff is true then show all formats available to staff, and linkto the staff export URL.
+
 
<!-- End of Pod2Wiki -->
+
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
<!-- Pod2Wiki=item_user_roles -->==user_roles==
+
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
  
  @roles = $eprint-&gt;user_roles( $user )
 
  
Return the @roles $user has on $eprint.
+
<!-- Pod2Wiki= -->
<!-- End of Pod2Wiki -->
+
</div>
<!-- Pod2Wiki=item_datestamp -->==datestamp==
+
<!-- Pod2Wiki=item_user_roles -->
 +
====user_roles====
  
  $eprint-&gt;datestamp
+
@roles = $eprint-&gt;user_roles( $user )
 +
Return the roles the specified <tt>$user</tt> has for this eprint.
  
DEPRECATED.
+
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
<!-- End of Pod2Wiki -->
+
<span style='display:none'>User Comments</span>
<!-- Pod2Wiki=item_in_editorial_scope_of -->==in_editorial_scope_of==
+
<!-- Edit below this comment -->
  
  $boolean = $eprint-&gt;in_editorial_scope_of( $possible_editor )
 
  
Returns true if $possible_editor can edit this eprint. This isaccording to the user editperms.
+
<!-- Pod2Wiki= -->
This does not mean the user has the editor priv., just that if theydo then they may edit the given item.
+
</div>
<!-- End of Pod2Wiki -->
+
<!-- Pod2Wiki=item_datestamp -->
<!-- Pod2Wiki=item_has_owner -->==has_owner==
+
====datestamp====
  
  $boolean = $eprint-&gt;has_owner( $possible_owner )
+
$eprint-&gt;datestamp
 +
DEPRECATED
  
Returns true if $possible_owner can edit this eprint. This isaccording to the user editperms.
+
Now just generates a deprecated error message to the log. Use:
This does not mean the user has the editor priv., just that if theydo then they may edit the given item.
 
Uses the callback "does_user_own_eprint" if available.
 
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_obtain_lock -->==obtain_lock==
 
  
  $boolean = $eprint-&gt;obtain_lock( $user )
+
$eprint-&gt;value( 'datestamp' );
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
  
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_could_obtain_lock -->==could_obtain_lock==
 
  
  $boolean = $eprint-&gt;could_obtain_lock( $user )
+
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_in_editorial_scope_of -->
 +
====in_editorial_scope_of====
  
<!-- End of Pod2Wiki -->
+
$boolean = $eprint-&gt;in_editorial_scope_of( $possible_editor )
<!-- Pod2Wiki=item_is_locked -->==is_locked==
+
Returns <tt>true</tt> if <tt>$possible_editor</tt> can edit this eprint. This is according to the user's <tt>editperms</tt>.
  
  $boolean = $eprint-&gt;is_locked()
+
This does not mean the user has the editor privilege, just that if  they do then they may edit the eprint.
  
<!-- End of Pod2Wiki -->
+
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
<!-- Pod2Wiki=item_render_edit_lock -->==render_edit_lock==
+
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
  
  $xhtml = render_edit_lock( $session, $value )
 
  
<!-- End of Pod2Wiki -->
+
<!-- Pod2Wiki= -->
<!-- Pod2Wiki=head_callbacks -->=CALLBACKS=
+
</div>
 +
<!-- Pod2Wiki=item_has_owner -->
 +
====has_owner====
 +
 
 +
$boolean = $eprint-&gt;has_owner( $possible_owner )
 +
Returns <tt>true</tt> if <tt>$possible_owner</tt> can edit this eprint. This is according to the user's <tt>editperms</tt>.
 +
 
 +
This does not mean the user has the editor privilege, just that if  they do then they may edit the given eprint.
 +
 
 +
Uses the callback <tt>does_user_own_eprint</tt> if available.
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_obtain_lock -->
 +
====obtain_lock====
 +
 
 +
$boolean = $eprint-&gt;obtain_lock( $user )
 +
Assign the edit lock for this eprint data object to the specified <tt>$user</tt>.
 +
 
 +
Returns a boolean depending on whether the edit lock was successfully assigned.
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_remove_lock -->
 +
====remove_lock====
 +
 
 +
$boolean = $eprint-&gt;remove_lock( $user )
 +
Remove the edit lock for this eprint data object to the specified <tt>$user</tt>.
 +
 
 +
Returns a boolean depending on whether the edit lock was successfully removed.
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_could_obtain_lock -->
 +
====could_obtain_lock====
 +
 
 +
$boolean = $eprint-&gt;could_obtain_lock( $user )
 +
Return a boolean depending on whether the specified <tt>$user</tt> could  obtain ane edit lock on this eprint.
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_is_locked -->
 +
====is_locked====
 +
 
 +
$boolean = $eprint-&gt;is_locked
 +
Return a boolean depending on whether this eprint currently has an  edit lock.
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=head_utility_methods -->
 +
===Utility Methods===
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_render_issues -->
 +
====render_issues====
 +
 
 +
$ol_frag = EPrints::DataObj::EPrint::render_issues( $session, $field, $value )
 +
Returns a rendering of the list of issues from <tt>$value</tt> array  reference (as a <tt>ol</tt> (ordered list) XHTML DOM fragment) for the  <tt>item_issues</tt> field provided by <tt>$field</tt>.
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_order_issues_newest_open_timestamp -->
 +
====order_issues_newest_open_timestamp====
 +
 
 +
$timestamps = EPrints::DataObj::EPrint::order_issues_newest_open_timestamp( $field, $value, $session, $langid, $dataset )
 +
Returns a string containing the timestamp for the newest issue that  has <tt>status</tt> <tt>reported</tt> or <tt>discovered</tt>.
 +
 
 +
This method is called through the [[API:EPrints/MetaField|EPrints::MetaField]]  <tt>make_value_orderkey</tt> attribute.
 +
 
 +
<tt>$field</tt> is the <tt>item_issues</tt> field. <tt>$value</tt> is an array reference of the issues. <tt>$session</tt> is the [[API:EPrints/Repository|EPrints::Repository]] object,  <tt>$langid</tt> is the language ID and <tt>$dataset</tt> is the eprint dataset
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_render_fileinfo -->
 +
====render_fileinfo====
 +
 
 +
$frag = EPrints::DataObj::EPrint::render_fileinfo( $session, $field, $value, $alllangs, $nolink, $eprint )
 +
Render method for fileinfo field. Returns a XHTML DOM fragment  containing the documents stored in the <tt>fileinfo</tt> field.
 +
 
 +
This method is called through the [[API:EPrints/MetaField|EPrints::MetaField]] <tt>render_value</tt> attribute.
 +
 
 +
<tt>$session</tt> is the [[API:EPrints/Repository|EPrints::Repository]] object. <tt>$field</tt> is the  <tt>fileinfo</tt> field. <tt>$value</tt> is the value for this field. <tt>$session</tt>  is the [[API:EPrints/Repository|EPrints::Repository]] object, <tt>$alllangs</tt> is a boolean to  render in all languages if an <tt>EPrints::MetaField::Multilang</tt> field.  <tt>$nolink</tt> is a boolean on whether to not render links. <tt>$eprint</tt> is  the eprint data object that has the <tt>fileinfo</tt> field.
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_eprintid_to_path -->
 +
====eprintid_to_path====
 +
 
 +
$path = EPrints::DataObj::eprintid_to_path( $id )
 +
Returns path of the storage directory based on the eprint <tt>$id</tt>  provided.
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_render_box_list -->
 +
====render_box_list====
 +
 
 +
$frag = EPrints::DataObj::EPrint::render_box_list( $session, $eprint, $list )
 +
Returns a rendering of the [[API:EPrints/Plugin/Screen/Box|EPrints::Plugin::Screen::Box]] plugins from <tt>$list</tt> against the <tt>$eprint</tt> specified
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_render_edit_lock -->
 +
====render_edit_lock====
 +
 
 +
$xhtml = EPrints::DataObj::EPrints::render_edit_lock( $session, $field, $value, $alllangs, $nolink, $eprint )
 +
Returns an XHTML DOM fragment providing information about the edit  lock for metadata provided by <tt>$value</tt>.
 +
 
 +
This is used by the <tt>render_value</tt> attribute of the <tt>edit_lock</tt>  field, which specified, the <tt>$session</tt>, <tt>$field</tt>, <tt>$value</tt>, <tt>$alllangs</tt>, <tt>$nolink</tt> and <tt>$eprint</tt> parameters.  However, only the <tt>$session</tt>, <tt>$field</tt>, <tt>$value</tt> and <tt>$eprint</tt> parameters are  required.
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=head_callbacks -->
 +
==CALLBACKS==
 
Callbacks may optionally be defined in the ArchiveConfig.
 
Callbacks may optionally be defined in the ArchiveConfig.
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_validate_field -->==validate_field==
 
  
  validate_field( $field, $value, $session, [$for_archive] )
+
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
<!-- End of Pod2Wiki -->
+
<span style='display:none'>User Comments</span>
<!-- Pod2Wiki=item_validate_eprint -->==validate_eprint==
+
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_validate_field -->
 +
===validate_field===
 +
 
 +
validate_field( $field, $value, $session, [$for_archive] )
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_validate_eprint -->
 +
===validate_eprint===
 +
 
 +
validate_eprint( $eprint, $session, [$for_archive] )
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
 +
 
 +
<!-- Pod2Wiki= -->
 +
</div>
 +
<!-- Pod2Wiki=item_set_eprint_defaults -->
 +
===set_eprint_defaults===
 +
 
 +
set_eprint_defaults( $data, $session )
 +
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
 +
 
  
  validate_eprint( $eprint, $session, [$for_archive] )
+
<!-- Pod2Wiki= -->
  <!-- End of Pod2Wiki -->
+
</div>
<!-- Pod2Wiki=item_set_eprint_defaults -->==set_eprint_defaults==
+
<!-- Pod2Wiki=item_set_eprint_automatic_fields -->
 +
===set_eprint_automatic_fields===
  
  set_eprint_defaults( $data, $session )
+
set_eprint_automatic_fields( $eprint )
<!-- End of Pod2Wiki -->
+
<!-- Pod2Wiki=item_set_eprint_automatic_fields -->==set_eprint_automatic_fields==
+
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
  
  set_eprint_automatic_fields( $eprint )
 
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_eprint_render -->==eprint_render==
 
  
  eprint_render( $eprint, $session )
+
<!-- Pod2Wiki= -->
See L!ArchiveRenderConfig/eprint_render!.
+
</div>
<!-- End of Pod2Wiki -->
+
<!-- Pod2Wiki=item_eprint_render -->
<!-- Pod2Wiki=head_undocumented_methods -->=UNDOCUMENTED METHODS=
+
===eprint_render===
{{API:Undocumented Methods}}<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_create -->==create==
 
  
<!-- End of Pod2Wiki -->
+
eprint_render( $eprint, $session )
<!-- Pod2Wiki=item_create_from_data -->==create_from_data==
+
 
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
  
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_order_issues_newest_open_timestamp -->==order_issues_newest_open_timestamp==
 
  
<!-- End of Pod2Wiki -->
+
<!-- Pod2Wiki= -->
<!-- Pod2Wiki=item_render_box_list -->==render_box_list==
+
</div>
 +
<!-- Pod2Wiki=head_see_also -->
 +
==SEE ALSO==
 +
[[API:EPrints/DataObj|EPrints::DataObj]] and [[API:EPrints/DataSet|EPrints::DataSet]].
  
<!-- End of Pod2Wiki -->
+
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
<!-- Pod2Wiki=item_render_fileinfo -->==render_fileinfo==
+
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
  
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_render_issues -->==render_issues==
 
  
<!-- End of Pod2Wiki -->
+
<!-- Pod2Wiki= -->
<!-- Pod2Wiki=item_render_preview -->==render_preview==
+
</div>
 +
<!-- Pod2Wiki=head_copyright -->
 +
==COPYRIGHT==
 +
{{API:Copyright}}
 +
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '>
 +
<span style='display:none'>User Comments</span>
 +
<!-- Edit below this comment -->
  
<!-- End of Pod2Wiki -->
 
<!-- Pod2Wiki=item_succeed_thread_modified -->==succeed_thread_modified==
 
  
<!-- End of Pod2Wiki -->
+
<!-- Pod2Wiki= -->
<!-- Pod2Wiki=_postamble_ --><!-- End of Pod2Wiki -->
+
</div>
 +
<!-- Pod2Wiki=_postamble_ --><!-- Edit below this comment -->

Latest revision as of 16:48, 10 January 2022

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


Contents

NAME

EPrints::DataObj::EPrint - The actual publication record.

User Comments


DESCRIPTION

This class represents a single eprint record and the metadata associated with it. This is associated with one of more EPrint::DataObj::Document objects.

This class is has the following core metadata fields.

User Comments


CORE METADATA FIELDS

User Comments


eprintid (int)

The unique numerical ID of this eprint.

User Comments


rev_number (int)

The number of the current revision of this record.

User Comments


eprint_status (set)

The current status of the eprint record. By default this must be one of: inbox, buffer, archive, deleted.

User Comments


source (text)

Stores an identifier for the source of this record. Rarely used.

User Comments


dir (text)

The directory, relative to the documents directory for this repository, which this eprints data is stored in. E.g. disk0/00/00/03/34 for record 334. This cannot be cloned or imported.

User Comments


datestamp (time)

The date this record first appeared live in the repository.

User Comments


lastmod (time)

The date this record was last modified. This cannot be imported.

User Comments


status_changed (time)

The date/time this record was moved between statuses (see eprint_status). This cannot be imported.

User Comments


type (namedset)

The type of this record, one of the types of the "eprint" dataset.

User Comments


metadata_visibility (set)

This field is automatically set.

show - appears normally
no_search - hidden from search/views
 

The hide option may be used to force an eprint to not appear in search/views but is not considered a stable option.

User Comments


fileinfo (longtext)

Stores a serialisation of the files including paths associated with the record.

User Comments


item_issues (compound, multiple)

Stores any issues with the metadata for this record, which were reorted by a user of generated by running bin/issues_audit. Contains the following sub-fields:

id (id) - The unique ID of the issue.
type (id) - The type of issue. (E.g. duplicate title, similar title, etc.)
description (longtext) - A description of the issue that can be rendered to the user.
timestamp (time) - The time the issue was detected.
status (set) - The status of the issue, i.e. the progress on its resolution.
reported_by (itemref) - The user who reported the issue.
resolved_by (itemref) - The user who resolved the issue.
comment (longtext) - Comments about the issue and/or the progress of its resolution.

User Comments


item_issues_count (int)

The current number of issues with the record. This field is volatile. =back

User Comments


edit_lock (compound)

Stores information about any edit lock on the record to prevent other users from editing it. Contains the following sub-fields:

user (itemref) - The user holding the edit lock
since (int) - Time in seconds since the start of the last epoch when the edit lock begun.
until (int) - Time in seconds since the start of the last epoch when the edit lock will be released if the user does not otherwise release it.

User Comments


template (namedset)

The name of the template to use for displaying the abstract/summary page.

User Comments


REFERENCES AND RELATED OBJECTS

User Comments


documents (subobject, multiple)

A virtual field which represents the list of documents which are part of this record.

User Comments


files (subobject, multiple)

A virtual field which represents the list of files which are part of this record.

User Comments


userid (itemref)

The ID of the user who deposited this eprint (if any). Scripted importing could cause this not to be set.

User Comments


importid (itemref)

The ID of the import from which this eprint was imported. (Rarely used).

User Comments


sword_depositor (itemref)

The ID of the user who deposited this eprint through EPrints SWORD API.

User Comments


succeeds (itemref)

The ID of the eprint (if any) which this succeeds.

User Comments


commentary (itemref)

The ID of the eprint (if any) which this eprint is a commentary on.

User Comments


INSTANCE VARIABLES

Also see EPrints::DataObj.

User Comments


$self->{user}

The user who is owner of this eprint data object.

User Comments


METHODS

User Comments


Constructor Methods

User Comments


create

$eprint = EPrints::DataObj::EPrint->create( $session, $dataset, $data )

Create a new EPrint entry in the given $dataset..

If $data is defined, then this is used as the base for the new record. Otherwise the repository specific defaults provided by

set_eprint_defaults are used.

The fields eprintid and dir will be overridden even if they are set.

User Comments


create_from_data

$dataobj = EPrints::DataObj::EPrint->create_from_data( $session, $data, $dataset ) 

Create a new object of this type in the database.

$dataset is the dataset it will belong to.

$data is the data structured as with EPrints::DataObj#new_from_data.

This will also create sub-objects also.

User Comments


Class Methods

User Comments


get_system_field_info

$fields = EPrints::DataObj::EPrint->get_system_field_info

Return an array describing the system metadata of the eprint dataset.

User Comments


get_dataset_id

$dataset = EPrints::DataObj::EPrint->get_dataset_id

Returns the ID of the EPrints::DataSet object to which this record belongs.

User Comments


get_defaults

$defaults = EPrints::DataObj::EPrint->get_defaults( $class, $session, $data, $dataset )

Returns default values for this data object based on the starting $data.

User Comments


Object Methods

User Comments


set_item_issues

$eprint->set_item_issues( $new_issues )

This method updates the issues associated to this eprint based on the $new_issues passed.

If an existing issue is set as discovered and doesn't exist in $new_issues its status will be updated to autoresolved, otherwise the old issue's status and description are updated.

Any issues in $new_issues that don't already exist will be appended.

User Comments


fileinfo

$fileinfo = $eprint->fileinfo

The special fileinfo field contains the icon and main file paths and filenames for each non-volatile document in the eprint. This is a performance tweak to avoid having to retrieve documents when rendering eprint citations.

Example:

/style/images/fileicons/application_pdf.png;/20/1/paper.pdf|/20/4.hassmallThumbnailVersion/tdb_portrait.jpg;/20/4/tdb_portrait.jpg
 

User Comments


update_triggers

$eprint->update_triggers

Update all the stuff that needs updating before an eprint data object is written to the database.

User Comments


get_dataset

$dataset = $eprint->get_dataset

Returns the dataset to which this object belongs. This will return one of the virtual datasets, by default: inbox, buffer, archive or deletion.

User Comments


store_path

$path = $eprint->store_path

Get the storage path for this eprint data object.

User Comments


clone

$eprint = $eprint->clone( $dest_dataset, $copy_documents, $link )

Create a copy of this eprint data object with a new ID in the given $dest_dataset.

Returns the new eprint, or undef in the case of an error.

If $copy_documents is set and true then the documents (and files) will be copied in addition to the metadata.

If $nolink is true then the new eprint is not connected to the old one by not setting the new eprint's succeeds field.

User Comments


log_mail_owner

$eprint->log_mail_owner( $mail )

Log that the given $mail message was sent to the owner of this eprint data object.

$mail is the same XHTML DOM that was sent as the email.

User Comments


get_editorial_contact

$user = $eprint->get_editorial_contact

Returns the user identified as the editorial contact for this item.

By default returns undef.

N.B. This does no relate to any editors defined in the metadata for this eprint data object.

User Comments


empty

$eprint->empty( [ $clear_all ] )

Remove all documents and set to empty (almost) all fields.

If $clear_all also unset rev_number, metadata_visibility, and eprint_status fields.

User Comments


remove

$success = $eprint->remove

Erase this eprint data object and any associated data objects from the database and filesystem.

This should only be called on eprints in inbox or buffer.

User Comments


commit

$success = $eprint->commit( [ $force ] );

Commit any changes to the database.

Calls update_triggers just before the database is updated.

The actions this method does are dependent on some object attributes:

 changed - hash of changed fields (from EPrints::DataObj)
 non_volatile_change - boolean (from EPrints::DataObj)
 under_construction - boolean
 

If datestamp is unset and this eprint is in the archive dataset datestamp will always be set which will in turn set datestamp as changed.

If no field values were changed and $force is false returns.

If under_construction is false:

- static files updated

If non_volatile_change is true:

- lastmod field updated
- triples update queued

If under_construction is false and non_volatile_change is true:

- revision generated

The goal of these controls is to only trigger expensive processes in response to user actions. Revisions need to be generated when the user changes metadata or uploads new files (see EPrints::DataObj::Document#commit).

User Comments


save_revision

$eprint->save_revision( %opts )

Increase the eprint revision number and save a complete copy of the record into the history (see EPrints::DataObj::History).

Options:

 user - user that caused the action to occur, defaults to current user
 action - see history.action, defaults to "modify"
 details - see history.details, defaults to a description of changed fields
 

User Comments


validate

$problems = $eprint->validate( [$for_archive], $workflow_id )

Return a reference to an array of XHTML DOM objects describing validation problems with the entire eprint based on $workflow_id.

If $workflow_id is undefined defaults to default.

A reference to an empty array indicates no problems.

Calls validate_eprint for the $eprint.

User Comments


skip_validation

$boolean = $eprint->skip_validation

Returns true if this eprint should pass validation without being properly validated. This is to allow the use of dodgy data imported from legacy systems.

User Comments


prune_documents

$eprint->prune_documents

Remove any documents associated with this eprint that do not actually have any files.

User Comments


get_all_documents

@documents = $eprint->get_all_documents

Return a list of all EPrints::DataObj::Document objects associated with this eprint excluding documents with a isVolatileVersionOf relation, (e.g. thumbnails).

User Comments


move_to_deletion

$success = $eprint->move_to_deletion

Transfer the eprint into the deletion dataset. Should only be called by eprints in the archive dataset.

User Comments


move_to_inbox

$success = $eprint->move_to_inbox

Transfer the eprint into the inbox dataset. Should only be called for eprints in the buffer dataset.

User Comments


move_to_buffer

$success = $eprint->move_to_buffer

Transfer the eprint into the buffer dataset. Should only be called by eprints in the inbox or archive datasets.

User Comments


move_to_archive

$success = $eprint->move_to_archive

Move this eprint into the main archive dataset. Normally only called on eprints in deletion or buffer datasets.

User Comments


local_path

$path = $eprint->local_path

Returns the full path of the eprint data onject directory on the local filesystem with no trailing slash.

User Comments


path

$path = $eprint->path

Returns the full URL path of the eprint data object including a trailing slash. E.g. 1234/.

User Comments


url_stem

$url = $eprint->url_stem

Returns the URL to this eprint's directory.

N.B. This includes the trailing slash, unlike the local_path method.

User Comments


generate_static

$eprint->generate_static

Generate the static version of the abstract/summary web page. In a multi-language repository this will generate one version per language.

If called on eprints in the inbox or buffer, remove the abstract/summary page.

User Comments


remove_static

$eprint->remove_static

Remove the static web page or pages.

User Comments


render

( $description, $title, $links ) = $eprint->render( $preview )

Render the eprint. If $preview is true then render a preview of the eprint data object

The 3 returned values are references to XHTML DOM objects. $description is the public viewable description of this eprintthat appears as the body of the abstract page. $title is the title of the abstract page for this eprint. $links is any elements which should go in the head elemeny of this HTML page.

Calls eprint_render to actually render the $eprint, if it isn't in the deleted dataset.

User Comments


render_preview

( $description, $title, $links ) = $eprint->render_preview

Render a preview version of this eprint.

See render for more details

User Comments


get_control_url

$url = $eprint->get_control_url

Return the URL of the control page for this eprint.

User Comments


get_url

$url = $eprint->get_url

Return the public URL of this eprints abstract/summary page.

User Comments


get_user

$user = $eprint->get_user

Return the EPrints::DataObj::User to whom this eprint belongs (if any).

User Comments


later_in_thread

$list = $eprint->later_in_thread( $field )

Return an EPrints::List of the immediately later items in the thread.

$field is typically the succeeds field that generates the thread of eprints.

User Comments


in_thread

$boolean = $eprint->in_thread( $field )

Returns true if this eprint is in the $field thread.

$field is typically the succeeds field that generates the thread of eprints.

User Comments


first_in_thread

$eprint = $eprint->first_in_thread( $field )

Return the first (earliest) version or first paper in the thread of commentaries of this paper in the repository.

$field is typically the succeeds field that generates the thread of eprints.

User Comments


last_in_thread

$eprint = $eprint->last_in_thread( $field )

Returns the latest item in the $field thread on this eprint's branch of the thread tree.

$field is typically the succeeds field that generates the thread of eprints.

User Comments


removed_from_thread

$eprint->removed_from_thread( $field, [ $parent ] )

Fix the metadata_visibility for the eprint data object after it has been removed from the $field (typically succeeds) based thread.

The change in $parent must be committed before this method is called.

N.B. $parent (i.e. the eprint this eprint succeeds) is not required for this method but included for consistency.

User Comments


added_to_thread

$eprint->added_to_thread( $field, $parent )

Fix the metadata_visibility for this eprint data object now the has the $parent set in the $field (typically the succeeds field).

Does not update metadata_visibility if $parent is not in archive.

User Comments


map_thread

$eprint->map_thread( $field, $f )

Apply function $f to every eprint data object in the $field based thread that includes this eprint.

User Comments


render_version_thread

$xhtml = $eprint->render_version_thread( $field )

Return XHTML DOM rendering describing the entire $field based thread for this eprint data object as nested unordered lists.

User Comments


loop_error

$eprint->loop_error( $field, @looped_ids )

Log repository error message because this eprint is part of a loop of eprint data objects (with IDs looped_ids) in a $field based thread.

User Comments


get_type

$type = $eprint->get_type

Return the type of this eprint.

This is an alias of:

$eprint->value( "type" )
 

User Comments


user_roles

@roles = $eprint->user_roles( $user )

Return the roles the specified $user has for this eprint.

User Comments


datestamp

$eprint->datestamp

DEPRECATED

Now just generates a deprecated error message to the log. Use:

$eprint->value( 'datestamp' );
 

User Comments


in_editorial_scope_of

$boolean = $eprint->in_editorial_scope_of( $possible_editor )

Returns true if $possible_editor can edit this eprint. This is according to the user's editperms.

This does not mean the user has the editor privilege, just that if they do then they may edit the eprint.

User Comments


has_owner

$boolean = $eprint->has_owner( $possible_owner )

Returns true if $possible_owner can edit this eprint. This is according to the user's editperms.

This does not mean the user has the editor privilege, just that if they do then they may edit the given eprint.

Uses the callback does_user_own_eprint if available.

User Comments


obtain_lock

$boolean = $eprint->obtain_lock( $user )

Assign the edit lock for this eprint data object to the specified $user.

Returns a boolean depending on whether the edit lock was successfully assigned.

User Comments


remove_lock

$boolean = $eprint->remove_lock( $user )

Remove the edit lock for this eprint data object to the specified $user.

Returns a boolean depending on whether the edit lock was successfully removed.

User Comments


could_obtain_lock

$boolean = $eprint->could_obtain_lock( $user )

Return a boolean depending on whether the specified $user could obtain ane edit lock on this eprint.

User Comments


is_locked

$boolean = $eprint->is_locked

Return a boolean depending on whether this eprint currently has an edit lock.

User Comments


Utility Methods

User Comments


render_issues

$ol_frag = EPrints::DataObj::EPrint::render_issues( $session, $field, $value )

Returns a rendering of the list of issues from $value array reference (as a ol (ordered list) XHTML DOM fragment) for the item_issues field provided by $field.

User Comments


order_issues_newest_open_timestamp

$timestamps = EPrints::DataObj::EPrint::order_issues_newest_open_timestamp( $field, $value, $session, $langid, $dataset )

Returns a string containing the timestamp for the newest issue that has status reported or discovered.

This method is called through the EPrints::MetaField make_value_orderkey attribute.

$field is the item_issues field. $value is an array reference of the issues. $session is the EPrints::Repository object, $langid is the language ID and $dataset is the eprint dataset

User Comments


render_fileinfo

$frag = EPrints::DataObj::EPrint::render_fileinfo( $session, $field, $value, $alllangs, $nolink, $eprint )

Render method for fileinfo field. Returns a XHTML DOM fragment containing the documents stored in the fileinfo field.

This method is called through the EPrints::MetaField render_value attribute.

$session is the EPrints::Repository object. $field is the fileinfo field. $value is the value for this field. $session is the EPrints::Repository object, $alllangs is a boolean to render in all languages if an EPrints::MetaField::Multilang field. $nolink is a boolean on whether to not render links. $eprint is the eprint data object that has the fileinfo field.

User Comments


eprintid_to_path

$path = EPrints::DataObj::eprintid_to_path( $id )

Returns path of the storage directory based on the eprint $id provided.

User Comments


render_box_list

$frag = EPrints::DataObj::EPrint::render_box_list( $session, $eprint, $list )

Returns a rendering of the EPrints::Plugin::Screen::Box plugins from $list against the $eprint specified

User Comments


render_edit_lock

$xhtml = EPrints::DataObj::EPrints::render_edit_lock( $session, $field, $value, $alllangs, $nolink, $eprint )

Returns an XHTML DOM fragment providing information about the edit lock for metadata provided by $value.

This is used by the render_value attribute of the edit_lock field, which specified, the $session, $field, $value, $alllangs, $nolink and $eprint parameters. However, only the $session, $field, $value and $eprint parameters are required.

User Comments


CALLBACKS

Callbacks may optionally be defined in the ArchiveConfig.

User Comments


validate_field

validate_field( $field, $value, $session, [$for_archive] )
 

User Comments


validate_eprint

validate_eprint( $eprint, $session, [$for_archive] )
 

User Comments


set_eprint_defaults

set_eprint_defaults( $data, $session )
 

User Comments


set_eprint_automatic_fields

set_eprint_automatic_fields( $eprint )

User Comments


eprint_render

eprint_render( $eprint, $session )
 

User Comments


SEE ALSO

EPrints::DataObj and EPrints::DataSet.

User Comments


COPYRIGHT

© Copyright 2022 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/.

User Comments