API:EPrints/DataObj/History
EPrints 3 Reference: Directory Structure - Metadata Fields - Repository Configuration - XML Config Files - XML Export Format - EPrints data structure - Core API - Data Objects
Latest Source Code (3.4, 3.3) | Revision Log | Before editing this page please read Pod2Wiki
Contents
NAME
EPrints::DataObj::History - An element in the history of the archive.
DESCRIPTION
This class describes a single item in the history dataset. A history object describes a single action taken on a single item in another dataset.
This class inherits from EPrints::DataObj::SubObject, which in turn inherits from EPrints::DataObj.
Changes to document are considered part of changes to the eprint it belongs to.
CORE METADATA FIELDS
historyid (counter)
The unique numerical ID of this history event.
actor (text)
A text representation of the actor reponsible for the action for this history event. This may be the name of a script or application or a user's name.
datasetid (id)
The name of the dataset to which the modified item belongs. eprint is used for eprints, rather than the inbox, buffer etc.
objectid (int)
The numerical ID of the object in the dataset.
revision (int)
The revision of the object. This is the revision number after the action occured. Not all actions increase the revision number.
timestamp (timestamp)
The moment at which this thing happened.
action (set)
The type of event. Provisionally, this is a subset of the new list of privileges.
details (longtext)
If this is a rejection then the details contain the message sent to the user.
REFERENCES AND RELATED OBJECTS
userid (itemref)
The ID of the user who caused this event. A value of zero or undefined indicates that there was no user responsible (ie. a script did it).
INSTANCE VARIABLES
See EPrints::DataObj.
METHODS
Constructor Methods
create
EPrints::DataObj::History::create( $session, $data );
Create a new history data object from this $data. Unlike other create methods this one does not return the new object as it is never needed, and would increase the load when modifying other data objects.
Also, this does not queue the fields for indexing.
Class Methods
get_system_field_info
$field_info = EPrints::DataObj::History->get_system_field_info
Returns an array describing the system metadata of the history dataset.
get_dataset_id
$dataset = EPrints::DataObj::History->get_dataset_id
Returns the ID of the EPrints::DataSet object to which this record belongs.
Object Methods
commit
$history->commit
History cannot be altered. So if somehow this is called it just logs a warning message.
remove
$history->remove
History cannot be removed. So if somehow this is called it just logs a warning message.
get_defaults
$defaults = EPrints::DataObj::History->get_defaults( $session, $data, [ $dataset ] )
Returns default values for this history data object based on the starting $data and for ths $dataset if specified.
render
$xhtml = $history->render
Return a rendering of this history event as XHTML DOM.
get_dataobj
$object = $history->get_dataobj
Returns the data object to which this history event relates.
get_user
$user = $history->get_user
Returns the user data object of the user who caused this history event.
get_previous
$history = $history->get_previous
Returns the previous history event for this history event's data object.
Returns undef if no such history event exists.
render_removal_request
$xhtml = $history->render_removal_request
Returns a XHTML DOM rendering of a removal request history event.
render_with_details
$xhtml = $history->render_with_details
Returns a XHTML DOM rendering of a mail_owner (i.e. email was sent to the owner of the data object) history event.
render_create
$xhtml = $history->render_create( $action )
Returns a XHTML DOM rendering of a create history event.
render_modify
$xhtml = $history->render_modify( $action )
Returns a XHTML DOM rendering of a modify history event.
set_dataobj_xml
$history->set_dataobj_xml( $dataobj )
Stores the XML serialisation for $dataobj to a file.
Utility Methods
empty_tree
$boolean = EPrints::DataObj::History::empty_tree( $domtree )
Returns true if there is no text in the XHTML $domtree other than whitespace. Otherwise, returns false.
This method is liable to being moveded to EPrints::XML> or EPrints::Utils.
render_xml_diffs
( $f1, $f2 ) = EPrints::DataObj::History::render_xml_diffs( $tree1, $tree2, $indent, $width )
Returns two XHTML DOM trees. The first for the older version, highlighting lines that are changed or removed and the second for the newer version, highlighting libes that are changed or added.
render_domtree
($xhtml, [$xhtml_padding]) = EPrints::DataObj::History::render_domtree( $session, $tree, $indent, $make_padded, $width )
Returns a rendering of the given tree as XHTML (showing the actual XML structure).
If $make_padded is true then also generate another element, which is empty but the same height to be used in the other column to keep things level.
diff
$boolean = EPrints::DataObj::History::diff( $tree1, $tree2 )
Returns true if the XML trees $tree1 and $tree2 are not the same, otherwise returns false.
mktext
@lines = EPrints::DataObj::History::mktext( $session, $text, $offset, $endw, $width )
Returns the $text string broken into an array of lines which are $width long or less.
Inserts a 90 degree arrow at the end of each broken line to indicate that it has been broken.
mkpad
$xhtml = EPrints::DataObj::History::mkpad( $session, $text, $offset, $endw, $width )
Return XHTML DOM of vertical padding equivalent to the lines that would be needed to render $text.
SEE ALSO
EPrints::DataObj::SubObject, EPrints::DataObj and EPrints::DataSet.
COPYRIGHT
© Copyright 2000-2024 University of Southampton.
EPrints 3.4 is supplied by EPrints Services.
http://www.eprints.org/eprints-3.4/
LICENSE
This file is part of EPrints 3.4 http://www.eprints.org/.
EPrints 3.4 and this file are released under the terms of the GNU Lesser General Public License version 3 as published by the Free Software Foundation unless otherwise stated.
EPrints 3.4 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with EPrints 3.4. If not, see http://www.gnu.org/licenses/.