<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://wiki.eprints.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Pm705%40zepler.net</id>
	<title>EPrints Documentation - User contributions [en-gb]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.eprints.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Pm705%40zepler.net"/>
	<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/Special:Contributions/Pm705@zepler.net"/>
	<updated>2026-06-12T04:58:32Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.8</generator>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=Include_Javascript_in_the_workflow&amp;diff=11257</id>
		<title>Include Javascript in the workflow</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=Include_Javascript_in_the_workflow&amp;diff=11257"/>
		<updated>2015-06-17T20:58:43Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sometimes you need to augment an EPrints workflow in a specific way. One of the ways you can do this is using javascript but it is not immediately clear how to do that. There are several options available which may suit what you need to do.&lt;br /&gt;
&lt;br /&gt;
==Pure Javascript==&lt;br /&gt;
&lt;br /&gt;
This should be the prefered method although it is not always straight forward to use depending what your trying to do. EPrints stores javascript files in &amp;lt;code&amp;gt;&amp;lt;eprints_root&amp;gt;/archives/&amp;lt;archive_id&amp;gt;/cfg/static/javascript/auto/&amp;lt;/code&amp;gt; and it EPrints ships with PrototypeJS. If your workflow problem is specific enough you can simply use&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
    $$('.any-css-selectors').each( function( matching_element ) {&lt;br /&gt;
// your code here&lt;br /&gt;
     });&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Custom input renderer==&lt;br /&gt;
&lt;br /&gt;
You can overwrite the input renderer for the field you wish to modify. This gives you access to information used to render the field.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
          {&lt;br /&gt;
            'name' =&amp;gt; 'courses',&lt;br /&gt;
            'type' =&amp;gt; 'text',&lt;br /&gt;
	    'multiple' =&amp;gt; 1,&lt;br /&gt;
	    'text_index' =&amp;gt; 1,&lt;br /&gt;
	    'render_input' =&amp;gt; sub {&lt;br /&gt;
                    ( $field, $repository, $current_value, $dataset, $staff, $hidden_fields, $object, $basename ) = @_;&lt;br /&gt;
                    &lt;br /&gt;
                    my $dom = $field-&amp;gt;render_input_field_actual( $repository, $current_value, $dataset, $staff, $hidden_fields, $object, $basename );&lt;br /&gt;
                    my $script = $repository-&amp;gt;xml-&amp;gt;create_element(&amp;quot;script&amp;quot;, type=&amp;gt;&amp;quot;text/javascript&amp;quot;);&lt;br /&gt;
                    $script-&amp;gt;appendChild($repository-&amp;gt;create_text_node('&lt;br /&gt;
// your javascript here '.&amp;quot; which can have $perl interlaced &amp;quot;&lt;br /&gt;
                    ));&lt;br /&gt;
             }&lt;br /&gt;
          },&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XHTML Component==&lt;br /&gt;
&lt;br /&gt;
You if you are in hurry or prototyping then you can use a HTML Component&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang='xml'&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;component type='XHTML'&amp;gt;&lt;br /&gt;
&amp;lt;script type='text/javascript'&amp;gt;&lt;br /&gt;
        //your javascript goes here&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/component&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The downside of this approach is it leaves a tiny bit of workflow component floating in your workflow so you probably wouldn't use it in production.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto]]&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=Include_Javascript_in_the_workflow&amp;diff=11256</id>
		<title>Include Javascript in the workflow</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=Include_Javascript_in_the_workflow&amp;diff=11256"/>
		<updated>2015-06-17T20:54:02Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: /* Custom input renderer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sometimes you need to augment an EPrints workflow in a specific way. One of the ways you can do this is using javascript but it is not immediately clear how to do that. There are several options available which may suit what you need to do.&lt;br /&gt;
&lt;br /&gt;
==Pure Javascript==&lt;br /&gt;
&lt;br /&gt;
This should be the prefered method although it is not always straight forward to use depending what your trying to do. EPrints stores javascript files in &amp;lt;eprints_root&amp;gt;/archives/&amp;lt;archive_id&amp;gt;/cfg/static/javascript/auto/ and it EPrints ships with PrototypeJS. If your workflow problem is specific enough you can simply us $$('any-css-selectors').whateveryouneedtodo()&lt;br /&gt;
&lt;br /&gt;
==Custom input renderer==&lt;br /&gt;
&lt;br /&gt;
You can overwrite the input renderer for the field you wish to modify. This gives you access to information used to render the field.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
          {&lt;br /&gt;
            'name' =&amp;gt; 'courses',&lt;br /&gt;
            'type' =&amp;gt; 'text',&lt;br /&gt;
	    'multiple' =&amp;gt; 1,&lt;br /&gt;
	    'text_index' =&amp;gt; 1,&lt;br /&gt;
	    'render_input' =&amp;gt; sub {&lt;br /&gt;
                    ( $field, $repository, $current_value, $dataset, $staff, $hidden_fields, $object, $basename ) = @_;&lt;br /&gt;
                    &lt;br /&gt;
                    my $dom = $field-&amp;gt;render_input_field_actual( $repository, $current_value, $dataset, $staff, $hidden_fields, $object, $basename );&lt;br /&gt;
                    my $script = $repository-&amp;gt;xml-&amp;gt;create_element(&amp;quot;script&amp;quot;, type=&amp;gt;&amp;quot;text/javascript&amp;quot;);&lt;br /&gt;
                    $script-&amp;gt;appendChild($repository-&amp;gt;create_text_node('&lt;br /&gt;
// your javascript here '.&amp;quot; which can have $perl interlaced &amp;quot;&lt;br /&gt;
                    ));&lt;br /&gt;
             }&lt;br /&gt;
          },&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XHTML Component==&lt;br /&gt;
&lt;br /&gt;
You if you are in hurry or prototyping then you can use a HTML Component&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang='xml'&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;component type='XHTML'&amp;gt;&lt;br /&gt;
&amp;lt;script type='text/javascript'&amp;gt;&lt;br /&gt;
        //your javascript goes here&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/component&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The downside of this approach is it leaves a tiny bit of workflow component floating in your workflow so you probably wouldn't use it in production.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto]]&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=Include_Javascript_in_the_workflow&amp;diff=11255</id>
		<title>Include Javascript in the workflow</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=Include_Javascript_in_the_workflow&amp;diff=11255"/>
		<updated>2015-06-17T20:24:33Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: /* Custom input renderer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sometimes you need to augment an EPrints workflow in a specific way. One of the ways you can do this is using javascript but it is not immediately clear how to do that. There are several options available which may suit what you need to do.&lt;br /&gt;
&lt;br /&gt;
==Pure Javascript==&lt;br /&gt;
&lt;br /&gt;
This should be the prefered method although it is not always straight forward to use depending what your trying to do. EPrints stores javascript files in &amp;lt;eprints_root&amp;gt;/archives/&amp;lt;archive_id&amp;gt;/cfg/static/javascript/auto/ and it EPrints ships with PrototypeJS. If your workflow problem is specific enough you can simply us $$('any-css-selectors').whateveryouneedtodo()&lt;br /&gt;
&lt;br /&gt;
==Custom input renderer==&lt;br /&gt;
&lt;br /&gt;
You can overwrite the input renderer for the field you wish to modify. This gives you access to information used to render the field.&lt;br /&gt;
&lt;br /&gt;
( $field, $session, $current_value, $dataset, $staff, $hidden_fields, $object, $basename )&lt;br /&gt;
&lt;br /&gt;
==XHTML Component==&lt;br /&gt;
&lt;br /&gt;
You if you are in hurry or prototyping then you can use a HTML Component&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang='xml'&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;component type='XHTML'&amp;gt;&lt;br /&gt;
&amp;lt;script type='text/javascript'&amp;gt;&lt;br /&gt;
        //your javascript goes here&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/component&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The downside of this approach is it leaves a tiny bit of workflow component floating in your workflow so you probably wouldn't use it in production.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto]]&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=Include_Javascript_in_the_workflow&amp;diff=11254</id>
		<title>Include Javascript in the workflow</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=Include_Javascript_in_the_workflow&amp;diff=11254"/>
		<updated>2015-06-17T20:20:03Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: /* Custom input renderer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sometimes you need to augment an EPrints workflow in a specific way. One of the ways you can do this is using javascript but it is not immediately clear how to do that. There are several options available which may suit what you need to do.&lt;br /&gt;
&lt;br /&gt;
==Pure Javascript==&lt;br /&gt;
&lt;br /&gt;
This should be the prefered method although it is not always straight forward to use depending what your trying to do. EPrints stores javascript files in &amp;lt;eprints_root&amp;gt;/archives/&amp;lt;archive_id&amp;gt;/cfg/static/javascript/auto/ and it EPrints ships with PrototypeJS. If your workflow problem is specific enough you can simply us $$('any-css-selectors').whateveryouneedtodo()&lt;br /&gt;
&lt;br /&gt;
==Custom input renderer==&lt;br /&gt;
&lt;br /&gt;
You can overwrite the input renderer for the field you wish to modify. This gives you access to information used to render the field.&lt;br /&gt;
&lt;br /&gt;
==XHTML Component==&lt;br /&gt;
&lt;br /&gt;
You if you are in hurry or prototyping then you can use a HTML Component&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang='xml'&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;component type='XHTML'&amp;gt;&lt;br /&gt;
&amp;lt;script type='text/javascript'&amp;gt;&lt;br /&gt;
        //your javascript goes here&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/component&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The downside of this approach is it leaves a tiny bit of workflow component floating in your workflow so you probably wouldn't use it in production.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto]]&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=Include_Javascript_in_the_workflow&amp;diff=11253</id>
		<title>Include Javascript in the workflow</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=Include_Javascript_in_the_workflow&amp;diff=11253"/>
		<updated>2015-06-17T20:08:05Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: /* Pure Javascript */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sometimes you need to augment an EPrints workflow in a specific way. One of the ways you can do this is using javascript but it is not immediately clear how to do that. There are several options available which may suit what you need to do.&lt;br /&gt;
&lt;br /&gt;
==Pure Javascript==&lt;br /&gt;
&lt;br /&gt;
This should be the prefered method although it is not always straight forward to use depending what your trying to do. EPrints stores javascript files in &amp;lt;eprints_root&amp;gt;/archives/&amp;lt;archive_id&amp;gt;/cfg/static/javascript/auto/ and it EPrints ships with PrototypeJS. If your workflow problem is specific enough you can simply us $$('any-css-selectors').whateveryouneedtodo()&lt;br /&gt;
&lt;br /&gt;
==Custom input renderer==&lt;br /&gt;
&lt;br /&gt;
You can over write the input renderer for the field you wish to modify&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==XHTML Component==&lt;br /&gt;
&lt;br /&gt;
You if you are in hurry or prototyping then you can use a HTML Component&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang='xml'&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;component type='XHTML'&amp;gt;&lt;br /&gt;
&amp;lt;script type='text/javascript'&amp;gt;&lt;br /&gt;
        //your javascript goes here&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/component&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The downside of this approach is it leaves a tiny bit of workflow component floating in your workflow so you probably wouldn't use it in production.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto]]&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=Include_Javascript_in_the_workflow&amp;diff=11252</id>
		<title>Include Javascript in the workflow</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=Include_Javascript_in_the_workflow&amp;diff=11252"/>
		<updated>2015-06-17T19:54:02Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sometimes you need to augment an EPrints workflow in a specific way. One of the ways you can do this is using javascript but it is not immediately clear how to do that. There are several options available which may suit what you need to do.&lt;br /&gt;
&lt;br /&gt;
==Pure Javascript==&lt;br /&gt;
&lt;br /&gt;
EPrints stores javascript files in &amp;lt;eprints_root&amp;gt;/archives/&amp;lt;archive_id&amp;gt;/cfg/static/javascript/auto/ and it EPrints ships with PrototypeJS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto]]&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=Include_Javascript_in_the_workflow&amp;diff=11251</id>
		<title>Include Javascript in the workflow</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=Include_Javascript_in_the_workflow&amp;diff=11251"/>
		<updated>2015-06-17T19:48:43Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: Created page with 'Category:Howto'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Howto]]&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=ReCollect&amp;diff=10752</id>
		<title>ReCollect</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=ReCollect&amp;diff=10752"/>
		<updated>2013-03-24T22:45:51Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: /* Customizing ReCollect */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:EPrints_3_Plugins]]&lt;br /&gt;
ReCollect is a Bazaar package for EPrints which adds extensive data workflow support to EPrints. Fields are compatible with Datacite and INSPIRE. This plugin was created by the University of Essex (http://researchdataessex.posterous.com/) and packaged by the University of Southampton as part of the DataPool project (http://datapool.soton.ac.uk/). &lt;br /&gt;
&lt;br /&gt;
==Customizing ReCollect==&lt;br /&gt;
Recollect has a large set of default fields. The aim is to create consistent field names accross the eprints community. You can easilly add or remove fields from the default ReCollect workflow by editing the dataset stage in workflows/eprints/default.xml. If you have suggestions for fields you would like added to ReCollect please email Patrick McSweeney ([mailto:pm5@ecs.soton.ac.uk pm5@ecs.soton.ac.uk])&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=ReCollect&amp;diff=10751</id>
		<title>ReCollect</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=ReCollect&amp;diff=10751"/>
		<updated>2013-03-24T22:45:37Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: /* Customizing ReCollect */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:EPrints_3_Plugins]]&lt;br /&gt;
ReCollect is a Bazaar package for EPrints which adds extensive data workflow support to EPrints. Fields are compatible with Datacite and INSPIRE. This plugin was created by the University of Essex (http://researchdataessex.posterous.com/) and packaged by the University of Southampton as part of the DataPool project (http://datapool.soton.ac.uk/). &lt;br /&gt;
&lt;br /&gt;
==Customizing ReCollect==&lt;br /&gt;
Recollect has a large set of default fields. The aim is to create consistent field names accross the eprints community. You can easilly add or remove fields from the default ReCollect workflow by editing the dataset stage in workflows/eprints/default.xml. If you have suggestions for fields you would like added to ReCollect please email Patrick McSweeney ([mailto:pm5@ecs.soton.ac.uk] pm5@ecs.soton.ac.uk)&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=ReCollect&amp;diff=10750</id>
		<title>ReCollect</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=ReCollect&amp;diff=10750"/>
		<updated>2013-03-24T22:45:21Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:EPrints_3_Plugins]]&lt;br /&gt;
ReCollect is a Bazaar package for EPrints which adds extensive data workflow support to EPrints. Fields are compatible with Datacite and INSPIRE. This plugin was created by the University of Essex (http://researchdataessex.posterous.com/) and packaged by the University of Southampton as part of the DataPool project (http://datapool.soton.ac.uk/). &lt;br /&gt;
&lt;br /&gt;
==Customizing ReCollect==&lt;br /&gt;
Recollect has a large set of default fields. The aim is to create consistent field names accross the eprints community. You can easilly add or remove fields from the default ReCollect workflow by editing the dataset stage in workflows/eprints/default.xml. If you have suggestions for fields you would like added to ReCollect please email Patrick McSweeney ([mailto:pm5@ecs.soton.ac.uk])&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=ReCollect&amp;diff=10749</id>
		<title>ReCollect</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=ReCollect&amp;diff=10749"/>
		<updated>2013-03-24T22:28:08Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: Created page with 'Category:EPrints_3_Plugins'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:EPrints_3_Plugins]]&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=EdShareCollectionsInstallation&amp;diff=9330</id>
		<title>EdShareCollectionsInstallation</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=EdShareCollectionsInstallation&amp;diff=9330"/>
		<updated>2010-05-25T15:17:35Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: /* Install CGI Scripts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:EdShare]]&lt;br /&gt;
==Introduction==&lt;br /&gt;
The collections plugin is part of [[EdShare]] suite. It is based on code developed in EdShare and LanguageBox. The goal of this project is to produce a package that allows the easy installation of the collections functionality on a vanilla EPrints installation.&lt;br /&gt;
&lt;br /&gt;
'''For more details about this plugin see [[EdShareCollections]].'''&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
The EdShare Collections plugin has been tested and confirmed to run on EPrints 3.1.3.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
'''As with all package installations it is important to remember to backup your installation of EPrints before continuing.'''&lt;br /&gt;
&lt;br /&gt;
===Extract Package===&lt;br /&gt;
The package should be extracted in the appropriate archive directory of your EPrints installation. Run the following commands replacing ''ARCHIVEID'' with the name of the archive you want the collections on, and replace ''VERSION'' with the appropriate version number based on the package you have downloaded;&lt;br /&gt;
&lt;br /&gt;
 cd /opt/eprints3/archives/ARCHIVEID&lt;br /&gt;
 tar xzf collections-VERSION.tar.gz&lt;br /&gt;
&lt;br /&gt;
These commands assume that you installed EPrints to ''/opt/eprints3'' substitute this for something else if you installed it elsewhere. Users of the Ubuntu version of EPrints will find that it is installed by default at ''/usr/share/eprints3''.&lt;br /&gt;
&lt;br /&gt;
===Install CGI Scripts===&lt;br /&gt;
Link the collections CGI scripts to the EPrints CGI directory:&lt;br /&gt;
&lt;br /&gt;
 ln -s /opt/eprints3/archives/ARCHIVEID/cgi/users/collectionselect/ /opt/eprints3/cgi/users&lt;br /&gt;
 ln -s /opt/eprints3/archives/ARCHIVEID/cgi/users/bookmarks/ /opt/eprints3/cgi/users&lt;br /&gt;
 ln -s /opt/eprints3/archives/ARCHIVEID/cgi/bookmarks/ /opt/eprints3/cgi/&lt;br /&gt;
&lt;br /&gt;
===Patch Default Workflow===&lt;br /&gt;
Assuming that you have patch installed on you system then you need to run;&lt;br /&gt;
&lt;br /&gt;
 patch -p0 &amp;lt; default_collection_workflow.patch&lt;br /&gt;
&lt;br /&gt;
'''This patch will only work if you have not yet modified your default workflow.''' If you have then you will need to add the following to your code inside the ''&amp;lt;flow&amp;gt;'' tags, this modification is what an unmodified default workflow should look like once changed;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;flow&amp;gt;&lt;br /&gt;
   &amp;lt;stage ref=&amp;quot;type&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;epc:choose&amp;gt;&lt;br /&gt;
     &amp;lt;epc:when test=&amp;quot;type = 'collection'&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;stage ref=&amp;quot;collection&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;/epc:when&amp;gt;&lt;br /&gt;
     &amp;lt;epc:otherwise&amp;gt;&lt;br /&gt;
       &amp;lt;stage ref=&amp;quot;files&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;stage ref=&amp;quot;core&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;stage ref=&amp;quot;subjects&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;/epc:otherwise&amp;gt;&lt;br /&gt;
   &amp;lt;/epc:choose&amp;gt;&lt;br /&gt;
 &amp;lt;/flow&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then at the work flow file still inside the ''&amp;lt;workflow&amp;gt;'' tags you need to add the following;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;stage name=&amp;quot;collection&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;component type=&amp;quot;Field::Multi&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;title&amp;gt;&amp;lt;epc:phrase ref=&amp;quot;Plugin/Collection:details_title&amp;quot;/&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
     &amp;lt;field ref=&amp;quot;title&amp;quot; required=&amp;quot;yes&amp;quot; input_lookup_url=&amp;quot;{$config{perl_url}}/users/lookup/title_duplicates&amp;quot; input_lookup_params=&amp;quot;eprintid={eprintid}&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;field ref=&amp;quot;abstract&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/component&amp;gt;&lt;br /&gt;
   &amp;lt;component type=&amp;quot;Field::CollectionSelect&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;field ref=&amp;quot;relation&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/component&amp;gt;&lt;br /&gt;
 &amp;lt;/stage&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Edit Configuration Files===&lt;br /&gt;
&lt;br /&gt;
====archive/ARCHIVEID/cfg/namedsets/eprint====&lt;br /&gt;
Add &amp;lt;code&amp;gt;collection&amp;lt;/code&amp;gt; to the ''types for eprint'' list. The position it is in this list will be the position it will appear when choosing a type in the new item workflow.&lt;br /&gt;
&lt;br /&gt;
====archive/ARCHIVEID/cfg/cfg.d/eprint_validate.pl====&lt;br /&gt;
In the ''validate_eprint'' function look for the line &amp;lt;code&amp;gt;my @problems = ();&amp;lt;/code&amp;gt; and after it add;&lt;br /&gt;
&lt;br /&gt;
 return( @problems ) if( $eprint-&amp;gt;get_type eq 'collection' ); &lt;br /&gt;
&lt;br /&gt;
====archive/ARCHIVEID/cfg/cfg.d/eprint_warnings.pl====&lt;br /&gt;
You will need to add an exception here to stop warnings appearing for users when they deposit a collection. A warning will appear because no files have been loaded for the collection but this is fine. If you have not edited this file before look for the following line;&lt;br /&gt;
&lt;br /&gt;
 if( @docs == 0 )&lt;br /&gt;
&lt;br /&gt;
Replace it with the following;&lt;br /&gt;
&lt;br /&gt;
 if( $eprint-&amp;gt;get_type ne 'collection' &amp;amp;&amp;amp; @docs == 0 )&lt;br /&gt;
&lt;br /&gt;
This should stop the warning from appearing.&lt;br /&gt;
&lt;br /&gt;
====archives/ARCHIVEID/cfg/citations/eprint/default.xml====&lt;br /&gt;
Assuming you haven't modified the default citation you want to look for the first ''&amp;lt;choose&amp;gt;'' block at the top of the citation. And add the following;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;choose&amp;gt;&lt;br /&gt;
   &amp;amp;lt;!-- Code ommitted for brevity --&amp;amp;gt;   &lt;br /&gt;
   &amp;lt;when test=&amp;quot;type = 'collection'&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;print expr=&amp;quot;userid&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/when&amp;gt;&lt;br /&gt;
   &amp;amp;lt;!-- Code ommitted for brevity --&amp;amp;gt;&lt;br /&gt;
 &amp;lt;/choose&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will put the user citation for the user that created this collection at the front of the default EPrint citation.&lt;br /&gt;
&lt;br /&gt;
====archives/ARCHIVEID/cfg/cfg.d/collection.pl====&lt;br /&gt;
'''OPTIONAL'''&lt;br /&gt;
&lt;br /&gt;
The collections extension provides you with two control boxes that appear on your abstract pages, a bookmark controls box and collection membership box. The collection membership box will not render on the collections page. It is possible to disable these boxes or change where they appear on the page.&lt;br /&gt;
&lt;br /&gt;
To disable either of the boxes look in this file for either of the following lines;&lt;br /&gt;
&lt;br /&gt;
 $c-&amp;gt;{plugins}-&amp;gt;{&amp;quot;Screen::EPrint::Box::BookmarkTools&amp;quot;}-&amp;gt;{params}-&amp;gt;{disable} = 0;&lt;br /&gt;
 $c-&amp;gt;{plugins}-&amp;gt;{&amp;quot;Screen::EPrint::Box::CollectionMembership&amp;quot;}-&amp;gt;{params}-&amp;gt;{disable} = 0;&lt;br /&gt;
&lt;br /&gt;
If you want to disable either of the boxes then you just need to set the value of this setting to 1 and then regenerate your abstract pages and now the boxes will appear or not according to your preferences.&lt;br /&gt;
&lt;br /&gt;
You can also choose where on the page the boxes appear. Replace the 1000 with undef and the undef with 1000 for the position you want the box to appear. To hide the box use the method above to do so rather then declare all of the positions as undef.&lt;br /&gt;
&lt;br /&gt;
 $c-&amp;gt;{plugins}-&amp;gt;{&amp;quot;Screen::EPrint::Box::BookmarkTools&amp;quot;}-&amp;gt;{appears}-&amp;gt;{summary_top} = undef;&lt;br /&gt;
 $c-&amp;gt;{plugins}-&amp;gt;{&amp;quot;Screen::EPrint::Box::BookmarkTools&amp;quot;}-&amp;gt;{appears}-&amp;gt;{summary_right} = 1000;&lt;br /&gt;
 $c-&amp;gt;{plugins}-&amp;gt;{&amp;quot;Screen::EPrint::Box::BookmarkTools&amp;quot;}-&amp;gt;{appears}-&amp;gt;{summary_bottom} = undef;&lt;br /&gt;
 $c-&amp;gt;{plugins}-&amp;gt;{&amp;quot;Screen::EPrint::Box::BookmarkTools&amp;quot;}-&amp;gt;{appears}-&amp;gt;{summary_left} = undef;&lt;br /&gt;
&lt;br /&gt;
Again any changes will need to be followed by a regeneration of your abstract pages for them to be visible.&lt;br /&gt;
&lt;br /&gt;
====archives/ARCHIVEID/cfg/cfg.d/z_bookmarks.pl====&lt;br /&gt;
'''OPTIONAL'''&lt;br /&gt;
&lt;br /&gt;
This step is not actually required as part of the installation but it is important that you take note of it since there may be some undesired results when using the plugin.&lt;br /&gt;
&lt;br /&gt;
The bookmarks plugin defines &amp;lt;code&amp;gt;$c-&amp;gt;{get_users_owned_eprints}&amp;lt;/code&amp;gt; in the ''z_bookmarks.pl'' file. If you are installing the plugin on a vanilla install of EPrints then there should not be a problem. But if you have installed other plugins, or implemented this function yourself then you will need to modify the function and comment this function out in ''z_bookmarks.pl''.&lt;br /&gt;
&lt;br /&gt;
====archives/ARCHIVEID/cfg/cfg.d/collection_render.pl====&lt;br /&gt;
'''OPTIONAL'''&lt;br /&gt;
&lt;br /&gt;
It is possible to customize the layout of the collection pages by modifying the ''collection_render'' function located in ''archives/ARCHIVEID/cfg/cfg.d/collection_render.pl''. This function is very similar to the ''eprint_render'' function except that certain fields in the EPrint object will not be set. Refer to the default function for more details.&lt;br /&gt;
&lt;br /&gt;
===Restart Web Server===&lt;br /&gt;
Once you have completed all of these previous steps, you will need to restart your web server in the usual fashion.&lt;br /&gt;
&lt;br /&gt;
==Bugs==&lt;br /&gt;
Please report all bugs to the [http://lslvm-mmr4.ecs.soton.ac.uk/ OneShare Bugtracker]. There is a project setup for OneShare collections called ''OneShare Packages &amp;gt;&amp;gt; Collections''.&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=MePrintsInstall&amp;diff=9324</id>
		<title>MePrintsInstall</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=MePrintsInstall&amp;diff=9324"/>
		<updated>2010-05-24T10:28:04Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: /* Getting Started */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:MePrints]]&lt;br /&gt;
This page provides technical instructions for installing the MePrints extension. To find out what MePrints is, and for an overview of MePrints features, see [[MePrintsOverview]].&lt;br /&gt;
&lt;br /&gt;
==Installation (EPrints 3.1.3+)==&lt;br /&gt;
&lt;br /&gt;
Download the latest release to your '''local repository directory''' (eg. /opt/eprints3/archives/ARCHIVEID/).&lt;br /&gt;
&lt;br /&gt;
Extract files:&lt;br /&gt;
&lt;br /&gt;
 tar xzvf meprints_xx.tgz&lt;br /&gt;
&lt;br /&gt;
===Install bin scripts===&lt;br /&gt;
&lt;br /&gt;
Edit the bin/generate_meprints file and check the include path on the first line. For example if you have installed EPrints in /var/lib/eprints3 change the line from:&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/perl -w -I/opt/eprints3/perl_lib&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/perl -w -I/var/lib/eprints3/perl_lib&lt;br /&gt;
&lt;br /&gt;
===Install cgi scripts===&lt;br /&gt;
&lt;br /&gt;
Link the MePrints cgi scripts into the EPrints cgi directory:&lt;br /&gt;
&lt;br /&gt;
 ln -s /opt/eprints3/archives/ARCHIVEID/cgi/meprints/ /opt/eprints3/cgi/&lt;br /&gt;
 ln -s /opt/eprints3/archives/ARCHIVEID/cgi/users/meprints/ /opt/eprints3/cgi/users/&lt;br /&gt;
&lt;br /&gt;
===Update database===&lt;br /&gt;
&lt;br /&gt;
Add the new MePrints user fields (defined in cfg/cfg.d/z_meprints.pl) to your repository database:&lt;br /&gt;
&lt;br /&gt;
 cd /opt/eprints3/&lt;br /&gt;
 bin/epadmin update_database_structure ARCHIVEID --verbose&lt;br /&gt;
&lt;br /&gt;
===Apply MePrints patches===&lt;br /&gt;
&lt;br /&gt;
Apply the MePrints patch files:&lt;br /&gt;
&lt;br /&gt;
 cd /opt/eprints3&lt;br /&gt;
 patch -R -p0 &amp;lt; archives/ARCHIVE_ID/meprints_1.0.patch&lt;br /&gt;
&lt;br /&gt;
DO NOT APPLY THIS FOLLOWING PATCH ON EPrints 3.2, it is not required;&lt;br /&gt;
&lt;br /&gt;
 patch -R -p0 &amp;lt; archives/ARCHIVE_ID/meprints_dataset.patch #YOU DONT NEED THIS ON 3.2 trying it might break your install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These patches change two core EPrints modules:&lt;br /&gt;
&lt;br /&gt;
# Update/Views.pm - allow view pages to be generated for any dataset (MePrints adds views over the public_profile_users dataset)&lt;br /&gt;
# DataSet.pm - add a new dataset called public_profile_users which is the set of all users who have opted to make their public profile page visible.&lt;br /&gt;
&lt;br /&gt;
==Getting Started==&lt;br /&gt;
&lt;br /&gt;
To activate MePrints, you will need to make some changes to your repository setup.&lt;br /&gt;
&lt;br /&gt;
===cfg/cfg.d/plugins.pl===&lt;br /&gt;
You can skip this step on MePrints 1.3 and later.&lt;br /&gt;
&lt;br /&gt;
Add the following lines to your cfg/cfg.d/plugins.pl configuration file: to use the MePrints homepage instead instead of the default EPrints &amp;quot;Profile&amp;quot; page:&lt;br /&gt;
&lt;br /&gt;
 $c-&amp;gt;{plugins}-&amp;gt;{&amp;quot;Screen::User::View&amp;quot;}-&amp;gt;{appears}-&amp;gt;{key_tools} = undef;&lt;br /&gt;
 $c-&amp;gt;{plugin_alias_map}-&amp;gt;{&amp;quot;Screen::User::View&amp;quot;} = &amp;quot;Screen::User::Homepage&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===cfg/cfg.d/user_fields_automatic.pl===&lt;br /&gt;
&lt;br /&gt;
Add the following lines to your cfg/cfg.d/user_fields_automatic.pl configuration file to update the MePrints public profile page automatically when a user changes his or her profile information, &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$c-&amp;gt;{user_fields_automatic} = sub {&lt;br /&gt;
        &lt;br /&gt;
&lt;br /&gt;
        my $user = @_;&lt;br /&gt;
&lt;br /&gt;
        ...&lt;br /&gt;
&lt;br /&gt;
        if( defined $user-&amp;gt;{changed} )&lt;br /&gt;
        {&lt;br /&gt;
                $user-&amp;gt;remove_static();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===cfg/cfg.d/eprint_fields_automatic.pl===&lt;br /&gt;
&lt;br /&gt;
Add the following line to your cfg/cfg.d/eprint_fields_automatic.pl configuration file so that the MePrints public profile page automatically changes when an EPrint they have deposited is updated.&lt;br /&gt;
&lt;br /&gt;
 $eprint-&amp;gt;get_user-&amp;gt;remove_static;&lt;br /&gt;
&lt;br /&gt;
===cfg/cfg.d/urls.pl===&lt;br /&gt;
&lt;br /&gt;
To activate the canonical profile URLs, add &amp;quot;/profile/&amp;quot; to the rewrite_exceptions list in your cfg/cfg.d/urls.pl configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$c-&amp;gt;{rewrite_exceptions} = [ '/cgi/', '/archive/', '/profile/' ];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===cfg/apachevhost.conf===&lt;br /&gt;
&lt;br /&gt;
Add the following directives to your cfg/apachevhost.conf configuration file to enable canonical profile URLs (for example http://myrepository.com/profile/jsmith):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Location &amp;quot;/profile&amp;quot;&amp;gt;&lt;br /&gt;
  SetHandler perl-script&lt;br /&gt;
  PerlResponseHandler EPrints::Plugin::MePrints::MePrintsHandler&lt;br /&gt;
&amp;lt;/Location&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===cfg/workflows/user/default.xml===&lt;br /&gt;
&lt;br /&gt;
Add the following lines to your cfg/workflows/user/default.xml configuration file:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;stage name=&amp;quot;default&amp;quot;&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;component type=&amp;quot;Field::Multi&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;epc:phrase ref=&amp;quot;user_section_personal&amp;quot; /&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      ...&lt;br /&gt;
    &amp;lt;/component&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;component type=&amp;quot;Field::Multi&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;epc:phrase ref=&amp;quot;user_section_meprints&amp;quot; /&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;field ref=&amp;quot;profile_visibility&amp;quot; required=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;field ref=&amp;quot;jobtitle&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;field ref=&amp;quot;expertise&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;field ref=&amp;quot;biography&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;field ref=&amp;quot;qualifications&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/component&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===cfg/citations/user/default.xml===&lt;br /&gt;
&lt;br /&gt;
Replace the default EPrints user citation with the MePrints citation (which includes a thumbnail of the user's profile picture) run:&lt;br /&gt;
&lt;br /&gt;
 cd /opt/eprints3/archives/ARCHIVEID&lt;br /&gt;
 cp cfg/citations/user/default_with_thumbnail.xml cfg/citations/user/default.xml&lt;br /&gt;
&lt;br /&gt;
'''Note: if you have already made changes to the default citation, you should examine both files and merge the MePrints changes into default.xml&lt;br /&gt;
&lt;br /&gt;
===Authorship in MePrints===&lt;br /&gt;
Meprints 1.1 and later change the definition of ownership in the respository. This means that users who have the same email address as that listed in an items creators field belong to that user once the item enters the archive. This allows users to see statistics about papers they have authored without have to upload their own copy of the paper. You can return this to the eprints default by removing the cfg/cfg.d/authorship_meprints.pl file &lt;br /&gt;
&lt;br /&gt;
===Confirm Permissions===&lt;br /&gt;
The last thing to do before using MePrints is to ensure that the permissions are correct on the ''meprints'' directory. To do this run the following commands, there probably will not be any output from running this command;&lt;br /&gt;
 cd archives/ARCHIVEID&lt;br /&gt;
 chmod g+wx meprints&lt;br /&gt;
&lt;br /&gt;
If the permissions are not correct then you may encounter errors when using MePrints.&lt;br /&gt;
&lt;br /&gt;
==Testing==&lt;br /&gt;
&lt;br /&gt;
After applying all the changes above, restart Apache to activate MePrints.&lt;br /&gt;
&lt;br /&gt;
===Homepage===&lt;br /&gt;
&lt;br /&gt;
Log into your repository and should see your MePrints Homepage with default widget layout and profile picture.&lt;br /&gt;
&lt;br /&gt;
====Update profile====&lt;br /&gt;
&lt;br /&gt;
Click the Modify Profile button and add some information to the new MePrints fields (Job Title, Expertise, Biography, Qualifications). Set your Profile Visibility to '''Public'''. Click the Save button to return to your Homepage where the information you entered should now be displayed.&lt;br /&gt;
&lt;br /&gt;
====Upload photo====&lt;br /&gt;
&lt;br /&gt;
Click the Profile Picture button, choose a file and click Upload. You will be returned to your Homepage where your picture will now be displayed.&lt;br /&gt;
&lt;br /&gt;
====MePrints Widgets====&lt;br /&gt;
&lt;br /&gt;
By default your homepage displays several widgets (see user_homepage_defaults setting in cfg/cfg.d/z_meprints.pl). Try adding and removing widgets using the widget controls at the bottom of the screen. You can also rearrange widgets by dragging them up/down or between columns. To reset to the default widget layout click the Reset button in the widget control bar.&lt;br /&gt;
&lt;br /&gt;
===Public Profile===&lt;br /&gt;
&lt;br /&gt;
Enter the following URL to view your public profile page:&lt;br /&gt;
&lt;br /&gt;
 http://myrepository.com/profile/USERNAME&lt;br /&gt;
&lt;br /&gt;
where USERNAME is your EPrints username. The layout of the MePrints widgets on your profile page is controlled by the user_profile_defaults setting in cfg/cfg.d/z_meprints.pl.&lt;br /&gt;
&lt;br /&gt;
Go back to your MePrints homepage and click Modify Profile. Change some of your profile information (eg. Job Title, Expertise, Biography, Qualifications) and click Save. Return to your public profile page and check that your profile information has been updated.&lt;br /&gt;
&lt;br /&gt;
===MePrints Views===&lt;br /&gt;
&lt;br /&gt;
Run:&lt;br /&gt;
&lt;br /&gt;
 bin/generate_views ARCHIVEID --generate menus&lt;br /&gt;
&lt;br /&gt;
Check http://myrepository.com/view/ - you should see 2 new views (you may want to link these into your site template).&lt;br /&gt;
&lt;br /&gt;
Explore the view pages and check that you are listed. Make sure that you can click through from the browse listing to your public profile page.&lt;br /&gt;
&lt;br /&gt;
===MePrints search===&lt;br /&gt;
&lt;br /&gt;
Go to: http://myrepository.com/cgi/meprints/search&lt;br /&gt;
&lt;br /&gt;
Check that you can find your profile using keywords from your user profile information (eg. expertise, qualifications).&lt;br /&gt;
&lt;br /&gt;
Make sure that you can click through from the search result list to your public profile page.&lt;br /&gt;
&lt;br /&gt;
===MePrints Embeddable===&lt;br /&gt;
&lt;br /&gt;
If you want to use the default minimal style supplied for MePrints Embeddable then add the following code to the ''&amp;lt;head&amp;gt;'' section of your page:&lt;br /&gt;
 &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;http://myrepository.com/style/meprints_embed.css&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====MePrints Embeddable Widgets====&lt;br /&gt;
It is possible to embed individual widgets that are viewable on your public profile on your own page. If you go to the public profile page you will see an embed links on the widgets that can be embedded. Click the link and instructions will appear telling you how to embed the widget on your page.&lt;br /&gt;
&lt;br /&gt;
====MePrints Embeddable Profile====&lt;br /&gt;
Edit an HTML page and add the following code to the ''&amp;lt;head&amp;gt;'' section of the page:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://myrepository.com/cgi/meprints/embed_js?username=USERNAME&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where ''USERNAME'' is your username on the repository.&lt;br /&gt;
&lt;br /&gt;
Then inside the ''&amp;lt;body&amp;gt;'' section of the page you need to add the following code:&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;div id=&amp;quot;meprints_profile&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will be the location where your embeddable profile will go on your page.&lt;br /&gt;
&lt;br /&gt;
===MePrints for admins===&lt;br /&gt;
&lt;br /&gt;
Using an administrator account go to the Admin screen and choose '''Search users'''. Enter a username or other criteria to find at least one user account (not the account you are logged in with).&lt;br /&gt;
&lt;br /&gt;
Make sure that you can click through from the results list to the user's homepage.&lt;br /&gt;
&lt;br /&gt;
You should be able to modify the user's profile information by clicking Administer Account.&lt;br /&gt;
&lt;br /&gt;
The widget layout should reflect the user's own preference, and you should not be able to make changes to their widget layout.&lt;br /&gt;
&lt;br /&gt;
====Hide Profile====&lt;br /&gt;
&lt;br /&gt;
Change the user's profile visibility to '''private'''.&lt;br /&gt;
&lt;br /&gt;
Log out, and make sure that:&lt;br /&gt;
&lt;br /&gt;
# the profile is no longer visible at /profile/USERNAME&lt;br /&gt;
# the profile no longer appears in search results&lt;br /&gt;
# the profile no longer appears in view pages&lt;br /&gt;
# the embeddable widget no longer displays the profile&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can also change the default visibility of MePrints profiles in cfg/cfg.d/z_meprints.pl&lt;br /&gt;
by default profiles are public unless a user specifically makes there profile private. change&lt;br /&gt;
 $c-&amp;gt;{default_profile_behavior} = 1;&lt;br /&gt;
to &lt;br /&gt;
 $c-&amp;gt;{default_profile_behavior} = 0;&lt;br /&gt;
to make the default private profiles&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
===Database errors===&lt;br /&gt;
&lt;br /&gt;
When dragging and dropping Widgets around, MePrints shows database errors in the error log:&lt;br /&gt;
&lt;br /&gt;
 DBD::mysql::st execute failed: Duplicate entry '1-0' for key 1 at /opt/eprints3/perl_lib/EPrints/Database.pm line 1192.&lt;br /&gt;
 at /opt/eprints3/perl_lib/EPrints/Database.pm line 1192&lt;br /&gt;
 EPrints::Database::insert('EPrints::Database::mysql=HASH(0x2b593e11ebd0)', 'user_items_fields', 'ARRAY(0x2b593bd00510)', ...&lt;br /&gt;
&lt;br /&gt;
This is a known problem which does not seem to affect widget layout.&lt;br /&gt;
&lt;br /&gt;
===generate_views errors===&lt;br /&gt;
&lt;br /&gt;
====Warnings====&lt;br /&gt;
&lt;br /&gt;
 Use of uninitialized value $id in hash element at /usr/share/eprints3/perl_lib/EPrints/Database.pm line 2979.&lt;br /&gt;
&lt;br /&gt;
See http://trac.eprints.org/trac/ticket/3537&lt;br /&gt;
&lt;br /&gt;
====EPrint citations====&lt;br /&gt;
&lt;br /&gt;
After hiding all previously public profiles, eprint citations were rendered in the view list instead of users'. (need to work out how to reproduce this)&lt;br /&gt;
&lt;br /&gt;
====Empty views====&lt;br /&gt;
&lt;br /&gt;
After hiding all previously public profiles and regenerating views, view pages still show expertise/department values.&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=MePrintsInstall&amp;diff=9323</id>
		<title>MePrintsInstall</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=MePrintsInstall&amp;diff=9323"/>
		<updated>2010-05-24T09:23:25Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: /* Installation (EPrints 3.1+) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:MePrints]]&lt;br /&gt;
This page provides technical instructions for installing the MePrints extension. To find out what MePrints is, and for an overview of MePrints features, see [[MePrintsOverview]].&lt;br /&gt;
&lt;br /&gt;
==Installation (EPrints 3.1.3+)==&lt;br /&gt;
&lt;br /&gt;
Download the latest release to your '''local repository directory''' (eg. /opt/eprints3/archives/ARCHIVEID/).&lt;br /&gt;
&lt;br /&gt;
Extract files:&lt;br /&gt;
&lt;br /&gt;
 tar xzvf meprints_xx.tgz&lt;br /&gt;
&lt;br /&gt;
===Install bin scripts===&lt;br /&gt;
&lt;br /&gt;
Edit the bin/generate_meprints file and check the include path on the first line. For example if you have installed EPrints in /var/lib/eprints3 change the line from:&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/perl -w -I/opt/eprints3/perl_lib&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/perl -w -I/var/lib/eprints3/perl_lib&lt;br /&gt;
&lt;br /&gt;
===Install cgi scripts===&lt;br /&gt;
&lt;br /&gt;
Link the MePrints cgi scripts into the EPrints cgi directory:&lt;br /&gt;
&lt;br /&gt;
 ln -s /opt/eprints3/archives/ARCHIVEID/cgi/meprints/ /opt/eprints3/cgi/&lt;br /&gt;
 ln -s /opt/eprints3/archives/ARCHIVEID/cgi/users/meprints/ /opt/eprints3/cgi/users/&lt;br /&gt;
&lt;br /&gt;
===Update database===&lt;br /&gt;
&lt;br /&gt;
Add the new MePrints user fields (defined in cfg/cfg.d/z_meprints.pl) to your repository database:&lt;br /&gt;
&lt;br /&gt;
 cd /opt/eprints3/&lt;br /&gt;
 bin/epadmin update_database_structure ARCHIVEID --verbose&lt;br /&gt;
&lt;br /&gt;
===Apply MePrints patches===&lt;br /&gt;
&lt;br /&gt;
Apply the MePrints patch files:&lt;br /&gt;
&lt;br /&gt;
 cd /opt/eprints3&lt;br /&gt;
 patch -R -p0 &amp;lt; archives/ARCHIVE_ID/meprints_1.0.patch&lt;br /&gt;
&lt;br /&gt;
DO NOT APPLY THIS FOLLOWING PATCH ON EPrints 3.2, it is not required;&lt;br /&gt;
&lt;br /&gt;
 patch -R -p0 &amp;lt; archives/ARCHIVE_ID/meprints_dataset.patch #YOU DONT NEED THIS ON 3.2 trying it might break your install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These patches change two core EPrints modules:&lt;br /&gt;
&lt;br /&gt;
# Update/Views.pm - allow view pages to be generated for any dataset (MePrints adds views over the public_profile_users dataset)&lt;br /&gt;
# DataSet.pm - add a new dataset called public_profile_users which is the set of all users who have opted to make their public profile page visible.&lt;br /&gt;
&lt;br /&gt;
==Getting Started==&lt;br /&gt;
&lt;br /&gt;
To activate MePrints, you will need to make some changes to your repository setup.&lt;br /&gt;
&lt;br /&gt;
===cfg/cfg.d/plugins.pl===&lt;br /&gt;
You can skip this step on MePrints 1.3 and later.&lt;br /&gt;
&lt;br /&gt;
Add the following lines to your cfg/cfg.d/plugins.pl configuration file: to use the MePrints homepage instead instead of the default EPrints &amp;quot;Profile&amp;quot; page:&lt;br /&gt;
&lt;br /&gt;
 $c-&amp;gt;{plugins}-&amp;gt;{&amp;quot;Screen::User::View&amp;quot;}-&amp;gt;{appears}-&amp;gt;{key_tools} = undef;&lt;br /&gt;
 $c-&amp;gt;{plugin_alias_map}-&amp;gt;{&amp;quot;Screen::User::View&amp;quot;} = &amp;quot;Screen::User::Homepage&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===cfg/cfg.d/user_fields_automatic.pl===&lt;br /&gt;
&lt;br /&gt;
Add the following lines to your cfg/cfg.d/user_fields_automatic.pl configuration file to update the MePrints public profile page automatically when a user changes his or her profile information, &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$c-&amp;gt;{user_fields_automatic} = sub {&lt;br /&gt;
        &lt;br /&gt;
&lt;br /&gt;
        my $user = @_;&lt;br /&gt;
&lt;br /&gt;
        ...&lt;br /&gt;
&lt;br /&gt;
        if( defined $user-&amp;gt;{changed} )&lt;br /&gt;
        {&lt;br /&gt;
                $user-&amp;gt;remove_static();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===cfg/cfg.d/eprint_fields_automatic.pl===&lt;br /&gt;
&lt;br /&gt;
Add the following line to your cfg/cfg.d/eprint_fields_automatic.pl configuration file so that the MePrints public profile page automatically changes when an EPrint they have deposited is updated.&lt;br /&gt;
&lt;br /&gt;
 $eprint-&amp;gt;get_user-&amp;gt;remove_static;&lt;br /&gt;
&lt;br /&gt;
===cfg/apachevhost.conf===&lt;br /&gt;
&lt;br /&gt;
Add the following directives to your cfg/apachevhost.conf configuration file to enable canonical profile URLs (for example http://myrepository.com/profile/jsmith):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Location &amp;quot;/profile&amp;quot;&amp;gt;&lt;br /&gt;
  SetHandler perl-script&lt;br /&gt;
  PerlResponseHandler EPrints::Plugin::MePrints::MePrintsHandler&lt;br /&gt;
&amp;lt;/Location&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===cfg/cfg.d/urls.pl===&lt;br /&gt;
&lt;br /&gt;
To activate the canonical profile URLs, add &amp;quot;/profile/&amp;quot; to the rewrite_exceptions list in your cfg/cfg.d/urls.pl configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$c-&amp;gt;{rewrite_exceptions} = [ '/cgi/', '/archive/', '/profile/' ];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===cfg/workflows/user/default.xml===&lt;br /&gt;
&lt;br /&gt;
Add the following lines to your cfg/workflows/user/default.xml configuration file:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;stage name=&amp;quot;default&amp;quot;&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;component type=&amp;quot;Field::Multi&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;epc:phrase ref=&amp;quot;user_section_personal&amp;quot; /&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      ...&lt;br /&gt;
    &amp;lt;/component&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;component type=&amp;quot;Field::Multi&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;epc:phrase ref=&amp;quot;user_section_meprints&amp;quot; /&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;field ref=&amp;quot;profile_visibility&amp;quot; required=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;field ref=&amp;quot;jobtitle&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;field ref=&amp;quot;expertise&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;field ref=&amp;quot;biography&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;field ref=&amp;quot;qualifications&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/component&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===cfg/citations/user/default.xml===&lt;br /&gt;
&lt;br /&gt;
Replace the default EPrints user citation with the MePrints citation (which includes a thumbnail of the user's profile picture) run:&lt;br /&gt;
&lt;br /&gt;
 cd /opt/eprints3/archives/ARCHIVEID&lt;br /&gt;
 cp cfg/citations/user/default_with_thumbnail.xml cfg/citations/user/default.xml&lt;br /&gt;
&lt;br /&gt;
'''Note: if you have already made changes to the default citation, you should examine both files and merge the MePrints changes into default.xml&lt;br /&gt;
&lt;br /&gt;
===Authorship in MePrints===&lt;br /&gt;
Meprints 1.1 and later change the definition of ownership in the respository. This means that users who have the same email address as that listed in an items creators field belong to that user once the item enters the archive. This allows users to see statistics about papers they have authored without have to upload their own copy of the paper. You can return this to the eprints default by removing the cfg/cfg.d/authorship_meprints.pl file &lt;br /&gt;
&lt;br /&gt;
===Confirm Permissions===&lt;br /&gt;
The last thing to do before using MePrints is to ensure that the permissions are correct on the ''meprints'' directory. To do this run the following commands, there probably will not be any output from running this command;&lt;br /&gt;
 cd archives/ARCHIVEID&lt;br /&gt;
 chmod g+wx meprints&lt;br /&gt;
&lt;br /&gt;
If the permissions are not correct then you may encounter errors when using MePrints.&lt;br /&gt;
&lt;br /&gt;
==Testing==&lt;br /&gt;
&lt;br /&gt;
After applying all the changes above, restart Apache to activate MePrints.&lt;br /&gt;
&lt;br /&gt;
===Homepage===&lt;br /&gt;
&lt;br /&gt;
Log into your repository and should see your MePrints Homepage with default widget layout and profile picture.&lt;br /&gt;
&lt;br /&gt;
====Update profile====&lt;br /&gt;
&lt;br /&gt;
Click the Modify Profile button and add some information to the new MePrints fields (Job Title, Expertise, Biography, Qualifications). Set your Profile Visibility to '''Public'''. Click the Save button to return to your Homepage where the information you entered should now be displayed.&lt;br /&gt;
&lt;br /&gt;
====Upload photo====&lt;br /&gt;
&lt;br /&gt;
Click the Profile Picture button, choose a file and click Upload. You will be returned to your Homepage where your picture will now be displayed.&lt;br /&gt;
&lt;br /&gt;
====MePrints Widgets====&lt;br /&gt;
&lt;br /&gt;
By default your homepage displays several widgets (see user_homepage_defaults setting in cfg/cfg.d/z_meprints.pl). Try adding and removing widgets using the widget controls at the bottom of the screen. You can also rearrange widgets by dragging them up/down or between columns. To reset to the default widget layout click the Reset button in the widget control bar.&lt;br /&gt;
&lt;br /&gt;
===Public Profile===&lt;br /&gt;
&lt;br /&gt;
Enter the following URL to view your public profile page:&lt;br /&gt;
&lt;br /&gt;
 http://myrepository.com/profile/USERNAME&lt;br /&gt;
&lt;br /&gt;
where USERNAME is your EPrints username. The layout of the MePrints widgets on your profile page is controlled by the user_profile_defaults setting in cfg/cfg.d/z_meprints.pl.&lt;br /&gt;
&lt;br /&gt;
Go back to your MePrints homepage and click Modify Profile. Change some of your profile information (eg. Job Title, Expertise, Biography, Qualifications) and click Save. Return to your public profile page and check that your profile information has been updated.&lt;br /&gt;
&lt;br /&gt;
===MePrints Views===&lt;br /&gt;
&lt;br /&gt;
Run:&lt;br /&gt;
&lt;br /&gt;
 bin/generate_views ARCHIVEID --generate menus&lt;br /&gt;
&lt;br /&gt;
Check http://myrepository.com/view/ - you should see 2 new views (you may want to link these into your site template).&lt;br /&gt;
&lt;br /&gt;
Explore the view pages and check that you are listed. Make sure that you can click through from the browse listing to your public profile page.&lt;br /&gt;
&lt;br /&gt;
===MePrints search===&lt;br /&gt;
&lt;br /&gt;
Go to: http://myrepository.com/cgi/meprints/search&lt;br /&gt;
&lt;br /&gt;
Check that you can find your profile using keywords from your user profile information (eg. expertise, qualifications).&lt;br /&gt;
&lt;br /&gt;
Make sure that you can click through from the search result list to your public profile page.&lt;br /&gt;
&lt;br /&gt;
===MePrints Embeddable===&lt;br /&gt;
&lt;br /&gt;
If you want to use the default minimal style supplied for MePrints Embeddable then add the following code to the ''&amp;lt;head&amp;gt;'' section of your page:&lt;br /&gt;
 &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;http://myrepository.com/style/meprints_embed.css&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====MePrints Embeddable Widgets====&lt;br /&gt;
It is possible to embed individual widgets that are viewable on your public profile on your own page. If you go to the public profile page you will see an embed links on the widgets that can be embedded. Click the link and instructions will appear telling you how to embed the widget on your page.&lt;br /&gt;
&lt;br /&gt;
====MePrints Embeddable Profile====&lt;br /&gt;
Edit an HTML page and add the following code to the ''&amp;lt;head&amp;gt;'' section of the page:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://myrepository.com/cgi/meprints/embed_js?username=USERNAME&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where ''USERNAME'' is your username on the repository.&lt;br /&gt;
&lt;br /&gt;
Then inside the ''&amp;lt;body&amp;gt;'' section of the page you need to add the following code:&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;div id=&amp;quot;meprints_profile&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will be the location where your embeddable profile will go on your page.&lt;br /&gt;
&lt;br /&gt;
===MePrints for admins===&lt;br /&gt;
&lt;br /&gt;
Using an administrator account go to the Admin screen and choose '''Search users'''. Enter a username or other criteria to find at least one user account (not the account you are logged in with).&lt;br /&gt;
&lt;br /&gt;
Make sure that you can click through from the results list to the user's homepage.&lt;br /&gt;
&lt;br /&gt;
You should be able to modify the user's profile information by clicking Administer Account.&lt;br /&gt;
&lt;br /&gt;
The widget layout should reflect the user's own preference, and you should not be able to make changes to their widget layout.&lt;br /&gt;
&lt;br /&gt;
====Hide Profile====&lt;br /&gt;
&lt;br /&gt;
Change the user's profile visibility to '''private'''.&lt;br /&gt;
&lt;br /&gt;
Log out, and make sure that:&lt;br /&gt;
&lt;br /&gt;
# the profile is no longer visible at /profile/USERNAME&lt;br /&gt;
# the profile no longer appears in search results&lt;br /&gt;
# the profile no longer appears in view pages&lt;br /&gt;
# the embeddable widget no longer displays the profile&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can also change the default visibility of MePrints profiles in cfg/cfg.d/z_meprints.pl&lt;br /&gt;
by default profiles are public unless a user specifically makes there profile private. change&lt;br /&gt;
 $c-&amp;gt;{default_profile_behavior} = 1;&lt;br /&gt;
to &lt;br /&gt;
 $c-&amp;gt;{default_profile_behavior} = 0;&lt;br /&gt;
to make the default private profiles&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
===Database errors===&lt;br /&gt;
&lt;br /&gt;
When dragging and dropping Widgets around, MePrints shows database errors in the error log:&lt;br /&gt;
&lt;br /&gt;
 DBD::mysql::st execute failed: Duplicate entry '1-0' for key 1 at /opt/eprints3/perl_lib/EPrints/Database.pm line 1192.&lt;br /&gt;
 at /opt/eprints3/perl_lib/EPrints/Database.pm line 1192&lt;br /&gt;
 EPrints::Database::insert('EPrints::Database::mysql=HASH(0x2b593e11ebd0)', 'user_items_fields', 'ARRAY(0x2b593bd00510)', ...&lt;br /&gt;
&lt;br /&gt;
This is a known problem which does not seem to affect widget layout.&lt;br /&gt;
&lt;br /&gt;
===generate_views errors===&lt;br /&gt;
&lt;br /&gt;
====Warnings====&lt;br /&gt;
&lt;br /&gt;
 Use of uninitialized value $id in hash element at /usr/share/eprints3/perl_lib/EPrints/Database.pm line 2979.&lt;br /&gt;
&lt;br /&gt;
See http://trac.eprints.org/trac/ticket/3537&lt;br /&gt;
&lt;br /&gt;
====EPrint citations====&lt;br /&gt;
&lt;br /&gt;
After hiding all previously public profiles, eprint citations were rendered in the view list instead of users'. (need to work out how to reproduce this)&lt;br /&gt;
&lt;br /&gt;
====Empty views====&lt;br /&gt;
&lt;br /&gt;
After hiding all previously public profiles and regenerating views, view pages still show expertise/department values.&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=API:EPrints/XML&amp;diff=8615</id>
		<title>API:EPrints/XML</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=API:EPrints/XML&amp;diff=8615"/>
		<updated>2010-02-12T16:34:11Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Pod2Wiki=_preamble_ &lt;br /&gt;
This page has been automatically generated from the EPrints 3.2 source. Any wiki changes made between the 'Pod2Wiki=*' and 'Edit below this comment' comments will be lost.&lt;br /&gt;
 --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
{{API}}{{Pod2Wiki}}{{API:Source|file=EPrints/XML.pm|package_name=EPrints::XML}}[[Category:API|XML]]&amp;lt;div&amp;gt;&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_name --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==NAME==&lt;br /&gt;
'''EPrints::XML''' - XML Abstraction Module&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For preference, use the methods in [[API:EPrints/Handle/XML|EPrints::Handle::XML]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_synopsis --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==SYNOPSIS==&lt;br /&gt;
  my $xml = $repository-&amp;amp;gt;xml;&lt;br /&gt;
  &lt;br /&gt;
  $doc = $xml-&amp;amp;gt;parse_string( $string );&lt;br /&gt;
  $doc = $xml-&amp;amp;gt;parse_file( $filename );&lt;br /&gt;
  $doc = $xml-&amp;amp;gt;parse_url( $url );&lt;br /&gt;
  &lt;br /&gt;
  $utf8_string = $xml-&amp;amp;gt;to_string( $dom_node, %opts );&lt;br /&gt;
  &lt;br /&gt;
  $dom_node = $xml-&amp;amp;gt;clone( $dom_node ); # deep&lt;br /&gt;
  $dom_node = $xml-&amp;amp;gt;clone_node( $dom_node ); # shallow&lt;br /&gt;
  &lt;br /&gt;
  # clone and return child nodes&lt;br /&gt;
  $dom_node = $xml-&amp;amp;gt;contents_of( $dom_node );&lt;br /&gt;
  # Return text child nodes as a string&lt;br /&gt;
  $utf8_string = $xml-&amp;amp;gt;text_contents_of( $dom_node );&lt;br /&gt;
  &lt;br /&gt;
  $dom_node = $xml-&amp;amp;gt;create_element( $name, %attr );&lt;br /&gt;
  $dom_node = $xml-&amp;amp;gt;create_text_node( $value );&lt;br /&gt;
  $dom_node = $xml-&amp;amp;gt;create_comment( $value );&lt;br /&gt;
  $dom_node = $xml-&amp;amp;gt;create_document_fragment;&lt;br /&gt;
  &lt;br /&gt;
  $xml-&amp;amp;gt;dispose( $dom_node );&lt;br /&gt;
  &lt;br /&gt;
head1 DESCRIPTION&lt;br /&gt;
&lt;br /&gt;
EPrints can use either XML::DOM, XML::LibXML or XML::GDOME modules to generate and process XML. Some of the functionality of these modules differs so this module abstracts such functionality so that all the module specific code is in one place. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_methods --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==METHODS==&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_parsing --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===Parsing===&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_parse_string --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$doc = $xml-&amp;amp;gt;parse_string( $string, %opts )====&lt;br /&gt;
&lt;br /&gt;
Returns an XML document parsed from $string.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_parse_file --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$doc = $xml-&amp;amp;gt;parse_file( $filename, %opts )====&lt;br /&gt;
&lt;br /&gt;
Returns an XML document parsed from the file called $filename.&lt;br /&gt;
&lt;br /&gt;
  base_path - base path to load DTD files from&lt;br /&gt;
  no_expand - don't expand entities&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_parse_url --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$doc = $xml-&amp;amp;gt;parse_url( $url, %opts )====&lt;br /&gt;
&lt;br /&gt;
Returns an XML document parsed from the content located at $url.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_node_creation --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===Node Creation===&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_create_element --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$node = $xml-&amp;amp;gt;create_element( $name [, @attrs ] )====&lt;br /&gt;
&lt;br /&gt;
Returns a new XML element named $name with optional attribute pairs @attrs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_create_cdata_section --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$node = $xml-&amp;amp;gt;create_cdata_section( $value )====&lt;br /&gt;
&lt;br /&gt;
Returns a CDATA section containing $value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_create_text_node --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$node = $xml-&amp;amp;gt;create_text_node( $value )====&lt;br /&gt;
&lt;br /&gt;
Returns a new XML text node containing $value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_create_comment --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$node = $xml-&amp;amp;gt;create_comment( $value )====&lt;br /&gt;
&lt;br /&gt;
Returns a new XML comment containing $value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_create_document_fragment --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$node = $xml-&amp;amp;gt;create_document_fragment====&lt;br /&gt;
&lt;br /&gt;
Returns a new XML document fragment.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_other --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===Other===&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_is --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$bool = $xml-&amp;amp;gt;is( $node, $type [, $type ... ] )====&lt;br /&gt;
&lt;br /&gt;
Returns true if $node is one of the given node types: Document, DocumentFragment, Element, Comment, Text.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_clone --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$node = $xml-&amp;amp;gt;clone( $node )====&lt;br /&gt;
&lt;br /&gt;
Returns a deep clone of $node. The new node(s) will be owned by this object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_clone_node --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$node = $xml-&amp;amp;gt;clone_node( $node )====&lt;br /&gt;
&lt;br /&gt;
Returns a clone of $node only (no children). The new node will be owned by this object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_clone_node --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$node = EPrints::XML::clone_node( $node [, $deep ] )====&lt;br /&gt;
&lt;br /&gt;
DEPRECATED.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_contents_of --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$node = $xml-&amp;amp;gt;contents_of( $node )====&lt;br /&gt;
&lt;br /&gt;
Returns a document fragment containing a copy of all the children of $node.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_text_contents_of --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$string = $xml-&amp;amp;gt;text_contents_of( $node )====&lt;br /&gt;
&lt;br /&gt;
Returns the concantenated value of all text nodes in $node (or the value of $node if $node is a text node).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_to_string --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$utf8_string = $xml-&amp;amp;gt;to_string( $node, %opts )====&lt;br /&gt;
&lt;br /&gt;
Serialises and returns the $node as a UTF-8 string.&lt;br /&gt;
&lt;br /&gt;
To generate an XHTML string see [[API:EPrints/XHTML|EPrints::XHTML]].&lt;br /&gt;
&lt;br /&gt;
Options:&lt;br /&gt;
	indent - if true will indent the XML tree&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_to_string --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$string = EPrints::XML::to_string( $node, [$enc], [$noxmlns] )====&lt;br /&gt;
&lt;br /&gt;
Return the given node (and its children) as a UTF8 encoded string.&lt;br /&gt;
&lt;br /&gt;
$enc is only used when $node is a document.&lt;br /&gt;
&lt;br /&gt;
If $stripxmlns is true then all xmlns attributes and namespace prefixes are removed. Handy for making legal XHTML.&lt;br /&gt;
&lt;br /&gt;
Papers over some cracks, specifically that XML::GDOME does not  support toString on a DocumentFragment, and that XML::GDOME does not insert a space before the / in tags with no children, which confuses some browsers. Eg. &amp;amp;lt;br/&amp;amp;gt; vs &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_dispose --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$xml-&amp;amp;gt;dispose( $node )====&lt;br /&gt;
&lt;br /&gt;
Dispose and free the memory used by $node.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_parse_xml --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$doc = EPrints::XML::parse_xml( $file, $basepath, $no_expand )====&lt;br /&gt;
&lt;br /&gt;
Return a DOM document describing the XML file specified by $file. With the optional root path for looking for the DTD of $basepath. If $noexpand is true then entities will not be expanded.&lt;br /&gt;
&lt;br /&gt;
If we are using GDOME then it will create an XML::GDOME document instead.&lt;br /&gt;
&lt;br /&gt;
In the event of an error in the XML file, report to STDERR and return undef.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_event_parse --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====event_parse( $fh, $handler )====&lt;br /&gt;
&lt;br /&gt;
Parses the XML from filehandle $fh, calling the appropriate events in the handler where necessary.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_is_dom --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$boolean = is_dom( $node, @nodestrings )====&lt;br /&gt;
&lt;br /&gt;
 return true if node is an object of type XML::DOM/GDOME::$nodestring&lt;br /&gt;
 where $nodestring is any value in @nodestrings.&lt;br /&gt;
  &lt;br /&gt;
 if $nodestring is not defined then return true if $node is any &lt;br /&gt;
 XML::DOM/GDOME object.&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_clone_and_own --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$newnode = EPrints::XML::clone_and_own( $doc, $node, $deep )====&lt;br /&gt;
&lt;br /&gt;
This function abstracts the different ways that XML::DOM and  XML::GDOME allow objects to be moved between documents. &lt;br /&gt;
&lt;br /&gt;
It returns a clone of $node but belonging to the document $doc no matter what document $node belongs to. &lt;br /&gt;
&lt;br /&gt;
If $deep is true then the clone will also clone all nodes belonging to $node, recursively.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_make_document --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$document = EPrints::XML::make_document()====&lt;br /&gt;
&lt;br /&gt;
Create and return an empty document.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_write_xml_file --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====EPrints::XML::write_xml_file( $node, $filename )====&lt;br /&gt;
&lt;br /&gt;
Write the given XML node $node to file $filename.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_write_xhtml_file --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====EPrints::XML::write_xhtml_file( $node, $filename )====&lt;br /&gt;
&lt;br /&gt;
Write the given XML node $node to file $filename with an XHTML doctype.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_tidy --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====EPrints::XML::tidy( $domtree, { collapse=&amp;amp;gt;['element','element'...] }, [$indent] )====&lt;br /&gt;
&lt;br /&gt;
Neatly indent the DOM tree. &lt;br /&gt;
&lt;br /&gt;
Note that this should not be done to XHTML as the differenct between white space and no white space does matter sometimes.&lt;br /&gt;
&lt;br /&gt;
This method modifies the tree it is given. Possibly there should be a version which returns a new version without modifying the tree.&lt;br /&gt;
&lt;br /&gt;
Indent is the number of levels to ident by.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_namespace --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$namespace = EPrints::XML::namespace( $thing, $version )====&lt;br /&gt;
&lt;br /&gt;
Return the namespace for the given version of the eprints xml.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_version --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$v = EPrints::XML::version()====&lt;br /&gt;
&lt;br /&gt;
Returns a string description of the current XML library and version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=_postamble_ --&amp;gt;&amp;lt;!-- Edit below this comment --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=API:EPrints/Utils&amp;diff=8614</id>
		<title>API:EPrints/Utils</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=API:EPrints/Utils&amp;diff=8614"/>
		<updated>2010-02-12T16:34:10Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Pod2Wiki=_preamble_ &lt;br /&gt;
This page has been automatically generated from the EPrints 3.2 source. Any wiki changes made between the 'Pod2Wiki=*' and 'Edit below this comment' comments will be lost.&lt;br /&gt;
 --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
{{API}}{{Pod2Wiki}}{{API:Source|file=EPrints/Utils.pm|package_name=EPrints::Utils}}[[Category:API|Utils]]&amp;lt;div&amp;gt;&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_name --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==NAME==&lt;br /&gt;
'''EPrints::Utils''' - Utility functions for EPrints.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_synopsis --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==SYNOPSIS	==&lt;br /&gt;
  $boolean = EPrints::Utils::is_set( $object ) &lt;br /&gt;
  # return true if an object/scalar/array has any data in it&lt;br /&gt;
  &lt;br /&gt;
  # copy the contents of the url to a file&lt;br /&gt;
  $response = EPrints::Utils::wget( &lt;br /&gt;
    $handle, &lt;br /&gt;
    &amp;quot;http://www.eprints.org/index.php&amp;quot;, &lt;br /&gt;
    &amp;quot;temp_dir/my_file&amp;quot; ) &lt;br /&gt;
  if($response-&amp;amp;gt;is_sucess()){ do something...}&lt;br /&gt;
  &lt;br /&gt;
  $name = { given=&amp;amp;gt;&amp;quot;Wendy&amp;quot;, family=&amp;amp;gt;&amp;quot;Hall&amp;quot;, honourific=&amp;amp;gt;&amp;quot;Dame&amp;quot; };&lt;br /&gt;
  # return Dame Wendy Hall&lt;br /&gt;
  $string = EPrints::Utils::make_name_string( $name, 1 );&lt;br /&gt;
  # return Dame Hall, Wendy&lt;br /&gt;
  $string = EPrints::Utils::make_name_string( $name, 0 );&lt;br /&gt;
  &lt;br /&gt;
  # returns http://www.eprints.org?var=%3Cfoo%3E&lt;br /&gt;
  $string = EPrints::Utils::url_escape( &amp;quot;http://www.eprints.org?var=&amp;amp;lt;foo&amp;amp;gt;&amp;quot; ); &lt;br /&gt;
  &lt;br /&gt;
  $esc_string = EPrints::Utils::escape_filename( $string );&lt;br /&gt;
  $string = EPrints::Utils::unescape_filename( $esc_string );&lt;br /&gt;
  &lt;br /&gt;
  $filesize_text = EPrints::Utils::human_filesize( 3300 ); &lt;br /&gt;
  # returns &amp;quot;3kb&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_description --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==DESCRIPTION==&lt;br /&gt;
This package contains functions which don't belong anywhere else.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=for --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
InternalDoc&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_prepare_cmd --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$cmd = EPrints::Utils::prepare_cmd($cmd,%VARS)===&lt;br /&gt;
&lt;br /&gt;
Prepare command string $cmd by substituting variables (specified by &amp;lt;tt&amp;gt;$(varname)&amp;lt;/tt&amp;gt;) with their value from %VARS (key is &amp;lt;tt&amp;gt;varname&amp;lt;/tt&amp;gt;). All %VARS are quoted before replacement to make it shell-safe.&lt;br /&gt;
&lt;br /&gt;
If a variable is specified in $cmd, but not present in %VARS a die is thrown.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_make_name_string --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$string = EPrints::Utils::make_name_string( $name, [$familylast] )===&lt;br /&gt;
&lt;br /&gt;
Return a string containing the name described in the hash reference $name. &lt;br /&gt;
&lt;br /&gt;
The keys of the hash are one or more of given, family, honourific and lineage. The values are utf-8 strings.&lt;br /&gt;
&lt;br /&gt;
Normally the result will be:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;family lineage, honourific given&amp;quot;&lt;br /&gt;
&lt;br /&gt;
but if $familylast is true then it will be:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;honourific given family lineage&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_wrap_text --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$str = EPrints::Utils::wrap_text( $text, [$width], [$init_tab], [$sub_tab] )===&lt;br /&gt;
&lt;br /&gt;
Wrap $text to be at most $width (or 80 if undefined) characters per line. As a special case $width may be &amp;lt;tt&amp;gt;console&amp;lt;/tt&amp;gt;, in which case the width used is the current console width ({{API:PodLink|file=Term/ReadKey|package_name=Term::ReadKey|section=|text=Term::ReadKey}}).&lt;br /&gt;
&lt;br /&gt;
$init_tab and $sub_tab allow indenting on the first and subsequent lines respectively (see {{API:PodLink|file=Text/Wrap|package_name=Text::Wrap|section=|text=Text::Wrap}} for more information).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_is_set --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$boolean = EPrints::Utils::is_set( $r )===&lt;br /&gt;
&lt;br /&gt;
Recursive function. &lt;br /&gt;
&lt;br /&gt;
Return false if $r is not set.&lt;br /&gt;
&lt;br /&gt;
If $r is a scalar then returns true if it is not an empty string.&lt;br /&gt;
&lt;br /&gt;
For arrays and hashes return true if at least one value of them is_set().&lt;br /&gt;
&lt;br /&gt;
This is used to see if a complex data structure actually has any data in it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_tree_to_utf8 --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$string = EPrints::Utils::tree_to_utf8( $tree, $width, [$pre], [$whitespace_before], [$ignore_a] )===&lt;br /&gt;
&lt;br /&gt;
Convert a XML DOM tree to a utf-8 encoded string.&lt;br /&gt;
&lt;br /&gt;
If $width is set then word-wrap at that many characters.&lt;br /&gt;
&lt;br /&gt;
XHTML elements are removed with the following exceptions:&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;br /&amp;amp;gt; is converted to a newline.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;p&amp;amp;gt;...&amp;amp;lt;/p&amp;amp;gt; will have a blank line above and below.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;img /&amp;amp;gt; will be replaced with the content of the alt attribute.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;hr /&amp;amp;gt; will, if a width was specified, insert a line of dashes.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;a href=&amp;quot;foo&amp;quot;&amp;amp;gt;bar&amp;amp;lt;/a&amp;amp;gt; will be converted into &amp;quot;bar &amp;amp;lt;foo&amp;amp;gt;&amp;quot; unless ignore_a is set.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=for --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
InternalDoc&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_copy --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$ok = EPrints::Utils::copy( $source, $target )===&lt;br /&gt;
&lt;br /&gt;
Copy $source file to $target file without alteration.&lt;br /&gt;
&lt;br /&gt;
Return true on success (sets $! on error).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_wget --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$response = EPrints::Utils::wget( $session, $source, $target )===&lt;br /&gt;
&lt;br /&gt;
Copy $source file or URL to $target file without alteration.&lt;br /&gt;
&lt;br /&gt;
Will fail if $source is a &amp;quot;file:&amp;quot; and &amp;quot;enable_file_imports&amp;quot; is false or if $source is any other scheme and &amp;quot;enable_web_imports&amp;quot; is false.&lt;br /&gt;
&lt;br /&gt;
Returns the HTTP response object: use $response-&amp;amp;gt;is_success to check whether the copy succeeded.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=for --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
InternalDoc&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_rmtree --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$ok = EPrints::Utils::rmtree( $full_path )===&lt;br /&gt;
&lt;br /&gt;
Unlinks the path and everything in it.&lt;br /&gt;
&lt;br /&gt;
Return true on success.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=for --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
InternalDoc&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_field_from_config_string --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$metafield = EPrints::Utils::field_from_config_string( $dataset, $fieldname )===&lt;br /&gt;
&lt;br /&gt;
Return the EPrint::MetaField from $dataset with the given name.&lt;br /&gt;
&lt;br /&gt;
If fieldname has a semicolon followed by render options then these are passed as render options to the new EPrints::MetaField object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=for --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
InternalDoc&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_input --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$string = EPrints::Utils::get_input( $regexp, [$prompt], [$default] )===&lt;br /&gt;
&lt;br /&gt;
Read input from the keyboard.&lt;br /&gt;
&lt;br /&gt;
Prints the promp and default value, if any. eg.&lt;br /&gt;
 How many fish [5] &amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
Return the value the user enters at the keyboard.&lt;br /&gt;
&lt;br /&gt;
If the value does not match the regexp then print the prompt again and try again.&lt;br /&gt;
&lt;br /&gt;
If a default is set and the user just hits return then the default value is returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=for --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
InteralDoc&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_input_hidden --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===EPrints::Utils::get_input_hidden( $regexp, [$prompt], [$default] )===&lt;br /&gt;
&lt;br /&gt;
Get input from the console without echoing the entered characters  (mostly useful for getting passwords). Uses {{API:PodLink|file=Term/ReadKey|package_name=Term::ReadKey|section=|text=Term::ReadKey}}.&lt;br /&gt;
&lt;br /&gt;
Identical to get_input except the characters don't appear.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=for --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
InternalDoc&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_input_confirm --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===EPrints::Utils::get_input_confirm( [$prompt], [$quick], [$default] )===&lt;br /&gt;
&lt;br /&gt;
Asks the user for confirmation (yes/no). If $quick is true only checks for a single-character input ('y' or 'n').&lt;br /&gt;
&lt;br /&gt;
If $default is '1' defaults to yes, if '0' defaults to no.&lt;br /&gt;
&lt;br /&gt;
Returns true if the user answers 'yes' or false for any other value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=for --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
InternalDoc&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_clone --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$clone_of_data = EPrints::Utils::clone( $data )===&lt;br /&gt;
&lt;br /&gt;
Deep copies the data structure $data, following arrays and hashes.&lt;br /&gt;
&lt;br /&gt;
Does not handle blessed items.&lt;br /&gt;
&lt;br /&gt;
Useful when we want to modify a temporary copy of a data structure  that came from the configuration files.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=for --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
InternalDoc&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_crypt_password --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$crypted_value = EPrints::Utils::crypt_password( $value, $session )===&lt;br /&gt;
&lt;br /&gt;
Apply the crypt encoding to the given $value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_url_escape --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$string = EPrints::Utils::url_escape( $url )===&lt;br /&gt;
&lt;br /&gt;
Escape the given $url, so that it can appear safely in HTML.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=for --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
InternalDoc&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_ip2long --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$long = EPrints::Utils::ip2long( $ip )===&lt;br /&gt;
&lt;br /&gt;
Convert quad-dotted notation to long&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_long2ip --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$ip = EPrints::Utils::long2ip( $ip )===&lt;br /&gt;
&lt;br /&gt;
Convert long to quad-dotted notation&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=for --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
InternalDoc&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_cmd_version --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===EPrints::Utils::cmd_version( $progname )===&lt;br /&gt;
&lt;br /&gt;
Print out a &amp;quot;--version&amp;quot; style message to STDOUT.&lt;br /&gt;
&lt;br /&gt;
$progname is the name of the current script.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_escape_filename --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$esc_string = EPrints::Utils::escape_filename( $string )===&lt;br /&gt;
&lt;br /&gt;
Take a value and escape it to be a legal filename to go in the /view/ section of the site.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_unescape_filename --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$string = EPrints::Utils::unescape_filename( $esc_string )===&lt;br /&gt;
&lt;br /&gt;
Unescape a string previously escaped with escape_filename().&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_human_filesize --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$filesize_text = EPrints::Utils::human_filesize( $size_in_bytes )===&lt;br /&gt;
&lt;br /&gt;
Return a human readable version of a filesize. If 0-4095b then show  as bytes, if 4-4095Kb show as Kb otherwise show as Mb.&lt;br /&gt;
&lt;br /&gt;
eg. Input of 5234 gives &amp;quot;5Kb&amp;quot;, input of 3234 gives &amp;quot;3234b&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
This is not internationalised, I don't think it needs to be. Let me know if this is a problem. support@eprints.org&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=_postamble_ --&amp;gt;&amp;lt;!-- Edit below this comment --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=API:EPrints/Time&amp;diff=8613</id>
		<title>API:EPrints/Time</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=API:EPrints/Time&amp;diff=8613"/>
		<updated>2010-02-12T16:34:09Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Pod2Wiki=_preamble_ &lt;br /&gt;
This page has been automatically generated from the EPrints 3.2 source. Any wiki changes made between the 'Pod2Wiki=*' and 'Edit below this comment' comments will be lost.&lt;br /&gt;
 --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
{{API}}{{Pod2Wiki}}{{API:Source|file=EPrints/Time.pm|package_name=EPrints::Time}}[[Category:API|Time]]&amp;lt;div&amp;gt;&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_name --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==NAME==&lt;br /&gt;
'''EPrints::Time''' - Time and Date-related functions &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_synopsis --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==SYNOPSIS==&lt;br /&gt;
  EPrints::Time::render_date( $handle, &amp;quot;2001-01-12T00:00:00Z&amp;quot; ) &lt;br /&gt;
  # returns XML containing 12 January 2001 00:00&lt;br /&gt;
  &lt;br /&gt;
  EPrints::Time::render_short_date( $handle, &amp;quot;2001-01-12T00:00:00Z&amp;quot; ) &lt;br /&gt;
  # returns XML containing 12 Jan 2001 00:00&lt;br /&gt;
  &lt;br /&gt;
  EPrints::Time::get_iso_timestamp( ); &lt;br /&gt;
  # returns NOW in the form YYYY-MM-DDTHH:MM:SSZ&lt;br /&gt;
  &lt;br /&gt;
  EPrints::Time::human_delay( 28 ); &lt;br /&gt;
  # returns &amp;quot;1 day&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  EPrints::Time::get_month_label( $handle, 11 ) &lt;br /&gt;
  # returns November&lt;br /&gt;
  &lt;br /&gt;
  EPrints::Time::get_month_label_short( $handle, 11 ) &lt;br /&gt;
  # returns Nov&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_description --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==DESCRIPTION==&lt;br /&gt;
This package contains functions related to time/date functionality. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_date --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$xhtml = EPrints::Time::render_date( $handle, $datevalue )===&lt;br /&gt;
&lt;br /&gt;
Render the given date or date and time as a chunk of XHTML.&lt;br /&gt;
&lt;br /&gt;
$datevalue is given in a UTC timestamp of the form YYYY-MM-DDTHH:MM:SSZ but it will be rendered in the local offset.&lt;br /&gt;
&lt;br /&gt;
e.g EPrints::Time::render_date( $handle, &amp;quot;2001-01-12T00:00:00Z&amp;quot; ) #returns XML containing 12 January 2001 00:00&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_short_date --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$xhtml = EPrints::Time::render_short_date( $handle, $datevalue )===&lt;br /&gt;
&lt;br /&gt;
Renders a short version of the given date or date and time as a chunk of XHTML.&lt;br /&gt;
&lt;br /&gt;
$datevalue is given in UTC timestamp of the form YYYY-MM-DDTHH:MM:SSZ but it will be rendered in the local offset.&lt;br /&gt;
&lt;br /&gt;
e.g EPrints::Time::render_short_date( $handle, &amp;quot;2001-01-12T00:00:00Z&amp;quot; ) #returns XML containing 12 Jan 2001 00:00&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_datestring_to_timet --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$xhtml = EPrints::Time::datestring_to_timet( $handle, $datevalue )===&lt;br /&gt;
&lt;br /&gt;
Returns an interger number of seconds since 1970-01-01:00:00&lt;br /&gt;
&lt;br /&gt;
$datevalue - in the format YYYY-MM-DDTHH:MM:SSZ &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_gmt_off --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$xhtml = EPrints::Time::gmt_off()===&lt;br /&gt;
&lt;br /&gt;
Render the current time offset in seconds. This just diffs gmtime and localtime.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_month_label --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$label = EPrints::Time::get_month_label( $handle, $monthid )===&lt;br /&gt;
&lt;br /&gt;
Return a UTF-8 string describing the month, in the current lanugage.&lt;br /&gt;
&lt;br /&gt;
$monthid is an integer from 1 to 12.&lt;br /&gt;
&lt;br /&gt;
e.g EPrints::Time::get_month_label( $handle, 11 ) # returns November&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_month_label_short --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$label = EPrints::Time::get_month_label_short( $handle, $monthid )===&lt;br /&gt;
&lt;br /&gt;
Return a UTF-8 string of a short representation in  month, in the current lanugage.&lt;br /&gt;
&lt;br /&gt;
$monthid is an integer from 1 to 12.&lt;br /&gt;
&lt;br /&gt;
e.g EPrints::Time::get_month_label_short( $handle, 11 ) # returns Nov&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_date_array --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===($year,$month,$day) = EPrints::Time::get_date_array( [$time] )===&lt;br /&gt;
&lt;br /&gt;
Static method that returns the given time (in UNIX time, seconds  since 1.1.79) in an array.&lt;br /&gt;
&lt;br /&gt;
This is the local date not the UTC date.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_iso_date --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$datestamp = EPrints::Time::get_iso_date( [$time] )===&lt;br /&gt;
&lt;br /&gt;
Method that returns the given time (in UNIX time, seconds  since 1.1.79) in the format used by EPrints and MySQL (YYYY-MM-DD).&lt;br /&gt;
&lt;br /&gt;
This is the localtime date, not UTC.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_human_time --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$timestamp = EPrints::Time::human_time( [$time] )===&lt;br /&gt;
&lt;br /&gt;
Return a string describing the current local date and time in the current locale's format (see Perl's 'localtime).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_iso_timestamp --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$timestamp = EPrints::Time::get_iso_timestamp( [$time] );===&lt;br /&gt;
&lt;br /&gt;
Return a UTC timestamp of the form YYYY-MM-DDTHH:MM:SSZ&lt;br /&gt;
&lt;br /&gt;
e.g. 2005-02-12T09:23:33Z&lt;br /&gt;
&lt;br /&gt;
$time in seconds from 1970. If not defined then assume current time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_human_delay --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$timestamp = EPrints::Time::human_delay( $hours );===&lt;br /&gt;
&lt;br /&gt;
Returns a human readable amount of time. &lt;br /&gt;
&lt;br /&gt;
$hours the number of hours representing the time you want to be human readable.&lt;br /&gt;
&lt;br /&gt;
e.g. EPrints::Time::human_delay( 28 ); # returns &amp;quot;1 day&amp;quot;&lt;br /&gt;
&lt;br /&gt;
e.g. EPrints::Time::human_delay( 400 ); # returns &amp;quot;2 weeks&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=_postamble_ --&amp;gt;&amp;lt;!-- Edit below this comment --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=API:EPrints/Search&amp;diff=8612</id>
		<title>API:EPrints/Search</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=API:EPrints/Search&amp;diff=8612"/>
		<updated>2010-02-12T16:34:08Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Pod2Wiki=_preamble_ &lt;br /&gt;
This page has been automatically generated from the EPrints 3.2 source. Any wiki changes made between the 'Pod2Wiki=*' and 'Edit below this comment' comments will be lost.&lt;br /&gt;
 --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
{{API}}{{Pod2Wiki}}{{API:Source|file=EPrints/Search.pm|package_name=EPrints::Search}}[[Category:API|Search]]&amp;lt;div&amp;gt;&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_name --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==NAME==&lt;br /&gt;
'''EPrints::Search''' - Represents a single search&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_description --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==DESCRIPTION==&lt;br /&gt;
The Search object represents the conditions of a single  search.&lt;br /&gt;
&lt;br /&gt;
It used to also store the results of the search, but now it returns an [[API:EPrints/List|EPrints::List]] object. &lt;br /&gt;
&lt;br /&gt;
A search expression can also render itself as a web-form, populate itself with values from that web-form and render the results as a web page.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_examples --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==EXAMPLES==&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_searching_for_eprints --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===Searching for Eprints===&lt;br /&gt;
  $ds = $session-&amp;amp;gt;get_repository-&amp;amp;gt;get_dataset( &amp;quot;archive&amp;quot; );&lt;br /&gt;
  &lt;br /&gt;
  $searchexp = EPrints::Search-&amp;amp;gt;new(&lt;br /&gt;
    satisfy_all =&amp;amp;gt; 1,&lt;br /&gt;
    session =&amp;amp;gt; $session,&lt;br /&gt;
    dataset =&amp;amp;gt; $ds,&lt;br /&gt;
  );&lt;br /&gt;
  &lt;br /&gt;
  # Search for an eprint with eprintid 23&lt;br /&gt;
  # (ought to use EPrints::DataObj::EPrint-&amp;amp;gt;new( SESSION, ID ))&lt;br /&gt;
  $searchexp-&amp;amp;gt;add_field( $ds-&amp;amp;gt;get_field( &amp;quot;eprintid&amp;quot; ), 23 );&lt;br /&gt;
  &lt;br /&gt;
  $searchexp-&amp;amp;gt;add_field( $ds-&amp;amp;gt;get_field( &amp;quot;creators&amp;quot; ), &amp;quot;John Smith&amp;quot; );&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_getting_results --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===Getting Results===&lt;br /&gt;
  $results = $searchexp-&amp;amp;gt;perform_search;&lt;br /&gt;
  &lt;br /&gt;
  my $count = $results-&amp;amp;gt;count;&lt;br /&gt;
  &lt;br /&gt;
  my $ids = $results-&amp;amp;gt;ids( 0, 10 );&lt;br /&gt;
  my $ids = $results-&amp;amp;gt;ids; # Get all matching ids&lt;br /&gt;
  &lt;br /&gt;
  my $info = { matches =&amp;amp;gt; 0 };&lt;br /&gt;
  sub fn {&lt;br /&gt;
    my( $session, $dataset, $eprint, $info ) = @_;&lt;br /&gt;
    $info-&amp;amp;gt;{matches}++;&lt;br /&gt;
  };&lt;br /&gt;
  $results-&amp;amp;gt;map( \&amp;amp;amp;fn, $info );&lt;br /&gt;
  &lt;br /&gt;
  $results-&amp;amp;gt;dispose;&lt;br /&gt;
  &lt;br /&gt;
See [[API:EPrints/List|EPrints::List]] for more.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_methods --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==METHODS==&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_new --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$searchexp = EPrints::Search-&amp;amp;gt;new( %params )===&lt;br /&gt;
&lt;br /&gt;
Create a new search expression.&lt;br /&gt;
&lt;br /&gt;
The parameters are split into two parts. The general parameters and those which influence how the HTML form is rendered, and the results displayed.&lt;br /&gt;
&lt;br /&gt;
GENERAL PARAMETERS&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_session --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===session (required)===&lt;br /&gt;
&lt;br /&gt;
The current [[API:EPrints/Session|EPrints::Session]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_dataset_id --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===dataset OR dataset_id (required)===&lt;br /&gt;
&lt;br /&gt;
Either the [[API:EPrints/DataSet|EPrints::DataSet]] to search, or the ID of it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_allow_blank --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===allow_blank (default 0)===&lt;br /&gt;
&lt;br /&gt;
Unless this is set, a search with no conditions will return zero records  rather than all records.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_satisfy_all --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===satisfy_all (default 1)===&lt;br /&gt;
&lt;br /&gt;
If this is true than all search-fields much be satisfied, if false then  results matching any search-field will be returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_search_fields --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===search_fields===&lt;br /&gt;
&lt;br /&gt;
A reference to an array of search field configuration structures. Each  takes the form { id=&amp;amp;gt;&amp;quot;...&amp;quot;, default=&amp;amp;gt;&amp;quot;..&amp;quot;, meta_fields=&amp;amp;gt;&amp;quot;...&amp;quot; } where the meaning is the same as for search configuration in ArchiveConfig.&lt;br /&gt;
&lt;br /&gt;
Search fields can also be added to the search expression after it has been constructed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_order --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===order===&lt;br /&gt;
&lt;br /&gt;
The order the results should be returned. This is a key to the list of orders available to this dataset, defined in ArchiveConfig.pm&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_custom_order --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===custom_order===&lt;br /&gt;
&lt;br /&gt;
&amp;quot;order&amp;quot; limits you to the orders specified in ArchiveConfig, and is usually used by the web page based searching. custom_order allows you to specify any order you like. The format is  foo/-bar. This means that the results will be sorted by foo and then any with equal foo values will be reverse sorted by bar. More than 2 fields can be specified.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_keep_cache --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===keep_cache===&lt;br /&gt;
&lt;br /&gt;
If true then the search results produced will be stored in the database even after the current script ends. This is useful for speeding up  page 2 onwards of a search.&lt;br /&gt;
&lt;br /&gt;
keep_cache may get set to true anyway for various reasons, but setting the parameter makes certain of it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_cache_id --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===cache_id===&lt;br /&gt;
&lt;br /&gt;
The ID of a cached search. The cache contains both the results of the search, and the parameters used for the search.&lt;br /&gt;
&lt;br /&gt;
If the cache still exists, it will set the default values of the  search fields, and when the search is performed it will skip the  search and build a search results object directly from the cache.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_limit --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===limit===&lt;br /&gt;
&lt;br /&gt;
Limit the number of matching records to limit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_prefix --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===prefix (default &amp;quot;&amp;quot;)===&lt;br /&gt;
&lt;br /&gt;
When generating the web form and reading back from the web form, the prefix is inserted before the form names of all fields. This is useful if you need to put two search expressions in a single form for some reason.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_staff --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===staff (default 0)===&lt;br /&gt;
&lt;br /&gt;
If true then this is a &amp;quot;staff&amp;quot; search, which prevents searching unless the user is staff, and the results link to the staff URL of an item rather than the public URL.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_filters --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===filters===&lt;br /&gt;
&lt;br /&gt;
A reference to an array of filter definitions.&lt;br /&gt;
&lt;br /&gt;
Filter definitions take the form of: { value=&amp;amp;gt;&amp;quot;..&amp;quot;, match=&amp;amp;gt;&amp;quot;..&amp;quot;, merge=&amp;amp;gt;&amp;quot;..&amp;quot;, id=&amp;amp;gt;&amp;quot;..&amp;quot; } and work much like normal search fields except that they do not appear in the web form so force certain search parameters on the user.&lt;br /&gt;
&lt;br /&gt;
An optional parameter of describe=&amp;amp;gt;0 can be set to supress the filter being mentioned in the description of the search.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_from_cache --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$ok = $thing-&amp;amp;gt;from_cache( $id )===&lt;br /&gt;
&lt;br /&gt;
Populate this search expression with values from the given cache.&lt;br /&gt;
&lt;br /&gt;
Return false if the cache does not exist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_add_field --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$searchfield = $searchexp-&amp;amp;gt;add_field( $metafields, $value, $match, $merge, $id, $filter, $show_help )===&lt;br /&gt;
&lt;br /&gt;
Adds a new search in $metafields which is either a single [[API:EPrints/MetaField|EPrints::MetaField]] or a list of fields in an array ref with default $value. If a search field already exists, the value of that field is replaced with $value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_searchfield --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$searchfield = $searchexp-&amp;amp;gt;get_searchfield( $sf_id )===&lt;br /&gt;
&lt;br /&gt;
Return a [[API:EPrints/Search/Field|EPrints::Search::Field]] belonging to this Search with the given id. &lt;br /&gt;
&lt;br /&gt;
Return undef if not searchfield of that ID belongs to this search. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_clear --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$searchexp-&amp;amp;gt;clear===&lt;br /&gt;
&lt;br /&gt;
Clear the search values of all search fields in the expression.&lt;br /&gt;
&lt;br /&gt;
Resets satisfy_all to true.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_satisfy_all --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$bool = $searchexp-&amp;amp;gt;get_satisfy_all===&lt;br /&gt;
&lt;br /&gt;
Return true if this search requires that all the search fields with values are satisfied. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_is_blank --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$boolean = $searchexp-&amp;amp;gt;is_blank===&lt;br /&gt;
&lt;br /&gt;
Return true is this searchexpression has no conditions set, otherwise true.&lt;br /&gt;
&lt;br /&gt;
If any field is set to &amp;quot;exact&amp;quot; then it can never count as unset.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_serialise --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$string = $searchexp-&amp;amp;gt;serialise===&lt;br /&gt;
&lt;br /&gt;
Return a text representation of the search expression, for persistent storage. Doesn't store table or the order by fields, just the field names, values, default order and satisfy_all.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_from_string --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$searchexp-&amp;amp;gt;from_string( $string )===&lt;br /&gt;
&lt;br /&gt;
Unserialises the contents of $string but only into the fields alrdeady existing in $searchexp. Set the order and satisfy_all mode but do not  affect the dataset or allow blank.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_clone --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$newsearchexp = $searchexp-&amp;amp;gt;clone===&lt;br /&gt;
&lt;br /&gt;
Return a new search expression which is a duplicate of this one.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_conditons --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$conditions = $searchexp-&amp;amp;gt;get_conditons===&lt;br /&gt;
&lt;br /&gt;
Return a tree of [[API:EPrints/Search/Condition|EPrints::Search::Condition]] objects describing the simple steps required to perform this search.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_dataset --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$dataset = $searchexp-&amp;amp;gt;get_dataset===&lt;br /&gt;
&lt;br /&gt;
Return the [[API:EPrints/DataSet|EPrints::DataSet]] which this search relates to.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_set_dataset --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$searchexp-&amp;amp;gt;set_dataset( $dataset )===&lt;br /&gt;
&lt;br /&gt;
Set the [[API:EPrints/DataSet|EPrints::DataSet]] which this search relates to.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_description --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$xhtml = $searchexp-&amp;amp;gt;render_description===&lt;br /&gt;
&lt;br /&gt;
Return an XHTML DOM description of this search expressions current parameters.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_conditions_description --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$xhtml = $searchexp-&amp;amp;gt;render_conditions_description===&lt;br /&gt;
&lt;br /&gt;
Return an XHTML DOM description of this search expressions conditions. ie title is &amp;quot;foo&amp;quot; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_order_description --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$xhtml = $searchexp-&amp;amp;gt;render_order_description===&lt;br /&gt;
&lt;br /&gt;
Return an XHTML DOM description of how this search is ordered.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_set_property --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$searchexp-&amp;amp;gt;set_property( $property, $value );===&lt;br /&gt;
&lt;br /&gt;
Set any single property of this search, such as the order.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_searchfields --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===@search_fields = $searchexp-&amp;amp;gt;get_searchfields()===&lt;br /&gt;
&lt;br /&gt;
Return the [[API:EPrints/Search/Field|EPrints::Search::Field]] objects relating to this search.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_non_filter_searchfields --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===@search_fields = $searchexp-&amp;amp;gt;get_non_filter_searchfields();===&lt;br /&gt;
&lt;br /&gt;
Return the [[API:EPrints/Search/Field|EPrints::Search::Field]] objects relating to this search, which are normal search fields, and not &amp;quot;filters&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_set_searchfields --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===@search_fields = $searchexp-&amp;amp;gt;get_set_searchfields===&lt;br /&gt;
&lt;br /&gt;
Return the searchfields belonging to this search expression which have a value set. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_cache_id --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$cache_id = $searchexp-&amp;amp;gt;get_cache_id===&lt;br /&gt;
&lt;br /&gt;
Return the ID of the cache containing the results of this search, if known.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_perform_search --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$results = $searchexp-&amp;amp;gt;perform_search===&lt;br /&gt;
&lt;br /&gt;
Execute this search and return a [[API:EPrints/List|EPrints::List]] object representing the results.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_perform_groupby --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===($values, $counts) = $searchexp-&amp;amp;gt;perform_groupby( $field )===&lt;br /&gt;
&lt;br /&gt;
Perform a SQL GROUP BY on $field based on the current search parameters.&lt;br /&gt;
&lt;br /&gt;
Returns two array references, one containing a list of unique values and one a list of counts for each value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_ids_by_field_values --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$hash = $searchexp-&amp;amp;gt;get_ids_by_field_values( $field )===&lt;br /&gt;
&lt;br /&gt;
Find the ids for each unique value in $field.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=_postamble_ --&amp;gt;&amp;lt;!-- Edit below this comment --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=API:EPrints/List&amp;diff=8611</id>
		<title>API:EPrints/List</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=API:EPrints/List&amp;diff=8611"/>
		<updated>2010-02-12T16:34:07Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Pod2Wiki=_preamble_ &lt;br /&gt;
This page has been automatically generated from the EPrints 3.2 source. Any wiki changes made between the 'Pod2Wiki=*' and 'Edit below this comment' comments will be lost.&lt;br /&gt;
 --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
{{API}}{{Pod2Wiki}}{{API:Source|file=EPrints/List.pm|package_name=EPrints::List}}[[Category:API|List]]&amp;lt;div&amp;gt;&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_name --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==NAME==&lt;br /&gt;
'''EPrints::List''' - List of data objects, usually a search result.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_synopsis --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==SYNOPSIS==&lt;br /&gt;
  use EPrints::List;&lt;br /&gt;
  &lt;br /&gt;
  $list = EPrints::List-&amp;amp;gt;new( session =&amp;amp;gt; $session, dataset =&amp;amp;gt; $dataset, ids =&amp;amp;gt; $ids); # ref to an array of ids to populate the list with&lt;br /&gt;
  &lt;br /&gt;
  $new_list = $list-&amp;amp;gt;reorder( &amp;quot;-creation_date&amp;quot; ); # makes a new list ordered by reverse order creation_date&lt;br /&gt;
  &lt;br /&gt;
  $new_list = $list-&amp;amp;gt;union( $list2, &amp;quot;creation_date&amp;quot; ) # makes a new list by adding the contents of $list to $list2. the resulting list is ordered by &amp;quot;creation_date&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  $new_list = $list-&amp;amp;gt;remainder( $list2, &amp;quot;title&amp;quot; ); # makes a new list by removing the contents of $list2 from $list orders the resulting list by title&lt;br /&gt;
  &lt;br /&gt;
  $n = $list-&amp;amp;gt;count() # returns the number of items in the list&lt;br /&gt;
  &lt;br /&gt;
  @dataobjs = $list-&amp;amp;gt;slice( 0, 20 );  #get the first 20 DataObjs from the list in an array&lt;br /&gt;
  &lt;br /&gt;
  $list-&amp;amp;gt;map( $function, $info ) # performs a function on every item in the list. This is very useful go and look at the detailed description.&lt;br /&gt;
  &lt;br /&gt;
  $plugin_output = $list-&amp;amp;gt;export( &amp;quot;BibTeX&amp;quot; ); #calls Plugin::Export::BibTeX on the list.&lt;br /&gt;
  &lt;br /&gt;
  $dataset = $list-&amp;amp;gt;get_dataset(); #returns the dataset in which the containing objects belong&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_description --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==DESCRIPTION==&lt;br /&gt;
This class represents an ordered list of objects, all from the same dataset. Usually this is the results of a search. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_see_also_l_eprints_search --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==SEE ALSO	==&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_new --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$list = EPrints::List-&amp;amp;gt;new( 			session =&amp;amp;gt; $session,			dataset =&amp;amp;gt; $dataset,			[desc =&amp;amp;gt; $desc],			[desc_order =&amp;amp;gt; $desc_order],			ids =&amp;amp;gt; $ids,			[encoded =&amp;amp;gt; $encoded],			[keep_cache =&amp;amp;gt; $keep_cache],			[order =&amp;amp;gt; $order] );===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_new --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$list = EPrints::List-&amp;amp;gt;new( 			session =&amp;amp;gt; $session,			dataset =&amp;amp;gt; $dataset,			[desc =&amp;amp;gt; $desc],			[desc_order =&amp;amp;gt; $desc_order],			cache_id =&amp;amp;gt; $cache_id );===&lt;br /&gt;
&lt;br /&gt;
Creates a new list object in memory only. Lists will be cached if anything method requiring order is called, or an explicit  cache() method is called.&lt;br /&gt;
&lt;br /&gt;
encoded is the serialised version of the searchExpression which created this list, if there was one.&lt;br /&gt;
&lt;br /&gt;
If keep_cache is set then the cache will not be disposed of at the end of the current $session. If cache_id is set then keep_cache is automatically true.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_new --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$list = EPrints::List-&amp;amp;gt;new( 			session =&amp;amp;gt; $session,			dataset =&amp;amp;gt; $dataset,			ids =&amp;amp;gt; $ids, # a ref to the array of ids			[order =&amp;amp;gt; $order] ); # the field on which to order the list===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_new --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$list = EPrints::List-&amp;amp;gt;new( 			session =&amp;amp;gt; $session,			dataset =&amp;amp;gt; $dataset,			[desc =&amp;amp;gt; $desc],			[desc_order =&amp;amp;gt; $desc_order],			cache_id =&amp;amp;gt; $cache_id );===&lt;br /&gt;
&lt;br /&gt;
Creates a new list object in memory only. Lists will be cached if any method requiring order is called, or an explicit  cache() method is called.&lt;br /&gt;
&lt;br /&gt;
encoded is the serialised version of the searchExpression which created this list, if there was one.&lt;br /&gt;
&lt;br /&gt;
If keep_cache is set then the cache will not be disposed of at the end of the current $session. If cache_id is set then keep_cache is automatically true.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_reorder --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$new_list = $list-&amp;amp;gt;reorder( $new_order );===&lt;br /&gt;
&lt;br /&gt;
Create a new list from this one, but sorted in a new way.&lt;br /&gt;
&lt;br /&gt;
$new_list = $list-&amp;amp;gt;reorder( &amp;quot;-creation_date&amp;quot; ); # makes a new list ordered by reverse order creation_date&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_union --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$new_list = $list-&amp;amp;gt;union( $list2, [$order] );===&lt;br /&gt;
&lt;br /&gt;
Create a new list from this one plus another one. If order is not set then this list will not be in any certain order.&lt;br /&gt;
&lt;br /&gt;
$list2 - the list which is to be combined to the calling list&lt;br /&gt;
&lt;br /&gt;
$order - a field which the the resulting list will be ordered on. (optional)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_remainder --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$new_list = $list-&amp;amp;gt;remainder( $list2, [$order] );===&lt;br /&gt;
&lt;br /&gt;
Create a new list from this one minus another one. If order is not set then this list will not be in any certain order.&lt;br /&gt;
&lt;br /&gt;
Remove all items in $list2 from $list and return the result as a new EPrints::List.&lt;br /&gt;
&lt;br /&gt;
$list2 - the eprints you want to remove from the calling list&lt;br /&gt;
&lt;br /&gt;
$order - the field the remaining list is to be ordered by&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_intersect --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$new_list = $list-&amp;amp;gt;intersect( $list2, [$order] );===&lt;br /&gt;
&lt;br /&gt;
Create a new list containing only the items which are in both lists. If order is not set then this list will not be in any certain order.&lt;br /&gt;
&lt;br /&gt;
$list2 - a list to intersect with the calling list&lt;br /&gt;
&lt;br /&gt;
$order -  the field the resulting list will be ordered on&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_cache --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$list-&amp;amp;gt;cache===&lt;br /&gt;
&lt;br /&gt;
Cause this list to be cached in the database.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_cache_id --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$cache_id = $list-&amp;amp;gt;get_cache_id===&lt;br /&gt;
&lt;br /&gt;
Return the ID of the cache table for this list, or undef.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_dispose --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$list-&amp;amp;gt;dispose===&lt;br /&gt;
&lt;br /&gt;
Clean up the cache table if appropriate.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_count --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$n = $list-&amp;amp;gt;count ===&lt;br /&gt;
&lt;br /&gt;
Return the number of values in this list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_item --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$dataobj = $list-&amp;amp;gt;item( $offset )===&lt;br /&gt;
&lt;br /&gt;
Returns the item at offset $offset.&lt;br /&gt;
&lt;br /&gt;
Returns undef if $offset is out of range of the current list of items.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_slice --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===@dataobjs = $list-&amp;amp;gt;slice( [$offset], [$count] )===&lt;br /&gt;
&lt;br /&gt;
Returns the DataObjs in this list as an array.  $offset - what index through the list to start from. $count - the maximum to return.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_ids --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$ids = $list-&amp;amp;gt;ids( [$offset], [$count] )===&lt;br /&gt;
&lt;br /&gt;
Return a reference to an array containing the ids of the specified range from the list. This is more efficient if you just need the ids.&lt;br /&gt;
&lt;br /&gt;
$offset - what index through the list to start from. $count - the maximum to return.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_map --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$list-&amp;amp;gt;map( $function, $info )===&lt;br /&gt;
&lt;br /&gt;
Map the given function pointer to all the items in the list, in order. This loads the items in batches of 100 to reduce memory  requirements.&lt;br /&gt;
&lt;br /&gt;
$info is a datastructure which will be passed to the function each  time and is useful for holding or collecting state.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
 my $info = { matches =&amp;amp;gt; 0 };&lt;br /&gt;
 $list-&amp;amp;gt;map( \&amp;amp;amp;deal, $info );&lt;br /&gt;
 print &amp;quot;Matches: &amp;quot;.$info-&amp;amp;gt;{matches}.&amp;quot;\n&amp;quot;;&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
 sub deal&lt;br /&gt;
 {&lt;br /&gt;
   my( $session, $dataset, $eprint, $info ) = @_;&lt;br /&gt;
 &lt;br /&gt;
   if( $eprint-&amp;amp;gt;get_value( &amp;quot;a&amp;quot; ) eq $eprint-&amp;amp;gt;get_value( &amp;quot;b&amp;quot; ) ) {&lt;br /&gt;
     $info-&amp;amp;gt;{matches} += 1;&lt;br /&gt;
   }&lt;br /&gt;
 }  &lt;br /&gt;
  &lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_export --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$plugin_output = $list-&amp;amp;gt;export( $plugin_id, %params )===&lt;br /&gt;
&lt;br /&gt;
Apply an output plugin to this list of items. If the param &amp;quot;fh&amp;quot; is set it will send the results to a filehandle rather than return them as a string. &lt;br /&gt;
&lt;br /&gt;
$plugin_id - the ID of the Export plugin which is to be used to process the list. e.g. &amp;quot;BibTeX&amp;quot;&lt;br /&gt;
&lt;br /&gt;
$param{&amp;quot;fh&amp;quot;} = &amp;quot;temp_dir/my_file.txt&amp;quot;; - the file the results are to be output to, useful for output too large to fit into memory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_dataset --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$dataset = $list-&amp;amp;gt;get_dataset===&lt;br /&gt;
&lt;br /&gt;
Return the EPrints::DataSet which this list relates to.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_description --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$xhtml = $list-&amp;amp;gt;render_description===&lt;br /&gt;
&lt;br /&gt;
Return a DOM XHTML description of this list, if available, or an empty fragment.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=_postamble_ --&amp;gt;&amp;lt;!-- Edit below this comment --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=API:EPrints/Email&amp;diff=8610</id>
		<title>API:EPrints/Email</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=API:EPrints/Email&amp;diff=8610"/>
		<updated>2010-02-12T16:34:06Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Pod2Wiki=_preamble_ &lt;br /&gt;
This page has been automatically generated from the EPrints 3.2 source. Any wiki changes made between the 'Pod2Wiki=*' and 'Edit below this comment' comments will be lost.&lt;br /&gt;
 --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
{{API}}{{Pod2Wiki}}{{API:Source|file=EPrints/Email.pm|package_name=EPrints::Email}}[[Category:API|Email]]&amp;lt;div&amp;gt;&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_name --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==NAME==&lt;br /&gt;
'''EPrints::Email''' - Email Utility functions for EPrints.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_description --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==DESCRIPTION==&lt;br /&gt;
This package handles sending emails.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_send_mail --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===EPrints::Utils::send_mail( %properties )===&lt;br /&gt;
&lt;br /&gt;
Sends an email. &lt;br /&gt;
&lt;br /&gt;
Required properties:&lt;br /&gt;
&lt;br /&gt;
session - the current session&lt;br /&gt;
&lt;br /&gt;
langid - the id of the language to send the email in.&lt;br /&gt;
&lt;br /&gt;
to_email, to_name - who to send it to&lt;br /&gt;
&lt;br /&gt;
subject - the subject of the message (UTF-8 encoded string)&lt;br /&gt;
&lt;br /&gt;
message - the body of the message as a DOM tree&lt;br /&gt;
&lt;br /&gt;
optional properties:&lt;br /&gt;
&lt;br /&gt;
from_email, from_name - who is sending the email (defaults to the archive admin)&lt;br /&gt;
&lt;br /&gt;
sig - the signature file as a DOM tree&lt;br /&gt;
&lt;br /&gt;
replyto_email, replyto_name&lt;br /&gt;
&lt;br /&gt;
attach - ref to an array of filenames (with full paths) to attach to the message &lt;br /&gt;
&lt;br /&gt;
Returns true if mail sending (appears to have) succeeded. False otherwise.&lt;br /&gt;
&lt;br /&gt;
Uses the config. option &amp;quot;send_email&amp;quot; to send the mail, or if that's not defined sends the email via STMP.&lt;br /&gt;
&lt;br /&gt;
names and the subject should be encoded as utf-8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=_postamble_ --&amp;gt;&amp;lt;!-- Edit below this comment --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=API:EPrints/DataObj/User&amp;diff=8609</id>
		<title>API:EPrints/DataObj/User</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=API:EPrints/DataObj/User&amp;diff=8609"/>
		<updated>2010-02-12T16:34:05Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Pod2Wiki=_preamble_ &lt;br /&gt;
This page has been automatically generated from the EPrints 3.2 source. Any wiki changes made between the 'Pod2Wiki=*' and 'Edit below this comment' comments will be lost.&lt;br /&gt;
 --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
{{API}}{{Pod2Wiki}}{{API:Source|file=EPrints/DataObj/User.pm|package_name=EPrints::DataObj::User}}[[Category:API|User]]&amp;lt;div&amp;gt;&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_name --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==NAME==&lt;br /&gt;
'''EPrints::DataObj::User''' - Class representing a single user.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_description --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==DESCRIPTION==&lt;br /&gt;
This class represents a single eprint user record and the metadata  associated with it. &lt;br /&gt;
&lt;br /&gt;
EPrints::DataObj::User is a subclass of EPrints::DataObj with the following metadata fields (plus those defined in ArchiveMetadataFieldsConfig:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_system_metadata --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==SYSTEM METADATA==&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_userid --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===userid (int)===&lt;br /&gt;
&lt;br /&gt;
The unique ID number of this user record. Unique within the current repository.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_rev_number --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===rev_number (int)===&lt;br /&gt;
&lt;br /&gt;
The revision number of this record. Each time it is changed the revision number is increased. This is not currently used for anything but it may be used for logging later.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_username --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===username (text)===&lt;br /&gt;
&lt;br /&gt;
The username of this user. Used for logging into the system. Unique within this repository.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_password --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===password (secret)===&lt;br /&gt;
&lt;br /&gt;
The password of this user encoded with crypt. This may be ignored if the repository is using an alternate authentication system, eg. LDAP.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_usertype --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===usertype (namedset)===&lt;br /&gt;
&lt;br /&gt;
The type of this user. The options are configured in metadata-phrases.xml.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_newemail --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===newemail (email)===&lt;br /&gt;
&lt;br /&gt;
Used to store a new but as yet unconfirmed email address.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_newpassword --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===newpassword (secret)===&lt;br /&gt;
&lt;br /&gt;
Used to store a new but as yet unconfirmed password.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_pin --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===pin (text)===&lt;br /&gt;
&lt;br /&gt;
A code required to confirm a new username or password. This code is emailed to the user to confirm they are who they say they are.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_pinsettime --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===pinsettime (int)===&lt;br /&gt;
&lt;br /&gt;
When the pin code was set, so we can make it time out.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_joined --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===joined (time)===&lt;br /&gt;
&lt;br /&gt;
The date and time that the user account was created. Before EPrints 2.4 this was a date field so users created before the upgrade will appear to have been  created at midnight.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_email --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===email (email)===&lt;br /&gt;
&lt;br /&gt;
The email address of this user. Unique within the repository. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_lang --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===lang (namedset) ===&lt;br /&gt;
&lt;br /&gt;
The ID of the prefered language of this user. Only really used in multilingual repositories.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_editperms --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===editperms (search, multiple)===&lt;br /&gt;
&lt;br /&gt;
This field is used to filter what eprints a staff member can approve and  modify. If it's unset then they can modify any (given the correct privs. but if it is set then an eprint must match at least one of the searches to be within their scope.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_frequency --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===frequency (set)===&lt;br /&gt;
&lt;br /&gt;
Only relevant to staff accounts. Is the frequency they want to be mailed  about eprints matching their scope that are in editorial review. never,  daily, weekly or monthly.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_mailempty --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===mailempty (boolean)===&lt;br /&gt;
&lt;br /&gt;
Only relevant to staff accounts. If set to true then emails are sent even if there are no items matching the scope.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_preference --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===preference (compound)===&lt;br /&gt;
&lt;br /&gt;
User preferences which need to be persistent (simple key-value pairs).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_methods --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==METHODS==&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_system_field_info --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$field_info = EPrints::DataObj::User-&amp;amp;gt;get_system_field_info===&lt;br /&gt;
&lt;br /&gt;
Return an array describing the system metadata of the this  dataset.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_new --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$user = EPrints::DataObj::User-&amp;amp;gt;new( $session, $userid )===&lt;br /&gt;
&lt;br /&gt;
Load the user with the ID of $userid from the database and return it as an EPrints::DataObj::User object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_new_from_data --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$user = EPrints::DataObj::User-&amp;amp;gt;new_from_data( $session, $data )===&lt;br /&gt;
&lt;br /&gt;
Construct a new EPrints::DataObj::User object based on the $data hash  reference of metadata.&lt;br /&gt;
&lt;br /&gt;
Used to create an object from the data retrieved from the database.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_dataset_id --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$dataset = EPrints::DataObj::User-&amp;amp;gt;get_dataset_id===&lt;br /&gt;
&lt;br /&gt;
Returns the id of the [[API:EPrints/DataSet|EPrints::DataSet]] object to which this record belongs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_defaults --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$defaults = EPrints::DataObj::User-&amp;amp;gt;get_defaults( $session, $data )===&lt;br /&gt;
&lt;br /&gt;
Return default values for this object based on the starting data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_user_with_email --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$user = EPrints::DataObj::User::user_with_email( $session, $email )===&lt;br /&gt;
&lt;br /&gt;
Return the EPrints::user with the specified $email, or undef if they are not found.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_user_with_username --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$user = EPrints::DataObj::User::user_with_username( $session, $username )===&lt;br /&gt;
&lt;br /&gt;
Return the EPrints::user with the specified $username, or undef if  they are not found.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_validate --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$problems = $thing-&amp;amp;gt;validate===&lt;br /&gt;
&lt;br /&gt;
Validate the user - find out if all the required fields are filled out, and that what's been filled in is OK. Returns a reference to an array of problem descriptions.&lt;br /&gt;
&lt;br /&gt;
If there are no probelms then the array is empty.&lt;br /&gt;
&lt;br /&gt;
The problems are XHTML DOM objects describing the problem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_commit --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$user-&amp;amp;gt;commit( [$force] )===&lt;br /&gt;
&lt;br /&gt;
Write this object to the database.&lt;br /&gt;
&lt;br /&gt;
If $force isn't true then it only actually modifies the database if one or more fields have been changed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_remove --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$success = $user-&amp;amp;gt;remove===&lt;br /&gt;
&lt;br /&gt;
Remove this user from the database. Also, remove their saved searches, but do not remove their eprints.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_owned_eprints_list --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$list = $user-&amp;amp;gt;owned_eprints_list( %opts )===&lt;br /&gt;
&lt;br /&gt;
Returns a [[API:EPrints/List|EPrints::List]] of all the [[API:EPrints/DataObj/EPrint|EPrints::DataObj::EPrint]]s owned by this user.&lt;br /&gt;
&lt;br /&gt;
%opts is passed to a [[API:EPrints/Search|EPrints::Search]] which is used to filter the results. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_editable_eprints_list --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$list = $user-&amp;amp;gt;editable_eprints_list( %opts )===&lt;br /&gt;
&lt;br /&gt;
Returns a [[API:EPrints/List|EPrints::List]] of [[API:EPrints/DataObj/EPrint|EPrints::DataObj::EPrint]]s that match this user's editorial search expressions. If the user has no editorial scope a list of all buffered eprints is returned.&lt;br /&gt;
&lt;br /&gt;
%opts is passed to a [[API:EPrints/Search|EPrints::Search]] which is used to filter the results. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_eprints --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$list = $user-&amp;amp;gt;get_eprints( $dataset )===&lt;br /&gt;
&lt;br /&gt;
DEPRECATED&lt;br /&gt;
&lt;br /&gt;
Return EPrints in the given EPrints::DataSet which have this user as their creator.&lt;br /&gt;
&lt;br /&gt;
Since 2.4 this returns an EPrints::List object, not an array of eprints.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_editable_eprints --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$list = $user-&amp;amp;gt;get_editable_eprints===&lt;br /&gt;
&lt;br /&gt;
DEPRECATED&lt;br /&gt;
&lt;br /&gt;
Return eprints currently in the editorial review buffer. If this user has editperms set then only return those records which match.&lt;br /&gt;
&lt;br /&gt;
Since 2.4 this returns an EPrints::List object, not an array of eprints.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_owned_eprints --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$list = $user-&amp;amp;gt;get_owned_eprints( $dataset );===&lt;br /&gt;
&lt;br /&gt;
DEPRECATED&lt;br /&gt;
&lt;br /&gt;
Return a list of the eprints which this user owns. This is by default the same as $user-&amp;amp;gt;get_eprints( $dataset) but may be over-ridden by get_users_owned_eprints.&lt;br /&gt;
&lt;br /&gt;
Since 2.4 this returns an EPrints::List object, not an array of eprints.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_has_owner --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$boolean = $user-&amp;amp;gt;has_owner( $possible_owner )===&lt;br /&gt;
&lt;br /&gt;
True if the users are the same record.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_mail --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$ok = $user-&amp;amp;gt;mail( $subjectid, $message, [$replyto], [$email] )===&lt;br /&gt;
&lt;br /&gt;
Send an email to this user. &lt;br /&gt;
&lt;br /&gt;
$subjectid is the ID of a phrase to use as the subject of this email.&lt;br /&gt;
&lt;br /&gt;
$message is an XML DOM object describing the message in simple XHTML.&lt;br /&gt;
&lt;br /&gt;
$replyto is the reply to address for this email, if different to the repository default.&lt;br /&gt;
&lt;br /&gt;
$email is the email address to send this email to if different from this users configured email address.&lt;br /&gt;
&lt;br /&gt;
Return true if the email was sent OK.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===( $page, $title ) = $user-&amp;amp;gt;render===&lt;br /&gt;
&lt;br /&gt;
Render this user into HTML using the &amp;quot;user_render&amp;quot; method in ArchiveRenderConfig.pm. Returns both the rendered information and the title as XHTML DOM.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_full --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===( $page, $title ) = $user-&amp;amp;gt;render_full===&lt;br /&gt;
&lt;br /&gt;
The same as $user-&amp;amp;gt;render, but renders all fields, not just those  intended for public viewing. This is the admin view of the user.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_url --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$url = $user-&amp;amp;gt;get_url===&lt;br /&gt;
&lt;br /&gt;
Return the URL which will display information about this user.&lt;br /&gt;
&lt;br /&gt;
If $staff is true then return the URL for an administrator to view and modify this record.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_type --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$type = $user-&amp;amp;gt;get_type===&lt;br /&gt;
&lt;br /&gt;
Return the type of this user. Equivalent of  $user-&amp;amp;gt;get_value( &amp;quot;usertype&amp;quot; );&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_saved_searches --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===@saved_searches = $eprint-&amp;amp;gt;get_saved_searches===&lt;br /&gt;
&lt;br /&gt;
Return an array of all EPrint::DataObj::SavedSearch objects associated with this user.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_preference --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$value = $user-&amp;amp;gt;preference( $key )===&lt;br /&gt;
&lt;br /&gt;
Retrieve the preference $key.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_set_preference --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$user-&amp;amp;gt;set_preference( $key, $value )===&lt;br /&gt;
&lt;br /&gt;
Set a preference $key for the user to $value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_send_out_editor_alert --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$user-&amp;amp;gt;send_out_editor_alert===&lt;br /&gt;
&lt;br /&gt;
Called on users who are editors, when it's time to send their update on what items are in the editorial review buffer.&lt;br /&gt;
&lt;br /&gt;
Sends the email if needed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_process_editor_alerts --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===EPrints::DataObj::User::process_editor_alerts( $session, $frequency );===&lt;br /&gt;
&lt;br /&gt;
Static method.&lt;br /&gt;
&lt;br /&gt;
Called to send out all editor alerts of a given frequency (daily, weekly, monthly) for the current repository.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_allow --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$result = $user-&amp;amp;gt;allow( $priv, [$item] )===&lt;br /&gt;
&lt;br /&gt;
Returns true if $user can perform this action/view this screen.&lt;br /&gt;
&lt;br /&gt;
A true result is 1..15 where the value indicates what about the user allowed the priv to be performed. This is used for filtering owner/ editor actions in eprint control screens.&lt;br /&gt;
&lt;br /&gt;
1 = anybody (not currently used) 2 = only if logged in  4 = only if owner of item 8 = only if editor of item&lt;br /&gt;
&lt;br /&gt;
For non item related privs the result will normally be 2.&lt;br /&gt;
&lt;br /&gt;
Nb. That create eprint is NOT a priv related to an eprint, as you  don't own it at that stage.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=_postamble_ --&amp;gt;&amp;lt;!-- Edit below this comment --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=API:EPrints/DataObj/SavedSearch&amp;diff=8608</id>
		<title>API:EPrints/DataObj/SavedSearch</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=API:EPrints/DataObj/SavedSearch&amp;diff=8608"/>
		<updated>2010-02-12T16:34:03Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Pod2Wiki=_preamble_ &lt;br /&gt;
This page has been automatically generated from the EPrints 3.2 source. Any wiki changes made between the 'Pod2Wiki=*' and 'Edit below this comment' comments will be lost.&lt;br /&gt;
 --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
{{API}}{{Pod2Wiki}}{{API:Source|file=EPrints/DataObj/SavedSearch.pm|package_name=EPrints::DataObj::SavedSearch}}[[Category:API|SavedSearch]]&amp;lt;div&amp;gt;&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_name --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==NAME==&lt;br /&gt;
'''EPrints::DataObj::SavedSearch''' - Single saved search.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_description --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==DESCRIPTION==&lt;br /&gt;
A saved search is a sub class of EPrints::DataObj.&lt;br /&gt;
&lt;br /&gt;
Each one belongs to one and only one user, although one user may own multiple saved searches.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_system_field_info --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$field_config = EPrints::DataObj::SavedSearch-&amp;amp;gt;get_system_field_info===&lt;br /&gt;
&lt;br /&gt;
Return an array describing the system metadata of the saved search. dataset.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_dataset_id --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$dataset = EPrints::DataObj::SavedSearch-&amp;amp;gt;get_dataset_id===&lt;br /&gt;
&lt;br /&gt;
Returns the id of the [[API:EPrints/DataSet|EPrints::DataSet]] object to which this record belongs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_commit --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$success = $saved_search-&amp;amp;gt;commit( [$force] )===&lt;br /&gt;
&lt;br /&gt;
Write this object to the database.&lt;br /&gt;
&lt;br /&gt;
If $force isn't true then it only actually modifies the database if one or more fields have been changed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_user --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$user = $saved_search-&amp;amp;gt;get_user===&lt;br /&gt;
&lt;br /&gt;
Return the EPrints::User which owns this saved search.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_make_searchexp --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$searchexp = $saved_search-&amp;amp;gt;make_searchexp===&lt;br /&gt;
&lt;br /&gt;
Return a EPrints::Search describing how to find the eprints which are in the scope of this saved search.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_send_out_alert --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$saved_search-&amp;amp;gt;send_out_alert===&lt;br /&gt;
&lt;br /&gt;
Send out an email for this subcription. If there are no matching new items then an email is only sent if the saved search has mailempty set to true.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_process_set --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===EPrints::DataObj::SavedSearch::process_set( $session, $frequency );===&lt;br /&gt;
&lt;br /&gt;
Static method. Calls send_out_alert on every saved search  with a frequency matching $frequency.&lt;br /&gt;
&lt;br /&gt;
Also saves a file logging that the alerts for this frequency was sent out at the current time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_last_timestamp --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$timestamp = EPrints::DataObj::SavedSearch::get_last_timestamp( $session, $frequency );===&lt;br /&gt;
&lt;br /&gt;
Static method. Return the timestamp of the last time this frequency  of alert was sent.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_has_owner --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$boolean = $user-&amp;amp;gt;has_owner( $possible_owner )===&lt;br /&gt;
&lt;br /&gt;
True if the users are the same record.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=_postamble_ --&amp;gt;&amp;lt;!-- Edit below this comment --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=API:EPrints/DataObj/EPrint&amp;diff=8607</id>
		<title>API:EPrints/DataObj/EPrint</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=API:EPrints/DataObj/EPrint&amp;diff=8607"/>
		<updated>2010-02-12T16:34:02Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Pod2Wiki=_preamble_ &lt;br /&gt;
This page has been automatically generated from the EPrints 3.2 source. Any wiki changes made between the 'Pod2Wiki=*' and 'Edit below this comment' comments will be lost.&lt;br /&gt;
 --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
{{API}}{{Pod2Wiki}}{{API:Source|file=EPrints/DataObj/EPrint.pm|package_name=EPrints::DataObj::EPrint}}[[Category:API|EPrint]]&amp;lt;div&amp;gt;&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_name --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==NAME==&lt;br /&gt;
'''EPrints::DataObj::EPrint''' - Class representing an actual EPrint&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_description --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==DESCRIPTION==&lt;br /&gt;
This class represents a single eprint record and the metadata  associated with it. This is associated with one of more  EPrint::Document objects.&lt;br /&gt;
&lt;br /&gt;
EPrints::DataObj::EPrint is a subclass of EPrints::DataObj with the following metadata fields (plus those defined in ArchiveMetadataFieldsConfig):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_system_metadata --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==SYSTEM METADATA==&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_eprintid --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===eprintid (int)===&lt;br /&gt;
&lt;br /&gt;
The unique numerical ID of this eprint. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_rev_number --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===rev_number (int)===&lt;br /&gt;
&lt;br /&gt;
The number of the current revision of this record.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_userid --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===userid (itemref)===&lt;br /&gt;
&lt;br /&gt;
The id of the user who deposited this eprint (if any). Scripted importing could cause this not to be set.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_dir --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===dir (text)===&lt;br /&gt;
&lt;br /&gt;
The directory, relative to the documents directory for this repository, which this eprints data is stored in. Eg. disk0/00/00/03/34 for record 334.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_datestamp --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===datestamp (time)===&lt;br /&gt;
&lt;br /&gt;
The date this record first appeared live in the repository.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_lastmod --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===lastmod (time)===&lt;br /&gt;
&lt;br /&gt;
The date this record was last modified.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_status_changes --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===status_changes (time)===&lt;br /&gt;
&lt;br /&gt;
The date/time this record was moved between inbox, buffer, archive, etc.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_type --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===type (namedset)===&lt;br /&gt;
&lt;br /&gt;
The type of this record, one of the types of the &amp;quot;eprint&amp;quot; dataset.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_succeeds --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===succeeds (itemref)===&lt;br /&gt;
&lt;br /&gt;
The ID of the eprint (if any) which this succeeds.  This field should have been an int and may be changed in a later upgrade.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_commentary --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===commentary (itemref)===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_replacedby --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===replacedby (itemref)===&lt;br /&gt;
&lt;br /&gt;
The ID of the eprint (if any) which has replaced this eprint. This is only set on records in the &amp;quot;deletion&amp;quot; dataset.  This field should have been an int and may be changed in a later upgrade.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_methods --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==METHODS==&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_system_field_info --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$metadata = EPrints::DataObj::EPrint-&amp;amp;gt;get_system_field_info===&lt;br /&gt;
&lt;br /&gt;
Return an array describing the system metadata of the EPrint dataset.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_set_item_issues --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$eprint-&amp;amp;gt;set_item_issues( $new_issues )===&lt;br /&gt;
&lt;br /&gt;
This method updates the issues attached to this eprint based on the new issues passed.&lt;br /&gt;
&lt;br /&gt;
If an existing issue is set as &amp;quot;discovered&amp;quot; and doesn't exist in $new_issues its status will be updated to &amp;quot;autoresolved&amp;quot;, otherwise the old issue's status and description are updated.&lt;br /&gt;
&lt;br /&gt;
Any issues in $new_issues that don't already exist will be appended.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_dataset_id --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$dataset = EPrints::DataObj::EPrint-&amp;amp;gt;get_dataset_id===&lt;br /&gt;
&lt;br /&gt;
Returns the id of the [[API:EPrints/DataSet|EPrints::DataSet]] object to which this record belongs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_dataset --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$dataset = $eprint-&amp;amp;gt;get_dataset===&lt;br /&gt;
&lt;br /&gt;
Return the dataset to which this object belongs. This will return one of the virtual datasets: inbox, buffer, archive or deletion.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_defaults --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$defaults = EPrints::DataObj::EPrint-&amp;amp;gt;get_defaults( $session, $data )===&lt;br /&gt;
&lt;br /&gt;
Return default values for this object based on the starting data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_clone --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$eprint = $eprint-&amp;amp;gt;clone( $dest_dataset, $copy_documents, $link )===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
If $copy_documents is set and true then the documents (and files) will be copied in addition to the metadata.&lt;br /&gt;
&lt;br /&gt;
If $nolink is true then the new eprint is not connected to the old one.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_log_mail_owner --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$eprint-&amp;amp;gt;log_mail_owner( $mail )===&lt;br /&gt;
&lt;br /&gt;
Log that the given mail message was send to the owner of this EPrint.&lt;br /&gt;
&lt;br /&gt;
$mail is the same XHTML DOM that was sent as the email.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_editorial_contact --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$user = $eprint-&amp;amp;gt;get_editorial_contact===&lt;br /&gt;
&lt;br /&gt;
Return the user identified as the editorial contact for this item.&lt;br /&gt;
&lt;br /&gt;
By default returns undef.&lt;br /&gt;
&lt;br /&gt;
nb. This has nothing to do with the editor defined in the metadata&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_remove --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$success = $eprint-&amp;amp;gt;remove===&lt;br /&gt;
&lt;br /&gt;
Erase this eprint and any associated records from the database and filesystem.&lt;br /&gt;
&lt;br /&gt;
This should only be called on eprints in &amp;quot;inbox&amp;quot; or &amp;quot;buffer&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_commit --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$success = $eprint-&amp;amp;gt;commit( [$force] );===&lt;br /&gt;
&lt;br /&gt;
Commit any changes that might have been made to the database.&lt;br /&gt;
&lt;br /&gt;
If the item has not be changed then this function does nothing unless $force is true.&lt;br /&gt;
&lt;br /&gt;
Calls {{API:PodLink|file=|package_name=|section=set_eprint_automatic_fields|text=/set_eprint_automatic_fields}} just before the &amp;lt;tt&amp;gt;$eprint&amp;lt;/tt&amp;gt; is committed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_write_revision --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$eprint-&amp;amp;gt;write_revision===&lt;br /&gt;
&lt;br /&gt;
Write out a snapshot of the XML describing the current state of the eprint.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_validate --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$problems = $eprint-&amp;amp;gt;validate( [$for_archive], $workflow_id )===&lt;br /&gt;
&lt;br /&gt;
Return a reference to an array of XHTML DOM objects describing validation problems with the entire eprint based on $workflow_id.&lt;br /&gt;
&lt;br /&gt;
If $workflow_id is undefined defaults to &amp;quot;default&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
A reference to an empty array indicates no problems.&lt;br /&gt;
&lt;br /&gt;
Calls {{API:PodLink|file=|package_name=|section=validate_eprint|text=/validate_eprint}} for the &amp;lt;tt&amp;gt;$eprint&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_skip_validation --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$boolean = $eprint-&amp;amp;gt;skip_validation===&lt;br /&gt;
&lt;br /&gt;
Returns true if this eprint should pass validation without being properly validated. This is to allow the use of dodgey data imported from legacy systems.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_prune_documents --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$eprint-&amp;amp;gt;prune_documents===&lt;br /&gt;
&lt;br /&gt;
Remove any documents associated with this eprint which don't actually have any files.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_all_documents --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===@documents = $eprint-&amp;amp;gt;get_all_documents===&lt;br /&gt;
&lt;br /&gt;
Return an array of all EPrint::Document objects associated with this eprint.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_required_formats --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===@formats =  $eprint-&amp;amp;gt;required_formats===&lt;br /&gt;
&lt;br /&gt;
Return a list of the required formats for this  eprint. Only one of the required formats is required, not all.&lt;br /&gt;
&lt;br /&gt;
An empty list means no format is required.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_move_to_deletion --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$success = $eprint-&amp;amp;gt;move_to_deletion===&lt;br /&gt;
&lt;br /&gt;
Transfer the EPrint into the &amp;quot;deletion&amp;quot; dataset. Should only be called in eprints in the &amp;quot;archive&amp;quot; dataset.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_move_to_inbox --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$success = $eprint-&amp;amp;gt;move_to_inbox===&lt;br /&gt;
&lt;br /&gt;
Transfer the EPrint into the &amp;quot;inbox&amp;quot; dataset. Should only be called in eprints in the &amp;quot;buffer&amp;quot; dataset.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_move_to_buffer --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$success = $eprint-&amp;amp;gt;move_to_buffer===&lt;br /&gt;
&lt;br /&gt;
Transfer the EPrint into the &amp;quot;buffer&amp;quot; dataset. Should only be called in eprints in the &amp;quot;inbox&amp;quot; or &amp;quot;archive&amp;quot; dataset.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_move_to_archive --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$success = $eprint-&amp;amp;gt;move_to_archive===&lt;br /&gt;
&lt;br /&gt;
Move this eprint into the main &amp;quot;archive&amp;quot; dataset. Normally only called on eprints in &amp;quot;deletion&amp;quot; or &amp;quot;buffer&amp;quot; datasets.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_local_path --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$path = $eprint-&amp;amp;gt;local_path===&lt;br /&gt;
&lt;br /&gt;
Return the full path of the EPrint directory on the local filesystem. No trailing slash.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_url_stem --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$url = $eprint-&amp;amp;gt;url_stem===&lt;br /&gt;
&lt;br /&gt;
Return the URL to this EPrint's directory. Note, this INCLUDES the trailing slash, unlike the local_path method.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_generate_static --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$eprint-&amp;amp;gt;generate_static===&lt;br /&gt;
&lt;br /&gt;
Generate the static version of the abstract web page. In a multi-language repository this will generate one version per language.&lt;br /&gt;
&lt;br /&gt;
If called on inbox or buffer, remove the abstract page.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_generate_static_all_related --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$eprint-&amp;amp;gt;generate_static_all_related===&lt;br /&gt;
&lt;br /&gt;
Generate the static pages for this eprint plus any it's related to, by succession or commentary.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_remove_static --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$eprint-&amp;amp;gt;remove_static===&lt;br /&gt;
&lt;br /&gt;
Remove the static web page or pages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===( $description, $title, $links ) = $eprint-&amp;amp;gt;render===&lt;br /&gt;
&lt;br /&gt;
Render the eprint. The 3 returned values are references to XHTML DOM objects. $description is the public viewable description of this eprint that 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 &amp;amp;lt;head&amp;amp;gt; of this page.&lt;br /&gt;
&lt;br /&gt;
Calls {{API:PodLink|file=|package_name=|section=eprint_render|text=/eprint_render}} to actually render the &amp;lt;tt&amp;gt;$eprint&amp;lt;/tt&amp;gt;, if it isn't deleted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_history --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===( $html ) = $eprint-&amp;amp;gt;render_history===&lt;br /&gt;
&lt;br /&gt;
Render the history of this eprint as XHTML DOM.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_control_url --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$url = $eprint-&amp;amp;gt;get_control_url===&lt;br /&gt;
&lt;br /&gt;
Return the URL of the control page for this eprint.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_url --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$url = $eprint-&amp;amp;gt;get_url===&lt;br /&gt;
&lt;br /&gt;
Return the public URL of this eprints abstract page. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_user --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$user = $eprint-&amp;amp;gt;get_user===&lt;br /&gt;
&lt;br /&gt;
Return the EPrints::User to whom this eprint belongs (if any).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_all_related --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===@eprints = $eprint-&amp;amp;gt;get_all_related===&lt;br /&gt;
&lt;br /&gt;
Return the eprints that are related in some way to this in a succession or commentary thread. The returned list does NOT include this EPrint.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_in_thread --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$boolean = $eprint-&amp;amp;gt;in_thread( $field )===&lt;br /&gt;
&lt;br /&gt;
Return true if this eprint is part of a thread of $field. $field should be an EPrint::MetaField representing either &amp;quot;commentary&amp;quot; or &amp;quot;succeeds&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_first_in_thread --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$eprint = $eprint-&amp;amp;gt;first_in_thread( $field )===&lt;br /&gt;
&lt;br /&gt;
Return the first (earliest) version or first paper in the thread of commentaries of this paper in the repository.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_later_in_thread --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===@eprints = $eprint-&amp;amp;gt;later_in_thread( $field )===&lt;br /&gt;
&lt;br /&gt;
Return a list of the immediately later items in the thread. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_all_in_thread --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===@eprints = $eprint-&amp;amp;gt;all_in_thread( $field )===&lt;br /&gt;
&lt;br /&gt;
Return all of the EPrints in the given thread.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_last_in_thread --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$eprint = $eprint-&amp;amp;gt;last_in_thread( $field )===&lt;br /&gt;
&lt;br /&gt;
Return the last item in the specified thread.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_remove_from_threads --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$eprint-&amp;amp;gt;remove_from_threads===&lt;br /&gt;
&lt;br /&gt;
Extract the eprint from any threads it's in. i.e., if any other paper is a later version of or commentary on this paper, the link from that paper to this will be removed.&lt;br /&gt;
&lt;br /&gt;
Abstract pages are updated if needed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_version_thread --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$xhtml = $eprint-&amp;amp;gt;render_version_thread( $field )===&lt;br /&gt;
&lt;br /&gt;
Render XHTML DOM describing the entire thread as nested unordered lists.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_loop_error --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$eprint-&amp;amp;gt;loop_error( $field, @looped_ids )===&lt;br /&gt;
&lt;br /&gt;
This eprint is part of a threading loop which is not allowed. Log a warning.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_type --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$type = $eprint-&amp;amp;gt;get_type===&lt;br /&gt;
&lt;br /&gt;
Return the type of this eprint.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_export_links --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$xhtml_ul_list = $eprint-&amp;amp;gt;render_export_links( [$staff] )===&lt;br /&gt;
&lt;br /&gt;
Return a &amp;amp;lt;ul&amp;amp;gt; list containing links to all the formats this eprint is available in. &lt;br /&gt;
&lt;br /&gt;
If $staff is true then show all formats available to staff, and link to the staff export URL.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_user_roles --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===@roles = $eprint-&amp;amp;gt;user_roles( $user )===&lt;br /&gt;
&lt;br /&gt;
Return the @roles $user has on $eprint.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_datestamp --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$eprint-&amp;amp;gt;datestamp===&lt;br /&gt;
&lt;br /&gt;
DEPRECATED.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_in_editorial_scope_of --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$boolean = $eprint-&amp;amp;gt;in_editorial_scope_of( $possible_editor )===&lt;br /&gt;
&lt;br /&gt;
Returns true if $possible_editor can edit this eprint. This is according to the user editperms. &lt;br /&gt;
&lt;br /&gt;
This does not mean the user has the editor priv., just that if they do then they may edit the given item.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_has_owner --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$boolean = $eprint-&amp;amp;gt;has_owner( $possible_owner )===&lt;br /&gt;
&lt;br /&gt;
Returns true if $possible_owner can edit this eprint. This is according to the user editperms. &lt;br /&gt;
&lt;br /&gt;
This does not mean the user has the editor priv., just that if they do then they may edit the given item.&lt;br /&gt;
&lt;br /&gt;
Uses the callback &amp;quot;does_user_own_eprint&amp;quot; if available.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_obtain_lock --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$boolean = $eprint-&amp;amp;gt;obtain_lock( $user )===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_could_obtain_lock --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$boolean = $eprint-&amp;amp;gt;could_obtain_lock( $user )===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_is_locked --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$boolean = $eprint-&amp;amp;gt;is_locked()===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_edit_lock --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$xhtml = render_edit_lock( $session, $value )===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_callbacks --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==CALLBACKS==&lt;br /&gt;
Callbacks may optionally be defined in the ArchiveConfig.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_validate_field --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===validate_field===&lt;br /&gt;
&lt;br /&gt;
  validate_field( $field, $value, $session, [$for_archive] )&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_validate_eprint --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===validate_eprint===&lt;br /&gt;
&lt;br /&gt;
  validate_eprint( $eprint, $session, [$for_archive] )&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_set_eprint_defaults --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===set_eprint_defaults===&lt;br /&gt;
&lt;br /&gt;
  set_eprint_defaults( $data, $session )&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_set_eprint_automatic_fields --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===set_eprint_automatic_fields===&lt;br /&gt;
&lt;br /&gt;
  set_eprint_automatic_fields( $eprint )&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_eprint_render --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===eprint_render===&lt;br /&gt;
&lt;br /&gt;
  eprint_render( $eprint, $session )&lt;br /&gt;
  &lt;br /&gt;
See {{API:PodLink|file=ArchiveRenderConfig|package_name=ArchiveRenderConfig|section=eprint_render|text=ArchiveRenderConfig/eprint_render}}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=_postamble_ --&amp;gt;&amp;lt;!-- Edit below this comment --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=API:EPrints/DataObj/Document&amp;diff=8606</id>
		<title>API:EPrints/DataObj/Document</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=API:EPrints/DataObj/Document&amp;diff=8606"/>
		<updated>2010-02-12T16:34:01Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Pod2Wiki=_preamble_ &lt;br /&gt;
This page has been automatically generated from the EPrints 3.2 source. Any wiki changes made between the 'Pod2Wiki=*' and 'Edit below this comment' comments will be lost.&lt;br /&gt;
 --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
{{API}}{{Pod2Wiki}}{{API:Source|file=EPrints/DataObj/Document.pm|package_name=EPrints::DataObj::Document}}[[Category:API|Document]]&amp;lt;div&amp;gt;&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_name --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==NAME==&lt;br /&gt;
'''EPrints::DataObj::Document''' - A single format of a record.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_description --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==DESCRIPTION==&lt;br /&gt;
Document represents a single format of an EPrint (eg. PDF) - the  actual file(s) rather than the metadata.&lt;br /&gt;
&lt;br /&gt;
This class is a subclass of DataObj, with the following metadata fields: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_docid --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===docid (text)===&lt;br /&gt;
&lt;br /&gt;
The unique ID of the document. This is a string of the format 123-02 where the first number is the eprint id and the second is the document number within that eprint.&lt;br /&gt;
&lt;br /&gt;
This should probably have been and &amp;quot;int&amp;quot; but isn't. I later version of EPrints may change this.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_eprintid --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===eprintid (itemref)===&lt;br /&gt;
&lt;br /&gt;
The id number of the eprint to which this document belongs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_placement --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===placement (int)===&lt;br /&gt;
&lt;br /&gt;
Placement of the document - the order documents should be shown in.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_format --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===format (namedset)===&lt;br /&gt;
&lt;br /&gt;
The format of this document. One of the types of the dataset &amp;quot;document&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_formatdesc --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===formatdesc (text)===&lt;br /&gt;
&lt;br /&gt;
An additional description of this document. For example the specific version of a format.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_language --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===language (namedset)===&lt;br /&gt;
&lt;br /&gt;
The ISO ID of the language of this document. The default configuration of EPrints does not set this.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_security --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===security (namedset)===&lt;br /&gt;
&lt;br /&gt;
The security type of this document - who can view it. One of the types of the dataset &amp;quot;security&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_main --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===main (text)===&lt;br /&gt;
&lt;br /&gt;
The file which we should link to. For something like a PDF file this is the only file. For an HTML document with images it would be the name of the actual HTML file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_documents --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===documents (subobject, multiple)===&lt;br /&gt;
&lt;br /&gt;
A virtual field which represents the list of Documents which are part of this record.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_methods --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==METHODS==&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_system_field_info --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$metadata = EPrints::DataObj::Document-&amp;amp;gt;get_system_field_info===&lt;br /&gt;
&lt;br /&gt;
Return an array describing the system metadata of the Document dataset.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_dataset_id --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$dataset = EPrints::DataObj::Document-&amp;amp;gt;get_dataset_id===&lt;br /&gt;
&lt;br /&gt;
Returns the id of the [[API:EPrints/DataSet|EPrints::DataSet]] object to which this record belongs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_defaults --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$defaults = EPrints::DataObj::Document-&amp;amp;gt;get_defaults( $session, $data )===&lt;br /&gt;
&lt;br /&gt;
Return default values for this object based on the starting data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_clone --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$newdoc = $doc-&amp;amp;gt;clone( $eprint )===&lt;br /&gt;
&lt;br /&gt;
Attempt to clone this document. Both the document metadata and the actual files. The clone will be associated with the given EPrint.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_remove --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$success = $doc-&amp;amp;gt;remove===&lt;br /&gt;
&lt;br /&gt;
Attempt to completely delete this document&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_eprint --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$eprint = $doc-&amp;amp;gt;get_eprint===&lt;br /&gt;
&lt;br /&gt;
Return the EPrint this document is associated with.&lt;br /&gt;
&lt;br /&gt;
This is a synonym for get_parent().&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_baseurl --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$url = $doc-&amp;amp;gt;get_baseurl( [$staff] )===&lt;br /&gt;
&lt;br /&gt;
Return the base URL of the document. Overrides the stub in DataObj. $staff is currently ignored.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_is_public --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$boolean = $doc-&amp;amp;gt;is_public()===&lt;br /&gt;
&lt;br /&gt;
True if this document has no security set and is in the live archive.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_url --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$url = $doc-&amp;amp;gt;get_url( [$file] )===&lt;br /&gt;
&lt;br /&gt;
Return the full URL of the document. Overrides the stub in DataObj.&lt;br /&gt;
&lt;br /&gt;
If file is not specified then the &amp;quot;main&amp;quot; file is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_local_path --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$path = $doc-&amp;amp;gt;local_path===&lt;br /&gt;
&lt;br /&gt;
Return the full path of the directory where this document is stored in the filesystem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_files --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===%files = $doc-&amp;amp;gt;files===&lt;br /&gt;
&lt;br /&gt;
Return a hash, the keys of which are all the files belonging to this document (relative to $doc-&amp;amp;gt;local_path). The values are the sizes of the files, in bytes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_remove_file --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$success = $doc-&amp;amp;gt;remove_file( $filename )===&lt;br /&gt;
&lt;br /&gt;
Attempt to remove the given file. Give the filename as it is returned by get_files().&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_set_main --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$doc-&amp;amp;gt;set_main( $main_file )===&lt;br /&gt;
&lt;br /&gt;
Sets the main file. Won't affect the database until a $doc-&amp;amp;gt;commit().&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_main --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$filename = $doc-&amp;amp;gt;get_main===&lt;br /&gt;
&lt;br /&gt;
Return the name of the main file in this document.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_set_format --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$doc-&amp;amp;gt;set_format( $format )===&lt;br /&gt;
&lt;br /&gt;
Set format. Won't affect the database until a commit(). Just an alias  for $doc-&amp;amp;gt;set_value( &amp;quot;format&amp;quot; , $format );&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_set_format_desc --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$doc-&amp;amp;gt;set_format_desc( $format_desc )===&lt;br /&gt;
&lt;br /&gt;
Set the format description.  Won't affect the database until a commit(). Just an alias for $doc-&amp;amp;gt;set_value( &amp;quot;format_desc&amp;quot; , $format_desc );&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_upload --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$success = $doc-&amp;amp;gt;upload( $filehandle, $filename [, $preserve_path [, $filesize ] ] )===&lt;br /&gt;
&lt;br /&gt;
Upload the contents of the given file handle into this document as the given filename.&lt;br /&gt;
&lt;br /&gt;
If $preserve_path then make any subdirectories needed, otherwise place this in the top level.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_add_file --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$success = $doc-&amp;amp;gt;add_file( $file, $filename, [$preserve_path] )===&lt;br /&gt;
&lt;br /&gt;
$file is the full path to a file to be added to the document, with name $filename.&lt;br /&gt;
&lt;br /&gt;
If $preserve_path then keep the filename as is (including subdirs and spaces)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_sanitise --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$cleanfilename = sanitise( $filename )===&lt;br /&gt;
&lt;br /&gt;
Return just the filename (no leading path) and convert any naughty characters to underscore.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_upload_archive --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$success = $doc-&amp;amp;gt;upload_archive( $filehandle, $filename, $archive_format )===&lt;br /&gt;
&lt;br /&gt;
Upload the contents of the given archive file. How to deal with the  archive format is configured in SystemSettings. &lt;br /&gt;
&lt;br /&gt;
(In case the over-loading of the word &amp;quot;archive&amp;quot; is getting confusing,  in this context we mean &amp;quot;.zip&amp;quot; or &amp;quot;.tar.gz&amp;quot; archive.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_add_archive --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$success = $doc-&amp;amp;gt;add_archive( $file, $archive_format )===&lt;br /&gt;
&lt;br /&gt;
$file is the full path to an archive file, eg. zip or .tar.gz &lt;br /&gt;
&lt;br /&gt;
This function will add the contents of that archive to the document.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_add_directory --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$success = $doc-&amp;amp;gt;add_directory( $directory )===&lt;br /&gt;
&lt;br /&gt;
Upload the contents of $directory to this document. This will not set the main file.&lt;br /&gt;
&lt;br /&gt;
This method expects $directory to have a trailing slash (/).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_upload_url --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$success = $doc-&amp;amp;gt;upload_url( $url )===&lt;br /&gt;
&lt;br /&gt;
Attempt to grab stuff from the given URL. Grabbing HTML stuff this way is always problematic, so (by default): only relative links will  be followed and only links to files in the same directory or  subdirectory will be followed.&lt;br /&gt;
&lt;br /&gt;
This (by default) uses wget. The details can be configured in SystemSettings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_commit --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$success = $doc-&amp;amp;gt;commit===&lt;br /&gt;
&lt;br /&gt;
Commit any changes that have been made to this object to the database.&lt;br /&gt;
&lt;br /&gt;
Calls &amp;quot;set_document_automatic_fields&amp;quot; in the ArchiveConfig first to set any automatic fields that may be needed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_validate --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$problems = $doc-&amp;amp;gt;validate( [$for_archive] )===&lt;br /&gt;
&lt;br /&gt;
Return an array of XHTML DOM objects describing validation problems with the entire document, including the metadata and repository config specific requirements.&lt;br /&gt;
&lt;br /&gt;
A reference to an empty array indicates no problems.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_type --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$type = $doc-&amp;amp;gt;get_type===&lt;br /&gt;
&lt;br /&gt;
Return the type of this document.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_files_modified --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$doc-&amp;amp;gt;files_modified===&lt;br /&gt;
&lt;br /&gt;
This method does all the things that need doing when a file has been modified.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_rehash --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$doc-&amp;amp;gt;rehash===&lt;br /&gt;
&lt;br /&gt;
Recalculate the hash value of the document. Uses MD5 of the files (in alphabetic order), but can use user specified hashing function instead.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_make_indexcodes --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$doc = $doc-&amp;amp;gt;make_indexcodes()===&lt;br /&gt;
&lt;br /&gt;
Make the indexcodes document for this document. Returns the generated document or undef on failure.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_remove_indexcodes --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$doc = $doc-&amp;amp;gt;remove_indexcodes()===&lt;br /&gt;
&lt;br /&gt;
Remove any documents containing index codes for this document. Returns the number of documents removed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_cache_file --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$filename = $doc-&amp;amp;gt;cache_file( $suffix );===&lt;br /&gt;
&lt;br /&gt;
Return a cache filename for this document with the givven suffix.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_icon_link --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$frag = $doc-&amp;amp;gt;render_icon_link( %opts )===&lt;br /&gt;
&lt;br /&gt;
Render a link to the icon for this document.&lt;br /&gt;
&lt;br /&gt;
Options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_new_window_1 --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===new_window =&amp;amp;gt; 1===&lt;br /&gt;
&lt;br /&gt;
Make link go to _blank not current window.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_preview_1 --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===preview =&amp;amp;gt; 1===&lt;br /&gt;
&lt;br /&gt;
If possible, provide a preview pop-up.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_public_0 --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===public =&amp;amp;gt; 0===&lt;br /&gt;
&lt;br /&gt;
Show thumbnail/preview only on public docs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_public_1 --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===public =&amp;amp;gt; 1===&lt;br /&gt;
&lt;br /&gt;
Show thumbnail/preview on all docs if poss.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_preview_link --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$frag = $doc-&amp;amp;gt;render_preview_link( %opts )===&lt;br /&gt;
&lt;br /&gt;
Render a link to the preview for this document (if available) using a lightbox.&lt;br /&gt;
&lt;br /&gt;
Options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_caption_frag --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===caption =&amp;amp;gt; $frag===&lt;br /&gt;
&lt;br /&gt;
XHTML fragment to use as the caption, defaults to empty.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_set_foo --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===set =&amp;amp;gt; &amp;quot;foo&amp;quot;===&lt;br /&gt;
&lt;br /&gt;
The name of the set this document belongs to, defaults to none (preview won't be shown as part of a set).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=_postamble_ --&amp;gt;&amp;lt;!-- Edit below this comment --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=API:EPrints/DataObj&amp;diff=8605</id>
		<title>API:EPrints/DataObj</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=API:EPrints/DataObj&amp;diff=8605"/>
		<updated>2010-02-12T16:34:00Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Pod2Wiki=_preamble_ &lt;br /&gt;
This page has been automatically generated from the EPrints 3.2 source. Any wiki changes made between the 'Pod2Wiki=*' and 'Edit below this comment' comments will be lost.&lt;br /&gt;
 --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
{{API}}{{Pod2Wiki}}{{API:Source|file=EPrints/DataObj.pm|package_name=EPrints::DataObj}}[[Category:API|DataObj]]&amp;lt;div&amp;gt;&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_name --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==NAME==&lt;br /&gt;
'''EPrints::DataObj''' - Base class for records in EPrints.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_description --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==DESCRIPTION==&lt;br /&gt;
This module is a base class which is inherited by [[API:EPrints/DataObj/EPrint|EPrints::DataObj::EPrint]], [[API:EPrints/User|EPrints::User]], [[API:EPrints/DataObj/Subject|EPrints::DataObj::Subject]] and [[API:EPrints/DataObj/Document|EPrints::DataObj::Document]] and several other classes.&lt;br /&gt;
&lt;br /&gt;
It is ABSTRACT - its methods should not be called directly.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_system_field_info --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$sys_fields = EPrints::DataObj-&amp;amp;gt;get_system_field_info===&lt;br /&gt;
&lt;br /&gt;
Return an array describing the system metadata of the this  dataset.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_new --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$dataobj = EPrints::DataObj-&amp;amp;gt;new( $session, $id [, $dataset] )===&lt;br /&gt;
&lt;br /&gt;
Return new data object, created by loading it from the database.&lt;br /&gt;
&lt;br /&gt;
If $dataset is not defined uses the default dataset for this object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_new_from_data --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$dataobj = EPrints::DataObj-&amp;amp;gt;new_from_data( $session, $data [, $dataset ] )===&lt;br /&gt;
&lt;br /&gt;
Construct a new EPrints::DataObj object based on the $data hash  reference of metadata.&lt;br /&gt;
&lt;br /&gt;
Used to create an object from the data retrieved from the database.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_create_subdataobj --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$dataobj = $dataobj-&amp;amp;gt;create_subdataobj( $fieldname, $epdata )===&lt;br /&gt;
&lt;br /&gt;
Creates and returns a new dataobj that is a sub-object of this object in field $fieldname with initial data $epdata.&lt;br /&gt;
&lt;br /&gt;
Clears the sub-object cache for this $fieldname which is equivalent to:&lt;br /&gt;
&lt;br /&gt;
  $dataobj-&amp;amp;gt;set_value( $fieldname, undef );&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_defaults --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$defaults = EPrints::User-&amp;amp;gt;get_defaults( $session, $data, $dataset )===&lt;br /&gt;
&lt;br /&gt;
Return default values for this object based on the starting data.&lt;br /&gt;
&lt;br /&gt;
Should be subclassed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_remove --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$success = $dataobj-&amp;amp;gt;remove===&lt;br /&gt;
&lt;br /&gt;
Remove this data object from the database and any sub-objects or related files. &lt;br /&gt;
&lt;br /&gt;
Return true if successful.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_clear_changed --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$dataobj-&amp;amp;gt;clear_changed( )===&lt;br /&gt;
&lt;br /&gt;
Clear any changed fields, which will result in them not being committed unless force is used.&lt;br /&gt;
&lt;br /&gt;
This method is used by the Database to avoid unnecessary commits.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_commit --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$success = $dataobj-&amp;amp;gt;commit( [$force] )===&lt;br /&gt;
&lt;br /&gt;
Write this object to the database and reset the changed fields.&lt;br /&gt;
&lt;br /&gt;
If $force isn't true then it only actually modifies the database if one or more fields have been changed.&lt;br /&gt;
&lt;br /&gt;
Commit may also queue indexer jobs or log changes, depending on the object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_value --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$value = $dataobj-&amp;amp;gt;get_value( $fieldname )===&lt;br /&gt;
&lt;br /&gt;
Get a the value of a metadata field. If the field is not set then it returns undef unless the field has the property multiple set, in which case it returns  [] (a reference to an empty array).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_set_value --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$dataobj-&amp;amp;gt;set_value( $fieldname, $value )===&lt;br /&gt;
&lt;br /&gt;
Set the value of the named metadata field in this record.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_values --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===@values = $dataobj-&amp;amp;gt;get_values( $fieldnames )===&lt;br /&gt;
&lt;br /&gt;
Returns a list of all the values in this record of all the fields specified by $fieldnames. $fieldnames should be in the format used by browse views - slash seperated fieldnames with an optional .id suffix to indicate the id part rather than the main part. &lt;br /&gt;
&lt;br /&gt;
For example &amp;quot;author.id/editor.id&amp;quot; would return a list of all author and editor ids from this record.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_session --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$session = $dataobj-&amp;amp;gt;get_session===&lt;br /&gt;
&lt;br /&gt;
Returns the EPrints::Session object to which this record belongs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_data --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$data = $dataobj-&amp;amp;gt;get_data===&lt;br /&gt;
&lt;br /&gt;
Returns a reference to the hash table of all the metadata for this record keyed  by fieldname.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_dataset_id --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$dataset = EPrints::DataObj-&amp;amp;gt;get_dataset_id===&lt;br /&gt;
&lt;br /&gt;
Returns the id of the [[API:EPrints/DataSet|EPrints::DataSet]] object to which this record belongs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_dataset --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$dataset = $dataobj-&amp;amp;gt;get_dataset===&lt;br /&gt;
&lt;br /&gt;
Returns the [[API:EPrints/DataSet|EPrints::DataSet]] object to which this record belongs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_is_set --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$bool = $dataobj-&amp;amp;gt;is_set( $fieldname )===&lt;br /&gt;
&lt;br /&gt;
Returns true if the named field is set in this record, otherwise false.&lt;br /&gt;
&lt;br /&gt;
Warns if the field does not exist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_exists_and_set --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$bool = $dataobj-&amp;amp;gt;exists_and_set( $fieldname )===&lt;br /&gt;
&lt;br /&gt;
Returns true if the named field is set in this record, otherwise false.&lt;br /&gt;
&lt;br /&gt;
If the field does not exist, just return false.&lt;br /&gt;
&lt;br /&gt;
This method is useful for plugins which may operate on multiple  repositories, and the fact a field does not exist is not an issue.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_id --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$id = $dataobj-&amp;amp;gt;get_id===&lt;br /&gt;
&lt;br /&gt;
Returns the value of the primary key of this record.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_gid --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$id = $dataobj-&amp;amp;gt;get_gid===&lt;br /&gt;
&lt;br /&gt;
DEPRECATED (see uri())&lt;br /&gt;
&lt;br /&gt;
Returns the globally referential fully-qualified identifier for this object or undef if this object can not be externally referenced.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_datestamp --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$datestamp = $dataobj-&amp;amp;gt;get_datestamp===&lt;br /&gt;
&lt;br /&gt;
Returns the datestamp of this object in &amp;quot;YYYY-MM-DD hh:mm:ss&amp;quot; format.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_value --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$xhtml = $dataobj-&amp;amp;gt;render_value( $fieldname, [$showall] )===&lt;br /&gt;
&lt;br /&gt;
Returns the rendered version of the value of the given field, as appropriate for the current session. If $showall is true then all values are rendered -  this is usually used for staff viewing data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_citation --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$xhtml = $dataobj-&amp;amp;gt;render_citation( [$style], [%params] )===&lt;br /&gt;
&lt;br /&gt;
Renders the record as a citation. If $style is set then it uses that citation style from the citations config file. Otherwise $style defaults to the type of this record. If $params{url} is set then the citiation will link to the specified URL.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_citation_link --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$xhtml = $dataobj-&amp;amp;gt;render_citation_link( [$style], %params )===&lt;br /&gt;
&lt;br /&gt;
Renders a citation (as above) but as a link to the URL for this item. For example - the abstract page of an eprint. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_description --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$xhtml = $dataobj-&amp;amp;gt;render_description===&lt;br /&gt;
&lt;br /&gt;
Returns a short description of this object using the default citation style for this dataset.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===($xhtml, $title ) = $dataobj-&amp;amp;gt;render===&lt;br /&gt;
&lt;br /&gt;
Return a chunk of XHTML DOM describing this object in the normal way. This is the public view of the record, not the staff view.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_full --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===($xhtml, $title ) = $dataobj-&amp;amp;gt;render_full===&lt;br /&gt;
&lt;br /&gt;
Return an XHTML table in DOM describing this record. All values of all fields are listed. This is the staff view.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_uri --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$url = $dataobj-&amp;amp;gt;uri===&lt;br /&gt;
&lt;br /&gt;
Returns a unique URI for this object. Not certain to resolve as a  URL.&lt;br /&gt;
&lt;br /&gt;
If $c-&amp;amp;gt;{dataobj_uri}-&amp;amp;gt;{eprint} is a function, call that to work it out.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_internal_uri --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$uri = $dataobj-&amp;amp;gt;internal_uri()===&lt;br /&gt;
&lt;br /&gt;
Return an internal URI for this object (independent of repository hostname).&lt;br /&gt;
&lt;br /&gt;
To retrieve an object by internal URI use [[API:EPrints/DataSet|EPrints::DataSet]]::get_object_from_uri().&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_url --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$url = $dataobj-&amp;amp;gt;get_url===&lt;br /&gt;
&lt;br /&gt;
Returns the URL for this record, for example the URL of the abstract page of an eprint.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_control_url --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$url = $dataobj-&amp;amp;gt;get_control_url===&lt;br /&gt;
&lt;br /&gt;
Returns the URL for the control page for this object. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_type --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$type = $dataobj-&amp;amp;gt;get_type===&lt;br /&gt;
&lt;br /&gt;
Returns the type of this record - type of user, type of eprint etc.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_to_xml --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$xmlfragment = $dataobj-&amp;amp;gt;to_xml( %opts )===&lt;br /&gt;
&lt;br /&gt;
Convert this object into an XML fragment. &lt;br /&gt;
&lt;br /&gt;
%opts are:&lt;br /&gt;
&lt;br /&gt;
no_xmlns=&amp;amp;gt;1 : do not include a xmlns attribute in the  outer element. (This assumes this chunk appears in a larger tree  where the xmlns is already set correctly.&lt;br /&gt;
&lt;br /&gt;
showempty=&amp;amp;gt;1 : fields with no value are shown.&lt;br /&gt;
&lt;br /&gt;
version=&amp;amp;gt;&amp;quot;code&amp;quot; : pick what version of the EPrints XML format to use &amp;quot;1&amp;quot; or &amp;quot;2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
embed=&amp;amp;gt;1 : include the data of a file, not just it's URL.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_xml_to_epdata --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$epdata = EPrints::DataObj-&amp;amp;gt;xml_to_epdata( $session, $xml, %opts )===&lt;br /&gt;
&lt;br /&gt;
Populates $epdata based on $xml. This is the inverse of to_xml() but doesn't create a new object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_export --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$plugin_output = $detaobj-&amp;amp;gt;export( $plugin_id, %params )===&lt;br /&gt;
&lt;br /&gt;
Apply an output plugin to this items. Return the results.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_queue_changes --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$dataobj-&amp;amp;gt;queue_changes===&lt;br /&gt;
&lt;br /&gt;
Add all the changed fields into the indexers todo queue.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_queue_all --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$dataobj-&amp;amp;gt;queue_all===&lt;br /&gt;
&lt;br /&gt;
Add all the fields into the indexers todo queue.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_queue_fulltext --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$dataobj-&amp;amp;gt;queue_fulltext===&lt;br /&gt;
&lt;br /&gt;
Add a fulltext index into the indexers todo queue.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_has_owner --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$boolean = $dataobj-&amp;amp;gt;has_owner( $user )===&lt;br /&gt;
&lt;br /&gt;
Return true if $user owns this record. Normally this means they  created it, but a group of users could count as owners of the same record if you wanted.&lt;br /&gt;
&lt;br /&gt;
It's false on most dataobjs, except those which override this method.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_in_editorial_scope_of --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$boolean = $dataobj-&amp;amp;gt;in_editorial_scope_of( $user )===&lt;br /&gt;
&lt;br /&gt;
As for has_owner, but if the user is identified as someone with an editorial scope which includes this record.&lt;br /&gt;
&lt;br /&gt;
Defaults to true. Which doesn't mean that they have the right to  edit it, just that their scope matches. You also need editor rights to use this. It's currently used just to filter eprint editors so that only ones with a scope AND a priv can edit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_validate --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$problems = $dataobj-&amp;amp;gt;validate( [ $for_archive ], $workflow_id )===&lt;br /&gt;
&lt;br /&gt;
Return a reference to an array of XHTML DOM objects describing validation problems with the entire $dataobj based on $workflow_id.&lt;br /&gt;
&lt;br /&gt;
If $workflow_id is undefined defaults to &amp;quot;default&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
A reference to an empty array indicates no problems.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_warnings --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$warnings = $dataobj-&amp;amp;gt;get_warnings( )===&lt;br /&gt;
&lt;br /&gt;
Return a reference to an array of XHTML DOM objects describing problems with the entire $dataobj.&lt;br /&gt;
&lt;br /&gt;
A reference to an empty array indicates no problems.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_add_stored_file --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$file = $dataobj-&amp;amp;gt;add_stored_file( $filename, $filehandle [, $filesize ] )===&lt;br /&gt;
&lt;br /&gt;
Convenience method to add the file record for $filename to this object. Reads data from $filehandle. If $filesize is defined it may used to determine where the file should be stored.&lt;br /&gt;
&lt;br /&gt;
Returns the file object or undef if the storage failed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_stored_file --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$file = $dataobj-&amp;amp;gt;get_stored_file( $filename )===&lt;br /&gt;
&lt;br /&gt;
Get the file object for $filename.&lt;br /&gt;
&lt;br /&gt;
Returns the file object or undef if the file doesn't exist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_related_objects --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===Related Objects===&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_add_object_relations --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$dataobj-&amp;amp;gt;add_object_relations( $target, $has =&amp;amp;gt; $is [, $has =&amp;amp;gt; $is ] )====&lt;br /&gt;
&lt;br /&gt;
Add a relation between this object and $target of type $has. If $is is defined will also add the reciprocal relationship $is from $target to this object. May be repeated to add multiple relationships.&lt;br /&gt;
&lt;br /&gt;
You must commit $target after calling this method.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_has_object_relations --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$bool = $dataobj-&amp;amp;gt;has_object_relations( $target, @types )====&lt;br /&gt;
&lt;br /&gt;
Returns true if this object is related to $target by all @types.&lt;br /&gt;
&lt;br /&gt;
If @types is empty will return true if any relationships exist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_has_related_objects --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$bool = $dataobj-&amp;amp;gt;has_related_objects( @types )====&lt;br /&gt;
&lt;br /&gt;
Returns true if get_related_objects() would return some objects, but without actually retrieving the related objects from the database.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_related_objects --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$dataobjs = $dataobj-&amp;amp;gt;get_related_objects( @types )====&lt;br /&gt;
&lt;br /&gt;
Returns a list of objects related to this object by @types.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_remove_object_relations --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$dataobj-&amp;amp;gt;remove_object_relations( $target [, $has =&amp;amp;gt; $is [, $has =&amp;amp;gt; $is ] )====&lt;br /&gt;
&lt;br /&gt;
Remove relations between this object and $target. If $has =&amp;amp;gt; $is pairs are defined will only remove those relationships given.&lt;br /&gt;
&lt;br /&gt;
You must commit $target after calling this method.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=_postamble_ --&amp;gt;&amp;lt;!-- Edit below this comment --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=API:EPrints/MetaField&amp;diff=8604</id>
		<title>API:EPrints/MetaField</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=API:EPrints/MetaField&amp;diff=8604"/>
		<updated>2010-02-12T16:33:58Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Pod2Wiki=_preamble_ &lt;br /&gt;
This page has been automatically generated from the EPrints 3.2 source. Any wiki changes made between the 'Pod2Wiki=*' and 'Edit below this comment' comments will be lost.&lt;br /&gt;
 --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
{{API}}{{Pod2Wiki}}{{API:Source|file=EPrints/MetaField.pm|package_name=EPrints::MetaField}}[[Category:API|MetaField]]&amp;lt;div&amp;gt;&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_name --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==NAME==&lt;br /&gt;
'''EPrints::MetaField''' - A single metadata field.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_description --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==DESCRIPTION==&lt;br /&gt;
Theis object represents a single metadata field, not the value of that field. A field belongs (usually) to a dataset and has a large number of properties. Optional and required properties vary between  types.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;type&amp;quot; is the most important property, it is the type of the metadata field. For example: &amp;quot;text&amp;quot;, &amp;quot;name&amp;quot; or &amp;quot;date&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
A full description of metadata types and properties is in the eprints documentation and will not be duplicated here.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_new --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$field = EPrints::MetaField-&amp;amp;gt;new( %properties )===&lt;br /&gt;
&lt;br /&gt;
Create a new metafield. %properties is a hash of the properties of the  field, with the addition of &amp;quot;dataset&amp;quot;, or if &amp;quot;dataset&amp;quot; is not set then &amp;quot;confid&amp;quot; and &amp;quot;repository&amp;quot; must be provided instead.&lt;br /&gt;
&lt;br /&gt;
Some field types require certain properties to be explicitly set. See the main documentation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_final --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$field-&amp;amp;gt;final===&lt;br /&gt;
&lt;br /&gt;
This method tells the metafield that it is now read only. Any call to set_property will produce a abort error.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_set_property --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$field-&amp;amp;gt;set_property( $property, $value )===&lt;br /&gt;
&lt;br /&gt;
Set the named property to the given value.&lt;br /&gt;
&lt;br /&gt;
This should not be called on metafields unless they've been cloned first.&lt;br /&gt;
&lt;br /&gt;
This method will cause an abort error if the metafield is read only.&lt;br /&gt;
&lt;br /&gt;
In these cases a cloned version of the field should be used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_clone --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$newfield = $field-&amp;amp;gt;clone===&lt;br /&gt;
&lt;br /&gt;
Clone the field, so the clone can be edited without affecting the original. Does not deep copy properties which are references - these should be set to new values, rather than the contents altered. Eg. don't push to a cloned options list, replace it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_repository --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$repository = $field-&amp;amp;gt;repository===&lt;br /&gt;
&lt;br /&gt;
Return the [[API:EPrints/Repository|EPrints::Repository]] to which this field belongs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_dataset --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$dataset = $field-&amp;amp;gt;dataset===&lt;br /&gt;
&lt;br /&gt;
Return the [[API:EPrints/DataSet|EPrints::DataSet]] to which this field belongs, or undef.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_name --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$xhtml = $field-&amp;amp;gt;render_name===&lt;br /&gt;
&lt;br /&gt;
Render the name of this field as an XHTML object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_display_name --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$label = $field-&amp;amp;gt;display_name( $session )===&lt;br /&gt;
&lt;br /&gt;
DEPRECATED! Can't be removed because it's used in 2.2's default ArchiveRenderConfig.pm&lt;br /&gt;
&lt;br /&gt;
Return the UTF-8 encoded name of this field, in the language of the $session.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_help --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$xhtml = $field-&amp;amp;gt;render_help===&lt;br /&gt;
&lt;br /&gt;
Return the help information for a user inputing some data for this field as an XHTML chunk.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_input_field --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$xhtml = $field-&amp;amp;gt;render_input_field( $session, $value, [$dataset], [$staff], [$hidden_fields], $obj, [$basename] )===&lt;br /&gt;
&lt;br /&gt;
Return the XHTML of the fields for an form which will allow a user to input metadata to this field. $value is the default value for this field.&lt;br /&gt;
&lt;br /&gt;
The actual function called may be overridden from the config.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_form_value --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$value = $field-&amp;amp;gt;form_value( $session, $object, [$prefix] )===&lt;br /&gt;
&lt;br /&gt;
Get a value for this field from the CGI parameters, assuming that the form contained the input fields for this metadata field.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_name --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$name = $field-&amp;amp;gt;name===&lt;br /&gt;
&lt;br /&gt;
Return the name of this field.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_type --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$type = $field-&amp;amp;gt;type===&lt;br /&gt;
&lt;br /&gt;
Return the type of this field.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_property --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$value = $field-&amp;amp;gt;property( $property )===&lt;br /&gt;
&lt;br /&gt;
Return the value of the given property.&lt;br /&gt;
&lt;br /&gt;
Special note about &amp;quot;required&amp;quot; property: It only indicates if the field is always required. You must query the dataset to check if it is required for a specific type.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_is_type --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$boolean = $field-&amp;amp;gt;is_type( @typenames )===&lt;br /&gt;
&lt;br /&gt;
Return true if the type of this field is one of @typenames.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_value --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$xhtml = $field-&amp;amp;gt;render_value( $session, $value, [$alllangs], [$nolink], $object )===&lt;br /&gt;
&lt;br /&gt;
Render the given value of this given string as XHTML DOM. If $alllangs  is true and this is a multilang field then render all language versions, not just the current language (for editorial checking). If $nolink is true then don't make this field a link, for example subject fields  might otherwise link to the subject view page.&lt;br /&gt;
&lt;br /&gt;
If render_value or render_single_value properties are set then these control the rendering instead.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_value_no_multiple --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$xhtml = $field-&amp;amp;gt;render_value_no_multiple( $session, $value, $alllangs, $nolink, $object )===&lt;br /&gt;
&lt;br /&gt;
Render the XHTML for a non-multiple value. Can be either a from a non-multiple field, or a single value from a multiple field.&lt;br /&gt;
&lt;br /&gt;
Usually just used internally.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_value_withopts --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$xhtml = $field-&amp;amp;gt;render_value_withopts( $session, $value, $nolink, $object )===&lt;br /&gt;
&lt;br /&gt;
Render a single value but adding the render_opts features.&lt;br /&gt;
&lt;br /&gt;
This uses either the field specific render_single_value or, if one is configured, the render_single_value specified in the config.&lt;br /&gt;
&lt;br /&gt;
Usually just used internally.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_sort_values --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$out_list = $field-&amp;amp;gt;sort_values( $session, $in_list )===&lt;br /&gt;
&lt;br /&gt;
Sorts the in_list into order, based on the &amp;quot;order values&amp;quot; of the  values in the in_list. Assumes that the values are not a list of multiple values. [ [], [], [] ], but rather a list of single values.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_list_values --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===@values = $field-&amp;amp;gt;list_values( $value )===&lt;br /&gt;
&lt;br /&gt;
Return a list of every distinct value in this field. &lt;br /&gt;
&lt;br /&gt;
 - for simple fields: return ( $value )&lt;br /&gt;
 - for multiple fields: return @{$value}&lt;br /&gt;
  &lt;br /&gt;
This function is used by the item_matches method in Search.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_most_local --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$value = $field-&amp;amp;gt;most_local( $session, $value )===&lt;br /&gt;
&lt;br /&gt;
If this field is a multilang field then return the version of the  value most useful for the language of the session. In order of preference: The language of the session, the default language for the repository, any language at all. If it is not a multilang field then just return $value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_call_property --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$value2 = $field-&amp;amp;gt;call_property( $property, @args )===&lt;br /&gt;
&lt;br /&gt;
Call the method described by $property. Pass it the arguments and return the result.&lt;br /&gt;
&lt;br /&gt;
The property may contain either a code reference, or the scalar name of a method.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_value_from_sql_row --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$val = $field-&amp;amp;gt;value_from_sql_row( $session, $row )===&lt;br /&gt;
&lt;br /&gt;
Shift and return the value of this field from the database input $row.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_sql_row_from_value --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===@row = $field-&amp;amp;gt;sql_row_from_value( $session, $value )===&lt;br /&gt;
&lt;br /&gt;
Return a list of values to insert into the database based on $value.&lt;br /&gt;
&lt;br /&gt;
The values will normally be passed to {{API:PodLink|file=DBI|package_name=DBI|section=bind_param|text=DBI/bind_param}}:&lt;br /&gt;
&lt;br /&gt;
  $sth-&amp;amp;gt;bind_param( $idx, $row[0] )&lt;br /&gt;
  &lt;br /&gt;
If the value is an array ref it gets expanded:&lt;br /&gt;
&lt;br /&gt;
  $sth-&amp;amp;gt;bind_param( $idx, @{$row[0]} )&lt;br /&gt;
  &lt;br /&gt;
This is necessary to support binding LOB data under various databases.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_sql_properties --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===%opts = $field-&amp;amp;gt;get_sql_properties( $session )===&lt;br /&gt;
&lt;br /&gt;
Map the relevant SQL properties for this field to options passed to [[API:EPrints/Database|EPrints::Database]]::get_column_type().&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_sql_type --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===@types = $field-&amp;amp;gt;get_sql_type( $session )===&lt;br /&gt;
&lt;br /&gt;
Return the SQL column types of this field, used for creating tables.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_create_ordervalues_field --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$field = $field-&amp;amp;gt;create_ordervalues_field( $session [, $langid ] )===&lt;br /&gt;
&lt;br /&gt;
Return a new field object that this field can use to store order values, optionally for language $langid.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_sql_index --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$sql = $field-&amp;amp;gt;get_sql_index===&lt;br /&gt;
&lt;br /&gt;
Return the columns that an index should be created over.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_single_value --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$xhtml_dom = $field-&amp;amp;gt;render_single_value( $session, $value )===&lt;br /&gt;
&lt;br /&gt;
Returns the XHTML representation of the value. The value will be non-multiple. Just the  simple value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_input_field_actual --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$xhtml = $field-&amp;amp;gt;render_input_field_actual( $session, $value, [$dataset], [$staff], [$hidden_fields], [$obj], [$basename] )===&lt;br /&gt;
&lt;br /&gt;
Return the XHTML of the fields for an form which will allow a user to input metadata to this field. $value is the default value for this field.&lt;br /&gt;
&lt;br /&gt;
Unlike render_input_field, this function does not use the render_input property, even if it's set.&lt;br /&gt;
&lt;br /&gt;
The $obj is the current state of the object this field is associated  with, if any.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_sql_names --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===@sqlnames = $field-&amp;amp;gt;get_sql_names===&lt;br /&gt;
&lt;br /&gt;
Return the names of this field's columns as they appear in a SQL table.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_is_browsable --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$boolean = $field-&amp;amp;gt;is_browsable===&lt;br /&gt;
&lt;br /&gt;
Return true if this field can be &amp;quot;browsed&amp;quot;. ie. Used as a view.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_all_values --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$values = $field-&amp;amp;gt;all_values( %opts )===&lt;br /&gt;
&lt;br /&gt;
Return a reference to an array of all the values of this field.  For fields like &amp;quot;subject&amp;quot; or &amp;quot;set&amp;quot; it returns all the variations. For fields like &amp;quot;text&amp;quot; return all  the distinct values from the database.&lt;br /&gt;
&lt;br /&gt;
Results are sorted according to the ordervalues of the current session.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_id_from_value --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$id = $field-&amp;amp;gt;get_id_from_value( $session, $value )===&lt;br /&gt;
&lt;br /&gt;
Returns a unique id for $value or &amp;quot;NULL&amp;quot; if $value is undefined.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_value_from_id --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$value = $field-&amp;amp;gt;get_value_from_id( $session, $id )===&lt;br /&gt;
&lt;br /&gt;
Returns the value from $id or undef if $id is &amp;quot;NULL&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_value_label --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$xhtml = $field-&amp;amp;gt;render_value_label( $value )===&lt;br /&gt;
&lt;br /&gt;
Return an XHTML DOM object describing the given value. Normally this is just the value, but in the case of something like a &amp;quot;set&amp;quot; field  this returns the name of the option in the current language.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_ordervalue --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$ov = $field-&amp;amp;gt;ordervalue( $value, $session, $langid, $dataset )===&lt;br /&gt;
&lt;br /&gt;
Return a string representing this value which can be used to sort it into order by comparing it alphabetically.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_xml_to_epdata --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$epdata = $field-&amp;amp;gt;xml_to_epdata( $session, $xml, %opts )===&lt;br /&gt;
&lt;br /&gt;
Populates $epdata based on $xml.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_default_value --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$value = $field-&amp;amp;gt;get_default_value( $session )===&lt;br /&gt;
&lt;br /&gt;
Return the default value for this field. This is only applicable to very simple cases such as timestamps, auto-incremented values etc.&lt;br /&gt;
&lt;br /&gt;
Any complex initialisation should be done in the &amp;quot;set_eprint_automatic_fields&amp;quot; callback (or the equivalent for the given object).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_index_codes --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===( $terms, $grep_terms, $ignored ) = $field-&amp;amp;gt;get_index_codes( $session, $value )===&lt;br /&gt;
&lt;br /&gt;
Get indexable terms from $value. $terms is a reference to an array of strings to index. $grep_terms is a reference to an array of terms to add to the grep index. $ignored is a reference to an array of terms that should be ignored (e.g. stop words in a free-text field).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_split_search_value --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===@terms = $field-&amp;amp;gt;split_search_value( $session, $value )===&lt;br /&gt;
&lt;br /&gt;
Split $value into terms that can be used to search against this field.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_search_conditions --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$cond = $field-&amp;amp;gt;get_search_conditions( $session, $dataset, $value, $match, $merge, $mode )===&lt;br /&gt;
&lt;br /&gt;
Return a {{API:PodLink|file=Search/Condition|package_name=Search::Condition|section=|text=Search::Condition}} for $value based on this field.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_search_conditions_not_ex --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$cond = $field-&amp;amp;gt;get_search_conditions_not_ex( $session, $dataset, $value, $match, $merge, $mode )===&lt;br /&gt;
&lt;br /&gt;
Return the search condition for a search which is not-exact ($match ne &amp;quot;EX&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=_postamble_ --&amp;gt;&amp;lt;!-- Edit below this comment --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=API:EPrints/DataSet&amp;diff=8603</id>
		<title>API:EPrints/DataSet</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=API:EPrints/DataSet&amp;diff=8603"/>
		<updated>2010-02-12T16:33:57Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Pod2Wiki=_preamble_ &lt;br /&gt;
This page has been automatically generated from the EPrints 3.2 source. Any wiki changes made between the 'Pod2Wiki=*' and 'Edit below this comment' comments will be lost.&lt;br /&gt;
 --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
{{API}}{{Pod2Wiki}}{{API:Source|file=EPrints/DataSet.pm|package_name=EPrints::DataSet}}[[Category:API|DataSet]]&amp;lt;div&amp;gt;&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_name --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==NAME==&lt;br /&gt;
'''EPrints::DataSet''' - a dataset is a set of records in the eprints system with the same metadata.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_synopsis --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==SYNOPSIS==&lt;br /&gt;
  my $dataset = $repository-&amp;amp;gt;get_dataset( &amp;quot;inbox&amp;quot; );&lt;br /&gt;
  &lt;br /&gt;
  print sprintf(&amp;quot;There are %d records in the inbox\n&amp;quot;,&lt;br /&gt;
    $dataset-&amp;amp;gt;count);&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_description --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==DESCRIPTION==&lt;br /&gt;
This module describes an EPrint dataset.&lt;br /&gt;
&lt;br /&gt;
A repository has several datasets that make up the repository's database. The list of dataset ids can be obtained from the repository object (see [[API:EPrints/Repository|EPrints::Repository]]).&lt;br /&gt;
&lt;br /&gt;
A normal dataset (eg. &amp;quot;user&amp;quot;) has a package associated with it  (eg. EPrints::DataObj::User) which must be a subclass of EPrints::DataObj  and a number of SQL tables which are prefixed with the dataset name. Most datasets also have a set of associated EPrints::MetaField's which may be optional or compulsary depending on the type eg. books have editors but posters don't but they are both EPrints.&lt;br /&gt;
&lt;br /&gt;
The fields contained in a dataset are defined by the data object and by any additional fields defined in cfg.d. Some datasets don't have any fields while others may just be &amp;quot;virtual&amp;quot; datasets made from others.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_cachemap_counter --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===cachemap, counter===&lt;br /&gt;
&lt;br /&gt;
Don't have a package or metadata fields associated.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_archive_buffer_inbox_deletion --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===archive, buffer, inbox, deletion===&lt;br /&gt;
&lt;br /&gt;
All have the same package and metadata fields as '''eprints''', but are filtered by '''eprint_status'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_methods --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==METHODS==&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_class_methods --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===Class Methods===&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_new --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$ds = EPrints::DataSet-&amp;amp;gt;new( %properties )====&lt;br /&gt;
&lt;br /&gt;
Creates and returns a new dataset based on %properties.&lt;br /&gt;
&lt;br /&gt;
Requires at least '''repository''' and '''name''' properties.&lt;br /&gt;
&lt;br /&gt;
Available properties:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_repository --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====repository OBJ====&lt;br /&gt;
&lt;br /&gt;
Reference to the repository object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_name --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====name STRING====&lt;br /&gt;
&lt;br /&gt;
Name of the dataset.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_confid --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====confid STRING====&lt;br /&gt;
&lt;br /&gt;
Name of the dataset this dataset is a subset of (e.g. 'archive' is a subset of 'eprint'). If defined requires dataset_id_field.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_dataset_id_field --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====dataset_id_field====&lt;br /&gt;
&lt;br /&gt;
Name of the text field that contains the subset dataset id.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_sql_name --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====sql_name STRING====&lt;br /&gt;
&lt;br /&gt;
Name of the primary database table.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_virtual --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====virtual BOOL====&lt;br /&gt;
&lt;br /&gt;
Set to 1 if this dataset doesn't require it's own database tables.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_type --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====type STRING====&lt;br /&gt;
&lt;br /&gt;
Type of data object the dataset contains e.g. for [[API:EPrints/DataObj/EPrint|EPrints::DataObj::EPrint]] specify &amp;quot;EPrint&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_class --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====class STRING====&lt;br /&gt;
&lt;br /&gt;
Explicit class to use for data objects. To use the default object specify [[API:EPrints/DataObj|EPrints::DataObj]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_filters --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====filters ARRAYREF====&lt;br /&gt;
&lt;br /&gt;
Filters to apply to this dataset before searching (see [[API:EPrints/Search|EPrints::Search]]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_datestamp --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====datestamp STRING====&lt;br /&gt;
&lt;br /&gt;
The field name that contains a datestamp to order this dataset by.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_index --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====index BOOL====&lt;br /&gt;
&lt;br /&gt;
Whether this dataset should be indexed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_import --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====import BOOL====&lt;br /&gt;
&lt;br /&gt;
Whether you can import into this dataset.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_system_dataset_info --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$info = EPrints::DataSet::get_system_dataset_info()====&lt;br /&gt;
&lt;br /&gt;
Returns a hash reference of core system datasets.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_object_methods --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===Object Methods===&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_base_id --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$id = $ds-&amp;amp;gt;base_id====&lt;br /&gt;
&lt;br /&gt;
  $ds = $repo-&amp;amp;gt;dataset( &amp;quot;inbox&amp;quot; );&lt;br /&gt;
  $id = $ds-&amp;amp;gt;base_id; # returns &amp;quot;eprint&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
Returns the identifier of the base dataset for this dataset (same as {{API:PodLink|file=|package_name=|section=id|text=/id}} unless this dataset is virtual).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_process_field --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$field = $ds-&amp;amp;gt;process_field( $data [, $system ] )====&lt;br /&gt;
&lt;br /&gt;
Creates a new field in this dataset based on $data. If $system is true defines the new field as a &amp;quot;core&amp;quot; field.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_register_field --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$ds-&amp;amp;gt;register_field( $field [, $system ] )====&lt;br /&gt;
&lt;br /&gt;
Register a new field with this dataset.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_unregister_field --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$ds-&amp;amp;gt;unregister_field( $field )====&lt;br /&gt;
&lt;br /&gt;
Unregister a field from this dataset.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_field --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$metafield = $ds-&amp;amp;gt;field( $fieldname )====&lt;br /&gt;
&lt;br /&gt;
Returns the [[API:EPrints/MetaField|EPrints::MetaField]] from this dataset with the given name, or undef.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_has_field --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$bool = $ds-&amp;amp;gt;has_field( $fieldname )====&lt;br /&gt;
&lt;br /&gt;
True if the dataset has a field of that name.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_default_order --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$ordertype = $ds-&amp;amp;gt;default_order====&lt;br /&gt;
&lt;br /&gt;
Return the id string of the default order for this dataset. &lt;br /&gt;
&lt;br /&gt;
For example &amp;quot;bytitle&amp;quot; for eprints.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_id --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$id = $ds-&amp;amp;gt;id====&lt;br /&gt;
&lt;br /&gt;
Return the id of this dataset.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_count --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$n = $ds-&amp;amp;gt;count( $session )====&lt;br /&gt;
&lt;br /&gt;
Return the number of records in this dataset.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_sql_table_name --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$tablename = $ds-&amp;amp;gt;get_sql_table_name====&lt;br /&gt;
&lt;br /&gt;
Return the name of the main SQL Table containing this dataset. the other SQL tables names are based on this name.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_sql_index_table_name --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$tablename = $ds-&amp;amp;gt;get_sql_index_table_name====&lt;br /&gt;
&lt;br /&gt;
Return the name of the SQL table which contains the free text indexing information.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_sql_grep_table_name --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$tablename = $ds-&amp;amp;gt;get_sql_grep_table_name====&lt;br /&gt;
&lt;br /&gt;
Reutrn the name of the SQL table which contains the strings to be used with LIKE in a final pass of a search.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_sql_rindex_table_name --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$tablename = $ds-&amp;amp;gt;get_sql_rindex_table_name====&lt;br /&gt;
&lt;br /&gt;
Reutrn the name of the SQL table which contains the reverse text indexing information. (Used for deleting freetext indexes when removing a record).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_ordervalues_table_name --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$tablename = $ds-&amp;amp;gt;get_ordervalues_table_name( $langid )====&lt;br /&gt;
&lt;br /&gt;
Return the name of the SQL table containing values used for ordering this dataset.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_sql_sub_table_name --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$tablename = $ds-&amp;amp;gt;get_sql_sub_table_name( $field )====&lt;br /&gt;
&lt;br /&gt;
Returns the name of the SQL table which contains the information on the &amp;quot;multiple&amp;quot; field. $field is an EPrints::MetaField belonging to this dataset.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_fields --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====@fields = $ds-&amp;amp;gt;fields====&lt;br /&gt;
&lt;br /&gt;
Returns a list of the [[API:EPrints/Metafield|EPrints::Metafield]]s belonging to this dataset.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_key_field --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$field = $ds-&amp;amp;gt;key_field====&lt;br /&gt;
&lt;br /&gt;
Return the [[API:EPrints/MetaField|EPrints::MetaField]] representing the primary key field.&lt;br /&gt;
&lt;br /&gt;
Always the first field.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_make_object --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$obj = $ds-&amp;amp;gt;make_object( $session, $data )====&lt;br /&gt;
&lt;br /&gt;
Return an object of the class associated with this dataset, always a subclass of EPrints::DataObj.&lt;br /&gt;
&lt;br /&gt;
$data is a hash of values for fields of a record in this dataset.&lt;br /&gt;
&lt;br /&gt;
Return $data if no class associated with this dataset.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_create_dataobj --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$obj = $ds-&amp;amp;gt;create_dataobj( $data )====&lt;br /&gt;
&lt;br /&gt;
Returns a new object in this dataset based on $data or undef on failure.&lt;br /&gt;
&lt;br /&gt;
If $data describes sub-objects then those will also be created.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_object_class --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$class = $ds-&amp;amp;gt;get_object_class;====&lt;br /&gt;
&lt;br /&gt;
Return the perl class to which objects in this dataset belong.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_object --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$obj = $ds-&amp;amp;gt;get_object( $session, $id );====&lt;br /&gt;
&lt;br /&gt;
Return the object from this dataset with the given id, or undefined.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_dataobj --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$dataobj = $ds-&amp;amp;gt;dataobj( $id )====&lt;br /&gt;
&lt;br /&gt;
Returns the object from this dataset with the given id, or undefined.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_object_from_uri --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$dataobj = EPrints::DataSet-&amp;amp;gt;get_object_from_uri( $session, $uri )====&lt;br /&gt;
&lt;br /&gt;
Returns a the dataobj identified by internal URI $uri.&lt;br /&gt;
&lt;br /&gt;
Returns undef if $uri isn't an internal URI or the object is no longer available.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_name --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$xhtml = $ds-&amp;amp;gt;render_name( $session )====&lt;br /&gt;
&lt;br /&gt;
Return a piece of XHTML describing this dataset, in the language of the current session.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_map --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$ds-&amp;amp;gt;map( $session, $fn, $info )====&lt;br /&gt;
&lt;br /&gt;
Maps the function $fn onto every record in this dataset. See  Search for a full explanation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_repository --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$repository = $ds-&amp;amp;gt;repository====&lt;br /&gt;
&lt;br /&gt;
Returns the [[API:EPrints/Repository|EPrints::Repository]] to which this dataset belongs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_reindex --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$ds-&amp;amp;gt;reindex( $session )====&lt;br /&gt;
&lt;br /&gt;
Recommits all the items in this dataset. This could take a real long  time on a large set of records.&lt;br /&gt;
&lt;br /&gt;
Really should not be called reindex anymore as it doesn't.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_dataset_ids --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====@ids = EPrints::DataSet::get_dataset_ids()====&lt;br /&gt;
&lt;br /&gt;
Deprecated, use $repository-&amp;amp;gt;get_dataset_ids().&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_sql_dataset_ids --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====@ids = EPrints::DataSet::get_sql_dataset_ids()====&lt;br /&gt;
&lt;br /&gt;
Deprecated, use $repository-&amp;amp;gt;get_sql_dataset_ids().&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_count_indexes --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$n = $ds-&amp;amp;gt;count_indexes====&lt;br /&gt;
&lt;br /&gt;
Return the number of indexes required for the main SQL table of this dataset. Used to check it's not over 32 (the current maximum allowed by MySQL)&lt;br /&gt;
&lt;br /&gt;
Assumes things either have 1 or 0 indexes which might not always be true.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_item_ids --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====@ids = $dataset-&amp;amp;gt;get_item_ids( $session )====&lt;br /&gt;
&lt;br /&gt;
Return a list of the id's of all items in this set.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_is_virtual --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$bool = $dataset-&amp;amp;gt;is_virtual()====&lt;br /&gt;
&lt;br /&gt;
Returns whether this dataset is virtual (i.e. has no database tables).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_datestamp_field --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$field = $dataset-&amp;amp;gt;get_datestamp_field()====&lt;br /&gt;
&lt;br /&gt;
Returns the datestamp field for this dataset which may be used for incremental harvesting. Returns undef if no such field is available.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_prepare_search --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$searchexp = $ds-&amp;amp;gt;prepare_search( %options )====&lt;br /&gt;
&lt;br /&gt;
Returns a [[API:EPrints/Search|EPrints::Search]] for this dataset with %options.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_search --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$list = $ds-&amp;amp;gt;search( %options )====&lt;br /&gt;
&lt;br /&gt;
Short-cut to {{API:PodLink|file=|package_name=|section=prepare_search|text=/prepare_search}}( %options )-&amp;amp;gt;execute.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_list --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$list = $ds-&amp;amp;gt;list( $ids )====&lt;br /&gt;
&lt;br /&gt;
Returns a [[API:EPrints/List|EPrints::List]] for this dataset for the given $ids list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_columns --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$fields = $dataset-&amp;amp;gt;columns()====&lt;br /&gt;
&lt;br /&gt;
Returns the default list of fields to show the user when browsing this dataset in a table. Returns an array ref of [[API:EPrints/MetaField|EPrints::MetaField]] objects.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=_postamble_ --&amp;gt;&amp;lt;!-- Edit below this comment --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=API:EPrints/Database&amp;diff=8602</id>
		<title>API:EPrints/Database</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=API:EPrints/Database&amp;diff=8602"/>
		<updated>2010-02-12T16:33:54Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Pod2Wiki=_preamble_ &lt;br /&gt;
This page has been automatically generated from the EPrints 3.2 source. Any wiki changes made between the 'Pod2Wiki=*' and 'Edit below this comment' comments will be lost.&lt;br /&gt;
 --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
{{API}}{{Pod2Wiki}}{{API:Source|file=EPrints/Database.pm|package_name=EPrints::Database}}[[Category:API|Database]]&amp;lt;div&amp;gt;&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_name --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==NAME==&lt;br /&gt;
'''EPrints::Database''' - a connection to the SQL database for an eprints session.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_description --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==DESCRIPTION==&lt;br /&gt;
EPrints Database Access Module&lt;br /&gt;
&lt;br /&gt;
Provides access to the backend database. All database access done via this module, in the hope that the backend can be replaced as easily as possible.&lt;br /&gt;
&lt;br /&gt;
The database object is created automatically when you start a new eprints session. To get a handle on it use:&lt;br /&gt;
&lt;br /&gt;
$db = $session-&amp;amp;gt;get_database&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_cross_database_support --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===Cross-database Support===&lt;br /&gt;
Any use of SQL must use quote_identifier to quote database tables and columns. The only exception to this are the Database::* modules which provide database-driver specific extensions.&lt;br /&gt;
&lt;br /&gt;
Variables that are database quoted are prefixed with 'Q_'.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_build_connection_string --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$dbstr = EPrints::Database::build_connection_string( %params )====&lt;br /&gt;
&lt;br /&gt;
Build the string to use to connect to the database via DBI. %params  must contain dbname, and may also contain dbport, dbhost and dbsock.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_create --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$db = $db-&amp;amp;gt;create( $username, $password )====&lt;br /&gt;
&lt;br /&gt;
Create and connect to a new database using super user account $username and $password.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_new --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$db = EPrints::Database-&amp;amp;gt;new( $session )====&lt;br /&gt;
&lt;br /&gt;
Create a connection to the database.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_connect --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$foo = $db-&amp;amp;gt;connect====&lt;br /&gt;
&lt;br /&gt;
Connects to the database. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_disconnect --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$foo = $db-&amp;amp;gt;disconnect====&lt;br /&gt;
&lt;br /&gt;
Disconnects from the EPrints database. Should always be done before any script exits.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_error --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$errstr = $db-&amp;amp;gt;error====&lt;br /&gt;
&lt;br /&gt;
Return a string describing the last SQL error.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_begin --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$db-&amp;amp;gt;begin====&lt;br /&gt;
&lt;br /&gt;
Begin a transaction.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_commit --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$db-&amp;amp;gt;commit====&lt;br /&gt;
&lt;br /&gt;
Commit the previous begun transaction.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_rollback --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$db-&amp;amp;gt;rollback====&lt;br /&gt;
&lt;br /&gt;
Rollback the partially completed transaction.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_create_archive_tables --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$success = $db-&amp;amp;gt;create_archive_tables====&lt;br /&gt;
&lt;br /&gt;
Create all the SQL tables for each dataset.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_drop_archive_tables --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$db-&amp;amp;gt;drop_archive_tables()====&lt;br /&gt;
&lt;br /&gt;
Destroy all tables used by eprints in the database.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_create_dataset_tables --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$success = $db-&amp;amp;gt;create_dataset_tables( $dataset )====&lt;br /&gt;
&lt;br /&gt;
Create all the SQL tables for a single dataset.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_drop_dataset_tables --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$db-&amp;amp;gt;drop_dataset_tables( $dataset )====&lt;br /&gt;
&lt;br /&gt;
Drop all the SQL tables for a single dataset.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_create_dataset_index_tables --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$success = $db-&amp;amp;gt;create_dataset_index_tables( $dataset )====&lt;br /&gt;
&lt;br /&gt;
Create all the index tables for a single dataset.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_create_dataset_ordervalues_tables --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$success = $db-&amp;amp;gt;create_dataset_ordervalues_tables( $dataset )====&lt;br /&gt;
&lt;br /&gt;
Create all the ordervalues tables for a single dataset.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_type_info --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$type_info = $db-&amp;amp;gt;type_info( DATA_TYPE )====&lt;br /&gt;
&lt;br /&gt;
See {{API:PodLink|file=DBI|package_name=DBI|section=type_info|text=DBI/type_info}}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_column_type --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$real_type = $db-&amp;amp;gt;get_column_type( NAME, TYPE, NOT_NULL, [ LENGTH/PRECISION ], [ SCALE ], %opts )====&lt;br /&gt;
&lt;br /&gt;
Returns a SQL column definition for NAME of type TYPE, usually something like:&lt;br /&gt;
&lt;br /&gt;
  $name $type($length,$scale) [ NOT NULL ]&lt;br /&gt;
  &lt;br /&gt;
If NOT_NULL is true column will be set &amp;quot;not null&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
LENGTH/PRECISION and SCALE control the maximum lengths of character or decimal types (see below).&lt;br /&gt;
&lt;br /&gt;
Other options available to refine the column definition:&lt;br /&gt;
&lt;br /&gt;
  langid - character set/collation to use&lt;br /&gt;
  sorted - whether this column will be used to order by&lt;br /&gt;
  &lt;br /&gt;
'''langid''' is mapped to real database values by the &amp;quot;dblanguages&amp;quot; configuration option. The database may not be able to order the request column type in which case, if '''sorted''' is true, the database may use a substitute column type.&lt;br /&gt;
&lt;br /&gt;
TYPE is the SQL type. The types are constants defined by this module, to import them use:&lt;br /&gt;
&lt;br /&gt;
  use EPrints::Database qw( :sql_types );&lt;br /&gt;
  &lt;br /&gt;
Supported types (n = requires LENGTH argument):&lt;br /&gt;
&lt;br /&gt;
Character data: SQL_VARCHAR(n), SQL_LONGVARCHAR.&lt;br /&gt;
&lt;br /&gt;
Binary data: SQL_VARBINARY(n), SQL_LONGVARBINARY.&lt;br /&gt;
&lt;br /&gt;
Integer data: SQL_TINYINT, SQL_SMALLINT, SQL_INTEGER, SQL_BIGINT.&lt;br /&gt;
&lt;br /&gt;
Floating-point data: SQL_REAL, SQL_DOUBLE.&lt;br /&gt;
&lt;br /&gt;
Time data: SQL_DATE, SQL_TIME.&lt;br /&gt;
&lt;br /&gt;
The actual column types used will be database-specific.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_create_table --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$success = $db-&amp;amp;gt;create_table( $tablename, $dataset, $setkey, @fields );====&lt;br /&gt;
&lt;br /&gt;
Create the tables used to store metadata for this dataset: the main table and any required for multiple or mulitlang fields.&lt;br /&gt;
&lt;br /&gt;
The first $setkey number of fields are used for a primary key.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_has_sequence --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$boolean = $db-&amp;amp;gt;has_sequence( $name )====&lt;br /&gt;
&lt;br /&gt;
Return true if a sequence of the given name exists in the database.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_create_sequence --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$success = $db-&amp;amp;gt;create_sequence( $seq_name )====&lt;br /&gt;
&lt;br /&gt;
Creates a new sequence object initialised to zero.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_drop_sequence --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$success = $db-&amp;amp;gt;drop_sequence( $seq_name )====&lt;br /&gt;
&lt;br /&gt;
Deletes a sequence object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_drop_column --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$success = $db-&amp;amp;gt;drop_column( $table, $column )====&lt;br /&gt;
&lt;br /&gt;
Drops a column from a table.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_primary_key --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====@columns = $db-&amp;amp;gt;get_primary_key( $tablename )====&lt;br /&gt;
&lt;br /&gt;
Returns the list of column names that comprise the primary key for $tablename.&lt;br /&gt;
&lt;br /&gt;
Returns empty list if no primary key exists.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_create_index --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$success = $db-&amp;amp;gt;create_index( $tablename, @columns )====&lt;br /&gt;
&lt;br /&gt;
Creates an index over @columns for $tablename. Returns true on success.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_create_unique_index --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$success = $db-&amp;amp;gt;create_unique_index( $tablename, @columns )====&lt;br /&gt;
&lt;br /&gt;
Creates a unique index over @columns for $tablename. Returns true on success.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item__update --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$success = $db-&amp;amp;gt;_update( $tablename, $keycols, $keyvals, $columns, @values )====&lt;br /&gt;
&lt;br /&gt;
UPDATES $tablename where $keycols equals $keyvals.&lt;br /&gt;
&lt;br /&gt;
This method is internal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item__update_quoted --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$success = $db-&amp;amp;gt;_update_quoted( $tablename, $keycols, $keyvals, $columns, @qvalues )====&lt;br /&gt;
&lt;br /&gt;
UPDATES $tablename where $keycols equals $keyvals. Won't quote $keyvals or @qvalues before use - use this method with care!&lt;br /&gt;
&lt;br /&gt;
This method is internal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_insert --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$success = $db-&amp;amp;gt;insert( $table, $columns, @values )====&lt;br /&gt;
&lt;br /&gt;
Inserts values into the table $table. If $columns is defined it will be used as a list of columns to insert into. @values is a list of arrays containing values to insert.&lt;br /&gt;
&lt;br /&gt;
Values will be quoted before insertion.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_insert_quoted --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$success = $db-&amp;amp;gt;insert_quoted( $table, $columns, @qvalues )====&lt;br /&gt;
&lt;br /&gt;
Inserts values into the table $table. If $columns is defined it will be used as a list of columns to insert into. @qvalues is a list of arrays containing values to insert.&lt;br /&gt;
&lt;br /&gt;
Values will NOT be quoted before insertion - care must be exercised!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_delete_from --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$success = $db-&amp;amp;gt;delete_from( $table, $columns, @values )====&lt;br /&gt;
&lt;br /&gt;
Perform a SQL DELETE FROM $table using $columns to build a where clause. @values is a list of array references of values in the same order as $columns.&lt;br /&gt;
&lt;br /&gt;
If you want to clear a table completely use clear_table().&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_add_record --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$success = $db-&amp;amp;gt;add_record( $dataset, $data )====&lt;br /&gt;
&lt;br /&gt;
Add the given data as a new record in the given dataset. $data is a reference to a hash containing values structured for a record in the that dataset.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_prep_int --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$mungedvalue = EPrints::Database::prep_int( $value )====&lt;br /&gt;
&lt;br /&gt;
Escape a numerical value for SQL. undef becomes NULL. Anything else becomes a number (zero if needed).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_prep_value --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$mungedvalue = EPrints::Database::prep_value( $value )====&lt;br /&gt;
&lt;br /&gt;
Escape a value for SQL. Modify value such that &amp;quot; becomes \&amp;quot; and \  becomes \\ and ' becomes \'&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_prep_like_value --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$mungedvalue = EPrints::Database::prep_like_value( $value )====&lt;br /&gt;
&lt;br /&gt;
Escape an value for an SQL like field. In addition to ' &amp;quot; and \ also  escapes % and _&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_quote_value --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$str = $db-&amp;amp;gt;quote_value( $value )====&lt;br /&gt;
&lt;br /&gt;
Return a quoted value. To quote a 'like' value you should do:&lt;br /&gt;
&lt;br /&gt;
 my $str = $database-&amp;amp;gt;quote_value( EPrints::Database::prep_like_value( $foo ) . '%' );&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_quote_int --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$str = $db-&amp;amp;gt;quote_int( $value )====&lt;br /&gt;
&lt;br /&gt;
Return a quoted integer value&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_quote_binary --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$str = $db-&amp;amp;gt;quote_binary( $bytes )====&lt;br /&gt;
&lt;br /&gt;
Some databases (PostgreSQL) require weird transforms of binary data to work correctly.&lt;br /&gt;
&lt;br /&gt;
This method should be called on data containing nul bytes or back-slashes before being passed on {{API:PodLink|file=|package_name=|section=quote_value|text=/quote_value}}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_quote_identifier --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$str = $db-&amp;amp;gt;quote_identifier( @parts )====&lt;br /&gt;
&lt;br /&gt;
Quote a database identifier (e.g. table names). Multiple @parts will be joined by dot.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_update --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$success = $db-&amp;amp;gt;update( $dataset, $data, $changed, $insert )====&lt;br /&gt;
&lt;br /&gt;
Updates a record in the database with the given $data. Obviously the value of the primary key must be set.&lt;br /&gt;
&lt;br /&gt;
This also updates the text indexes and the ordering keys.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_remove --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$success = $db-&amp;amp;gt;remove( $dataset, $id )====&lt;br /&gt;
&lt;br /&gt;
Attempts to remove the record with the primary key $id from the  specified dataset.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_create_counters --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$success = $db-&amp;amp;gt;create_counters====&lt;br /&gt;
&lt;br /&gt;
Create the counters used to store the highest current id of eprints, users etc.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_has_counter --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$success = $db-&amp;amp;gt;has_counter( $counter )====&lt;br /&gt;
&lt;br /&gt;
Returns true if $counter exists.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_create_counter --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$success = $db-&amp;amp;gt;create_counter( $name )====&lt;br /&gt;
&lt;br /&gt;
Create and initialise to zero a new counter called $name.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_remove_counters --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$success = $db-&amp;amp;gt;remove_counters====&lt;br /&gt;
&lt;br /&gt;
Destroy all counters.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_drop_counter --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$success = $db-&amp;amp;gt;drop_counter( $name )====&lt;br /&gt;
&lt;br /&gt;
Destroy the counter named $name.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_next_doc_pos --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$n = $db-&amp;amp;gt;next_doc_pos( $eprintid )====&lt;br /&gt;
&lt;br /&gt;
Return the next unused document pos for the given eprintid.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_counter_current --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$n = $db-&amp;amp;gt;counter_current( $counter )====&lt;br /&gt;
&lt;br /&gt;
Return the value of the previous counter_next on $counter.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_counter_next --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$n = $db-&amp;amp;gt;counter_next( $counter )====&lt;br /&gt;
&lt;br /&gt;
Return the next unused value for the named counter. Returns undef if  the counter doesn't exist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_counter_minimum --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$db-&amp;amp;gt;counter_minimum( $counter, $value )====&lt;br /&gt;
&lt;br /&gt;
Ensure that the counter is set no lower than $value. This is used when importing eprints which may not be in scrict sequence.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_counter_reset --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$db-&amp;amp;gt;counter_reset( $counter )====&lt;br /&gt;
&lt;br /&gt;
Reset the counter. Use with caution.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_cache_exp --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$searchexp = $db-&amp;amp;gt;cache_exp( $cacheid )====&lt;br /&gt;
&lt;br /&gt;
Return the serialised Search of a the cached search with id $cacheid. Return undef if the id is invalid or expired.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_cache --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$cacheid = $db-&amp;amp;gt;cache( $searchexp, $dataset, $srctable, [$order], [$list] )====&lt;br /&gt;
&lt;br /&gt;
Create a cache of the specified search expression from the SQL table $srctable.&lt;br /&gt;
&lt;br /&gt;
If $order is set then the cache is ordered by the specified fields. For example &amp;quot;-year/title&amp;quot; orders by year (descending). Records with the same year are ordered by title.&lt;br /&gt;
&lt;br /&gt;
If $srctable is set to &amp;quot;LIST&amp;quot; then order is ignored and the list of ids is taken from the array reference $list.&lt;br /&gt;
&lt;br /&gt;
If $srctable is set to &amp;quot;ALL&amp;quot; every matching record from $dataset is added to the cache, optionally ordered by $order.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_cache_table --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$tablename = $db-&amp;amp;gt;cache_table( $id )====&lt;br /&gt;
&lt;br /&gt;
Return the SQL table used to store the cache with id $id.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_index_ids --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$ids = $db-&amp;amp;gt;get_index_ids( $table, $condition )====&lt;br /&gt;
&lt;br /&gt;
Return a reference to an array of the distinct primary keys from the given SQL table which match the specified condition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_search --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$ids = $db-&amp;amp;gt;search( $keyfield, $tables, $conditions, [$main_table_alias] )====&lt;br /&gt;
&lt;br /&gt;
Return a reference to an array of ids - the results of the search specified by $conditions accross the tables specified in the $tables hash where keys are tables aliases and values are table names. &lt;br /&gt;
&lt;br /&gt;
If no table alias is passed then M is assumed. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_drop_cache --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$db-&amp;amp;gt;drop_cache( $id )====&lt;br /&gt;
&lt;br /&gt;
Remove the cached search with the given id.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_count_table --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$n = $db-&amp;amp;gt;count_table( $tablename )====&lt;br /&gt;
&lt;br /&gt;
Return the number of rows in the specified SQL table.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_from_cache --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$foo = $db-&amp;amp;gt;from_cache( $dataset, $cacheid, [$offset], [$count], [$justids] )====&lt;br /&gt;
&lt;br /&gt;
Return a reference to an array containing all the items from the given dataset that have id's in the specified cache. The cache may be  specified either by id or serialised search expression. &lt;br /&gt;
&lt;br /&gt;
$offset is an offset from the start of the cache and $count is the number of records to return.&lt;br /&gt;
&lt;br /&gt;
If $justids is true then it returns just an ref to an array of the record ids, not the objects.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_drop_orphan_cache_tables --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$c = $db-&amp;amp;gt;drop_orphan_cache_tables====&lt;br /&gt;
&lt;br /&gt;
Drop tables called &amp;quot;cacheXXX&amp;quot; where XXX is an integer. Returns the number of tables dropped.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_single --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$obj = $db-&amp;amp;gt;get_single( $dataset, $id )====&lt;br /&gt;
&lt;br /&gt;
Return a single item from the given dataset. The one with the specified id.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_all --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$items = $db-&amp;amp;gt;get_all( $dataset )====&lt;br /&gt;
&lt;br /&gt;
Returns a reference to an array with all the items from the given dataset.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_cache_ids --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====@ids = $db-&amp;amp;gt;get_cache_ids( $dataset, $cachemap, $offset, $count )====&lt;br /&gt;
&lt;br /&gt;
Returns a list of $count ids from $cache_id starting at $offset and in the order in the cachemap.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_dataobjs --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====@dataobjs = $db-&amp;amp;gt;get_dataobjs( $dataset [, $id [, $id ] ] )====&lt;br /&gt;
&lt;br /&gt;
Retrieves the records in $dataset with the given $id(s). If an $id doesn't exist in the database it will be ignored.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_values --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$foo = $db-&amp;amp;gt;get_values( $field, $dataset )====&lt;br /&gt;
&lt;br /&gt;
Return a reference to an array of all the distinct values of the  EPrints::MetaField specified.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_sort_values --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$values = $db-&amp;amp;gt;sort_values( $field, $values [, $langid ] )====&lt;br /&gt;
&lt;br /&gt;
ALPHA!!! Liable to API change!!!&lt;br /&gt;
&lt;br /&gt;
Sorts and returns the list of $values using the database.&lt;br /&gt;
&lt;br /&gt;
$field is used to get the order value for each value. $langid (or $session-&amp;amp;gt;get_langid if unset) is used to determine the database collation to use when sorting the resulting order values.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_ids_by_field_values --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$ids = $db-&amp;amp;gt;get_ids_by_field_values( $field, $dataset [ %opts ] )====&lt;br /&gt;
&lt;br /&gt;
Return a reference to a hash table where the keys are field value ids and the value is a reference to an array of ids.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_do --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$success = $db-&amp;amp;gt;do( $sql )====&lt;br /&gt;
&lt;br /&gt;
Execute the given SQL.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_prepare --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$sth = $db-&amp;amp;gt;prepare( $sql )====&lt;br /&gt;
&lt;br /&gt;
Prepare the given $sql and return a handle on it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_prepare_select --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$sth = $db-&amp;amp;gt;prepare_select( $sql [, %options ] )====&lt;br /&gt;
&lt;br /&gt;
Prepare a SELECT statement $sql and return a handle to it. After preparing a statement use execute() to execute it.&lt;br /&gt;
&lt;br /&gt;
The LIMIT SQL keyword is not universally supported, to specify a LIMIT you must use the '''limit''' option.&lt;br /&gt;
&lt;br /&gt;
Options:&lt;br /&gt;
&lt;br /&gt;
  limit - limit the number of rows returned&lt;br /&gt;
  offset - return '''limit''' number of rows after offset&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_execute --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$success = $db-&amp;amp;gt;execute( $sth, $sql )====&lt;br /&gt;
&lt;br /&gt;
Execute the SQL prepared earlier. $sql is only passed in for debugging purposes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_has_dataset --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$db-&amp;amp;gt;has_dataset( $dataset )====&lt;br /&gt;
&lt;br /&gt;
Returns true if $dataset exists in the database or has no database tables.&lt;br /&gt;
&lt;br /&gt;
This does not check that all fields are configured - see has_field().&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_has_field --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$db-&amp;amp;gt;has_field( $dataset, $field )====&lt;br /&gt;
&lt;br /&gt;
Returns true if $field is in the database for $dataset.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_add_field --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$db-&amp;amp;gt;add_field( $dataset, $field [, $force ] )====&lt;br /&gt;
&lt;br /&gt;
Add $field to $dataset's tables.&lt;br /&gt;
&lt;br /&gt;
If $force is true will modify/replace an existing column (use with care!).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_remove_field --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$db-&amp;amp;gt;remove_field( $dataset, $field )====&lt;br /&gt;
&lt;br /&gt;
Remove $field from $dataset's tables.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_rename_field --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$ok = $db-&amp;amp;gt;rename_field( $dataset, $field, $old_name )====&lt;br /&gt;
&lt;br /&gt;
Rename a $field in the database from it's old name $old_name.&lt;br /&gt;
&lt;br /&gt;
Returns true if the field was successfully renamed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_exists --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$boolean = $db-&amp;amp;gt;exists( $dataset, $id )====&lt;br /&gt;
&lt;br /&gt;
Return true if a record with the given primary key exists in the dataset, otherwise false.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_set_debug --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$db-&amp;amp;gt;set_debug( $boolean )====&lt;br /&gt;
&lt;br /&gt;
Set the SQL debug mode to true or false.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_create_version_table --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$db-&amp;amp;gt;create_version_table====&lt;br /&gt;
&lt;br /&gt;
Make the version table (and set the only value to be the current version of eprints).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_drop_version_table --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$db-&amp;amp;gt;drop_version_table====&lt;br /&gt;
&lt;br /&gt;
Drop the version table.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_set_version --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$db-&amp;amp;gt;set_version( $versionid );====&lt;br /&gt;
&lt;br /&gt;
Set the version id table in the SQL database to the given value (used by the upgrade script).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_has_table --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$boolean = $db-&amp;amp;gt;has_table( $tablename )====&lt;br /&gt;
&lt;br /&gt;
Return true if a table of the given name exists in the database.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_has_column --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$boolean = $db-&amp;amp;gt;has_column( $tablename, $columnname )====&lt;br /&gt;
&lt;br /&gt;
Return true if the a table of the given name has a column named $columnname in the database.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_drop_table --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$db-&amp;amp;gt;drop_table( $tablename )====&lt;br /&gt;
&lt;br /&gt;
Delete the named table. Use with caution!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_clear_table --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$db-&amp;amp;gt;clear_table( $tablename )====&lt;br /&gt;
&lt;br /&gt;
Clears all records from the given table, use with caution!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_rename_table --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$db-&amp;amp;gt;rename_table( $tablename, $newtablename )====&lt;br /&gt;
&lt;br /&gt;
Renames the table from the old name to the new one.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_swap_table --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$db-&amp;amp;gt;swap_table( $table_a, $table_b )====&lt;br /&gt;
&lt;br /&gt;
Swap table a and table b. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_tables --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====@tables = $db-&amp;amp;gt;get_tables====&lt;br /&gt;
&lt;br /&gt;
Return a list of all the tables in the database.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_version --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$version = $db-&amp;amp;gt;get_version====&lt;br /&gt;
&lt;br /&gt;
Return the version of eprints which the database is compatable with or undef if unknown (before v2.1).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_is_latest_version --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$boolean = $db-&amp;amp;gt;is_latest_version====&lt;br /&gt;
&lt;br /&gt;
Return true if the SQL tables are in the correct configuration for this edition of eprints. Otherwise false.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_valid_login --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$db-&amp;amp;gt;valid_login( $username, $password )====&lt;br /&gt;
&lt;br /&gt;
Returns whether the clear-text $password matches the stored crypted password for $username.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_server_version --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$version = $db-&amp;amp;gt;get_server_version====&lt;br /&gt;
&lt;br /&gt;
Return the database server version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_default_charset --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$charset = $db-&amp;amp;gt;get_default_charset( LANGUAGE )====&lt;br /&gt;
&lt;br /&gt;
Return the character set to use for LANGUAGE.&lt;br /&gt;
&lt;br /&gt;
Returns undef if character sets are unsupported.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_default_collation --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$collation = $db-&amp;amp;gt;get_default_collation( LANGUAGE )====&lt;br /&gt;
&lt;br /&gt;
Return the collation to use for LANGUAGE.&lt;br /&gt;
&lt;br /&gt;
Returns undef if collation is unsupported.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_driver_name --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$driver = $db-&amp;amp;gt;get_driver_name====&lt;br /&gt;
&lt;br /&gt;
Return the database driver name.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=for --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
INTERNAL&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_dequeue_events --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====@events = $db-&amp;amp;gt;dequeue_events( $n )====&lt;br /&gt;
&lt;br /&gt;
Attempt to dequeue upto $n events. May return between 0 and $n events depending on parallel processes and how many events are remaining on the queue.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_prepare_regexp --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$sql = $db-&amp;amp;gt;prepare_regexp( $quoted_column, $quoted_value )====&lt;br /&gt;
&lt;br /&gt;
The syntax used for regular expressions varies across databases. This method takes two '''quoted''' values and returns a SQL expression that will apply the regexp ($quoted_value) to the column ($quoted_column).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=_postamble_ --&amp;gt;&amp;lt;!-- Edit below this comment --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=API:EPrints/Repository&amp;diff=8601</id>
		<title>API:EPrints/Repository</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=API:EPrints/Repository&amp;diff=8601"/>
		<updated>2010-02-12T16:29:42Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Pod2Wiki=_preamble_ &lt;br /&gt;
This page has been automatically generated from the EPrints 3.2 source. Any wiki changes made between the 'Pod2Wiki=*' and 'Edit below this comment' comments will be lost.&lt;br /&gt;
 --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
{{API}}{{Pod2Wiki}}{{API:Source|file=EPrints/Repository.pm|package_name=EPrints::Repository}}[[Category:API|Repository]]&amp;lt;div&amp;gt;&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_name --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==NAME==&lt;br /&gt;
'''EPrints::Repository''' - Single connection to the EPrints system&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_description --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==DESCRIPTION==&lt;br /&gt;
This module is not really a session. The name is out of date, but hard to change.&lt;br /&gt;
&lt;br /&gt;
EPrints::Repository represents a connection to the EPrints system. It connects to a single EPrints repository, and the database used by that repository. Thus it has an associated EPrints::Database and EPrints::Repository object.&lt;br /&gt;
&lt;br /&gt;
Each &amp;quot;session&amp;quot; has a &amp;quot;current language&amp;quot;. If you are running in a  multilingual mode, this is used by the HTML rendering functions to choose what language to return text in.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;session&amp;quot; object also knows about the current apache connection, if there is one, including the CGI parameters. &lt;br /&gt;
&lt;br /&gt;
If the connection requires a username and password then it can also  give access to the EPrints::DataObj::User object representing the user who is causing this request. &lt;br /&gt;
&lt;br /&gt;
The session object also provides many methods for creating XHTML  results which can be returned via the web interface. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_new --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$repository = EPrints::Repository-&amp;amp;gt;new( $mode, [$repository_id], [$noise], [$nocheckdb] )===&lt;br /&gt;
&lt;br /&gt;
Create a connection to an EPrints repository which provides access  to the database and to the repository configuration.&lt;br /&gt;
&lt;br /&gt;
This method can be called in two modes. Setting $mode to 0 means this is a connection via a CGI web page. $repository_id is ignored, instead the value is taken from the &amp;quot;PerlSetVar EPrints_ArchiveID&amp;quot; option in the apache configuration for the current directory.&lt;br /&gt;
&lt;br /&gt;
If this is being called from a command line script, then $mode should be 1, and $repository_id should be the ID of the repository we want to connect to.&lt;br /&gt;
&lt;br /&gt;
$mode : mode = 0    - We are online (CGI script) mode = 1    - We are offline (bin script) $repository_id is repository_id mode = 2    - We are online, but don't create a CGI query (so we&lt;br /&gt;
 don't consume the data).&lt;br /&gt;
&lt;br /&gt;
$noise is the level of debugging output. 0 - silent 1 - quietish 2 - noisy 3 - debug all SQL statements 4 - debug database connection&lt;br /&gt;
 &lt;br /&gt;
Under normal conditions use &amp;quot;0&amp;quot; for online and &amp;quot;1&amp;quot; for offline.&lt;br /&gt;
&lt;br /&gt;
$nocheckdb - if this is set to 1 then a connection is made to the database without checking that the tables exist. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_request --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$request = $repository-&amp;amp;gt;get_request;===&lt;br /&gt;
&lt;br /&gt;
Return the Apache request object (from mod_perl) or undefined if  this isn't a CGI script.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_query --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$query = $repository-&amp;amp;gt;query===&lt;br /&gt;
&lt;br /&gt;
Return the {{API:PodLink|file=CGI|package_name=CGI|section=|text=CGI}} object describing the current HTTP query, or  undefined if this isn't a CGI script.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_terminate --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$repository-&amp;amp;gt;terminate===&lt;br /&gt;
&lt;br /&gt;
Perform any cleaning up necessary, for example SQL cache tables which are no longer needed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_xml --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$xml = $repo-&amp;amp;gt;xml===&lt;br /&gt;
&lt;br /&gt;
Return an XML object for working with XML.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_xhtml --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$xhtml = $repo-&amp;amp;gt;xhtml===&lt;br /&gt;
&lt;br /&gt;
Return an XHTML object for working with XHTML.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_eprint --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$eprint = $repository-&amp;amp;gt;eprint( $eprint_id );===&lt;br /&gt;
&lt;br /&gt;
Return the eprint with the given ID, or undef.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_user --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$user = $repository-&amp;amp;gt;user( $user_id );===&lt;br /&gt;
&lt;br /&gt;
Return the user with the given ID, or undef.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_user_by_username --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$user = $repository-&amp;amp;gt;user_by_username( $username );===&lt;br /&gt;
&lt;br /&gt;
Return the user with the given username, or undef.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_user_by_email --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$user = $repository-&amp;amp;gt;user_by_email( $email );===&lt;br /&gt;
&lt;br /&gt;
Return the user with the given email, or undef.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_new_from_request --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$repository = EPrints::RepositoryConfig-&amp;amp;gt;new_from_request( $request )===&lt;br /&gt;
&lt;br /&gt;
This creates a new repository object. It looks at the given Apache request object and decides which repository to load based on the  value of the PerlVar &amp;quot;EPrints_ArchiveID&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Aborts with an error if this is not possible.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_language --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$language = $repository-&amp;amp;gt;get_language( [$langid] )===&lt;br /&gt;
&lt;br /&gt;
Returns the EPrints::Language for the requested language id (or the default for this repository if $langid is not specified). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_template_parts --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$template = $repository-&amp;amp;gt;get_template_parts( $langid, [$template_id] )===&lt;br /&gt;
&lt;br /&gt;
Returns an array of utf-8 strings alternating between XML and the id of a pin to replace. This is used for the faster template construction.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_template --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$template = $repository-&amp;amp;gt;get_template( $langid, [$template_id] )===&lt;br /&gt;
&lt;br /&gt;
Returns the DOM document which is the webpage template for the given language. Do not modify the template without cloning it first.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_types --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===@type_ids = $repository-&amp;amp;gt;get_types( $type_set )===&lt;br /&gt;
&lt;br /&gt;
Return an array of keys for the named set. Comes from  /cfg/types/foo.xml&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_dataset_ids --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===@dataset_ids = $repository-&amp;amp;gt;get_dataset_ids()===&lt;br /&gt;
&lt;br /&gt;
Returns a list of dataset ids in this repository.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_sql_dataset_ids --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===@dataset_ids = $repository-&amp;amp;gt;get_sql_dataset_ids()===&lt;br /&gt;
&lt;br /&gt;
Returns a list of dataset ids that have database tables.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_sql_counter_ids --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===@counter_ids = $repository-&amp;amp;gt;get_sql_counter_ids()===&lt;br /&gt;
&lt;br /&gt;
Returns a list of counter ids generated by the database.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_dataset --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$dataset = $repository-&amp;amp;gt;dataset( $setname )===&lt;br /&gt;
&lt;br /&gt;
Return a given dataset or undef if it doesn't exist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_plugin_factory --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$plugins = $repository-&amp;amp;gt;get_plugin_factory()===&lt;br /&gt;
&lt;br /&gt;
Return the plugins factory object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_config --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$confitem = $repository-&amp;amp;gt;config( $key, [@subkeys] )===&lt;br /&gt;
&lt;br /&gt;
Returns a named configuration setting. Probably set in ArchiveConfig.pm&lt;br /&gt;
&lt;br /&gt;
$repository-&amp;amp;gt;config( &amp;quot;stuff&amp;quot;, &amp;quot;en&amp;quot;, &amp;quot;foo&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
is equivalent to &lt;br /&gt;
&lt;br /&gt;
$repository-&amp;amp;gt;config( &amp;quot;stuff&amp;quot; )-&amp;amp;gt;{en}-&amp;amp;gt;{foo} &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_log --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$repository-&amp;amp;gt;log( $msg )===&lt;br /&gt;
&lt;br /&gt;
Calls the log method from ArchiveConfig.pm for this repository with the  given parameters. Basically logs the comments wherever the site admin wants them to go. Printed to STDERR by default.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_call --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$result = $repository-&amp;amp;gt;call( $cmd, @params )===&lt;br /&gt;
&lt;br /&gt;
Calls the subroutine named $cmd from the configuration perl modules for this repository with the given params and returns the result.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_can_call --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$boolean = $repository-&amp;amp;gt;can_call( @cmd_conf_path )===&lt;br /&gt;
&lt;br /&gt;
Return true if the given subroutine exists in this repository's config package.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_try_call --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$result = $repository-&amp;amp;gt;try_call( $cmd, @params )===&lt;br /&gt;
&lt;br /&gt;
Calls the subroutine named $cmd from the configuration perl modules for this repository with the given params and returns the result.&lt;br /&gt;
&lt;br /&gt;
If the subroutine does not exist then quietly returns undef.&lt;br /&gt;
&lt;br /&gt;
This is used to call deprecated callback subroutines.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_store_dirs --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===@dirs = $repository-&amp;amp;gt;get_store_dirs===&lt;br /&gt;
&lt;br /&gt;
Returns a list of directories available for storing documents. These may well be symlinks to other hard drives.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_static_dirs --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===@dirs = $repository-&amp;amp;gt;get_static_dirs( $langid )===&lt;br /&gt;
&lt;br /&gt;
Returns a list of directories from which static files may be sourced.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_store_dir_size --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$size = $repository-&amp;amp;gt;get_store_dir_size( $dir )===&lt;br /&gt;
&lt;br /&gt;
Returns the current storage (in bytes) used by a given documents dir. $dir should be one of the values returned by $repository-&amp;amp;gt;get_store_dirs.&lt;br /&gt;
&lt;br /&gt;
This should not be called if disable_df is set in SystemSettings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_parse_xml --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$domdocument = $repository-&amp;amp;gt;parse_xml( $file, $no_expand );===&lt;br /&gt;
&lt;br /&gt;
Turns the given $file into a XML DOM document. If $no_expand is true then load &amp;amp;amp;entities; but do not expand them to the values in the DTD.&lt;br /&gt;
&lt;br /&gt;
This function also sets the path in which the Parser will look for  DTD files to the repository's config directory.&lt;br /&gt;
&lt;br /&gt;
Returns undef if an error occurs during parsing.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_id --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$id = $repository-&amp;amp;gt;get_id ===&lt;br /&gt;
&lt;br /&gt;
Returns the id string of this repository.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_exec --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$returncode = $repository-&amp;amp;gt;exec( $cmd_id, %map )===&lt;br /&gt;
&lt;br /&gt;
Executes a system command. $cmd_id is the id of the command as set in SystemSettings and %map contains a list of things to &amp;quot;fill in the blanks&amp;quot; in the invocation line in SystemSettings. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_invocation --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$commandstring = $repository-&amp;amp;gt;invocation( $cmd_id, %map )===&lt;br /&gt;
&lt;br /&gt;
Finds the invocation for the specified command from SystemSetting and fills in the blanks using %map. Returns a string which may be executed as a system call.&lt;br /&gt;
&lt;br /&gt;
All arguments are ESCAPED using quotemeta() before being used (i.e. don't pre-escape arguments in %map).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_field_defaults --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$defaults = $repository-&amp;amp;gt;get_field_defaults( $fieldtype )===&lt;br /&gt;
&lt;br /&gt;
Return the cached default properties for this metadata field type. or undef.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_set_field_defaults --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$repository-&amp;amp;gt;set_field_defaults( $fieldtype, $defaults )===&lt;br /&gt;
&lt;br /&gt;
Cache the default properties for this metadata field type.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_generate_dtd --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$success = $repository-&amp;amp;gt;generate_dtd===&lt;br /&gt;
&lt;br /&gt;
DEPRECATED&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_test_config --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===( $returncode, $output) = $repository-&amp;amp;gt;test_config===&lt;br /&gt;
&lt;br /&gt;
This runs &amp;quot;epadmin test&amp;quot; as an external script to test if the current configuraion on disk loads OK. This can be used by the web interface to test if changes to config. files may be saved, or not.&lt;br /&gt;
&lt;br /&gt;
$returncode will be zero if everything seems OK.&lt;br /&gt;
&lt;br /&gt;
If not, then $output will contain the output of epadmin test &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_language_related_methods --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===Language Related Methods===&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_session_language --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$langid = EPrints::Repository::get_session_language( $repository, $request )====&lt;br /&gt;
&lt;br /&gt;
Given an repository object and a Apache (mod_perl) request object, this method decides what language the session should be.&lt;br /&gt;
&lt;br /&gt;
First it looks at the HTTP cookie &amp;quot;eprints_lang&amp;quot;, failing that it looks at the prefered language of the request from the HTTP header, failing that it looks at the default language for the repository.&lt;br /&gt;
&lt;br /&gt;
The language ID it returns is the highest on the list that the given eprint repository actually supports.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_change_lang --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$repository-&amp;amp;gt;change_lang( $newlangid )====&lt;br /&gt;
&lt;br /&gt;
Change the current language of the session. $newlangid should be a valid country code for the current repository.&lt;br /&gt;
&lt;br /&gt;
An invalid code will cause eprints to terminate with an error.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_html_phrase --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$xhtml_phrase = $repository-&amp;amp;gt;html_phrase( $phraseid, %inserts )====&lt;br /&gt;
&lt;br /&gt;
Return an XHTML DOM object describing a phrase from the phrase files.&lt;br /&gt;
&lt;br /&gt;
$phraseid is the id of the phrase to return. If the same ID appears in both the repository-specific phrases file and the system phrases file then the repository-specific one is used.&lt;br /&gt;
&lt;br /&gt;
If the phrase contains &amp;amp;lt;ep:pin&amp;amp;gt; elements, then each one should have an entry in %inserts where the key is the &amp;quot;ref&amp;quot; of the pin and the value is an XHTML DOM object describing what the pin should be  replaced with.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_phrase --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$utf8_text = $repository-&amp;amp;gt;phrase( $phraseid, %inserts )====&lt;br /&gt;
&lt;br /&gt;
Performs the same function as html_phrase, but returns plain text.&lt;br /&gt;
&lt;br /&gt;
All HTML elements will be removed, &amp;amp;lt;br&amp;amp;gt; and &amp;amp;lt;p&amp;amp;gt; will be converted  into breaks in the text. &amp;amp;lt;img&amp;amp;gt; tags will be replaced with their  &amp;quot;alt&amp;quot; values.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_lang --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$language = $repository-&amp;amp;gt;get_lang====&lt;br /&gt;
&lt;br /&gt;
Return the EPrints::Language object for this sessions current  language.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_langid --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$langid = $repository-&amp;amp;gt;get_langid====&lt;br /&gt;
&lt;br /&gt;
Return the ID code of the current language of this session.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_best_language --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$value = EPrints::Repository::best_language( $repository, $lang, %values )====&lt;br /&gt;
&lt;br /&gt;
$repository is the current repository. $lang is the prefered language.&lt;br /&gt;
&lt;br /&gt;
%values contains keys which are language ids, and values which is text or phrases in those languages, all translations of the same  thing.&lt;br /&gt;
&lt;br /&gt;
This function returns one of the values from %values based on the  following logic:&lt;br /&gt;
&lt;br /&gt;
If possible, return the value for $lang.&lt;br /&gt;
&lt;br /&gt;
Otherwise, if possible return the value for the default language of this repository.&lt;br /&gt;
&lt;br /&gt;
Otherwise, if possible return the value for &amp;quot;en&amp;quot; (English).&lt;br /&gt;
&lt;br /&gt;
Otherwise just return any one value.&lt;br /&gt;
&lt;br /&gt;
This means that the view sees the best possible phrase. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_view_name --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$viewname = $repository-&amp;amp;gt;get_view_name( $dataset, $viewid )====&lt;br /&gt;
&lt;br /&gt;
Return a UTF8 encoded string containing the human readable name of the /view/ section with the ID $viewid.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_accessor_methods --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===Accessor Methods===&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_database --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$db = $repository-&amp;amp;gt;get_database====&lt;br /&gt;
&lt;br /&gt;
Return the current EPrints::Database connection object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_storage --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$store = $repository-&amp;amp;gt;get_storage====&lt;br /&gt;
&lt;br /&gt;
Return the storage control object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_repository --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$repository = $repository-&amp;amp;gt;get_repository====&lt;br /&gt;
&lt;br /&gt;
Return the EPrints::Repository object associated with the Repository.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_current_url --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$url = $repository-&amp;amp;gt;current_url( [ @OPTS ] [, $page] )====&lt;br /&gt;
&lt;br /&gt;
Utility method to get various URLs. See [[API:EPrints/URL|EPrints::URL]].&lt;br /&gt;
&lt;br /&gt;
With no arguments returns the current full URL without any query part.&lt;br /&gt;
&lt;br /&gt;
  # Return the current static path&lt;br /&gt;
  $repository-&amp;amp;gt;current_url( path =&amp;amp;gt; &amp;quot;static&amp;quot; );&lt;br /&gt;
  &lt;br /&gt;
  # Return the current cgi path&lt;br /&gt;
  $repository-&amp;amp;gt;current_url( path =&amp;amp;gt; &amp;quot;cgi&amp;quot; );&lt;br /&gt;
  &lt;br /&gt;
  # Return a full URL to the current cgi path&lt;br /&gt;
  $repository-&amp;amp;gt;current_url( host =&amp;amp;gt; 1, path =&amp;amp;gt; &amp;quot;cgi&amp;quot; );&lt;br /&gt;
  &lt;br /&gt;
  # Return a full URL to the static path under HTTP&lt;br /&gt;
  $repository-&amp;amp;gt;current_url( scheme =&amp;amp;gt; &amp;quot;http&amp;quot;, host =&amp;amp;gt; 1, path =&amp;amp;gt; &amp;quot;static&amp;quot; );&lt;br /&gt;
  &lt;br /&gt;
  # Return a full URL to the image 'foo.png'&lt;br /&gt;
  $repository-&amp;amp;gt;current_url( host =&amp;amp;gt; 1, path =&amp;amp;gt; &amp;quot;images&amp;quot;, &amp;quot;foo.png&amp;quot; );&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_uri --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$uri = $repository-&amp;amp;gt;get_uri====&lt;br /&gt;
&lt;br /&gt;
Returns the URL of the current script. Or &amp;quot;undef&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_full_url --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$uri = $repository-&amp;amp;gt;get_full_url====&lt;br /&gt;
&lt;br /&gt;
Returns the URL of the current script plus the CGI params.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_noise --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$noise_level = $repository-&amp;amp;gt;get_noise====&lt;br /&gt;
&lt;br /&gt;
Return the noise level for the current session. See the explaination under EPrints::Repository-&amp;amp;gt;new()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_online --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$boolean = $repository-&amp;amp;gt;get_online====&lt;br /&gt;
&lt;br /&gt;
Return true if this script is running via CGI, return false if we're on the command line.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_secure --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$secure = $repository-&amp;amp;gt;get_secure====&lt;br /&gt;
&lt;br /&gt;
Returns true if we're using HTTPS/SSL (checks get_online first).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_dom_related_methods --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===DOM Related Methods===&lt;br /&gt;
These methods help build XML. Usually, but not always XHTML.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_make_element --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$dom = $repository-&amp;amp;gt;make_element( $element_name, %attribs )====&lt;br /&gt;
&lt;br /&gt;
Return a DOM element with name ename and the specified attributes.&lt;br /&gt;
&lt;br /&gt;
eg. $repository-&amp;amp;gt;make_element( &amp;quot;img&amp;quot;, src =&amp;amp;gt; &amp;quot;/foo.gif&amp;quot;, alt =&amp;amp;gt; &amp;quot;my pic&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
Will return the DOM object describing:&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;img src=&amp;quot;/foo.gif&amp;quot; alt=&amp;quot;my pic&amp;quot; /&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that in the call we use &amp;quot;=&amp;amp;gt;&amp;quot; not &amp;quot;=&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_make_indent --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$dom = $repository-&amp;amp;gt;make_indent( $width )====&lt;br /&gt;
&lt;br /&gt;
Return a DOM object describing a C.R. and then $width spaces. This is used to make nice looking XML for things like the OAI interface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_make_comment --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$dom = $repository-&amp;amp;gt;make_comment( $text )====&lt;br /&gt;
&lt;br /&gt;
Return a DOM object describing a comment containing $text.&lt;br /&gt;
&lt;br /&gt;
eg.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;!-- this is a comment --&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_make_text --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$DOM = $repository-&amp;amp;gt;make_text( $text )====&lt;br /&gt;
&lt;br /&gt;
Return a DOM object containing the given text. $text should be UTF-8 encoded.&lt;br /&gt;
&lt;br /&gt;
Characters will be treated as _text_ including &amp;amp;lt; &amp;amp;gt; etc.&lt;br /&gt;
&lt;br /&gt;
eg.&lt;br /&gt;
&lt;br /&gt;
$repository-&amp;amp;gt;make_text( &amp;quot;This is &amp;amp;lt;b&amp;amp;gt; an example&amp;quot; );&lt;br /&gt;
&lt;br /&gt;
Would return a DOM object representing the XML:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;This is &amp;amp;amp;lt;b&amp;amp;amp;gt; an example&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_make_javascript --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$DOM = $repository-&amp;amp;gt;make_javascript( $code, %attribs )====&lt;br /&gt;
&lt;br /&gt;
Return a new DOM &amp;quot;script&amp;quot; element containing $code in javascript. %attribs will be added to the script element, similar to make_element().&lt;br /&gt;
&lt;br /&gt;
E.g.&lt;br /&gt;
&lt;br /&gt;
  &amp;amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;amp;gt;&lt;br /&gt;
  // &amp;amp;lt;![CDATA[&lt;br /&gt;
  alert(&amp;quot;Hello, World!&amp;quot;);&lt;br /&gt;
  // ]]&amp;amp;gt;&lt;br /&gt;
  &amp;amp;lt;/script&amp;amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_make_doc_fragment --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$fragment = $repository-&amp;amp;gt;make_doc_fragment====&lt;br /&gt;
&lt;br /&gt;
Return a new XML document fragment. This is an item which can have XML elements added to it, but does not actually get rendered itself.&lt;br /&gt;
&lt;br /&gt;
If appended to an element then it disappears and its children join the element at that point.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_xhtml_related_methods --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===XHTML Related Methods===&lt;br /&gt;
These methods help build XHTML.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_ruler --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$ruler = $repository-&amp;amp;gt;render_ruler====&lt;br /&gt;
&lt;br /&gt;
Return an HR. in ruler.xml&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_nbsp --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$nbsp = $repository-&amp;amp;gt;render_nbsp====&lt;br /&gt;
&lt;br /&gt;
Return an XHTML &amp;amp;amp;nbsp; character.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_data_element --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$xhtml = $repository-&amp;amp;gt;render_data_element( $indent, $elementname, $value, [%opts] )====&lt;br /&gt;
&lt;br /&gt;
This is used to help render neat XML data. It returns a fragment  containing an element of name $elementname containing the value $value, the element is indented by $indent spaces.&lt;br /&gt;
&lt;br /&gt;
The %opts describe any extra attributes for the element&lt;br /&gt;
&lt;br /&gt;
eg. $repository-&amp;amp;gt;render_data_element( 4, &amp;quot;foo&amp;quot;, &amp;quot;bar&amp;quot;, class=&amp;amp;gt;&amp;quot;fred&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
would return a XML DOM object describing:&lt;br /&gt;
    &amp;amp;lt;foo class=&amp;quot;fred&amp;quot;&amp;amp;gt;bar&amp;amp;lt;/foo&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_link --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$xhtml = $repository-&amp;amp;gt;render_link( $uri, [$target] )====&lt;br /&gt;
&lt;br /&gt;
Returns an HTML link to the given uri, with the optional $target if it needs to point to a different frame or window.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_row --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$table_row = $repository-&amp;amp;gt;render_row( $key, @values );====&lt;br /&gt;
&lt;br /&gt;
Return the key and values in a DOM encoded HTML table row. eg.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;tr&amp;amp;gt;&amp;amp;lt;th&amp;amp;gt;$key:&amp;amp;lt;/th&amp;amp;gt;&amp;amp;lt;td&amp;amp;gt;$value[0]&amp;amp;lt;/td&amp;amp;gt;&amp;amp;lt;td&amp;amp;gt;...&amp;amp;lt;/td&amp;amp;gt;&amp;amp;lt;/tr&amp;amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_language_name --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$xhtml = $repository-&amp;amp;gt;render_language_name( $langid ) Return a DOM object containing the description of the specified languagein the current default language, or failing that from languages.xml====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_type_name --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$xhtml = $repository-&amp;amp;gt;render_type_name( $type_set, $type ) ====&lt;br /&gt;
&lt;br /&gt;
Return a DOM object containing the description of the specified type in the type set. eg. &amp;quot;eprint&amp;quot;, &amp;quot;article&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_type_name --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$string = $repository-&amp;amp;gt;get_type_name( $type_set, $type ) ====&lt;br /&gt;
&lt;br /&gt;
As above, but return a utf-8 string. Used in &amp;amp;lt;option&amp;amp;gt; elements, for example.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_name --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$xhtml_name = $repository-&amp;amp;gt;render_name( $name, [$familylast] )====&lt;br /&gt;
&lt;br /&gt;
$name is a ref. to a hash containing family, given etc.&lt;br /&gt;
&lt;br /&gt;
Returns an XML DOM fragment with the name rendered in the manner of the repository. Usually &amp;quot;John Smith&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
If $familylast is set then the family and given parts are reversed, eg. &amp;quot;Smith, John&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_option_list --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$xhtml_select = $repository-&amp;amp;gt;render_option_list( %params )====&lt;br /&gt;
&lt;br /&gt;
This method renders an XHTML &amp;amp;lt;select&amp;amp;gt;. The options are complicated and may change, so it's better not to use it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_single_option --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$option = $repository-&amp;amp;gt;render_single_option( $key, $desc, $selected )====&lt;br /&gt;
&lt;br /&gt;
Used by render_option_list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_hidden_field --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$xhtml_hidden = $repository-&amp;amp;gt;render_hidden_field( $name, $value )====&lt;br /&gt;
&lt;br /&gt;
Return the XHTML DOM describing an &amp;amp;lt;input&amp;amp;gt; element of type &amp;quot;hidden&amp;quot; and name and value as specified. eg.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;foo&amp;quot; value=&amp;quot;bar&amp;quot; /&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_upload_field --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$xhtml_uploda = $repository-&amp;amp;gt;render_upload_field( $name )====&lt;br /&gt;
&lt;br /&gt;
Render into XHTML DOM a file upload form button with the given name. &lt;br /&gt;
&lt;br /&gt;
eg. &amp;amp;lt;input type=&amp;quot;file&amp;quot; name=&amp;quot;foo&amp;quot; /&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_action_buttons --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$dom = $repository-&amp;amp;gt;render_action_buttons( %buttons )====&lt;br /&gt;
&lt;br /&gt;
Returns a DOM object describing the set of buttons.&lt;br /&gt;
&lt;br /&gt;
The keys of %buttons are the ids of the action that button will cause, the values are UTF-8 text that should appear on the button.&lt;br /&gt;
&lt;br /&gt;
Two optional additional keys may be used:&lt;br /&gt;
&lt;br /&gt;
_order =&amp;amp;gt; [ &amp;quot;action1&amp;quot;, &amp;quot;action2&amp;quot; ]&lt;br /&gt;
&lt;br /&gt;
will force the buttons to appear in a set order.&lt;br /&gt;
&lt;br /&gt;
_class =&amp;amp;gt; &amp;quot;my_css_class&amp;quot; &lt;br /&gt;
&lt;br /&gt;
will add a class attribute to the &amp;amp;lt;div&amp;amp;gt; containing the buttons to  allow additional styling.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_internal_buttons --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$dom = $repository-&amp;amp;gt;render_internal_buttons( %buttons )====&lt;br /&gt;
&lt;br /&gt;
As for render_action_buttons, but creates buttons for actions which will modify the state of the current form, not continue with whatever process the form is part of.&lt;br /&gt;
&lt;br /&gt;
eg. the &amp;quot;More Spaces&amp;quot; button and the up and down arrows on multiple type fields.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_form --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$dom = $repository-&amp;amp;gt;render_form( $method, $dest )====&lt;br /&gt;
&lt;br /&gt;
Return a DOM object describing an HTML form element. &lt;br /&gt;
&lt;br /&gt;
$method should be &amp;quot;get&amp;quot; or &amp;quot;post&amp;quot;&lt;br /&gt;
&lt;br /&gt;
$dest is the target of the form. By default the current page.&lt;br /&gt;
&lt;br /&gt;
eg.&lt;br /&gt;
&lt;br /&gt;
$repository-&amp;amp;gt;render_form( &amp;quot;GET&amp;quot;, &amp;quot;http://example.com/cgi/foo&amp;quot; );&lt;br /&gt;
&lt;br /&gt;
returns a DOM object representing:&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;form method=&amp;quot;get&amp;quot; action=&amp;quot;http://example.com/cgi/foo&amp;quot; accept-charset=&amp;quot;utf-8&amp;quot; /&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
If $method is &amp;quot;post&amp;quot; then an addition attribute is set: enctype=&amp;quot;multipart/form-data&amp;quot; &lt;br /&gt;
&lt;br /&gt;
This just controls how the data is passed from the browser to the CGI library. You don't need to worry about it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_subjects --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$ul = $repository-&amp;amp;gt;render_subjects( $subject_list, [$baseid], [$currentid], [$linkmode], [$sizes] )====&lt;br /&gt;
&lt;br /&gt;
Return as XHTML DOM a nested set of &amp;amp;lt;ul&amp;amp;gt; and &amp;amp;lt;li&amp;amp;gt; tags describing part of a subject tree.&lt;br /&gt;
&lt;br /&gt;
$subject_list is a array ref of subject ids to render.&lt;br /&gt;
&lt;br /&gt;
$baseid is top top level node to render the tree from. If only a single subject is in subject_list, all subjects up to $baseid will still be rendered. Default is the ROOT element.&lt;br /&gt;
&lt;br /&gt;
If $currentid is set then the subject with that ID is rendered in &amp;amp;lt;strong&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
$linkmode can 0, 1, 2 or 3.&lt;br /&gt;
&lt;br /&gt;
0. Don't link the subjects.&lt;br /&gt;
&lt;br /&gt;
1. Links subjects to the URL which edits them in edit_subjects.&lt;br /&gt;
&lt;br /&gt;
2. Links subjects to &amp;quot;subjectid.html&amp;quot; (where subjectid is the id of  the subject)&lt;br /&gt;
&lt;br /&gt;
3. Links the subjects to &amp;quot;subjectid/&amp;quot;.  $sizes must be set. Only  subjects with a size of more than one are linked.&lt;br /&gt;
&lt;br /&gt;
4. Links the subjects to &amp;quot;../subjectid/&amp;quot;.  $sizes must be set. Only  subjects with a size of more than one are linked.&lt;br /&gt;
&lt;br /&gt;
$sizes may be a ref. to hash mapping the subjectid's to the number of items in that subject which will be rendered in brackets next to each subject.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_error --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$repository-&amp;amp;gt;render_error( $error_text, $back_to, $back_to_text )====&lt;br /&gt;
&lt;br /&gt;
Renders an error page with the given error text. A link, with the text $back_to_text, is offered, the destination of this is $back_to, which should take the user somewhere sensible.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_input_form --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$dom = $repository-&amp;amp;gt;render_input_form( %params )====&lt;br /&gt;
&lt;br /&gt;
Return a DOM object representing an entire input form.&lt;br /&gt;
&lt;br /&gt;
%params contains the following options:&lt;br /&gt;
&lt;br /&gt;
dataset: The EPrints::Dataset to which the form relates, if any.&lt;br /&gt;
&lt;br /&gt;
fields: a reference to an array of EPrint::MetaField objects, which describe the fields to be added to the form.&lt;br /&gt;
&lt;br /&gt;
values: a set of default values. A reference to a hash where the keys are ID's of fields, and the values are the default values for those fields.&lt;br /&gt;
&lt;br /&gt;
show_help: if true, show the fieldhelp phrase for each input  field.&lt;br /&gt;
&lt;br /&gt;
show_name: if true, show the fieldname phrase for each input  field.&lt;br /&gt;
&lt;br /&gt;
buttons: a description of the buttons to appear at the bottom of the form. See render_action_buttons for details.&lt;br /&gt;
&lt;br /&gt;
top_buttons: a description of the buttons to appear at the top of the form (optional).&lt;br /&gt;
&lt;br /&gt;
default_action: the id of the action to be performed by default,  ie. if the user pushes &amp;quot;return&amp;quot; in a text field.&lt;br /&gt;
&lt;br /&gt;
dest: The URL of the target for this form. If not defined then the current URI is used.&lt;br /&gt;
&lt;br /&gt;
type: if this form relates to a user or an eprint, the type of eprint/user can effect what fields are flagged as required. This param contains the ID of the eprint/user if any, and if relevant.&lt;br /&gt;
&lt;br /&gt;
staff: if true, this form is being presented to repository staff  (admin, or editor). This may change which fields are required.&lt;br /&gt;
&lt;br /&gt;
hidden_fields: reference to a hash. The keys of which are CGI keys and the values are the values they are set to. This causes hidden form elements to be set, so additional information can be passed.&lt;br /&gt;
&lt;br /&gt;
object: The DataObj which this form is editing, if any.&lt;br /&gt;
&lt;br /&gt;
comment: not yet used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_methods_relating_to_the_current_xhtml_page --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===Methods relating to the current XHTML page===&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_write_static_page --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$repository-&amp;amp;gt;write_static_page( $filebase, $parts, [$page_id], [$wrote_files] )====&lt;br /&gt;
&lt;br /&gt;
Write an .html file plus a set of files describing the parts of the page for use with the dynamic template option.&lt;br /&gt;
&lt;br /&gt;
File base is the name of the page without the .html suffix.&lt;br /&gt;
&lt;br /&gt;
parts is a reference to a hash containing DOM trees.&lt;br /&gt;
&lt;br /&gt;
If $wrote_files is defined then any filenames written are logged in it as keys.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_prepare_page --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$repository-&amp;amp;gt;prepare_page( $parts, %options )====&lt;br /&gt;
&lt;br /&gt;
Create an XHTML page for this session. &lt;br /&gt;
&lt;br /&gt;
$parts is a hash of XHTML elements to insert into the pins in the template. Usually: title, page. Maybe pagetop and head.&lt;br /&gt;
&lt;br /&gt;
If template is set then an alternate template file is used.&lt;br /&gt;
&lt;br /&gt;
This function only builds the page it does not output it any way, see the methods below for that.&lt;br /&gt;
&lt;br /&gt;
Options include:&lt;br /&gt;
&lt;br /&gt;
page_id=&amp;amp;gt;&amp;quot;id to put in body tag&amp;quot; template=&amp;amp;gt;&amp;quot;The template to use instead of default.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_send_page --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$repository-&amp;amp;gt;send_page( %httpopts )====&lt;br /&gt;
&lt;br /&gt;
Send a web page out by HTTP. Only relevant if this is a CGI script. build_page must have been called first.&lt;br /&gt;
&lt;br /&gt;
See send_http_header for an explanation of %httpopts&lt;br /&gt;
&lt;br /&gt;
Dispose of the XML once it's sent out.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_page_to_file --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$repository-&amp;amp;gt;page_to_file( $filename, [$wrote_files] )====&lt;br /&gt;
&lt;br /&gt;
Write out the current webpage to the given filename.&lt;br /&gt;
&lt;br /&gt;
build_page must have been called first.&lt;br /&gt;
&lt;br /&gt;
Dispose of the XML once it's sent out.&lt;br /&gt;
&lt;br /&gt;
If $wrote_files is set then keys are created in it for each file created.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_set_page --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$repository-&amp;amp;gt;set_page( $newhtml )====&lt;br /&gt;
&lt;br /&gt;
Erase the current page for this session, if any, and replace it with the XML DOM structure described by $newhtml.&lt;br /&gt;
&lt;br /&gt;
This page is what is output by page_to_file or send_page.&lt;br /&gt;
&lt;br /&gt;
$newhtml is a normal DOM Element, not a document object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_clone_for_me --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$copy_of_node = $repository-&amp;amp;gt;clone_for_me( $node, [$deep] )====&lt;br /&gt;
&lt;br /&gt;
XML DOM items can only be added to the document which they belong to.&lt;br /&gt;
&lt;br /&gt;
A EPrints::Repository has it's own XML DOM DOcument. &lt;br /&gt;
&lt;br /&gt;
This method copies an XML node from _any_ document. The copy belongs to this sessions document.&lt;br /&gt;
&lt;br /&gt;
If $deep is set then the children, (and their children etc.), are  copied too.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_redirect --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$repository-&amp;amp;gt;redirect( $url, [%opts] )====&lt;br /&gt;
&lt;br /&gt;
Redirects the browser to $url.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_not_found --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$repository-&amp;amp;gt;not_found( [ $message ] )====&lt;br /&gt;
&lt;br /&gt;
Send a 404 Not Found header. If $message is undef sets message to 'Not Found' but does '''NOT''' print an error message, otherwise defaults to the normal 404 Not Found type response.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_send_http_header --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$repository-&amp;amp;gt;send_http_header( %opts )====&lt;br /&gt;
&lt;br /&gt;
Send the HTTP header. Only makes sense if this is running as a CGI  script.&lt;br /&gt;
&lt;br /&gt;
Opts supported are:&lt;br /&gt;
&lt;br /&gt;
content_type. Default value is &amp;quot;text/html; charset=UTF-8&amp;quot;. This sets the http content type header.&lt;br /&gt;
&lt;br /&gt;
lang. If this is set then a cookie setting the language preference is set in the http header.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_input_methods --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===Input Methods===&lt;br /&gt;
These handle input from the user, browser and apache.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_param --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$value or @values = $repository-&amp;amp;gt;param( $name )====&lt;br /&gt;
&lt;br /&gt;
Passes through to CGI.pm param method.&lt;br /&gt;
&lt;br /&gt;
$value = $repository-&amp;amp;gt;param( $name ): returns the value of CGI parameter $name.&lt;br /&gt;
&lt;br /&gt;
$value = $repository-&amp;amp;gt;param( $name ): returns the value of CGI parameter $name.&lt;br /&gt;
&lt;br /&gt;
@values = $repository-&amp;amp;gt;param: returns an array of the names of all the CGI parameters in the current request.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_have_parameters --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$bool = $repository-&amp;amp;gt;have_parameters====&lt;br /&gt;
&lt;br /&gt;
Return true if the current script had any parameters (post or get)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_current_user --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$user = $repository-&amp;amp;gt;current_user====&lt;br /&gt;
&lt;br /&gt;
Return the current EPrints::DataObj::User for this session.&lt;br /&gt;
&lt;br /&gt;
Return undef if there isn't one.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_seen_form --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$boolean = $repository-&amp;amp;gt;seen_form====&lt;br /&gt;
&lt;br /&gt;
Return true if the current request contains the values from a form generated by EPrints.&lt;br /&gt;
&lt;br /&gt;
This is identified by a hidden field placed into forms named _seen with value &amp;quot;true&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_internal_button_pressed --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$boolean = $repository-&amp;amp;gt;internal_button_pressed( $buttonid )====&lt;br /&gt;
&lt;br /&gt;
Return true if a button has been pressed in a form which is intended to reload the current page with some change.&lt;br /&gt;
&lt;br /&gt;
Examples include the &amp;quot;more spaces&amp;quot; button on multiple fields, the  &amp;quot;lookup&amp;quot; button on succeeds, etc.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_action_button --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$action_id = $repository-&amp;amp;gt;get_action_button====&lt;br /&gt;
&lt;br /&gt;
Return the ID of the eprint action button which has been pressed in a form, if there was one. The name of the button is &amp;quot;_action_&amp;quot;  followed by the id. &lt;br /&gt;
&lt;br /&gt;
This also handles the .x and .y inserted in image submit.&lt;br /&gt;
&lt;br /&gt;
This is designed to get back the name of an action button created by render_action_buttons.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_internal_button --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$button_id = $repository-&amp;amp;gt;get_internal_button====&lt;br /&gt;
&lt;br /&gt;
Return the id of the internal button which has been pushed, or  undef if one wasn't.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_client --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$client = $repository-&amp;amp;gt;client====&lt;br /&gt;
&lt;br /&gt;
Return a string representing the kind of browser that made the  current request.&lt;br /&gt;
&lt;br /&gt;
Options are GECKO, LYNX, MSIE4, MSIE5, MSIE6, ?.&lt;br /&gt;
&lt;br /&gt;
GECKO covers mozilla and firefox.&lt;br /&gt;
&lt;br /&gt;
? is what's returned if none of the others were matched.&lt;br /&gt;
&lt;br /&gt;
These divisions are intended for modifying the way pages are rendered not logging what browser was used. Hence merging mozilla and firefox.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_http_status --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$status = $repository-&amp;amp;gt;get_http_status====&lt;br /&gt;
&lt;br /&gt;
Return the status of the current HTTP request.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_methods_related_to_plugins --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===Methods related to Plugins===&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_plugin --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$plugin = $repository-&amp;amp;gt;plugin( $pluginid )====&lt;br /&gt;
&lt;br /&gt;
Return the plugin with the given pluginid, in this repository or, failing that, from the system level plugins.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_plugin_list --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====@plugin_ids  = $repository-&amp;amp;gt;plugin_list( %restrictions )====&lt;br /&gt;
&lt;br /&gt;
Return either a list of all the plugins available to this repository or return a list of available plugins which can accept the given  restrictions.&lt;br /&gt;
&lt;br /&gt;
Restictions:&lt;br /&gt;
 vary depending on the type of the plugin.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_plugins --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====@plugins = $repository-&amp;amp;gt;get_plugins( [ $params, ] %restrictions )====&lt;br /&gt;
&lt;br /&gt;
Returns a list of plugin objects that conform to %restrictions (may be empty).&lt;br /&gt;
&lt;br /&gt;
If $params is given uses that hash reference to initialise the plugins. Always passes this session to the plugin constructor method.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_other_methods --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===Other Methods===&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_microtime --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$time = EPrints::Repository::microtime();====&lt;br /&gt;
&lt;br /&gt;
This function is currently buggy so just returns the time in seconds.&lt;br /&gt;
&lt;br /&gt;
Return the time of day in seconds, but to a precision of microseconds.&lt;br /&gt;
&lt;br /&gt;
Accuracy depends on the operating system etc.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_mail_administrator --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$foo = $repository-&amp;amp;gt;mail_administrator( $subjectid, $messageid, %inserts )====&lt;br /&gt;
&lt;br /&gt;
Sends a mail to the repository administrator with the given subject and message body.&lt;br /&gt;
&lt;br /&gt;
$subjectid is the name of a phrase in the phrase file to use for the subject.&lt;br /&gt;
&lt;br /&gt;
$messageid is the name of a phrase in the phrase file to use as the basis for the mail body.&lt;br /&gt;
&lt;br /&gt;
%inserts is a hash. The keys are the pins in the messageid phrase and the values the utf8 strings to replace the pins with.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_destroy --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====$repository-&amp;amp;gt;DESTROY====&lt;br /&gt;
&lt;br /&gt;
Destructor. Don't call directly.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=_postamble_ --&amp;gt;&amp;lt;!-- Edit below this comment --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=API:EPrints&amp;diff=8600</id>
		<title>API:EPrints</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=API:EPrints&amp;diff=8600"/>
		<updated>2010-02-12T16:29:25Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Pod2Wiki=_preamble_ &lt;br /&gt;
This page has been automatically generated from the EPrints 3.2 source. Any wiki changes made between the 'Pod2Wiki=*' and 'Edit below this comment' comments will be lost.&lt;br /&gt;
 --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
{{API}}{{Pod2Wiki}}{{API:Source|file=EPrints.pm|package_name=EPrints}}[[Category:API|EPrints]]&amp;lt;div&amp;gt;&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_name --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==NAME==&lt;br /&gt;
'''EPrints''' - Institutional Repository software&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_synopsis --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==SYNOPSIS==&lt;br /&gt;
  use EPrints qw();&lt;br /&gt;
  &lt;br /&gt;
  my $session = EPrints::Session-&amp;amp;gt;new( 1, &amp;quot;demoprints&amp;quot; );&lt;br /&gt;
  &lt;br /&gt;
  ...&lt;br /&gt;
  &lt;br /&gt;
  $session-&amp;amp;gt;terminate;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_description --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==DESCRIPTION==&lt;br /&gt;
See http://www.eprints.org/.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_available_symbols --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===Available Symbols===&lt;br /&gt;
You can pass options to the EPrints package that effect the EPrints initialisation e.g.&lt;br /&gt;
&lt;br /&gt;
  use EPrints qw( no_check_user );&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_no_check_user --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
====no_check_user====&lt;br /&gt;
&lt;br /&gt;
Do not check the current user/group is the same as the user/group in Systemsettings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_debugging_slow_processes --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===Debugging Slow Processes===&lt;br /&gt;
This module installs a signal handler that will print a stack trace if given a USR2 signal (if your system supports this signal). To print a stack trace to the error log execute:&lt;br /&gt;
&lt;br /&gt;
 $ kill -USR2 PID&lt;br /&gt;
  &lt;br /&gt;
Where PID is the id number of the stalled process.&lt;br /&gt;
&lt;br /&gt;
A shell script will print the stack trace to the console.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_methods --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==METHODS==&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_abort --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===EPrints-&amp;amp;gt;abort( $errmsg )===&lt;br /&gt;
&lt;br /&gt;
Print an error message and exit. If running under mod_perl then print the error as a webpage and exit.&lt;br /&gt;
&lt;br /&gt;
This subroutine is loaded before other modules so that it may be used to report errors when initialising modules.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_new --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$ep = EPrints-&amp;amp;gt;new();===&lt;br /&gt;
&lt;br /&gt;
Construct a new EPrints system object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_repository --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$repo = $ep-&amp;amp;gt;repository( $repository_id, %options );===&lt;br /&gt;
&lt;br /&gt;
Return the repository with the given ID, or undef. Options are... optional.&lt;br /&gt;
&lt;br /&gt;
Options noise=&amp;amp;gt;1, etc.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_current_repository --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===$repo = $ep-&amp;amp;gt;current_repository( %options );===&lt;br /&gt;
&lt;br /&gt;
Return the repository based on the current web request, or undef.&lt;br /&gt;
&lt;br /&gt;
%options as for $ep-&amp;amp;gt;repository(..)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_repository_ids --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===@ids = $eprints-&amp;amp;gt;repository_ids===&lt;br /&gt;
&lt;br /&gt;
Returns a list of the active repository ids.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_see_also --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==SEE ALSO==&lt;br /&gt;
[[API:EPrints/Session|EPrints::Session]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_copyright --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==COPYRIGHT==&lt;br /&gt;
__COPYRIGHT__&lt;br /&gt;
&lt;br /&gt;
Copyright 2000-2008 University of Southampton. All Rights Reserved.&lt;br /&gt;
&lt;br /&gt;
__LICENSE__&lt;br /&gt;
&amp;lt;div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce;  padding: 0em 1em 0em 1em; font-size: 80%; '&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&amp;lt;span style='display:none'&amp;gt;User Comments&amp;lt;/span&amp;gt;&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;!-- Edit below this comment --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=_postamble_ --&amp;gt;&amp;lt;!-- Edit below this comment --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=EdShareCollectionsInstallation&amp;diff=8106</id>
		<title>EdShareCollectionsInstallation</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=EdShareCollectionsInstallation&amp;diff=8106"/>
		<updated>2010-01-26T09:45:54Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: /* Install CGI Scripts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
The collections plugin is part of [[EdShare]] suite. It is based on code developed in EdShare and LanguageBox. The goal of this project is to produce a package that allows the easy installation of the collections functionality on a vanilla EPrints installation.&lt;br /&gt;
&lt;br /&gt;
'''For more details about this plugin see [[EdShareCollections]].'''&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
The EdShare Collections plugin has been tested and confirmed to run on EPrints 3.1.3.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
'''As with all package installations it is important to remember to backup your installation of EPrints before continuing.'''&lt;br /&gt;
&lt;br /&gt;
===Extract Package===&lt;br /&gt;
The package should be extracted in the appropriate archive directory of your EPrints installation. Run the following commands replacing ''ARCHIVEID'' with the name of the archive you want the collections on, and replace ''VERSION'' with the appropriate version number based on the package you have downloaded;&lt;br /&gt;
&lt;br /&gt;
 cd /opt/eprints3/archives/ARCHIVEID&lt;br /&gt;
 tar xzf collections-VERSION.tar.gz&lt;br /&gt;
&lt;br /&gt;
These commands assume that you installed EPrints to ''/opt/eprints3'' substitute this for something else if you installed it elsewhere. Users of the Ubuntu version of EPrints will find that it is installed by default at ''/usr/share/eprints3''.&lt;br /&gt;
&lt;br /&gt;
===Install CGI Scripts===&lt;br /&gt;
Link the collections CGI scripts to the EPrints CGI directory:&lt;br /&gt;
&lt;br /&gt;
 ln -s /opt/eprints3/archives/ARCHIVEID/cgi/users/collectionselect/ /opt/eprints3/cgi/users&lt;br /&gt;
 ln -s /opt/eprints3/archives/ARCHIVEID/cgi/users/bookmarks/ /opt/eprints3/cgi/users&lt;br /&gt;
&lt;br /&gt;
===Patch Default Workflow===&lt;br /&gt;
Assuming that you have patch installed on you system then you need to run;&lt;br /&gt;
&lt;br /&gt;
 patch -p0 &amp;lt; default_collection_workflow.patch&lt;br /&gt;
&lt;br /&gt;
'''This patch will only work if you have not yet modified your default workflow.''' If you have then you will need to add the following to your code inside the ''&amp;lt;flow&amp;gt;'' tags, this modification is what an unmodified default workflow should look like once changed;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;flow&amp;gt;&lt;br /&gt;
   &amp;lt;stage ref=&amp;quot;type&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;epc:choose&amp;gt;&lt;br /&gt;
     &amp;lt;epc:when test=&amp;quot;type = 'collection'&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;stage ref=&amp;quot;collection&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;/epc:when&amp;gt;&lt;br /&gt;
     &amp;lt;epc:otherwise&amp;gt;&lt;br /&gt;
       &amp;lt;stage ref=&amp;quot;files&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;stage ref=&amp;quot;core&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;stage ref=&amp;quot;subjects&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;/epc:otherwise&amp;gt;&lt;br /&gt;
   &amp;lt;/epc:choose&amp;gt;&lt;br /&gt;
 &amp;lt;/flow&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then at the work flow file still inside the ''&amp;lt;workflow&amp;gt;'' tags you need to add the following;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;stage name=&amp;quot;collection&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;component type=&amp;quot;Field::Multi&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;title&amp;gt;&amp;lt;epc:phrase ref=&amp;quot;Plugin/Collection:details_title&amp;quot;/&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
     &amp;lt;field ref=&amp;quot;title&amp;quot; required=&amp;quot;yes&amp;quot; input_lookup_url=&amp;quot;{$config{perl_url}}/users/lookup/title_duplicates&amp;quot; input_lookup_params=&amp;quot;eprintid={eprintid}&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;field ref=&amp;quot;abstract&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/component&amp;gt;&lt;br /&gt;
   &amp;lt;component type=&amp;quot;Field::CollectionSelect&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;field ref=&amp;quot;relation&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/component&amp;gt;&lt;br /&gt;
 &amp;lt;/stage&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Edit Configuration Files===&lt;br /&gt;
&lt;br /&gt;
====archive/ARCHIVEID/cfg/namedsets/eprint====&lt;br /&gt;
Add &amp;lt;code&amp;gt;collection&amp;lt;/code&amp;gt; to the ''types for eprint'' list. The position it is in this list will be the position it will appear when choosing a type in the new item workflow.&lt;br /&gt;
&lt;br /&gt;
====archive/ARCHIVEID/cfg/cfg.d/eprint_validate.pl====&lt;br /&gt;
In the ''validate_eprint'' function look for the line &amp;lt;code&amp;gt;my @problems = ();&amp;lt;/code&amp;gt; and after it add;&lt;br /&gt;
&lt;br /&gt;
 return( @problems ) if( $eprint-&amp;gt;get_type eq 'collection' ); &lt;br /&gt;
&lt;br /&gt;
====archive/ARCHIVEID/cfg/cfg.d/eprint_warnings.pl====&lt;br /&gt;
You will need to add an exception here to stop warnings appearing for users when they deposit a collection. A warning will appear because no files have been loaded for the collection but this is fine. If you have not edited this file before look for the following line;&lt;br /&gt;
&lt;br /&gt;
 if( @docs == 0 )&lt;br /&gt;
&lt;br /&gt;
Replace it with the following;&lt;br /&gt;
&lt;br /&gt;
 if( $eprint-&amp;gt;get_type ne 'collection' &amp;amp;&amp;amp; @docs == 0 )&lt;br /&gt;
&lt;br /&gt;
This should stop the warning from appearing.&lt;br /&gt;
&lt;br /&gt;
====archives/ARCHIVEID/cfg/citations/eprint/default.xml====&lt;br /&gt;
Assuming you haven't modified the default citation you want to look for the first ''&amp;lt;choose&amp;gt;'' block at the top of the citation. And add the following;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;choose&amp;gt;&lt;br /&gt;
   &amp;amp;lt;!-- Code ommitted for brevity --&amp;amp;gt;   &lt;br /&gt;
   &amp;lt;when test=&amp;quot;type = 'collection'&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;print expr=&amp;quot;userid&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/when&amp;gt;&lt;br /&gt;
   &amp;amp;lt;!-- Code ommitted for brevity --&amp;amp;gt;&lt;br /&gt;
 &amp;lt;/choose&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will put the user citation for the user that created this collection at the front of the default EPrint citation.&lt;br /&gt;
&lt;br /&gt;
====archives/ARCHIVEID/cfg/cfg.d/collections.pl====&lt;br /&gt;
'''OPTIONAL'''&lt;br /&gt;
&lt;br /&gt;
The collections extension provides you with two control boxes that appear on your abstract pages, a bookmark controls box and collection membership box. The collection membership box will not render on the collections page. It is possible to disable these boxes or change where they appear on the page.&lt;br /&gt;
&lt;br /&gt;
To disable either of the boxes look in this file for either of the following lines;&lt;br /&gt;
&lt;br /&gt;
 $c-&amp;gt;{plugins}-&amp;gt;{&amp;quot;Screen::EPrint::Box::BookmarkTools&amp;quot;}-&amp;gt;{params}-&amp;gt;{disable} = 0;&lt;br /&gt;
 $c-&amp;gt;{plugins}-&amp;gt;{&amp;quot;Screen::EPrint::Box::CollectionMembership&amp;quot;}-&amp;gt;{params}-&amp;gt;{disable} = 0;&lt;br /&gt;
&lt;br /&gt;
If you want to disable either of the boxes then you just need to set the value of this setting to 1 and then regenerate your abstract pages and now the boxes will appear or not according to your preferences.&lt;br /&gt;
&lt;br /&gt;
You can also choose where on the page the boxes appear. Replace the 1000 with undef and the undef with 1000 for the position you want the box to appear. To hide the box use the method above to do so rather then declare all of the positions as undef.&lt;br /&gt;
&lt;br /&gt;
 $c-&amp;gt;{plugins}-&amp;gt;{&amp;quot;Screen::EPrint::Box::BookmarkTools&amp;quot;}-&amp;gt;{appears}-&amp;gt;{summary_top} = undef;&lt;br /&gt;
 $c-&amp;gt;{plugins}-&amp;gt;{&amp;quot;Screen::EPrint::Box::BookmarkTools&amp;quot;}-&amp;gt;{appears}-&amp;gt;{summary_right} = 1000;&lt;br /&gt;
 $c-&amp;gt;{plugins}-&amp;gt;{&amp;quot;Screen::EPrint::Box::BookmarkTools&amp;quot;}-&amp;gt;{appears}-&amp;gt;{summary_bottom} = undef;&lt;br /&gt;
 $c-&amp;gt;{plugins}-&amp;gt;{&amp;quot;Screen::EPrint::Box::BookmarkTools&amp;quot;}-&amp;gt;{appears}-&amp;gt;{summary_left} = undef;&lt;br /&gt;
&lt;br /&gt;
Again any changes will need to be followed by a regeneration of your abstract pages for them to be visible.&lt;br /&gt;
&lt;br /&gt;
====archives/ARCHIVEID/cfg/cfg.d/z_bookmarks.pl====&lt;br /&gt;
'''OPTIONAL'''&lt;br /&gt;
&lt;br /&gt;
This step is not actually required as part of the installation but it is important that you take note of it since there may be some undesired results when using the plugin.&lt;br /&gt;
&lt;br /&gt;
The bookmarks plugin defines &amp;lt;code&amp;gt;$c-&amp;gt;{get_users_owned_eprints}&amp;lt;/code&amp;gt; in the ''z_bookmarks.pl'' file. If you are installing the plugin on a vanilla install of EPrints then there should not be a problem. But if you have installed other plugins, or implemented this function yourself then you will need to modify the function and comment this function out in ''z_bookmarks.pl''.&lt;br /&gt;
&lt;br /&gt;
====archives/ARCHIVEID/cfg/cfg.d/collection_render.pl====&lt;br /&gt;
'''OPTIONAL'''&lt;br /&gt;
&lt;br /&gt;
It is possible to customize the layout of the collection pages by modifying the ''collection_render'' function located in ''archives/ARCHIVEID/cfg/cfg.d/collection_render.pl''. This function is very similar to the ''eprint_render'' function except that certain fields in the EPrint object will not be set. Refer to the default function for more details.&lt;br /&gt;
&lt;br /&gt;
===Restart Web Server===&lt;br /&gt;
Once you have completed all of these previous steps, you will need to restart your web server in the usual fashion.&lt;br /&gt;
&lt;br /&gt;
==Bugs==&lt;br /&gt;
Please report all bugs to the [http://lslvm-mmr4.ecs.soton.ac.uk/ OneShare Bugtracker]. There is a project setup for OneShare collections called ''OneShare Packages &amp;gt;&amp;gt; Collections''.&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=EdShareCollectionsInstallation&amp;diff=8103</id>
		<title>EdShareCollectionsInstallation</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=EdShareCollectionsInstallation&amp;diff=8103"/>
		<updated>2010-01-22T16:54:59Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: /* Extract Package */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
The collections plugin is part of [[EdShare]] suite. It is based on code developed in EdShare and LanguageBox. The goal of this project is to produce a package that allows the easy installation of the collections functionality on a vanilla EPrints installation.&lt;br /&gt;
&lt;br /&gt;
'''For more details about this plugin see [[EdShareCollections]].'''&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
The EdShare Collections plugin has been tested and confirmed to run on EPrints 3.1.3.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
'''As with all package installations it is important to remember to backup your installation of EPrints before continuing.'''&lt;br /&gt;
&lt;br /&gt;
===Extract Package===&lt;br /&gt;
The package should be extracted in the appropriate archive directory of your EPrints installation. Run the following commands replacing ''ARCHIVEID'' with the name of the archive you want the collections on, and replace ''VERSION'' with the appropriate version number based on the package you have downloaded;&lt;br /&gt;
&lt;br /&gt;
 cd /opt/eprints3/archives/ARCHIVEID&lt;br /&gt;
 tar xzf collections-VERSION.tar.gz&lt;br /&gt;
&lt;br /&gt;
These commands assume that you installed EPrints to ''/opt/eprints3'' substitute this for something else if you installed it elsewhere. Users of the Ubuntu version of EPrints will find that it is installed by default at ''/usr/share/eprints3''.&lt;br /&gt;
&lt;br /&gt;
===Install CGI Scripts===&lt;br /&gt;
Link the collections CGI scripts to the EPrints CGI directory:&lt;br /&gt;
&lt;br /&gt;
 ln -s /opt/eprints3/archives/ARCHIVEID/cgi/collectionselect/ /opt/eprints3/cgi/&lt;br /&gt;
 ln -s /opt/eprints3/archives/ARCHIVEID/cgi/bookmarks/ /opt/eprints3/cgi/&lt;br /&gt;
&lt;br /&gt;
===Patch Default Workflow===&lt;br /&gt;
Assuming that you have patch installed on you system then you need to run;&lt;br /&gt;
&lt;br /&gt;
 patch -p0 &amp;lt; default_collection_workflow.patch&lt;br /&gt;
&lt;br /&gt;
'''This patch will only work if you have not yet modified your default workflow.''' If you have then you will need to add the following to your code inside the ''&amp;lt;flow&amp;gt;'' tags, this modification is what an unmodified default workflow should look like once changed;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;flow&amp;gt;&lt;br /&gt;
   &amp;lt;stage ref=&amp;quot;type&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;epc:choose&amp;gt;&lt;br /&gt;
     &amp;lt;epc:when test=&amp;quot;type = 'collection'&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;stage ref=&amp;quot;collection&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;/epc:when&amp;gt;&lt;br /&gt;
     &amp;lt;epc:otherwise&amp;gt;&lt;br /&gt;
       &amp;lt;stage ref=&amp;quot;files&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;stage ref=&amp;quot;core&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;stage ref=&amp;quot;subjects&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;/epc:otherwise&amp;gt;&lt;br /&gt;
   &amp;lt;/epc:choose&amp;gt;&lt;br /&gt;
 &amp;lt;/flow&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then at the work flow file still inside the ''&amp;lt;workflow&amp;gt;'' tags you need to add the following;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;stage name=&amp;quot;collection&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;component type=&amp;quot;Field::Multi&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;title&amp;gt;&amp;lt;epc:phrase ref=&amp;quot;Plugin/Collection:details_title&amp;quot;/&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
     &amp;lt;field ref=&amp;quot;title&amp;quot; required=&amp;quot;yes&amp;quot; input_lookup_url=&amp;quot;{$config{perl_url}}/users/lookup/title_duplicates&amp;quot; input_lookup_params=&amp;quot;eprintid={eprintid}&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;field ref=&amp;quot;abstract&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/component&amp;gt;&lt;br /&gt;
   &amp;lt;component type=&amp;quot;Field::CollectionSelect&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;field ref=&amp;quot;relation&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/component&amp;gt;&lt;br /&gt;
 &amp;lt;/stage&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Edit Configuration Files===&lt;br /&gt;
&lt;br /&gt;
====archive/ARCHIVEID/cfg/namedsets/eprint====&lt;br /&gt;
Add &amp;lt;code&amp;gt;collection&amp;lt;/code&amp;gt; to the ''types for eprint'' list. The position it is in this list will be the position it will appear when choosing a type in the new item workflow.&lt;br /&gt;
&lt;br /&gt;
====archive/ARCHIVEID/cfg/cfg.d/eprint_validate.pl====&lt;br /&gt;
In the ''validate_eprint'' function look for the line &amp;lt;code&amp;gt;my @problems = ();&amp;lt;/code&amp;gt; and after it add;&lt;br /&gt;
&lt;br /&gt;
 return( @problems ) if( $eprint-&amp;gt;get_type eq 'collection' ); &lt;br /&gt;
&lt;br /&gt;
====archive/ARCHIVEID/cfg/cfg.d/eprint_warnings.pl====&lt;br /&gt;
You will need to add an exception here to stop warnings appearing for users when they deposit a collection. A warning will appear because no files have been loaded for the collection but this is fine. If you have not edited this file before look for the following line;&lt;br /&gt;
&lt;br /&gt;
 if( @docs == 0 )&lt;br /&gt;
&lt;br /&gt;
Replace it with the following;&lt;br /&gt;
&lt;br /&gt;
 if( $eprint-&amp;gt;get_type ne 'collection' &amp;amp;&amp;amp; @docs == 0 )&lt;br /&gt;
&lt;br /&gt;
This should stop the warning from appearing.&lt;br /&gt;
&lt;br /&gt;
====archives/ARCHIVEID/cfg/citations/eprint/default.xml====&lt;br /&gt;
Assuming you haven't modified the default citation you want to look for the first ''&amp;lt;choose&amp;gt;'' block at the top of the citation. And add the following;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;choose&amp;gt;&lt;br /&gt;
   &amp;amp;lt;!-- Code ommitted for brevity --&amp;amp;gt;   &lt;br /&gt;
   &amp;lt;when test=&amp;quot;type = 'collection'&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;print expr=&amp;quot;userid&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/when&amp;gt;&lt;br /&gt;
   &amp;amp;lt;!-- Code ommitted for brevity --&amp;amp;gt;&lt;br /&gt;
 &amp;lt;/choose&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will put the user citation for the user that created this collection at the front of the default EPrint citation.&lt;br /&gt;
&lt;br /&gt;
====archives/ARCHIVEID/cfg/cfg.d/collections.pl====&lt;br /&gt;
'''OPTIONAL'''&lt;br /&gt;
&lt;br /&gt;
The collections extension provides you with two control boxes that appear on your abstract pages, a bookmark controls box and collection membership box. The collection membership box will not render on the collections page. It is possible to disable these boxes or change where they appear on the page.&lt;br /&gt;
&lt;br /&gt;
To disable either of the boxes look in this file for either of the following lines;&lt;br /&gt;
&lt;br /&gt;
 $c-&amp;gt;{plugins}-&amp;gt;{&amp;quot;Screen::EPrint::Box::BookmarkTools&amp;quot;}-&amp;gt;{params}-&amp;gt;{disable} = 0;&lt;br /&gt;
 $c-&amp;gt;{plugins}-&amp;gt;{&amp;quot;Screen::EPrint::Box::CollectionMembership&amp;quot;}-&amp;gt;{params}-&amp;gt;{disable} = 0;&lt;br /&gt;
&lt;br /&gt;
If you want to disable either of the boxes then you just need to set the value of this setting to 1 and then regenerate your abstract pages and now the boxes will appear or not according to your preferences.&lt;br /&gt;
&lt;br /&gt;
You can also choose where on the page the boxes appear. Replace the 1000 with undef and the undef with 1000 for the position you want the box to appear. To hide the box use the method above to do so rather then declare all of the positions as undef.&lt;br /&gt;
&lt;br /&gt;
 $c-&amp;gt;{plugins}-&amp;gt;{&amp;quot;Screen::EPrint::Box::BookmarkTools&amp;quot;}-&amp;gt;{appears}-&amp;gt;{summary_top} = undef;&lt;br /&gt;
 $c-&amp;gt;{plugins}-&amp;gt;{&amp;quot;Screen::EPrint::Box::BookmarkTools&amp;quot;}-&amp;gt;{appears}-&amp;gt;{summary_right} = 1000;&lt;br /&gt;
 $c-&amp;gt;{plugins}-&amp;gt;{&amp;quot;Screen::EPrint::Box::BookmarkTools&amp;quot;}-&amp;gt;{appears}-&amp;gt;{summary_bottom} = undef;&lt;br /&gt;
 $c-&amp;gt;{plugins}-&amp;gt;{&amp;quot;Screen::EPrint::Box::BookmarkTools&amp;quot;}-&amp;gt;{appears}-&amp;gt;{summary_left} = undef;&lt;br /&gt;
&lt;br /&gt;
Again any changes will need to be followed by a regeneration of your abstract pages for them to be visible.&lt;br /&gt;
&lt;br /&gt;
====archives/ARCHIVEID/cfg/cfg.d/z_bookmarks.pl====&lt;br /&gt;
'''OPTIONAL'''&lt;br /&gt;
&lt;br /&gt;
This step is not actually required as part of the installation but it is important that you take note of it since there may be some undesired results when using the plugin.&lt;br /&gt;
&lt;br /&gt;
The bookmarks plugin defines &amp;lt;code&amp;gt;$c-&amp;gt;{get_users_owned_eprints}&amp;lt;/code&amp;gt; in the ''z_bookmarks.pl'' file. If you are installing the plugin on a vanilla install of EPrints then there should not be a problem. But if you have installed other plugins, or implemented this function yourself then you will need to modify the function and comment this function out in ''z_bookmarks.pl''.&lt;br /&gt;
&lt;br /&gt;
====archives/ARCHIVEID/cfg/cfg.d/collection_render.pl====&lt;br /&gt;
'''OPTIONAL'''&lt;br /&gt;
&lt;br /&gt;
It is possible to customize the layout of the collection pages by modifying the ''collection_render'' function located in ''archives/ARCHIVEID/cfg/cfg.d/collection_render.pl''. This function is very similar to the ''eprint_render'' function except that certain fields in the EPrint object will not be set. Refer to the default function for more details.&lt;br /&gt;
&lt;br /&gt;
===Restart Web Server===&lt;br /&gt;
Once you have completed all of these previous steps, you will need to restart your web server in the usual fashion.&lt;br /&gt;
&lt;br /&gt;
==Bugs==&lt;br /&gt;
Please report all bugs to the [http://lslvm-mmr4.ecs.soton.ac.uk/ OneShare Bugtracker]. There is a project setup for OneShare collections called ''OneShare Packages &amp;gt;&amp;gt; Collections''.&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=Metadata&amp;diff=8087</id>
		<title>Metadata</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=Metadata&amp;diff=8087"/>
		<updated>2009-12-30T15:17:09Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: /* Rendering Properties */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{fieldtypes}}&lt;br /&gt;
&lt;br /&gt;
== Metadata Field Types ==&lt;br /&gt;
&lt;br /&gt;
There are many different types of metadata field. The type controls how a field is rendered, indexed, searched and so forth. A field always has a type and a name property, and usually has several more. Most properties are documented on this page, but some properties are only available to certain types of field, and they are listed on the page for that field. &lt;br /&gt;
&lt;br /&gt;
Some of these subclasses provide very rich features, others very simple. For example the [[url field]] works just like the text field except that it's only valid if it looks like a url and when rendered it is a hyper-link.&lt;br /&gt;
&lt;br /&gt;
A metadata field describes one field of data in one type of [[Data Object]]. For example the &amp;quot;title&amp;quot; field of an [[EPrint Object]] or the &amp;quot;email&amp;quot; field in a [[User Object]]. &lt;br /&gt;
&lt;br /&gt;
Every [[Data Object]] has system fields (which are set by the system, and not alterable), but the [[User Object]] and [[EPrint Object]] have additional fields which are configured on a per-repository basis.&lt;br /&gt;
&lt;br /&gt;
These can be customised in the [[user_fields.pl]] and [[eprint_fields.pl]] files. Note that changing these files does not automatically modify the underlying database so should (generally) only be done before the database is created. Some metadata properties do not affect the database, and are marked as such. &lt;br /&gt;
&lt;br /&gt;
If you add or remove fields, or modify a property which affects the database then you'll need to alter the database to match.  In 3.0 this must be done by hand, but we have plans to build a tool to do this for you.&lt;br /&gt;
&lt;br /&gt;
Default values marked *config indicate that the default value for the repository may be modified in the configuration file [[field_property_defaults.pl]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Inherritance ==&lt;br /&gt;
&lt;br /&gt;
This is the list of ''useful'' field types. Under it is listed the other field types which are just included for completeness and are not intended to be used as part of the configuration.&lt;br /&gt;
&lt;br /&gt;
Some field types inherrit the properties of another, and then modify them in some way. For example the [[namedset field]] works like a  [[set field]] except that it gets its options from a namedsets file not from the options=&amp;gt;[] in the field properties.&lt;br /&gt;
&lt;br /&gt;
* '''Basic metadata field''' - this is abstract, fields must be one of the types listed below...&lt;br /&gt;
** '''[[Boolean field|Boolean]]''' - TRUE or FALSE (or can be unset, of course)&lt;br /&gt;
** '''[[Compound field|Compound]]''' - virtual field, joins together several &amp;quot;multiple&amp;quot; fields. eg. author_name and author_email&lt;br /&gt;
*** '''[[Multilang field|Multilang]]''' - allows language variants of a field. eg. titles in French, German and/or English.&lt;br /&gt;
** '''[[Date field|Date]]''' - stores a date. &lt;br /&gt;
*** '''[[Time field|Time]]''' - stores a date and time.&lt;br /&gt;
** '''[[Float field|Float]]''' - stores a floating point value&lt;br /&gt;
** '''[[Int field|Int]]''' - a positive integer value&lt;br /&gt;
*** '''[[Itemref field|Itemref]]''' - a reference to another [[Data Object]] (eg. a user or other eprint)&lt;br /&gt;
*** '''[[Pagerange field|Pagerange]]''' - a pagerange, eg 122-130&lt;br /&gt;
** '''[[Search field|Search]]''' - a serialised search &lt;br /&gt;
** '''[[Set field|Set]]''' - a limited set of options&lt;br /&gt;
*** '''[[Namedset field|Namedset]]''' - like a normal set, but takes its options from a [[namedset]] configuration file.&lt;br /&gt;
*** '''[[Subject field|Subject]]''' - possible values are taken from the [[Subject]] heirarchy. &lt;br /&gt;
** '''[[Text field|Text]]''' - the basic text field. Maximum 255 bytes. nb. uft-8 means some chars take more than one byte.&lt;br /&gt;
*** '''[[Email field|Email]]''' - an email address&lt;br /&gt;
*** '''[[Longtext field|Longtext]]''' - like text but allows much longer text (65,000 bytes)&lt;br /&gt;
*** '''[[Name field|Name]]''' - Stores a persons name broken up into logical parts.&lt;br /&gt;
*** '''[[Url field|Url]]''' - stores a URL&lt;br /&gt;
&lt;br /&gt;
=== Internal-use and Deprecated Field Types ===&lt;br /&gt;
&lt;br /&gt;
* '''Basic metadata field'''&lt;br /&gt;
** '''[[File field|File]]''' - virtual field represtenting the files in a document&lt;br /&gt;
** '''[[Id field|Id]]''' - deprecated (do not use)&lt;br /&gt;
** '''Int'''&lt;br /&gt;
*** '''[[Year field|Year]]''' - deprecated (do not use)&lt;br /&gt;
** '''[[Search field|Search]]''' - a serialised search &lt;br /&gt;
** '''Set'''&lt;br /&gt;
*** '''[[Arclanguage field|Arclanguage]]''' - as for set, but the options are the valid languages of this repository&lt;br /&gt;
*** '''[[Fields field|Fields]]''' - as for set, but the options are the fields in a dataset.&lt;br /&gt;
*** '''[[Langid field|Langid]]''' - used internally by [[multilang field]]s to store the language id.&lt;br /&gt;
** '''[[Subobject field|Subobject]]''' - a virtual field, similar to itemref, but representing an object or objects which are sub-parts of the current object (as oppose to just related in some way)&lt;br /&gt;
** '''Text'''&lt;br /&gt;
*** '''[[Fulltext field|Fulltext]]''' - virtual field used to represent to the full text of an eprint&lt;br /&gt;
*** '''[[Secret field|Secret]]''' - used to store passwords.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Properties ==&lt;br /&gt;
&lt;br /&gt;
Note that true/false properties use 1 and 0 to indicate their setting.&lt;br /&gt;
&lt;br /&gt;
Some properties can be temporarily set or overridden by the [[Workflow Format]] and [[Citation Format]] files.&lt;br /&gt;
&lt;br /&gt;
=== Core Properties ===&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| name || default ||  description&lt;br /&gt;
|-&lt;br /&gt;
| '''name''' || n/a ||  '''This property is always required (except on sub-fields of compound fields). This property affects the database structure.''' This is the internal name of the field. It should only contain a-z and underscores. It will be used to identify this field in scripts, other configuration files, in the database, and in the XML export/import system, etc. It must be unique within the object (so the [[EPrint Object]] can't have two fields called &amp;quot;email&amp;quot; but the eprint object and [[User Object]] could have a field each of the same name.&lt;br /&gt;
|-&lt;br /&gt;
| '''type''' || n/a || '''This property is always required. This property affects the database structure.''' This sets the type of the metafield, which in turn affects what other properties it may have. The value must be one of the metafield types listed above.&lt;br /&gt;
|-&lt;br /&gt;
| '''multiple''' || 0 || '''This property affects the database structure.''' This indicates if this field is a single value or a list of values. eg. &amp;quot;title&amp;quot; is only a single [[longtext field]] but &amp;quot;creators&amp;quot; is a multiple [[name field]]. In the database a non-multiple field is stored in one (or more) columns in the main object table, but a multiple field gets its own table.&lt;br /&gt;
|-&lt;br /&gt;
| '''sql_index''' || 1 ||  When the database is created this field indicates that an SQL index should be created to speed searching. Different field types override the default value with the sensible option for that type of field. It's not worth putting an sql index on a field that is only ever searched for words in it (like title or abstract) but it is worth indexing fields whoes values are explicitly searched for, or where ranges are searched - date fields, set fields etc. It's unlikely you'll need to set this by hand. You could change it after the database has been created; it won't break anything. In fact, it won't do anything at all.&lt;br /&gt;
|- &lt;br /&gt;
| '''sub_name''' || undef || '''This property affects the database structure.''' This is a special property which is required INSTEAD of the name field for the sub fields inside compound fields. The actual name of these fields is then forced to be parent field name+&amp;quot;_&amp;quot;+sub_name. For example in compound field &amp;quot;creators&amp;quot; is a sub field with sub_name &amp;quot;name&amp;quot;. In this case the actual name of the name field in the system, database etc. is creators_name.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Rendering Properties ===&lt;br /&gt;
&lt;br /&gt;
These properties affect how values of the metadata in this field are rendered.&lt;br /&gt;
&lt;br /&gt;
Certain of these properties can be turned on temporarily by the [[Citation Format]] files - render_magicstop for example.&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| name || default ||  description&lt;br /&gt;
|-&lt;br /&gt;
| '''browse_link''' || undef || This is the name of a [[view]] which values of this field should be linked to. For example if their was a browse by publishers view configured named &amp;quot;pubs&amp;quot;, then adding browse_link=&amp;gt;&amp;quot;pubs&amp;quot; to the publisher field would cause it to be linked into the page for the named publisher whenever it is rendered.&lt;br /&gt;
|-&lt;br /&gt;
| '''render_quiet''' || 0 || Normally if a field is rendered an it isn't set, it is rendered as a big ugly &amp;quot;UNSPECIFIED&amp;quot;. Setting render_quiet on a field means it just gets rendered as nothing if it's empty.&lt;br /&gt;
|-&lt;br /&gt;
| '''render_magicstop''' || 0 || If true then this renders a full stop at the end of this field. Unless the last character is a dot, question mark or exclamation mark. This helps avoid the ugly &amp;quot;World without Cheese?.&amp;quot; affect you get when titles end in ? or !.&lt;br /&gt;
|-&lt;br /&gt;
| '''render_noreturn''' || 0 || If true then all CR and LF's are turned into normal spaces.&lt;br /&gt;
|-&lt;br /&gt;
| '''render_dont_link''' || 0 || Set this to true to stop this field hyperlinking itself when rendered. Currently only affects [[url field]]s and [[email field]]s.&lt;br /&gt;
|-&lt;br /&gt;
| '''render_order''' || &amp;quot;fg&amp;quot; || &amp;lt;b&amp;gt;Only for fields of type=&amp;gt;name.&amp;lt;/b&amp;gt; The order the name is rendered. For example 'gf' is given name first then family name.&lt;br /&gt;
|- &lt;br /&gt;
| '''render_single_value''' || undef || The value of this property is the name of a subroutine to call to render values from this field. For a multiple field this is called once per value in the list of values. The function should take the following parameters: ( $session, $field, $value, $object). It should return an [[XHTML DOM]] object of the rendered value.&lt;br /&gt;
|- &lt;br /&gt;
| '''render_value''' || undef || As with render single value, but this gets passed the entire list of values (an array reference) if it's a multiple field. Parameters passed are: ( $session, $self, $value, $all_langs, $no_link, $object ). $all_langs indicates that all language variants should be shown - only really useful for multilang fields. $no_link being true is a request to place no hyperlinks in the resulting HTML. It should return an [[XHTML DOM]] object of the rendered value.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Input and Validation Properties ===&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| name || default ||  description&lt;br /&gt;
|-&lt;br /&gt;
| '''required''' || 0 || If this is set to true then the field is always marked as required, no matter what the workflow says.&lt;br /&gt;
|-&lt;br /&gt;
| '''input_add_boxes''' || 2 *config || The number of rows to add when clicking the &amp;quot;more rows&amp;quot; button in a multiple or multilang field.&lt;br /&gt;
|- &lt;br /&gt;
| '''input_boxes''' || 3 *config || The number of input rows to initially show in a multiple field.&lt;br /&gt;
|-&lt;br /&gt;
| '''input_cols''' || 60 *config || The number of columns in a text input field.&lt;br /&gt;
|-&lt;br /&gt;
| '''input_rows''' || 10 *config || For longtext input fields, the number of rows of input to show. For set fields this is the number of items to show in a select menu.&lt;br /&gt;
|-&lt;br /&gt;
| '''input_lookup_url''' || undef || The URL to use for autocompletion. This is generally set using the workflow configuration rather than directly in the field configuration. The URL must be on the same server hostname as the repository.&lt;br /&gt;
|-&lt;br /&gt;
| '''input_lookup_params''' || undef || Additional parameters to pass to the input_lookup_url. For example an indication of which autocomplete file to use.&lt;br /&gt;
|-&lt;br /&gt;
| '''input_ordered''' || 1 || This is true by default. In some multiple fields, such as creators, the order of the values is important and by default numbers are shown to the left of input rows and to the right are &amp;quot;move up&amp;quot; and &amp;quot;move down&amp;quot; arrows. However, with some multiple fields the order is not important in which case you can set this to zero to stop the arrows and numbers being shown.&lt;br /&gt;
|-&lt;br /&gt;
| '''render_input''' || undef || The name of a subroutine which will render the input for this field. This is a bit tricky to use as it must return the same CGI parameters as the default input form would have. It's easiest on simple fields. The subroutine is passed the following parameters ( $field, $session, $current_value, $dataset, $staff, $hidden_fields, $object, $basename ). It should return the [[XHTML DOM]] object of the chunk of HTML form.&lt;br /&gt;
|-&lt;br /&gt;
| '''maxlength''' || 255 || This is a limit to the maximum allowed size of a value. It may be useful, for example, as a very simple validation check. Also it may confuse users to be allowed to type in 255 characters in a &amp;quot;postcode/zipcode&amp;quot; field.&lt;br /&gt;
|-&lt;br /&gt;
| '''toform''' || undef || This function is allowed to modify the current value which appears in the form. For example, if your database stores userids in a field, but you want to allow people to edit them as usernames, then this function can be used to take the current value (a userid) and return the associated username. This value is what appears in the field in the search form. It is passed ( $value, $session, $object, $basename ) and returns the user-facing version of $value.&lt;br /&gt;
|-&lt;br /&gt;
| '''fromform''' || undef || The inverse of toform. This takes the value from the form and converts it into the value that will be stored in the database. It is passed the parameters ( $value, $session) when $value is the value entered on the web form, and the return value is the value to be stored in the database.&lt;br /&gt;
|-&lt;br /&gt;
| '''help_xhtml''' || undef || This can only be set via the [[Workflow Format]] configuration not via the metadata field directly. It is used to contain the XHTML to use as the help for this field. This is so that the workflow can conditionally change the help on a field.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Ordering, Indexing and Searching ===&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| name || default ||  description&lt;br /&gt;
|-&lt;br /&gt;
| '''text_index''' || 0 || If set to true the the indexer considers this field for full text indexing. Otherwise not. Some types of metadata field have a default of true, for example text and longtext.&lt;br /&gt;
|-&lt;br /&gt;
| '''search_cols''' || 40 *config || How many columns (characters) wide the input field for searching this type of field. If one search field searches more than one field then the properties from the first listed field are used.&lt;br /&gt;
|-&lt;br /&gt;
| '''make_single_value_orderkey''' || undef || The orderkey is the (potentially language specific) string used to order by this field. This property allows you to define a method to override the default eprints orderkey generation. This property is passed each value from multiple fields, in turn. It is passed ($field, $value) and returns an ordervalue string.&lt;br /&gt;
|-&lt;br /&gt;
| '''make_value_orderkey''' || undef || As with make_single_value_orderkey but this is passed the array reference for a multiple field rather than just single values. It should return the orderkey string for the entire value. It is passed ( $field, $value, $session, $language_id ).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Other Properties ===&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| name || default ||  description&lt;br /&gt;
|-&lt;br /&gt;
| '''can_clone''' || 1 || If this is set to false then this field is not copied when the object is &lt;br /&gt;
cloned. This is mostly used by system fields such as &amp;quot;dir&amp;quot; or &amp;quot;datestamp&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| '''show_in_fieldlist''' || 1 || Set this to false to prevent this field appearing in [[fields field]] lists. This is primarily to allow you to remove it from the list of fields in the user configuration which are used to control which fields appear as columns in the Items and Review screens.&lt;br /&gt;
|-&lt;br /&gt;
| '''show_in_html''' || 1 || If set to false then this field is not shown in the Details tab of the eprint control page. This is mostly used to hide confusing internal system fields like &amp;quot;dir&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| '''export_as_xml''' || 1 || Set this to false to prevent the field being exported in the XML export. This is handy to supress either confidential or confusing fields, like the fileinfo system field.&lt;br /&gt;
|-&lt;br /&gt;
| '''import''' || 1 || If set to false then new eprints can't be created with this value. For example &amp;quot;eprintid&amp;quot;, &amp;quot;dir&amp;quot; and so forth have this set to false. This can also prevent fields being set when import tools are used.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Internal Properties ===&lt;br /&gt;
&lt;br /&gt;
These are set by the system. Editing them by hand will do '''''strange things'''''.&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| name || default ||  description&lt;br /&gt;
|-&lt;br /&gt;
| '''parent_name''' || undef || On subfields of compound fields this is set automatically to be the name of the parent field.&lt;br /&gt;
|-&lt;br /&gt;
| '''confid''' || *special || This is set to the id of the dataset that this field belongs to and is used to work out what phrase ids etc. it uses.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Deprecated or Buggy Properties ===&lt;br /&gt;
&lt;br /&gt;
Don't use these!&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| name || default ||  description&lt;br /&gt;
|-&lt;br /&gt;
| '''input_advice_right''' || undef || Do not use.&lt;br /&gt;
|-&lt;br /&gt;
| '''input_advice_right''' || undef || Do not use.&lt;br /&gt;
|-&lt;br /&gt;
| '''input_assist''' || undef || Do not use.&lt;br /&gt;
|-&lt;br /&gt;
| '''requiredlangs''' || [] || Do not use.&lt;br /&gt;
|-&lt;br /&gt;
| '''allow_null''' || 0 || Do not use. Planned for use with compound fields, but not implemented in 3.0.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Required Phrases ==&lt;br /&gt;
&lt;br /&gt;
These are phrases which you need to define in the local repository phrases file to control how this field renders. Some types of field (eg. [[set field]]s) have additional phrases in addition to the ones listed below.&lt;br /&gt;
&lt;br /&gt;
The actual name of the field, as it will appear to users is stored in &lt;br /&gt;
&lt;br /&gt;
 datasetid + &amp;quot;_fieldname_&amp;quot; + fieldname&lt;br /&gt;
&lt;br /&gt;
The default help to display, when the field is being input, is stored in&lt;br /&gt;
&lt;br /&gt;
 datasetid + &amp;quot;_fieldhelp_&amp;quot; + fieldname&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;epp:phrase id=&amp;quot;eprint_fieldname_abstract&amp;quot;&amp;gt;Abstract&amp;lt;/epp:phrase&amp;gt;&lt;br /&gt;
    &amp;lt;epp:phrase id=&amp;quot;eprint_fieldhelp_abstract&amp;quot;&amp;gt;A summary of the items content. &lt;br /&gt;
       If the item has a formal abstract then that is what should be entered &lt;br /&gt;
       here. No complicated text formatting is possible.&amp;lt;/epp:phrase&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Database ==&lt;br /&gt;
&lt;br /&gt;
Most fields have a representation in the SQL database using one or more columns. The sub-pages for each field type give the details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== API ==&lt;br /&gt;
&lt;br /&gt;
When you request (or set) a value of a metadata field, it is usually handled as a perl scalar (which is a string or number).&lt;br /&gt;
&lt;br /&gt;
ALL values passed around in the API should be encoded in utf-8 or BAD THINGS may happen.&lt;br /&gt;
&lt;br /&gt;
For example,&lt;br /&gt;
&lt;br /&gt;
 $eprint-&amp;gt;set_value( &amp;quot;title&amp;quot;, &amp;quot;For Us, The Living&amp;quot; );&lt;br /&gt;
&lt;br /&gt;
Sets the title to the given string.&lt;br /&gt;
&lt;br /&gt;
 my $foo = $eprint-&amp;gt;get_value( &amp;quot;title&amp;quot; );&lt;br /&gt;
&lt;br /&gt;
Sets $foo to the string of the title, eg. &amp;quot;For Us, The Living&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Multiple Fields ===&lt;br /&gt;
&lt;br /&gt;
If a field is set to multiple, then instead of a single value, a reference to an array of values is used. Eg.&lt;br /&gt;
&lt;br /&gt;
 $eprint-&amp;gt;set_value( &amp;quot;corp_creators&amp;quot;, [ &amp;quot;Jims Research&amp;quot;, &amp;quot;Jones Research ] );&lt;br /&gt;
&lt;br /&gt;
=== Other Exceptions ===&lt;br /&gt;
&lt;br /&gt;
See the specific page for the full details.&lt;br /&gt;
&lt;br /&gt;
* [[name field]]s are represented as a hash of the parts.&lt;br /&gt;
&lt;br /&gt;
* [[compound field]]s do something a bit clever.&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=Metadata&amp;diff=8086</id>
		<title>Metadata</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=Metadata&amp;diff=8086"/>
		<updated>2009-12-30T15:14:53Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: /* Rendering Properties */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{fieldtypes}}&lt;br /&gt;
&lt;br /&gt;
== Metadata Field Types ==&lt;br /&gt;
&lt;br /&gt;
There are many different types of metadata field. The type controls how a field is rendered, indexed, searched and so forth. A field always has a type and a name property, and usually has several more. Most properties are documented on this page, but some properties are only available to certain types of field, and they are listed on the page for that field. &lt;br /&gt;
&lt;br /&gt;
Some of these subclasses provide very rich features, others very simple. For example the [[url field]] works just like the text field except that it's only valid if it looks like a url and when rendered it is a hyper-link.&lt;br /&gt;
&lt;br /&gt;
A metadata field describes one field of data in one type of [[Data Object]]. For example the &amp;quot;title&amp;quot; field of an [[EPrint Object]] or the &amp;quot;email&amp;quot; field in a [[User Object]]. &lt;br /&gt;
&lt;br /&gt;
Every [[Data Object]] has system fields (which are set by the system, and not alterable), but the [[User Object]] and [[EPrint Object]] have additional fields which are configured on a per-repository basis.&lt;br /&gt;
&lt;br /&gt;
These can be customised in the [[user_fields.pl]] and [[eprint_fields.pl]] files. Note that changing these files does not automatically modify the underlying database so should (generally) only be done before the database is created. Some metadata properties do not affect the database, and are marked as such. &lt;br /&gt;
&lt;br /&gt;
If you add or remove fields, or modify a property which affects the database then you'll need to alter the database to match.  In 3.0 this must be done by hand, but we have plans to build a tool to do this for you.&lt;br /&gt;
&lt;br /&gt;
Default values marked *config indicate that the default value for the repository may be modified in the configuration file [[field_property_defaults.pl]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Inherritance ==&lt;br /&gt;
&lt;br /&gt;
This is the list of ''useful'' field types. Under it is listed the other field types which are just included for completeness and are not intended to be used as part of the configuration.&lt;br /&gt;
&lt;br /&gt;
Some field types inherrit the properties of another, and then modify them in some way. For example the [[namedset field]] works like a  [[set field]] except that it gets its options from a namedsets file not from the options=&amp;gt;[] in the field properties.&lt;br /&gt;
&lt;br /&gt;
* '''Basic metadata field''' - this is abstract, fields must be one of the types listed below...&lt;br /&gt;
** '''[[Boolean field|Boolean]]''' - TRUE or FALSE (or can be unset, of course)&lt;br /&gt;
** '''[[Compound field|Compound]]''' - virtual field, joins together several &amp;quot;multiple&amp;quot; fields. eg. author_name and author_email&lt;br /&gt;
*** '''[[Multilang field|Multilang]]''' - allows language variants of a field. eg. titles in French, German and/or English.&lt;br /&gt;
** '''[[Date field|Date]]''' - stores a date. &lt;br /&gt;
*** '''[[Time field|Time]]''' - stores a date and time.&lt;br /&gt;
** '''[[Float field|Float]]''' - stores a floating point value&lt;br /&gt;
** '''[[Int field|Int]]''' - a positive integer value&lt;br /&gt;
*** '''[[Itemref field|Itemref]]''' - a reference to another [[Data Object]] (eg. a user or other eprint)&lt;br /&gt;
*** '''[[Pagerange field|Pagerange]]''' - a pagerange, eg 122-130&lt;br /&gt;
** '''[[Search field|Search]]''' - a serialised search &lt;br /&gt;
** '''[[Set field|Set]]''' - a limited set of options&lt;br /&gt;
*** '''[[Namedset field|Namedset]]''' - like a normal set, but takes its options from a [[namedset]] configuration file.&lt;br /&gt;
*** '''[[Subject field|Subject]]''' - possible values are taken from the [[Subject]] heirarchy. &lt;br /&gt;
** '''[[Text field|Text]]''' - the basic text field. Maximum 255 bytes. nb. uft-8 means some chars take more than one byte.&lt;br /&gt;
*** '''[[Email field|Email]]''' - an email address&lt;br /&gt;
*** '''[[Longtext field|Longtext]]''' - like text but allows much longer text (65,000 bytes)&lt;br /&gt;
*** '''[[Name field|Name]]''' - Stores a persons name broken up into logical parts.&lt;br /&gt;
*** '''[[Url field|Url]]''' - stores a URL&lt;br /&gt;
&lt;br /&gt;
=== Internal-use and Deprecated Field Types ===&lt;br /&gt;
&lt;br /&gt;
* '''Basic metadata field'''&lt;br /&gt;
** '''[[File field|File]]''' - virtual field represtenting the files in a document&lt;br /&gt;
** '''[[Id field|Id]]''' - deprecated (do not use)&lt;br /&gt;
** '''Int'''&lt;br /&gt;
*** '''[[Year field|Year]]''' - deprecated (do not use)&lt;br /&gt;
** '''[[Search field|Search]]''' - a serialised search &lt;br /&gt;
** '''Set'''&lt;br /&gt;
*** '''[[Arclanguage field|Arclanguage]]''' - as for set, but the options are the valid languages of this repository&lt;br /&gt;
*** '''[[Fields field|Fields]]''' - as for set, but the options are the fields in a dataset.&lt;br /&gt;
*** '''[[Langid field|Langid]]''' - used internally by [[multilang field]]s to store the language id.&lt;br /&gt;
** '''[[Subobject field|Subobject]]''' - a virtual field, similar to itemref, but representing an object or objects which are sub-parts of the current object (as oppose to just related in some way)&lt;br /&gt;
** '''Text'''&lt;br /&gt;
*** '''[[Fulltext field|Fulltext]]''' - virtual field used to represent to the full text of an eprint&lt;br /&gt;
*** '''[[Secret field|Secret]]''' - used to store passwords.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Properties ==&lt;br /&gt;
&lt;br /&gt;
Note that true/false properties use 1 and 0 to indicate their setting.&lt;br /&gt;
&lt;br /&gt;
Some properties can be temporarily set or overridden by the [[Workflow Format]] and [[Citation Format]] files.&lt;br /&gt;
&lt;br /&gt;
=== Core Properties ===&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| name || default ||  description&lt;br /&gt;
|-&lt;br /&gt;
| '''name''' || n/a ||  '''This property is always required (except on sub-fields of compound fields). This property affects the database structure.''' This is the internal name of the field. It should only contain a-z and underscores. It will be used to identify this field in scripts, other configuration files, in the database, and in the XML export/import system, etc. It must be unique within the object (so the [[EPrint Object]] can't have two fields called &amp;quot;email&amp;quot; but the eprint object and [[User Object]] could have a field each of the same name.&lt;br /&gt;
|-&lt;br /&gt;
| '''type''' || n/a || '''This property is always required. This property affects the database structure.''' This sets the type of the metafield, which in turn affects what other properties it may have. The value must be one of the metafield types listed above.&lt;br /&gt;
|-&lt;br /&gt;
| '''multiple''' || 0 || '''This property affects the database structure.''' This indicates if this field is a single value or a list of values. eg. &amp;quot;title&amp;quot; is only a single [[longtext field]] but &amp;quot;creators&amp;quot; is a multiple [[name field]]. In the database a non-multiple field is stored in one (or more) columns in the main object table, but a multiple field gets its own table.&lt;br /&gt;
|-&lt;br /&gt;
| '''sql_index''' || 1 ||  When the database is created this field indicates that an SQL index should be created to speed searching. Different field types override the default value with the sensible option for that type of field. It's not worth putting an sql index on a field that is only ever searched for words in it (like title or abstract) but it is worth indexing fields whoes values are explicitly searched for, or where ranges are searched - date fields, set fields etc. It's unlikely you'll need to set this by hand. You could change it after the database has been created; it won't break anything. In fact, it won't do anything at all.&lt;br /&gt;
|- &lt;br /&gt;
| '''sub_name''' || undef || '''This property affects the database structure.''' This is a special property which is required INSTEAD of the name field for the sub fields inside compound fields. The actual name of these fields is then forced to be parent field name+&amp;quot;_&amp;quot;+sub_name. For example in compound field &amp;quot;creators&amp;quot; is a sub field with sub_name &amp;quot;name&amp;quot;. In this case the actual name of the name field in the system, database etc. is creators_name.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Rendering Properties ===&lt;br /&gt;
&lt;br /&gt;
These properties affect how values of the metadata in this field are rendered.&lt;br /&gt;
&lt;br /&gt;
Certain of these properties can be turned on temporarily by the [[Citation Format]] files - render_magicstop for example.&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| name || default ||  description&lt;br /&gt;
|-&lt;br /&gt;
| '''browse_link''' || undef || This is the name of a [[view]] which values of this field should be linked to. For example if their was a browse by publishers view configured named &amp;quot;pubs&amp;quot;, then adding browse_link=&amp;gt;&amp;quot;pubs&amp;quot; to the publisher field would cause it to be linked into the page for the named publisher whenever it is rendered.&lt;br /&gt;
|-&lt;br /&gt;
| '''render_quiet''' || 0 || Normally if a field is rendered an it isn't set, it is rendered as a big ugly &amp;quot;UNSPECIFIED&amp;quot;. Setting render_quiet on a field means it just gets rendered as nothing if it's empty.&lt;br /&gt;
|-&lt;br /&gt;
| '''render_magicstop''' || 0 || If true then this renders a full stop at the end of this field. Unless the last character is a dot, question mark or exclamation mark. This helps avoid the ugly &amp;quot;World without Cheese?.&amp;quot; affect you get when titles end in ? or !.&lt;br /&gt;
|-&lt;br /&gt;
| '''render_noreturn''' || 0 || If true then all CR and LF's are turned into normal spaces.&lt;br /&gt;
|-&lt;br /&gt;
| '''render_dont_link''' || 0 || Set this to true to stop this field hyperlinking itself when rendered. Currently only affects [[url field]]s and [[email field]]s.&lt;br /&gt;
|-&lt;br /&gt;
| '''render_order''' || &amp;quot;fg&amp;quot; || &amp;lt;b&amp;gt;Only for fields with type=&amp;gt;name.&amp;lt;/b&amp;gt; The order the name is rendered. For example 'gf'is given name first then family name.&lt;br /&gt;
|- &lt;br /&gt;
| '''render_single_value''' || undef || The value of this property is the name of a subroutine to call to render values from this field. For a multiple field this is called once per value in the list of values. The function should take the following parameters: ( $session, $field, $value, $object). It should return an [[XHTML DOM]] object of the rendered value.&lt;br /&gt;
|- &lt;br /&gt;
| '''render_value''' || undef || As with render single value, but this gets passed the entire list of values (an array reference) if it's a multiple field. Parameters passed are: ( $session, $self, $value, $all_langs, $no_link, $object ). $all_langs indicates that all language variants should be shown - only really useful for multilang fields. $no_link being true is a request to place no hyperlinks in the resulting HTML. It should return an [[XHTML DOM]] object of the rendered value.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Input and Validation Properties ===&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| name || default ||  description&lt;br /&gt;
|-&lt;br /&gt;
| '''required''' || 0 || If this is set to true then the field is always marked as required, no matter what the workflow says.&lt;br /&gt;
|-&lt;br /&gt;
| '''input_add_boxes''' || 2 *config || The number of rows to add when clicking the &amp;quot;more rows&amp;quot; button in a multiple or multilang field.&lt;br /&gt;
|- &lt;br /&gt;
| '''input_boxes''' || 3 *config || The number of input rows to initially show in a multiple field.&lt;br /&gt;
|-&lt;br /&gt;
| '''input_cols''' || 60 *config || The number of columns in a text input field.&lt;br /&gt;
|-&lt;br /&gt;
| '''input_rows''' || 10 *config || For longtext input fields, the number of rows of input to show. For set fields this is the number of items to show in a select menu.&lt;br /&gt;
|-&lt;br /&gt;
| '''input_lookup_url''' || undef || The URL to use for autocompletion. This is generally set using the workflow configuration rather than directly in the field configuration. The URL must be on the same server hostname as the repository.&lt;br /&gt;
|-&lt;br /&gt;
| '''input_lookup_params''' || undef || Additional parameters to pass to the input_lookup_url. For example an indication of which autocomplete file to use.&lt;br /&gt;
|-&lt;br /&gt;
| '''input_ordered''' || 1 || This is true by default. In some multiple fields, such as creators, the order of the values is important and by default numbers are shown to the left of input rows and to the right are &amp;quot;move up&amp;quot; and &amp;quot;move down&amp;quot; arrows. However, with some multiple fields the order is not important in which case you can set this to zero to stop the arrows and numbers being shown.&lt;br /&gt;
|-&lt;br /&gt;
| '''render_input''' || undef || The name of a subroutine which will render the input for this field. This is a bit tricky to use as it must return the same CGI parameters as the default input form would have. It's easiest on simple fields. The subroutine is passed the following parameters ( $field, $session, $current_value, $dataset, $staff, $hidden_fields, $object, $basename ). It should return the [[XHTML DOM]] object of the chunk of HTML form.&lt;br /&gt;
|-&lt;br /&gt;
| '''maxlength''' || 255 || This is a limit to the maximum allowed size of a value. It may be useful, for example, as a very simple validation check. Also it may confuse users to be allowed to type in 255 characters in a &amp;quot;postcode/zipcode&amp;quot; field.&lt;br /&gt;
|-&lt;br /&gt;
| '''toform''' || undef || This function is allowed to modify the current value which appears in the form. For example, if your database stores userids in a field, but you want to allow people to edit them as usernames, then this function can be used to take the current value (a userid) and return the associated username. This value is what appears in the field in the search form. It is passed ( $value, $session, $object, $basename ) and returns the user-facing version of $value.&lt;br /&gt;
|-&lt;br /&gt;
| '''fromform''' || undef || The inverse of toform. This takes the value from the form and converts it into the value that will be stored in the database. It is passed the parameters ( $value, $session) when $value is the value entered on the web form, and the return value is the value to be stored in the database.&lt;br /&gt;
|-&lt;br /&gt;
| '''help_xhtml''' || undef || This can only be set via the [[Workflow Format]] configuration not via the metadata field directly. It is used to contain the XHTML to use as the help for this field. This is so that the workflow can conditionally change the help on a field.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Ordering, Indexing and Searching ===&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| name || default ||  description&lt;br /&gt;
|-&lt;br /&gt;
| '''text_index''' || 0 || If set to true the the indexer considers this field for full text indexing. Otherwise not. Some types of metadata field have a default of true, for example text and longtext.&lt;br /&gt;
|-&lt;br /&gt;
| '''search_cols''' || 40 *config || How many columns (characters) wide the input field for searching this type of field. If one search field searches more than one field then the properties from the first listed field are used.&lt;br /&gt;
|-&lt;br /&gt;
| '''make_single_value_orderkey''' || undef || The orderkey is the (potentially language specific) string used to order by this field. This property allows you to define a method to override the default eprints orderkey generation. This property is passed each value from multiple fields, in turn. It is passed ($field, $value) and returns an ordervalue string.&lt;br /&gt;
|-&lt;br /&gt;
| '''make_value_orderkey''' || undef || As with make_single_value_orderkey but this is passed the array reference for a multiple field rather than just single values. It should return the orderkey string for the entire value. It is passed ( $field, $value, $session, $language_id ).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Other Properties ===&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| name || default ||  description&lt;br /&gt;
|-&lt;br /&gt;
| '''can_clone''' || 1 || If this is set to false then this field is not copied when the object is &lt;br /&gt;
cloned. This is mostly used by system fields such as &amp;quot;dir&amp;quot; or &amp;quot;datestamp&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| '''show_in_fieldlist''' || 1 || Set this to false to prevent this field appearing in [[fields field]] lists. This is primarily to allow you to remove it from the list of fields in the user configuration which are used to control which fields appear as columns in the Items and Review screens.&lt;br /&gt;
|-&lt;br /&gt;
| '''show_in_html''' || 1 || If set to false then this field is not shown in the Details tab of the eprint control page. This is mostly used to hide confusing internal system fields like &amp;quot;dir&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| '''export_as_xml''' || 1 || Set this to false to prevent the field being exported in the XML export. This is handy to supress either confidential or confusing fields, like the fileinfo system field.&lt;br /&gt;
|-&lt;br /&gt;
| '''import''' || 1 || If set to false then new eprints can't be created with this value. For example &amp;quot;eprintid&amp;quot;, &amp;quot;dir&amp;quot; and so forth have this set to false. This can also prevent fields being set when import tools are used.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Internal Properties ===&lt;br /&gt;
&lt;br /&gt;
These are set by the system. Editing them by hand will do '''''strange things'''''.&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| name || default ||  description&lt;br /&gt;
|-&lt;br /&gt;
| '''parent_name''' || undef || On subfields of compound fields this is set automatically to be the name of the parent field.&lt;br /&gt;
|-&lt;br /&gt;
| '''confid''' || *special || This is set to the id of the dataset that this field belongs to and is used to work out what phrase ids etc. it uses.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Deprecated or Buggy Properties ===&lt;br /&gt;
&lt;br /&gt;
Don't use these!&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| name || default ||  description&lt;br /&gt;
|-&lt;br /&gt;
| '''input_advice_right''' || undef || Do not use.&lt;br /&gt;
|-&lt;br /&gt;
| '''input_advice_right''' || undef || Do not use.&lt;br /&gt;
|-&lt;br /&gt;
| '''input_assist''' || undef || Do not use.&lt;br /&gt;
|-&lt;br /&gt;
| '''requiredlangs''' || [] || Do not use.&lt;br /&gt;
|-&lt;br /&gt;
| '''allow_null''' || 0 || Do not use. Planned for use with compound fields, but not implemented in 3.0.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Required Phrases ==&lt;br /&gt;
&lt;br /&gt;
These are phrases which you need to define in the local repository phrases file to control how this field renders. Some types of field (eg. [[set field]]s) have additional phrases in addition to the ones listed below.&lt;br /&gt;
&lt;br /&gt;
The actual name of the field, as it will appear to users is stored in &lt;br /&gt;
&lt;br /&gt;
 datasetid + &amp;quot;_fieldname_&amp;quot; + fieldname&lt;br /&gt;
&lt;br /&gt;
The default help to display, when the field is being input, is stored in&lt;br /&gt;
&lt;br /&gt;
 datasetid + &amp;quot;_fieldhelp_&amp;quot; + fieldname&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;epp:phrase id=&amp;quot;eprint_fieldname_abstract&amp;quot;&amp;gt;Abstract&amp;lt;/epp:phrase&amp;gt;&lt;br /&gt;
    &amp;lt;epp:phrase id=&amp;quot;eprint_fieldhelp_abstract&amp;quot;&amp;gt;A summary of the items content. &lt;br /&gt;
       If the item has a formal abstract then that is what should be entered &lt;br /&gt;
       here. No complicated text formatting is possible.&amp;lt;/epp:phrase&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Database ==&lt;br /&gt;
&lt;br /&gt;
Most fields have a representation in the SQL database using one or more columns. The sub-pages for each field type give the details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== API ==&lt;br /&gt;
&lt;br /&gt;
When you request (or set) a value of a metadata field, it is usually handled as a perl scalar (which is a string or number).&lt;br /&gt;
&lt;br /&gt;
ALL values passed around in the API should be encoded in utf-8 or BAD THINGS may happen.&lt;br /&gt;
&lt;br /&gt;
For example,&lt;br /&gt;
&lt;br /&gt;
 $eprint-&amp;gt;set_value( &amp;quot;title&amp;quot;, &amp;quot;For Us, The Living&amp;quot; );&lt;br /&gt;
&lt;br /&gt;
Sets the title to the given string.&lt;br /&gt;
&lt;br /&gt;
 my $foo = $eprint-&amp;gt;get_value( &amp;quot;title&amp;quot; );&lt;br /&gt;
&lt;br /&gt;
Sets $foo to the string of the title, eg. &amp;quot;For Us, The Living&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Multiple Fields ===&lt;br /&gt;
&lt;br /&gt;
If a field is set to multiple, then instead of a single value, a reference to an array of values is used. Eg.&lt;br /&gt;
&lt;br /&gt;
 $eprint-&amp;gt;set_value( &amp;quot;corp_creators&amp;quot;, [ &amp;quot;Jims Research&amp;quot;, &amp;quot;Jones Research ] );&lt;br /&gt;
&lt;br /&gt;
=== Other Exceptions ===&lt;br /&gt;
&lt;br /&gt;
See the specific page for the full details.&lt;br /&gt;
&lt;br /&gt;
* [[name field]]s are represented as a hash of the parts.&lt;br /&gt;
&lt;br /&gt;
* [[compound field]]s do something a bit clever.&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=UserFeedback&amp;diff=8020</id>
		<title>UserFeedback</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=UserFeedback&amp;diff=8020"/>
		<updated>2009-12-13T13:02:03Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the feedback we got from Debra and Sue on the first &amp;quot;User Xperience Workshop&amp;quot; held on Fri 20 Nov 2009.&lt;br /&gt;
&lt;br /&gt;
TODO: order the feedback, filter out, create requirements, create tickets on Mantis&lt;br /&gt;
&lt;br /&gt;
=Sue's comments=&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Replace a document&amp;quot; to well... replace a document. Use cases: found out typos on the slides, fixed them, now want to upload new updated version of the document to EdShare&lt;br /&gt;
* Don't see the difference between the Document description and the Share's title&lt;br /&gt;
* Link to Creative Commons website next to &amp;quot;Licenses&amp;quot; on doc upload, to learn more about CC licensing&lt;br /&gt;
* Possibility to convert to PDF,PPT,etc from the doc upload&lt;br /&gt;
* After uploading a doc, Sue was perplexed in front of &amp;quot;need additional files? click here to...&amp;quot;. She thought this was the way to add another document to a share while it's used for complex formats only (maybe don't show this for 'simple' formats)&lt;br /&gt;
* Actually initially, Sue wasn't aware you could have more than one doc per share&lt;br /&gt;
* Sue didn't see the 'Add file' button to add a new 'document'&lt;br /&gt;
* Extra/improved examples on how to fill the form (eg examples of titles etc)&lt;br /&gt;
* &amp;quot;Remember my creators' name&amp;quot; -&amp;gt; Sue likes to use a &amp;quot;prefered&amp;quot; name (ie Su not Susan as it's picked up from LDAP)... Maybe what she really wants is to be able to edit her name (cf. later)&lt;br /&gt;
* Keywords input: &amp;quot;remember last 10 keywords&amp;quot; entered by that depositor&lt;br /&gt;
* Same comment for Course Codes&lt;br /&gt;
* Su doesn't like clicking on 'Add' to add a keyword, she'd rather press Enter&lt;br /&gt;
* She didn't know you could add comma-separated keywords (it's on the collapsable help)&lt;br /&gt;
* Sue couldn't see the doc description she entered on the My Shares screen (note: it's not shown on that page, so she didn't understand why she had to enter  a doc desc. at all)&lt;br /&gt;
* &amp;quot;Update file&amp;quot;: Sue thought that was to replace a document while it's to update the file/doc's metadata&lt;br /&gt;
&lt;br /&gt;
==Collections==&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;No ideas on what to do with [CollectionSelect]!&amp;quot;&lt;br /&gt;
* She then clicked on an item on [CollectionSelect] which opened a new tab and increased the confusion&lt;br /&gt;
* She actually wants more metadata shown on CS so it's easier to find shares (the title alone is not good enough sometimes) -&amp;gt; content of the share, depositor, tags ...&lt;br /&gt;
* Being able to sort shares on the 'Search' tab of the CS&lt;br /&gt;
* Viewing perms: doesn't understand whether the perms of a collection supercede the perms of shares -&amp;gt; maybe collection should be public, point.&lt;br /&gt;
* Pre-filled collection's tags with the shares' tags &lt;br /&gt;
* &amp;quot;My Shares&amp;quot;: doesn't show the content of a collection&lt;br /&gt;
&lt;br /&gt;
==My Shares==&lt;br /&gt;
&lt;br /&gt;
* Being able to search my shares&lt;br /&gt;
* Being able to view [10,20,..50] shares per page -&amp;gt; this is probably a comment about how search results are displayed in EPrints/EdShare generally= &lt;br /&gt;
&lt;br /&gt;
==Abstract Page==&lt;br /&gt;
&lt;br /&gt;
* Sue couldn't find the 'edit share' link&lt;br /&gt;
* Being  able to convert a document to PDF/PPT etc. from the abstract page&lt;br /&gt;
&lt;br /&gt;
==Features 'requests'==&lt;br /&gt;
&lt;br /&gt;
* Notify users/depositors by email about their monthly activity (eg. 'this month you ve created n shares etc')&lt;br /&gt;
* Convert PPT/PPTX to 6up/9up formats&lt;br /&gt;
* Firefox plugin that could save a link to edshare, as she does for delicious&lt;br /&gt;
* Keywords should link to more data (cf. delicious): (sue clicks on keyword 'x') -&amp;gt; edshare shows info about who has used keyword 'x' and what other keywords they've used&lt;br /&gt;
* Sue would like to be able to edit her name and her email address (to use her ecs' one)&lt;br /&gt;
&lt;br /&gt;
==Misc Comments==&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;No ideas about what the folder does&amp;quot; -&amp;gt; remove the Folder?&lt;br /&gt;
* &amp;quot;Share #1234&amp;quot; (default title when the user didnt enter a title,cf UNSPECIFIED in EPrints)-&amp;gt; &amp;quot;what the hell is that&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=Debra's comments=&lt;br /&gt;
==Search==&lt;br /&gt;
* Does not know that you can search within search results&lt;br /&gt;
* Uses a shares icon to identify the type of files looking at list of results&lt;br /&gt;
* Has to repeat her search if she wants to get the same results back (i think this was probably caused confusion because of a lot new windows spawning, id have just used the back button)&lt;br /&gt;
&lt;br /&gt;
==Abstract Page==&lt;br /&gt;
* Recognises view link will take her to a different page&lt;br /&gt;
* Uses tags to get around and find more related resources&lt;br /&gt;
* Appears to be logged out on the abstract page and has a link to log in (also no link to edit resource)&lt;br /&gt;
* Because the template is wrong this meant that there was no link to log out (Debra has two accounts)&lt;br /&gt;
* got into a real pickle because some links spawn new windows but some spawn new tabs. i think we need to look at this. its probably in internet explorer problem but i think we open a lot of thins in new windows/tabs when we dont need to &lt;br /&gt;
&lt;br /&gt;
==Manage resources==&lt;br /&gt;
* Likes to use &amp;quot;use as template&amp;quot; to create new shares, presumably because of persistent tags and courses and viewing permissions. (In humbox it has been suggested that a user might have a tags field on their profile which are the default tags when they create a resource)&lt;br /&gt;
* because of her template issues debra found it hard to get back to manage resources&lt;br /&gt;
* When using &amp;quot;use as template&amp;quot; on collections it creates a share not a collection and but still copies over the shared bits of metadata. This creates some sort of hyra which is a share with related shares. simple bug to fix but would make use as template a lot less terrorfying. &lt;br /&gt;
&lt;br /&gt;
==Workflow==&lt;br /&gt;
* Compfortable with the different ways to make a shares and collections&lt;br /&gt;
* Uses the help fields occasionally to remind her what things are/do&lt;br /&gt;
* was happy using collection select (the old component) but found it irriating when search puts you to the top of the workflow. I think the new component may do that as well. Might be IE only problem.&lt;br /&gt;
* would like to know how many results come back in the collection select search.&lt;br /&gt;
* also unclear of the order in which the shares were returned by the col select search&lt;br /&gt;
* using links in the collection select list to have a look at the shares in the list and uses the preview to make sure shes got the right file. (with out the preview i guess shed have read the discription or maybe opened a file or something)&lt;br /&gt;
* is happy with using the tick boxes to add shares to the collection&lt;br /&gt;
* notices the misspelling of currently in the old collection select (a former kate borthwick favourite i might add)&lt;br /&gt;
* Would like tags to be filled in based on whats in the collection (although i like the idea its quite a bit of hassel)&lt;br /&gt;
&lt;br /&gt;
==Security==&lt;br /&gt;
* gives viewing permissions to her and Hugh&lt;br /&gt;
* would like to auto complete multiple tags, rather than taggin one at a time and pressing add. Humbox does this but it doesnt use sebs jazz tagging component&lt;br /&gt;
*&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=MePrintsInstall&amp;diff=8015</id>
		<title>MePrintsInstall</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=MePrintsInstall&amp;diff=8015"/>
		<updated>2009-12-10T13:40:26Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page provides technical instructions for installing the MePrints extension. To find out what MePrints is, and for an overview of MePrints features, see [[MePrintsOverview]].&lt;br /&gt;
&lt;br /&gt;
==Installation (EPrints 3.1+)==&lt;br /&gt;
&lt;br /&gt;
Download the latest release to your '''local repository directory''' (eg. /opt/eprints3/archives/ARCHIVEID/).&lt;br /&gt;
&lt;br /&gt;
Extract files:&lt;br /&gt;
&lt;br /&gt;
 tar xzvf meprints_xx.tgz&lt;br /&gt;
&lt;br /&gt;
===Install bin scripts===&lt;br /&gt;
&lt;br /&gt;
Edit the bin/generate_meprints file and check the include path on the first line. For example if you have installed EPrints in /var/lib/eprints3 change the line from:&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/perl -w -I/opt/eprints3/perl_lib&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/perl -w -I/var/lib/eprints3/perl_lib&lt;br /&gt;
&lt;br /&gt;
===Install cgi scripts===&lt;br /&gt;
&lt;br /&gt;
Link the MePrints cgi scripts into the EPrints cgi directory:&lt;br /&gt;
&lt;br /&gt;
 ln -s /opt/eprints3/archives/ARCHIVEID/cgi/meprints/ /opt/eprints3/cgi/&lt;br /&gt;
 ln -s /opt/eprints3/archives/ARCHIVEID/cgi/users/meprints/ /opt/eprints3/cgi/users/&lt;br /&gt;
&lt;br /&gt;
===Update database===&lt;br /&gt;
&lt;br /&gt;
Add the new MePrints user fields (defined in cfg/cfg.d/z_meprints.pl) to your repository database:&lt;br /&gt;
&lt;br /&gt;
 cd /opt/eprints3/&lt;br /&gt;
 bin/epadmin update_database_structure ARCHIVEID --verbose&lt;br /&gt;
&lt;br /&gt;
===Apply MePrints patch===&lt;br /&gt;
&lt;br /&gt;
Apply the MePrints patch file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /opt/eprints3&lt;br /&gt;
patch -R -p0 &amp;lt; archives/ARCHIVE_ID/meprints_1.0.patch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This patch changes two core EPrints modules:&lt;br /&gt;
&lt;br /&gt;
# DataSet.pm - add a new dataset called public_profile_users which is the set of all users who have opted to make their public profile page visible.&lt;br /&gt;
# Update/Views.pm - allow view pages to be generated for any dataset (MePrints adds views over the public_profile_users dataset)&lt;br /&gt;
&lt;br /&gt;
==Getting Started==&lt;br /&gt;
&lt;br /&gt;
To activate MePrints, you will need to make some changes to your repository setup.&lt;br /&gt;
&lt;br /&gt;
===cfg/cfg.d/plugins.pl===&lt;br /&gt;
&lt;br /&gt;
Add the following lines to your cfg/cfg.d/plugins.pl configuration file: to use the MePrints homepage instead instead of the default EPrints &amp;quot;Profile&amp;quot; page:&lt;br /&gt;
&lt;br /&gt;
 $c-&amp;gt;{plugins}-&amp;gt;{&amp;quot;Screen::User::View&amp;quot;}-&amp;gt;{appears}-&amp;gt;{key_tools} = undef;&lt;br /&gt;
 $c-&amp;gt;{plugin_alias_map}-&amp;gt;{&amp;quot;Screen::User::View&amp;quot;} = &amp;quot;Screen::User::Homepage&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===cfg/cfg.d/user_fields_automatic.pl===&lt;br /&gt;
&lt;br /&gt;
Add the following lines to your cfg/cfg.d/user_fields_automatic.pl configuration file to update the MePrints public profile page automatically when a user changes his or her profile information, &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$c-&amp;gt;{user_fields_automatic} = sub {&lt;br /&gt;
        &lt;br /&gt;
&lt;br /&gt;
        my $user = @_;&lt;br /&gt;
&lt;br /&gt;
        ...&lt;br /&gt;
&lt;br /&gt;
        if( defined $user-&amp;gt;{changed} )&lt;br /&gt;
        {&lt;br /&gt;
                $user-&amp;gt;remove_static();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===cfg/apachevhost.conf===&lt;br /&gt;
&lt;br /&gt;
Add the following directives to your cfg/apachevhost.conf configuration file to enable canonical profile URLs (for example http://myrepository.com/profile/jsmith):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Location &amp;quot;/profile&amp;quot;&amp;gt;&lt;br /&gt;
  SetHandler perl-script&lt;br /&gt;
  PerlResponseHandler EPrints::Plugin::MePrints::MePrintsHandler&lt;br /&gt;
&amp;lt;/Location&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===cfg/cfg.d/urls.pl===&lt;br /&gt;
&lt;br /&gt;
To activate the canonical profile URLs, add &amp;quot;/profile/&amp;quot; to the rewrite_exceptions list in your cfg/cfg.d/urls.pl configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$c-&amp;gt;{rewrite_exceptions} = [ '/cgi/', '/archive/', '/profile/' ];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===cfg/workflows/user/default.xml===&lt;br /&gt;
&lt;br /&gt;
Add the following lines to your cfg/workflows/user/default.xml configuration file:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;stage name=&amp;quot;default&amp;quot;&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;component type=&amp;quot;Field::Multi&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;epc:phrase ref=&amp;quot;user_section_personal&amp;quot; /&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      ...&lt;br /&gt;
    &amp;lt;/component&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;component type=&amp;quot;Field::Multi&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;epc:phrase ref=&amp;quot;user_section_meprints&amp;quot; /&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;field ref=&amp;quot;profile_visibility&amp;quot; required=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;field ref=&amp;quot;jobtitle&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;field ref=&amp;quot;expertise&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;field ref=&amp;quot;biography&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;field ref=&amp;quot;qualifications&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/component&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===cfg/citations/user/default.xml===&lt;br /&gt;
&lt;br /&gt;
Replace the default EPrints user citation with the MePrints citation (which includes a thumbnail of the user's profile picture) run:&lt;br /&gt;
&lt;br /&gt;
 cd /opt/eprints3/archives/ARCHIVEID&lt;br /&gt;
 cp cfg/citations/user/default_with_thumbnail.xml cfg/citations/user/default.xml&lt;br /&gt;
&lt;br /&gt;
'''Note: if you have already made changes to the default citation, you should examine both files and merge the MePrints changes into default.xml&lt;br /&gt;
&lt;br /&gt;
===Authorship in MePrints===&lt;br /&gt;
Meprints 1.1 and later change the definition of ownership in the respository. This means that users who have the same email address as that listed in an items creators field belong to that user once the item enters the archive. This allows users to see statistics about papers they have authored without have to upload their own copy of the paper. You can return this to the eprints default by removing the cfg/cfg.d/authorship_meprints.pl file &lt;br /&gt;
&lt;br /&gt;
===Confirm Permissions===&lt;br /&gt;
The last thing to do before using MePrints is to ensure that the permissions are correct on the ''meprints'' directory. To do this run the following commands, there probably will not be any output from running this command;&lt;br /&gt;
 cd archives/ARCHIVEID&lt;br /&gt;
 chmod g+wx meprints&lt;br /&gt;
&lt;br /&gt;
If the permissions are not correct then you may encounter errors when using MePrints.&lt;br /&gt;
&lt;br /&gt;
==Testing==&lt;br /&gt;
&lt;br /&gt;
After applying all the changes above, restart Apache to activate MePrints.&lt;br /&gt;
&lt;br /&gt;
===Homepage===&lt;br /&gt;
&lt;br /&gt;
Log into your repository and should see your MePrints Homepage with default widget layout and profile picture.&lt;br /&gt;
&lt;br /&gt;
====Update profile====&lt;br /&gt;
&lt;br /&gt;
Click the Modify Profile button and add some information to the new MePrints fields (Job Title, Expertise, Biography, Qualifications). Set your Profile Visibility to '''Public'''. Click the Save button to return to your Homepage where the information you entered should now be displayed.&lt;br /&gt;
&lt;br /&gt;
====Upload photo====&lt;br /&gt;
&lt;br /&gt;
Click the Profile Picture button, choose a file and click Upload. You will be returned to your Homepage where your picture will now be displayed.&lt;br /&gt;
&lt;br /&gt;
====MePrints Widgets====&lt;br /&gt;
&lt;br /&gt;
By default your homepage displays several widgets (see user_homepage_defaults setting in cfg/cfg.d/z_meprints.pl). Try adding and removing widgets using the widget controls at the bottom of the screen. You can also rearrange widgets by dragging them up/down or between columns. To reset to the default widget layout click the Reset button in the widget control bar.&lt;br /&gt;
&lt;br /&gt;
===Public Profile===&lt;br /&gt;
&lt;br /&gt;
Enter the following URL to view your public profile page:&lt;br /&gt;
&lt;br /&gt;
 http://myrepository.com/profile/USERNAME&lt;br /&gt;
&lt;br /&gt;
where USERNAME is your EPrints username. The layout of the MePrints widgets on your profile page is controlled by the user_profile_defaults setting in cfg/cfg.d/z_meprints.pl.&lt;br /&gt;
&lt;br /&gt;
Go back to your MePrints homepage and click Modify Profile. Change some of your profile information (eg. Job Title, Expertise, Biography, Qualifications) and click Save. Return to your public profile page and check that your profile information has been updated.&lt;br /&gt;
&lt;br /&gt;
===MePrints Views===&lt;br /&gt;
&lt;br /&gt;
Run:&lt;br /&gt;
&lt;br /&gt;
 bin/generate_views ARCHIVEID --generate menus&lt;br /&gt;
&lt;br /&gt;
Check http://myrepository.com/view/ - you should see 2 new views (you may want to link these into your site template).&lt;br /&gt;
&lt;br /&gt;
Explore the view pages and check that you are listed. Make sure that you can click through from the browse listing to your public profile page.&lt;br /&gt;
&lt;br /&gt;
===MePrints search===&lt;br /&gt;
&lt;br /&gt;
Go to: http://myrepository.com/cgi/meprints/search&lt;br /&gt;
&lt;br /&gt;
Check that you can find your profile using keywords from your user profile information (eg. expertise, qualifications).&lt;br /&gt;
&lt;br /&gt;
Make sure that you can click through from the search result list to your public profile page.&lt;br /&gt;
&lt;br /&gt;
===MePrints Embeddable===&lt;br /&gt;
&lt;br /&gt;
If you want to use the default minimal style supplied for MePrints Embeddable then add the following code to the ''&amp;lt;head&amp;gt;'' section of your page:&lt;br /&gt;
 &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;http://myrepository.com/style/meprints_embed.css&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====MePrints Embeddable Widgets====&lt;br /&gt;
It is possible to embed individual widgets that are viewable on your public profile on your own page. If you go to the public profile page you will see an embed links on the widgets that can be embedded. Click the link and instructions will appear telling you how to embed the widget on your page.&lt;br /&gt;
&lt;br /&gt;
====MePrints Embeddable Profile====&lt;br /&gt;
Edit an HTML page and add the following code to the ''&amp;lt;head&amp;gt;'' section of the page:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://myrepository.com/cgi/meprints/embed_js?username=USERNAME&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where ''USERNAME'' is your username on the repository.&lt;br /&gt;
&lt;br /&gt;
Then inside the ''&amp;lt;body&amp;gt;'' section of the page you need to add the following code:&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;div id=&amp;quot;meprints_profile&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will be the location where your embeddable profile will go on your page.&lt;br /&gt;
&lt;br /&gt;
===MePrints for admins===&lt;br /&gt;
&lt;br /&gt;
Using an administrator account go to the Admin screen and choose '''Search users'''. Enter a username or other criteria to find at least one user account (not the account you are logged in with).&lt;br /&gt;
&lt;br /&gt;
Make sure that you can click through from the results list to the user's homepage.&lt;br /&gt;
&lt;br /&gt;
You should be able to modify the user's profile information by clicking Administer Account.&lt;br /&gt;
&lt;br /&gt;
The widget layout should reflect the user's own preference, and you should not be able to make changes to their widget layout.&lt;br /&gt;
&lt;br /&gt;
====Hide Profile====&lt;br /&gt;
&lt;br /&gt;
Change the user's profile visibility to '''private'''.&lt;br /&gt;
&lt;br /&gt;
Log out, and make sure that:&lt;br /&gt;
&lt;br /&gt;
# the profile is no longer visible at /profile/USERNAME&lt;br /&gt;
# the profile no longer appears in search results&lt;br /&gt;
# the profile no longer appears in view pages&lt;br /&gt;
# the embeddable widget no longer displays the profile&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can also change the default visibility of MePrints profiles in cfg/cfg.d/z_meprints.pl&lt;br /&gt;
by default profiles are public unless a user specifically makes there profile private. change&lt;br /&gt;
 $c-&amp;gt;{default_profile_behavior} = 1;&lt;br /&gt;
to &lt;br /&gt;
 $c-&amp;gt;{default_profile_behavior} = 0;&lt;br /&gt;
to make the default private profiles&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
===Database errors===&lt;br /&gt;
&lt;br /&gt;
When dragging and dropping Widgets around, MePrints shows database errors in the error log:&lt;br /&gt;
&lt;br /&gt;
 DBD::mysql::st execute failed: Duplicate entry '1-0' for key 1 at /opt/eprints3/perl_lib/EPrints/Database.pm line 1192.&lt;br /&gt;
 at /opt/eprints3/perl_lib/EPrints/Database.pm line 1192&lt;br /&gt;
 EPrints::Database::insert('EPrints::Database::mysql=HASH(0x2b593e11ebd0)', 'user_items_fields', 'ARRAY(0x2b593bd00510)', ...&lt;br /&gt;
&lt;br /&gt;
This is a known problem which does not seem to affect widget layout.&lt;br /&gt;
&lt;br /&gt;
===generate_views errors===&lt;br /&gt;
&lt;br /&gt;
====Warnings====&lt;br /&gt;
&lt;br /&gt;
 Use of uninitialized value $id in hash element at /usr/share/eprints3/perl_lib/EPrints/Database.pm line 2979.&lt;br /&gt;
&lt;br /&gt;
See http://trac.eprints.org/trac/ticket/3537&lt;br /&gt;
&lt;br /&gt;
====EPrint citations====&lt;br /&gt;
&lt;br /&gt;
After hiding all previously public profiles, eprint citations were rendered in the view list instead of users'. (need to work out how to reproduce this)&lt;br /&gt;
&lt;br /&gt;
====Empty views====&lt;br /&gt;
&lt;br /&gt;
After hiding all previously public profiles and regenerating views, view pages still show expertise/department values.&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=MePrintsInstall&amp;diff=8014</id>
		<title>MePrintsInstall</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=MePrintsInstall&amp;diff=8014"/>
		<updated>2009-12-10T13:34:04Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: /* Hide Profile */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page provides technical instructions for installing the MePrints extension. To find out what MePrints is, and for an overview of MePrints features, see [[MePrintsOverview]].&lt;br /&gt;
&lt;br /&gt;
==Installation (EPrints 3.1+)==&lt;br /&gt;
&lt;br /&gt;
Download the latest release to your '''local repository directory''' (eg. /opt/eprints3/archives/ARCHIVEID/).&lt;br /&gt;
&lt;br /&gt;
Extract files:&lt;br /&gt;
&lt;br /&gt;
 tar xzvf meprints_xx.tgz&lt;br /&gt;
&lt;br /&gt;
===Install bin scripts===&lt;br /&gt;
&lt;br /&gt;
Edit the bin/generate_meprints file and check the include path on the first line. For example if you have installed EPrints in /var/lib/eprints3 change the line from:&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/perl -w -I/opt/eprints3/perl_lib&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/perl -w -I/var/lib/eprints3/perl_lib&lt;br /&gt;
&lt;br /&gt;
===Install cgi scripts===&lt;br /&gt;
&lt;br /&gt;
Link the MePrints cgi scripts into the EPrints cgi directory:&lt;br /&gt;
&lt;br /&gt;
 ln -s /opt/eprints3/archives/ARCHIVEID/cgi/meprints/ /opt/eprints3/cgi/&lt;br /&gt;
 ln -s /opt/eprints3/archives/ARCHIVEID/cgi/users/meprints/ /opt/eprints3/cgi/users/&lt;br /&gt;
&lt;br /&gt;
===Update database===&lt;br /&gt;
&lt;br /&gt;
Add the new MePrints user fields (defined in cfg/cfg.d/z_meprints.pl) to your repository database:&lt;br /&gt;
&lt;br /&gt;
 cd /opt/eprints3/&lt;br /&gt;
 bin/epadmin update_database_structure ARCHIVEID --verbose&lt;br /&gt;
&lt;br /&gt;
===Apply MePrints patch===&lt;br /&gt;
&lt;br /&gt;
Apply the MePrints patch file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /opt/eprints3&lt;br /&gt;
patch -R -p0 &amp;lt; archives/ARCHIVE_ID/meprints_1.0.patch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This patch changes two core EPrints modules:&lt;br /&gt;
&lt;br /&gt;
# DataSet.pm - add a new dataset called public_profile_users which is the set of all users who have opted to make their public profile page visible.&lt;br /&gt;
# Update/Views.pm - allow view pages to be generated for any dataset (MePrints adds views over the public_profile_users dataset)&lt;br /&gt;
&lt;br /&gt;
==Getting Started==&lt;br /&gt;
&lt;br /&gt;
To activate MePrints, you will need to make some changes to your repository setup.&lt;br /&gt;
&lt;br /&gt;
===cfg/cfg.d/plugins.pl===&lt;br /&gt;
&lt;br /&gt;
Add the following lines to your cfg/cfg.d/plugins.pl configuration file: to use the MePrints homepage instead instead of the default EPrints &amp;quot;Profile&amp;quot; page:&lt;br /&gt;
&lt;br /&gt;
 $c-&amp;gt;{plugins}-&amp;gt;{&amp;quot;Screen::User::View&amp;quot;}-&amp;gt;{appears}-&amp;gt;{key_tools} = undef;&lt;br /&gt;
 $c-&amp;gt;{plugin_alias_map}-&amp;gt;{&amp;quot;Screen::User::View&amp;quot;} = &amp;quot;Screen::User::Homepage&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===cfg/cfg.d/user_fields_automatic.pl===&lt;br /&gt;
&lt;br /&gt;
Add the following lines to your cfg/cfg.d/user_fields_automatic.pl configuration file to update the MePrints public profile page automatically when a user changes his or her profile information, &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$c-&amp;gt;{user_fields_automatic} = sub {&lt;br /&gt;
        &lt;br /&gt;
&lt;br /&gt;
        my $user = @_;&lt;br /&gt;
&lt;br /&gt;
        ...&lt;br /&gt;
&lt;br /&gt;
        if( defined $user-&amp;gt;{changed} )&lt;br /&gt;
        {&lt;br /&gt;
                $user-&amp;gt;remove_static();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===cfg/apachevhost.conf===&lt;br /&gt;
&lt;br /&gt;
Add the following directives to your cfg/apachevhost.conf configuration file to enable canonical profile URLs (for example http://myrepository.com/profile/jsmith):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Location &amp;quot;/profile&amp;quot;&amp;gt;&lt;br /&gt;
  SetHandler perl-script&lt;br /&gt;
  PerlResponseHandler EPrints::Plugin::MePrints::MePrintsHandler&lt;br /&gt;
&amp;lt;/Location&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===cfg/cfg.d/urls.pl===&lt;br /&gt;
&lt;br /&gt;
To activate the canonical profile URLs, add &amp;quot;/profile/&amp;quot; to the rewrite_exceptions list in your cfg/cfg.d/urls.pl configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$c-&amp;gt;{rewrite_exceptions} = [ '/cgi/', '/archive/', '/profile/' ];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===cfg/workflows/user/default.xml===&lt;br /&gt;
&lt;br /&gt;
Add the following lines to your cfg/workflows/user/default.xml configuration file:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;stage name=&amp;quot;default&amp;quot;&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;component type=&amp;quot;Field::Multi&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;epc:phrase ref=&amp;quot;user_section_personal&amp;quot; /&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      ...&lt;br /&gt;
    &amp;lt;/component&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;component type=&amp;quot;Field::Multi&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;epc:phrase ref=&amp;quot;user_section_meprints&amp;quot; /&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;field ref=&amp;quot;profile_visibility&amp;quot; required=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;field ref=&amp;quot;jobtitle&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;field ref=&amp;quot;expertise&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;field ref=&amp;quot;biography&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;field ref=&amp;quot;qualifications&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/component&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===cfg/citations/user/default.xml===&lt;br /&gt;
&lt;br /&gt;
Replace the default EPrints user citation with the MePrints citation (which includes a thumbnail of the user's profile picture) run:&lt;br /&gt;
&lt;br /&gt;
 cd /opt/eprints3/archives/ARCHIVEID&lt;br /&gt;
 cp cfg/citations/user/default_with_thumbnail.xml cfg/citations/user/default.xml&lt;br /&gt;
&lt;br /&gt;
'''Note: if you have already made changes to the default citation, you should examine both files and merge the MePrints changes into default.xml&lt;br /&gt;
&lt;br /&gt;
===Confirm Permissions===&lt;br /&gt;
The last thing to do before using MePrints is to ensure that the permissions are correct on the ''meprints'' directory. To do this run the following commands, there probably will not be any output from running this command;&lt;br /&gt;
 cd archives/ARCHIVEID&lt;br /&gt;
 chmod g+wx meprints&lt;br /&gt;
&lt;br /&gt;
If the permissions are not correct then you may encounter errors when using MePrints.&lt;br /&gt;
&lt;br /&gt;
==Testing==&lt;br /&gt;
&lt;br /&gt;
After applying all the changes above, restart Apache to activate MePrints.&lt;br /&gt;
&lt;br /&gt;
===Homepage===&lt;br /&gt;
&lt;br /&gt;
Log into your repository and should see your MePrints Homepage with default widget layout and profile picture.&lt;br /&gt;
&lt;br /&gt;
====Update profile====&lt;br /&gt;
&lt;br /&gt;
Click the Modify Profile button and add some information to the new MePrints fields (Job Title, Expertise, Biography, Qualifications). Set your Profile Visibility to '''Public'''. Click the Save button to return to your Homepage where the information you entered should now be displayed.&lt;br /&gt;
&lt;br /&gt;
====Upload photo====&lt;br /&gt;
&lt;br /&gt;
Click the Profile Picture button, choose a file and click Upload. You will be returned to your Homepage where your picture will now be displayed.&lt;br /&gt;
&lt;br /&gt;
====MePrints Widgets====&lt;br /&gt;
&lt;br /&gt;
By default your homepage displays several widgets (see user_homepage_defaults setting in cfg/cfg.d/z_meprints.pl). Try adding and removing widgets using the widget controls at the bottom of the screen. You can also rearrange widgets by dragging them up/down or between columns. To reset to the default widget layout click the Reset button in the widget control bar.&lt;br /&gt;
&lt;br /&gt;
===Public Profile===&lt;br /&gt;
&lt;br /&gt;
Enter the following URL to view your public profile page:&lt;br /&gt;
&lt;br /&gt;
 http://myrepository.com/profile/USERNAME&lt;br /&gt;
&lt;br /&gt;
where USERNAME is your EPrints username. The layout of the MePrints widgets on your profile page is controlled by the user_profile_defaults setting in cfg/cfg.d/z_meprints.pl.&lt;br /&gt;
&lt;br /&gt;
Go back to your MePrints homepage and click Modify Profile. Change some of your profile information (eg. Job Title, Expertise, Biography, Qualifications) and click Save. Return to your public profile page and check that your profile information has been updated.&lt;br /&gt;
&lt;br /&gt;
===MePrints Views===&lt;br /&gt;
&lt;br /&gt;
Run:&lt;br /&gt;
&lt;br /&gt;
 bin/generate_views ARCHIVEID --generate menus&lt;br /&gt;
&lt;br /&gt;
Check http://myrepository.com/view/ - you should see 2 new views (you may want to link these into your site template).&lt;br /&gt;
&lt;br /&gt;
Explore the view pages and check that you are listed. Make sure that you can click through from the browse listing to your public profile page.&lt;br /&gt;
&lt;br /&gt;
===MePrints search===&lt;br /&gt;
&lt;br /&gt;
Go to: http://myrepository.com/cgi/meprints/search&lt;br /&gt;
&lt;br /&gt;
Check that you can find your profile using keywords from your user profile information (eg. expertise, qualifications).&lt;br /&gt;
&lt;br /&gt;
Make sure that you can click through from the search result list to your public profile page.&lt;br /&gt;
&lt;br /&gt;
===MePrints Embeddable===&lt;br /&gt;
&lt;br /&gt;
If you want to use the default minimal style supplied for MePrints Embeddable then add the following code to the ''&amp;lt;head&amp;gt;'' section of your page:&lt;br /&gt;
 &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;http://myrepository.com/style/meprints_embed.css&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====MePrints Embeddable Widgets====&lt;br /&gt;
It is possible to embed individual widgets that are viewable on your public profile on your own page. If you go to the public profile page you will see an embed links on the widgets that can be embedded. Click the link and instructions will appear telling you how to embed the widget on your page.&lt;br /&gt;
&lt;br /&gt;
====MePrints Embeddable Profile====&lt;br /&gt;
Edit an HTML page and add the following code to the ''&amp;lt;head&amp;gt;'' section of the page:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://myrepository.com/cgi/meprints/embed_js?username=USERNAME&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where ''USERNAME'' is your username on the repository.&lt;br /&gt;
&lt;br /&gt;
Then inside the ''&amp;lt;body&amp;gt;'' section of the page you need to add the following code:&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;div id=&amp;quot;meprints_profile&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will be the location where your embeddable profile will go on your page.&lt;br /&gt;
&lt;br /&gt;
===MePrints for admins===&lt;br /&gt;
&lt;br /&gt;
Using an administrator account go to the Admin screen and choose '''Search users'''. Enter a username or other criteria to find at least one user account (not the account you are logged in with).&lt;br /&gt;
&lt;br /&gt;
Make sure that you can click through from the results list to the user's homepage.&lt;br /&gt;
&lt;br /&gt;
You should be able to modify the user's profile information by clicking Administer Account.&lt;br /&gt;
&lt;br /&gt;
The widget layout should reflect the user's own preference, and you should not be able to make changes to their widget layout.&lt;br /&gt;
&lt;br /&gt;
====Hide Profile====&lt;br /&gt;
&lt;br /&gt;
Change the user's profile visibility to '''private'''.&lt;br /&gt;
&lt;br /&gt;
Log out, and make sure that:&lt;br /&gt;
&lt;br /&gt;
# the profile is no longer visible at /profile/USERNAME&lt;br /&gt;
# the profile no longer appears in search results&lt;br /&gt;
# the profile no longer appears in view pages&lt;br /&gt;
# the embeddable widget no longer displays the profile&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can also change the default visibility of MePrints profiles in cfg/cfg.d/z_meprints.pl&lt;br /&gt;
by default profiles are public unless a user specifically makes there profile private. change&lt;br /&gt;
 $c-&amp;gt;{default_profile_behavior} = 1;&lt;br /&gt;
to &lt;br /&gt;
 $c-&amp;gt;{default_profile_behavior} = 0;&lt;br /&gt;
to make the default private profiles&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
===Database errors===&lt;br /&gt;
&lt;br /&gt;
When dragging and dropping Widgets around, MePrints shows database errors in the error log:&lt;br /&gt;
&lt;br /&gt;
 DBD::mysql::st execute failed: Duplicate entry '1-0' for key 1 at /opt/eprints3/perl_lib/EPrints/Database.pm line 1192.&lt;br /&gt;
 at /opt/eprints3/perl_lib/EPrints/Database.pm line 1192&lt;br /&gt;
 EPrints::Database::insert('EPrints::Database::mysql=HASH(0x2b593e11ebd0)', 'user_items_fields', 'ARRAY(0x2b593bd00510)', ...&lt;br /&gt;
&lt;br /&gt;
This is a known problem which does not seem to affect widget layout.&lt;br /&gt;
&lt;br /&gt;
===generate_views errors===&lt;br /&gt;
&lt;br /&gt;
====Warnings====&lt;br /&gt;
&lt;br /&gt;
 Use of uninitialized value $id in hash element at /usr/share/eprints3/perl_lib/EPrints/Database.pm line 2979.&lt;br /&gt;
&lt;br /&gt;
See http://trac.eprints.org/trac/ticket/3537&lt;br /&gt;
&lt;br /&gt;
====EPrint citations====&lt;br /&gt;
&lt;br /&gt;
After hiding all previously public profiles, eprint citations were rendered in the view list instead of users'. (need to work out how to reproduce this)&lt;br /&gt;
&lt;br /&gt;
====Empty views====&lt;br /&gt;
&lt;br /&gt;
After hiding all previously public profiles and regenerating views, view pages still show expertise/department values.&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=IRStats_development&amp;diff=8013</id>
		<title>IRStats development</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=IRStats_development&amp;diff=8013"/>
		<updated>2009-12-10T13:21:27Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: /* Back End */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=IRStats Development Goals=&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
* 'Browse View' style public stats.&lt;br /&gt;
* Non-public stats accessed via screen plugins.&lt;br /&gt;
* Default 'out-the-box' configuration.&lt;br /&gt;
* Generalisation to repository reporting tool.  Graphs available on e.g. citation counts.&lt;br /&gt;
&lt;br /&gt;
==Back End==&lt;br /&gt;
* Full integration with EPrints Configuration.&lt;br /&gt;
* Replacement of ChartDirector with an open-source charting package.&lt;br /&gt;
* Anonymisation of downloaders to comply with privacy legislation.&lt;br /&gt;
* the ability to gather stats about how pages are used in eprints. Example: &amp;quot;how many times is this button used compared to this button&amp;quot; or &amp;quot;does anyone actually use this feature&amp;quot;&lt;br /&gt;
* the ability to see users paths through the site.&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=OneShareCore&amp;diff=8000</id>
		<title>OneShareCore</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=OneShareCore&amp;diff=8000"/>
		<updated>2009-12-09T17:16:15Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: /* Layout */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Issues ==&lt;br /&gt;
* currently edshare does license on a per document basis. language box does license on a per resource basis. which are we going to do.&lt;br /&gt;
* you cant really seperate branding and apearence from datamodel because your citations and eprint_render and stuff are dependant on what fields you have.&lt;br /&gt;
&lt;br /&gt;
== Data Model ==&lt;br /&gt;
 document_fields.pl&lt;br /&gt;
 document_validate.pl&lt;br /&gt;
 document workflow (eprintworkflow)&lt;br /&gt;
 associated phrases&lt;br /&gt;
 citations&lt;br /&gt;
&lt;br /&gt;
 eprint_fields.pl&lt;br /&gt;
 eprint_fields_automatic.pl&lt;br /&gt;
 eprint_fields_default.pl&lt;br /&gt;
 search.pl&lt;br /&gt;
 workflows/eprint/default.xml&lt;br /&gt;
 views.pl&lt;br /&gt;
 associated phrases&lt;br /&gt;
 citations&lt;br /&gt;
&lt;br /&gt;
 user_roles.pl&lt;br /&gt;
 citations&lt;br /&gt;
 misc.pl&lt;br /&gt;
&lt;br /&gt;
== Layout ==&lt;br /&gt;
 templates/default.xml&lt;br /&gt;
 css&lt;br /&gt;
 js&lt;br /&gt;
 eprint_render.pl&lt;br /&gt;
 site_logo.gif&lt;br /&gt;
 index.xpage&lt;br /&gt;
&lt;br /&gt;
== fings we think should be in other packages ==&lt;br /&gt;
* frontpage list (surely cgi/latest does this?&lt;br /&gt;
* HTML conversion&lt;br /&gt;
* Foaf widget (isnt that useful tbh)&lt;br /&gt;
* allow_emails.pl&lt;br /&gt;
* embedable tool box&lt;br /&gt;
* derive resources&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=OneShareCore&amp;diff=7989</id>
		<title>OneShareCore</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=OneShareCore&amp;diff=7989"/>
		<updated>2009-12-08T11:36:56Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: /* Issues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Issues ==&lt;br /&gt;
* currently edshare does copyright on a per document basis. language box does copyright on a per resource basis. which are we going to do.&lt;br /&gt;
* you cant really seperate branding and apearence from datamodel because your citations and eprint_render and stuff are dependant on what fields you have.&lt;br /&gt;
&lt;br /&gt;
== Data Model ==&lt;br /&gt;
 document_fields.pl&lt;br /&gt;
 document_validate.pl&lt;br /&gt;
 document workflow (eprintworkflow)&lt;br /&gt;
 associated phrases&lt;br /&gt;
 citations&lt;br /&gt;
&lt;br /&gt;
 eprint_fields.pl&lt;br /&gt;
 eprint_fields_automatic.pl&lt;br /&gt;
 eprint_fields_default.pl&lt;br /&gt;
 search.pl&lt;br /&gt;
 workflows/eprint/default.xml&lt;br /&gt;
 views.pl&lt;br /&gt;
 associated phrases&lt;br /&gt;
 citations&lt;br /&gt;
&lt;br /&gt;
 user_roles.pl&lt;br /&gt;
 citations&lt;br /&gt;
 misc.pl&lt;br /&gt;
&lt;br /&gt;
== Branding ==&lt;br /&gt;
 templates/default.xml&lt;br /&gt;
 css&lt;br /&gt;
 js&lt;br /&gt;
 eprint_render.pl&lt;br /&gt;
 branding.pl&lt;br /&gt;
&lt;br /&gt;
== fings we think should be in other packages ==&lt;br /&gt;
* frontpage list (surely cgi/latest does this?&lt;br /&gt;
* HTML conversion&lt;br /&gt;
* Foaf widget (isnt that useful tbh)&lt;br /&gt;
* allow_emails.pl&lt;br /&gt;
* embedable tool box&lt;br /&gt;
* derive resources&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=OneShareCore&amp;diff=7988</id>
		<title>OneShareCore</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=OneShareCore&amp;diff=7988"/>
		<updated>2009-12-07T15:50:06Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: /* fings we think should be in other packages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Issues ==&lt;br /&gt;
currently edshare does copyright on a per document basis. language box does copyright on a per resource basis. which are we going to do.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Data Model ==&lt;br /&gt;
 document_fields.pl&lt;br /&gt;
 document_validate.pl&lt;br /&gt;
 document workflow (eprintworkflow)&lt;br /&gt;
 associated phrases&lt;br /&gt;
 citations&lt;br /&gt;
&lt;br /&gt;
 eprint_fields.pl&lt;br /&gt;
 eprint_fields_automatic.pl&lt;br /&gt;
 eprint_fields_default.pl&lt;br /&gt;
 search.pl&lt;br /&gt;
 workflows/eprint/default.xml&lt;br /&gt;
 views.pl&lt;br /&gt;
 associated phrases&lt;br /&gt;
 citations&lt;br /&gt;
&lt;br /&gt;
 user_roles.pl&lt;br /&gt;
 citations&lt;br /&gt;
 misc.pl&lt;br /&gt;
&lt;br /&gt;
== Branding ==&lt;br /&gt;
 templates/default.xml&lt;br /&gt;
 css&lt;br /&gt;
 js&lt;br /&gt;
 eprint_render.pl&lt;br /&gt;
 branding.pl&lt;br /&gt;
&lt;br /&gt;
== fings we think should be in other packages ==&lt;br /&gt;
* frontpage list (surely cgi/latest does this?&lt;br /&gt;
* HTML conversion&lt;br /&gt;
* Foaf widget (isnt that useful tbh)&lt;br /&gt;
* allow_emails.pl&lt;br /&gt;
* embedable tool box&lt;br /&gt;
* derive resources&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=OneShareCore&amp;diff=7987</id>
		<title>OneShareCore</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=OneShareCore&amp;diff=7987"/>
		<updated>2009-12-07T15:49:01Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Issues ==&lt;br /&gt;
currently edshare does copyright on a per document basis. language box does copyright on a per resource basis. which are we going to do.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Data Model ==&lt;br /&gt;
 document_fields.pl&lt;br /&gt;
 document_validate.pl&lt;br /&gt;
 document workflow (eprintworkflow)&lt;br /&gt;
 associated phrases&lt;br /&gt;
 citations&lt;br /&gt;
&lt;br /&gt;
 eprint_fields.pl&lt;br /&gt;
 eprint_fields_automatic.pl&lt;br /&gt;
 eprint_fields_default.pl&lt;br /&gt;
 search.pl&lt;br /&gt;
 workflows/eprint/default.xml&lt;br /&gt;
 views.pl&lt;br /&gt;
 associated phrases&lt;br /&gt;
 citations&lt;br /&gt;
&lt;br /&gt;
 user_roles.pl&lt;br /&gt;
 citations&lt;br /&gt;
 misc.pl&lt;br /&gt;
&lt;br /&gt;
== Branding ==&lt;br /&gt;
 templates/default.xml&lt;br /&gt;
 css&lt;br /&gt;
 js&lt;br /&gt;
 eprint_render.pl&lt;br /&gt;
 branding.pl&lt;br /&gt;
&lt;br /&gt;
== fings we think should be in other packages ==&lt;br /&gt;
frontpage list (surely cgi/latest does this?&lt;br /&gt;
HTML conversion&lt;br /&gt;
Foaf widget (isnt that useful tbh)&lt;br /&gt;
allow_emails.pl&lt;br /&gt;
embedable tool box&lt;br /&gt;
derive resources&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=OneShareCore&amp;diff=7986</id>
		<title>OneShareCore</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=OneShareCore&amp;diff=7986"/>
		<updated>2009-12-07T15:41:52Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: /* Data Model */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= OneShare Core =&lt;br /&gt;
&lt;br /&gt;
== Data Model ==&lt;br /&gt;
 document_fields.pl&lt;br /&gt;
 document_validate.pl&lt;br /&gt;
 document workflow (eprintworkflow)&lt;br /&gt;
 associated phrases&lt;br /&gt;
 citations&lt;br /&gt;
&lt;br /&gt;
 eprint_fields.pl&lt;br /&gt;
 eprint_fields_automatic.pl&lt;br /&gt;
 eprint_fields_default.pl&lt;br /&gt;
 search.pl&lt;br /&gt;
 workflows/eprint/default.xml&lt;br /&gt;
 views.pl&lt;br /&gt;
 associated phrases&lt;br /&gt;
 citations&lt;br /&gt;
&lt;br /&gt;
 user_roles.pl&lt;br /&gt;
 citations&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=OneShareCore&amp;diff=7985</id>
		<title>OneShareCore</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=OneShareCore&amp;diff=7985"/>
		<updated>2009-12-07T15:41:00Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: New page: = OneShare Core =  == Data Model ==  document_fields.pl  document_validate.pl  document workflow (eprintworkflow)  associated phrases   eprint_fields.pl  eprint_fields_automatic.pl  eprint...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= OneShare Core =&lt;br /&gt;
&lt;br /&gt;
== Data Model ==&lt;br /&gt;
 document_fields.pl&lt;br /&gt;
 document_validate.pl&lt;br /&gt;
 document workflow (eprintworkflow)&lt;br /&gt;
 associated phrases&lt;br /&gt;
&lt;br /&gt;
 eprint_fields.pl&lt;br /&gt;
 eprint_fields_automatic.pl&lt;br /&gt;
 eprint_fields_default.pl&lt;br /&gt;
 search.pl&lt;br /&gt;
 workflows/eprint/default.xml&lt;br /&gt;
 views.pl&lt;br /&gt;
 associated phrases&lt;br /&gt;
&lt;br /&gt;
 user_roles.pl&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=PreviewPlusInstallation&amp;diff=7982</id>
		<title>PreviewPlusInstallation</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=PreviewPlusInstallation&amp;diff=7982"/>
		<updated>2009-12-04T17:13:08Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Installation =&lt;br /&gt;
&lt;br /&gt;
Begin by downloading PreviewPlus from : [http://files.eprints.org/473 http://files.eprints.org/473]&lt;br /&gt;
&lt;br /&gt;
== Prerequesit software ==&lt;br /&gt;
As prerequisits you will also require FFMPEG, LAME and OpenOffice. &lt;br /&gt;
On Ubuntu/Debian you can install these from the package manager.&lt;br /&gt;
On RedHat/Fedora you may have to install them by hand depending what repositories you have available.&lt;br /&gt;
&lt;br /&gt;
FFMPEG:[http://ffmpeg.org/index.html http://ffmpeg.org/index.html]&lt;br /&gt;
&lt;br /&gt;
LAME:[http://lame.sourceforge.net/ http://lame.sourceforge.net/]&lt;br /&gt;
&lt;br /&gt;
OpenOffice:[http://www.openoffice.org/ http://www.openoffice.org/]&lt;br /&gt;
&lt;br /&gt;
== Plugin Installation ==&lt;br /&gt;
Instructions assume eprints is installed at /opt/eprints3&lt;br /&gt;
&lt;br /&gt;
Extract the tarball into your local archive directory:&lt;br /&gt;
&lt;br /&gt;
 cd /opt/eprints3/archives/ARCHIVEID&lt;br /&gt;
 tar xvzf PreviewPlus.VERSION.tgz&lt;br /&gt;
&lt;br /&gt;
== Configure office conversions ==&lt;br /&gt;
Depending what distribution of linux you are using you will find that open office installs in different places. You may need to edit &amp;lt;code&amp;gt;cfg/cfg.d/office_conversions.pl&amp;lt;/code&amp;gt; so that &amp;lt;code&amp;gt;$c-&amp;gt;{office_path}&amp;lt;/code&amp;gt; points to you open office install.&lt;br /&gt;
&lt;br /&gt;
== Symlink CGI scripts ==&lt;br /&gt;
&lt;br /&gt;
 ln -s /opt/eprints3/archives/ARCHIVEID/cgi/get_preview_plus /opt/eprints3/cgi/&lt;br /&gt;
&lt;br /&gt;
== Adding the preview to eprint render ==&lt;br /&gt;
In eprint render find where you want the preview to appear on the page and add:&lt;br /&gt;
 if($session-&amp;gt;get_repository()-&amp;gt;call(&amp;quot;previews_exist&amp;quot;, $eprint)){&lt;br /&gt;
        $page-&amp;gt;appendChild($session-&amp;gt;get_repository()-&amp;gt;call(&amp;quot;make_preview_plus&amp;quot;, $session, $eprint, &amp;quot;horizontal&amp;quot;));&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Cleaning up ==&lt;br /&gt;
&lt;br /&gt;
You must restart your webserver.&lt;br /&gt;
&lt;br /&gt;
You will probably also want to run /opt/eprints/bin/epadmin redo_thumbnails ARCHIVEID&lt;br /&gt;
but be warned this is a very expensive process if you have a large archive and should definately be run overnight.&lt;br /&gt;
&lt;br /&gt;
== Setting up cron == &lt;br /&gt;
You will probably want to run the /opt/eprints3/archives/ARCHIVEID/bin/generate_video_previews and /opt/eprints3/archives/ARCHIVEID/bin/generate_audio_previews nightly. The easiest way to do this is to add them to the eprints users contab. &lt;br /&gt;
&lt;br /&gt;
Currently there is no mechanism to stop these scripts snowballing so make sure you leave long enough in the crontab for one job to finish before the next starts.&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=MePrintsInstall&amp;diff=7981</id>
		<title>MePrintsInstall</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=MePrintsInstall&amp;diff=7981"/>
		<updated>2009-12-04T15:13:06Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page provides technical instructions for installing the MePrints extension. To find out what MePrints is, and for an overview of MePrints features, see [[MePrintsOverview]].&lt;br /&gt;
&lt;br /&gt;
==Installation (EPrints 3.1+)==&lt;br /&gt;
&lt;br /&gt;
Download the latest release to your '''local repository directory''' (eg. /opt/eprints3/archives/ARCHIVEID/).&lt;br /&gt;
&lt;br /&gt;
Extract files:&lt;br /&gt;
&lt;br /&gt;
 tar xzvf meprints_xx.tgz&lt;br /&gt;
&lt;br /&gt;
===Install bin scripts===&lt;br /&gt;
&lt;br /&gt;
Edit the bin/generate_meprints file and check the include path on the first line. For example if you have installed EPrints in /var/lib/eprints3 change the line from:&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/perl -w -I/opt/eprints3/perl_lib&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/perl -w -I/var/lib/eprints3/perl_lib&lt;br /&gt;
&lt;br /&gt;
===Install cgi scripts===&lt;br /&gt;
&lt;br /&gt;
Link the MePrints cgi scripts into the EPrints cgi directory:&lt;br /&gt;
&lt;br /&gt;
 ln -s /opt/eprints3/archives/ARCHIVEID/cgi/meprints/ /opt/eprints3/cgi/&lt;br /&gt;
 ln -s /opt/eprints3/archives/ARCHIVEID/cgi/users/meprints/ /opt/eprints3/cgi/users/&lt;br /&gt;
&lt;br /&gt;
===Update database===&lt;br /&gt;
&lt;br /&gt;
Add the new MePrints user fields (defined in cfg/cfg.d/z_meprints.pl) to your repository database:&lt;br /&gt;
&lt;br /&gt;
 cd /opt/eprints3/&lt;br /&gt;
 bin/epadmin update_database_structure ARCHIVEID --verbose&lt;br /&gt;
&lt;br /&gt;
===Apply MePrints patch===&lt;br /&gt;
&lt;br /&gt;
Apply the MePrints patch file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /opt/eprints3&lt;br /&gt;
patch -R -p0 &amp;lt; archives/ARCHIVE_ID/meprints_1.0.patch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This patch changes two core EPrints modules:&lt;br /&gt;
&lt;br /&gt;
# DataSet.pm - add a new dataset called public_profile_users which is the set of all users who have opted to make their public profile page visible.&lt;br /&gt;
# Update/Views.pm - allow view pages to be generated for any dataset (MePrints adds views over the public_profile_users dataset)&lt;br /&gt;
&lt;br /&gt;
==Getting Started==&lt;br /&gt;
&lt;br /&gt;
To activate MePrints, you will need to make some changes to your repository setup.&lt;br /&gt;
&lt;br /&gt;
===cfg/cfg.d/plugins.pl===&lt;br /&gt;
&lt;br /&gt;
Add the following lines to your cfg/cfg.d/plugins.pl configuration file: to use the MePrints homepage instead instead of the default EPrints &amp;quot;Profile&amp;quot; page:&lt;br /&gt;
&lt;br /&gt;
 $c-&amp;gt;{plugins}-&amp;gt;{&amp;quot;Screen::User::View&amp;quot;}-&amp;gt;{appears}-&amp;gt;{key_tools} = undef;&lt;br /&gt;
 $c-&amp;gt;{plugin_alias_map}-&amp;gt;{&amp;quot;Screen::User::View&amp;quot;} = &amp;quot;Screen::User::Homepage&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===cfg/cfg.d/user_fields_automatic.pl===&lt;br /&gt;
&lt;br /&gt;
Add the following lines to your cfg/cfg.d/user_fields_automatic.pl configuration file to update the MePrints public profile page automatically when a user changes his or her profile information, &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$c-&amp;gt;{user_fields_automatic} = sub {&lt;br /&gt;
        &lt;br /&gt;
&lt;br /&gt;
        my $user = @_;&lt;br /&gt;
&lt;br /&gt;
        ...&lt;br /&gt;
&lt;br /&gt;
        if( defined $user-&amp;gt;{changed} )&lt;br /&gt;
        {&lt;br /&gt;
                $user-&amp;gt;remove_static();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===cfg/apachevhost.conf===&lt;br /&gt;
&lt;br /&gt;
Add the following directives to your cfg/apachevhost.conf configuration file to enable canonical profile URLs (for example http://myrepository.com/profile/jsmith):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Location &amp;quot;/profile&amp;quot;&amp;gt;&lt;br /&gt;
  SetHandler perl-script&lt;br /&gt;
  PerlResponseHandler EPrints::Plugin::MePrints::MePrintsHandler&lt;br /&gt;
&amp;lt;/Location&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===cfg/cfg.d/urls.pl===&lt;br /&gt;
&lt;br /&gt;
To activate the canonical profile URLs, add &amp;quot;/profile/&amp;quot; to the rewrite_exceptions list in your cfg/cfg.d/urls.pl configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$c-&amp;gt;{rewrite_exceptions} = [ '/cgi/', '/archive/', '/profile/' ];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===cfg/workflows/user/default.xml===&lt;br /&gt;
&lt;br /&gt;
Add the following lines to your cfg/workflows/user/default.xml configuration file:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;stage name=&amp;quot;default&amp;quot;&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;component type=&amp;quot;Field::Multi&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;epc:phrase ref=&amp;quot;user_section_personal&amp;quot; /&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      ...&lt;br /&gt;
    &amp;lt;/component&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;component type=&amp;quot;Field::Multi&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;title&amp;gt;&amp;lt;epc:phrase ref=&amp;quot;user_section_meprints&amp;quot; /&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
      &amp;lt;field ref=&amp;quot;profile_visibility&amp;quot; required=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;field ref=&amp;quot;jobtitle&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;field ref=&amp;quot;expertise&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;field ref=&amp;quot;biography&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;field ref=&amp;quot;qualifications&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/component&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===cfg/citations/user/default.xml===&lt;br /&gt;
&lt;br /&gt;
Replace the default EPrints user citation with the MePrints citation (which includes a thumbnail of the user's profile picture) run:&lt;br /&gt;
&lt;br /&gt;
 cd /opt/eprints3/archives/ARCHIVEID&lt;br /&gt;
 cp cfg/citations/user/default_with_thumbnail.xml cfg/citations/user/default.xml&lt;br /&gt;
&lt;br /&gt;
'''Note: if you have already made changes to the default citation, you should examine both files and merge the MePrints changes into default.xml&lt;br /&gt;
&lt;br /&gt;
===Confirm Permissions===&lt;br /&gt;
The last thing to do before using MePrints is to ensure that the permissions are correct on the ''meprints'' directory. To do this run the following commands, there probably will not be any output from running this command;&lt;br /&gt;
 cd archives/ARCHIVEID&lt;br /&gt;
 chmod g+wx meprints&lt;br /&gt;
&lt;br /&gt;
If the permissions are not correct then you may encounter errors when using MePrints.&lt;br /&gt;
&lt;br /&gt;
==Testing==&lt;br /&gt;
&lt;br /&gt;
After applying all the changes above, restart Apache to activate MePrints.&lt;br /&gt;
&lt;br /&gt;
===Homepage===&lt;br /&gt;
&lt;br /&gt;
Log into your repository and should see your MePrints Homepage with default widget layout and profile picture.&lt;br /&gt;
&lt;br /&gt;
====Update profile====&lt;br /&gt;
&lt;br /&gt;
Click the Modify Profile button and add some information to the new MePrints fields (Job Title, Expertise, Biography, Qualifications). Set your Profile Visibility to '''Public'''. Click the Save button to return to your Homepage where the information you entered should now be displayed.&lt;br /&gt;
&lt;br /&gt;
====Upload photo====&lt;br /&gt;
&lt;br /&gt;
Click the Profile Picture button, choose a file and click Upload. You will be returned to your Homepage where your picture will now be displayed.&lt;br /&gt;
&lt;br /&gt;
====MePrints Widgets====&lt;br /&gt;
&lt;br /&gt;
By default your homepage displays several widgets (see user_homepage_defaults setting in cfg/cfg.d/z_meprints.pl). Try adding and removing widgets using the widget controls at the bottom of the screen. You can also rearrange widgets by dragging them up/down or between columns. To reset to the default widget layout click the Reset button in the widget control bar.&lt;br /&gt;
&lt;br /&gt;
===Public Profile===&lt;br /&gt;
&lt;br /&gt;
Enter the following URL to view your public profile page:&lt;br /&gt;
&lt;br /&gt;
 http://myrepository.com/profile/USERNAME&lt;br /&gt;
&lt;br /&gt;
where USERNAME is your EPrints username. The layout of the MePrints widgets on your profile page is controlled by the user_profile_defaults setting in cfg/cfg.d/z_meprints.pl.&lt;br /&gt;
&lt;br /&gt;
Go back to your MePrints homepage and click Modify Profile. Change some of your profile information (eg. Job Title, Expertise, Biography, Qualifications) and click Save. Return to your public profile page and check that your profile information has been updated.&lt;br /&gt;
&lt;br /&gt;
===MePrints Views===&lt;br /&gt;
&lt;br /&gt;
Run:&lt;br /&gt;
&lt;br /&gt;
 bin/generate_views ARCHIVEID --generate menus&lt;br /&gt;
&lt;br /&gt;
Check http://myrepository.com/view/ - you should see 2 new views (you may want to link these into your site template).&lt;br /&gt;
&lt;br /&gt;
Explore the view pages and check that you are listed. Make sure that you can click through from the browse listing to your public profile page.&lt;br /&gt;
&lt;br /&gt;
===MePrints search===&lt;br /&gt;
&lt;br /&gt;
Go to: http://myrepository.com/cgi/meprints/search&lt;br /&gt;
&lt;br /&gt;
Check that you can find your profile using keywords from your user profile information (eg. expertise, qualifications).&lt;br /&gt;
&lt;br /&gt;
Make sure that you can click through from the search result list to your public profile page.&lt;br /&gt;
&lt;br /&gt;
===MePrints Embeddable===&lt;br /&gt;
&lt;br /&gt;
If you want to use the default minimal style supplied for MePrints Embeddable then add the following code to the ''&amp;lt;head&amp;gt;'' section of your page:&lt;br /&gt;
 &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;http://myrepository.com/style/meprints_embed.css&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====MePrints Embeddable Widgets====&lt;br /&gt;
It is possible to embed individual widgets that are viewable on your public profile on your own page. If you go to the public profile page you will see an embed links on the widgets that can be embedded. Click the link and instructions will appear telling you how to embed the widget on your page.&lt;br /&gt;
&lt;br /&gt;
====MePrints Embeddable Profile====&lt;br /&gt;
Edit an HTML page and add the following code to the ''&amp;lt;head&amp;gt;'' section of the page:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://myrepository.com/cgi/meprints/embed_js?username=USERNAME&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where ''USERNAME'' is your username on the repository.&lt;br /&gt;
&lt;br /&gt;
Then inside the ''&amp;lt;body&amp;gt;'' section of the page you need to add the following code:&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;div id=&amp;quot;meprints_profile&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will be the location where your embeddable profile will go on your page.&lt;br /&gt;
&lt;br /&gt;
===MePrints for admins===&lt;br /&gt;
&lt;br /&gt;
Using an administrator account go to the Admin screen and choose '''Search users'''. Enter a username or other criteria to find at least one user account (not the account you are logged in with).&lt;br /&gt;
&lt;br /&gt;
Make sure that you can click through from the results list to the user's homepage.&lt;br /&gt;
&lt;br /&gt;
You should be able to modify the user's profile information by clicking Administer Account.&lt;br /&gt;
&lt;br /&gt;
The widget layout should reflect the user's own preference, and you should not be able to make changes to their widget layout.&lt;br /&gt;
&lt;br /&gt;
====Hide Profile====&lt;br /&gt;
&lt;br /&gt;
Change the user's profile visibility to '''private'''.&lt;br /&gt;
&lt;br /&gt;
Log out, and make sure that:&lt;br /&gt;
&lt;br /&gt;
# the profile is no longer visible at /profile/USERNAME&lt;br /&gt;
# the profile no longer appears in search results&lt;br /&gt;
# the profile no longer appears in view pages&lt;br /&gt;
# the embeddable widget no longer displays the profile&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
===Database errors===&lt;br /&gt;
&lt;br /&gt;
When dragging and dropping Widgets around, MePrints shows database errors in the error log:&lt;br /&gt;
&lt;br /&gt;
 DBD::mysql::st execute failed: Duplicate entry '1-0' for key 1 at /opt/eprints3/perl_lib/EPrints/Database.pm line 1192.&lt;br /&gt;
 at /opt/eprints3/perl_lib/EPrints/Database.pm line 1192&lt;br /&gt;
 EPrints::Database::insert('EPrints::Database::mysql=HASH(0x2b593e11ebd0)', 'user_items_fields', 'ARRAY(0x2b593bd00510)', ...&lt;br /&gt;
&lt;br /&gt;
This is a known problem which does not seem to affect widget layout.&lt;br /&gt;
&lt;br /&gt;
===generate_views errors===&lt;br /&gt;
&lt;br /&gt;
====Warnings====&lt;br /&gt;
&lt;br /&gt;
 Use of uninitialized value $id in hash element at /usr/share/eprints3/perl_lib/EPrints/Database.pm line 2979.&lt;br /&gt;
&lt;br /&gt;
See http://trac.eprints.org/trac/ticket/3537&lt;br /&gt;
&lt;br /&gt;
====EPrint citations====&lt;br /&gt;
&lt;br /&gt;
After hiding all previously public profiles, eprint citations were rendered in the view list instead of users'. (need to work out how to reproduce this)&lt;br /&gt;
&lt;br /&gt;
====Empty views====&lt;br /&gt;
&lt;br /&gt;
After hiding all previously public profiles and regenerating views, view pages still show expertise/department values.&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=PreviewPlus&amp;diff=7978</id>
		<title>PreviewPlus</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=PreviewPlus&amp;diff=7978"/>
		<updated>2009-12-04T10:56:39Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= PreviewPlus =&lt;br /&gt;
==Overview==&lt;br /&gt;
PreviewPlus is a set of plugins for EPrints that create large previews of images, PDF, Word and PowerPoint, audio and video files. There is then a previewing tool which lets you visualise the previews. This is suitable for embeding in an abstract page or similar context. the previews are clear enough that the user can read documents without downloading them.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Details of how to install PreviewPlus can be found here: http://wiki.eprints.org/w/PreviewPlusInstallation&lt;br /&gt;
&lt;br /&gt;
==Authors==&lt;br /&gt;
Patrick McSweeney, Seb Francois and Marcus Ramsden&lt;br /&gt;
&lt;br /&gt;
==Copyright==&lt;br /&gt;
PreviewPlus, University of Southampton &amp;amp;copy;2009&lt;br /&gt;
&lt;br /&gt;
This plugin is released under the terms of the GNU General Public License v3. Details of this license can be found [http://www.gnu.org/licenses/gpl.txt here].&lt;br /&gt;
&lt;br /&gt;
=Features=&lt;br /&gt;
&lt;br /&gt;
==Previews==&lt;br /&gt;
600px wide previews of every page of PDF, DOC, DOCX, PPT and PPTX.&lt;br /&gt;
Video encoding to FLV&lt;br /&gt;
Audio encoding to MP3&lt;br /&gt;
Large Previews of images&lt;br /&gt;
&lt;br /&gt;
==Preview viewer==&lt;br /&gt;
An preview viewer designed to render in the abstract page and showing all the above previews. This includes Flowplayer for showing FLV and MP3.&lt;br /&gt;
Previews are shown in accordence with eprints Security settings. If you do not have permission to download the file then you do not have permission to view the preview.&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=PreviewPlusInstallation&amp;diff=7976</id>
		<title>PreviewPlusInstallation</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=PreviewPlusInstallation&amp;diff=7976"/>
		<updated>2009-12-04T10:50:18Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: /* Cleaning up */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Installation =&lt;br /&gt;
&lt;br /&gt;
Begin by downloading PreviewPlus from : SOMEWHERE&lt;br /&gt;
&lt;br /&gt;
== Prerequesit software ==&lt;br /&gt;
As prerequisits you will also require FFMPEG, LAME and OpenOffice. &lt;br /&gt;
On Ubuntu/Debian you can install these from the package manager.&lt;br /&gt;
On RedHat/Fedora you may have to install them by hand depending what repositories you have available.&lt;br /&gt;
&lt;br /&gt;
FFMPEG:[http://ffmpeg.org/index.html http://ffmpeg.org/index.html]&lt;br /&gt;
&lt;br /&gt;
LAME:[http://lame.sourceforge.net/ http://lame.sourceforge.net/]&lt;br /&gt;
&lt;br /&gt;
OpenOffice:[http://www.openoffice.org/ http://www.openoffice.org/]&lt;br /&gt;
&lt;br /&gt;
== Plugin Installation ==&lt;br /&gt;
Instructions assume eprints is installed at /opt/eprints3&lt;br /&gt;
&lt;br /&gt;
Extract the tarball into your local archive directory:&lt;br /&gt;
&lt;br /&gt;
 cd /opt/eprints3/archives/ARCHIVEID&lt;br /&gt;
 tar xvzf PreviewPlus.VERSION.tgz&lt;br /&gt;
&lt;br /&gt;
== Configure office conversions ==&lt;br /&gt;
Depending what distribution of linux you are using you will find that open office installs in different places. You may need to edit &amp;lt;code&amp;gt;cfg/cfg.d/office_conversions.pl&amp;lt;/code&amp;gt; so that &amp;lt;code&amp;gt;$c-&amp;gt;{office_path}&amp;lt;/code&amp;gt; points to you open office install.&lt;br /&gt;
&lt;br /&gt;
== Symlink CGI scripts ==&lt;br /&gt;
&lt;br /&gt;
 ln -s /opt/eprints3/archives/ARCHIVEID/cgi/get_preview_plus /opt/eprints3/cgi/&lt;br /&gt;
&lt;br /&gt;
== Adding the preview to eprint render ==&lt;br /&gt;
In eprint render find where you want the preview to appear on the page and add:&lt;br /&gt;
 if($session-&amp;gt;get_repository()-&amp;gt;call(&amp;quot;previews_exist&amp;quot;, $eprint)){&lt;br /&gt;
        $page-&amp;gt;appendChild($session-&amp;gt;get_repository()-&amp;gt;call(&amp;quot;make_preview_plus&amp;quot;, $session, $eprint, &amp;quot;horizontal&amp;quot;));&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Cleaning up ==&lt;br /&gt;
&lt;br /&gt;
You must restart your webserver.&lt;br /&gt;
&lt;br /&gt;
You will probably also want to run /opt/eprints/bin/epadmin redo_thumbnails ARCHIVEID&lt;br /&gt;
but be warned this is a very expensive process if you have a large archive and should definately be run overnight.&lt;br /&gt;
&lt;br /&gt;
== Setting up cron == &lt;br /&gt;
You will probably want to run the /opt/eprints3/archives/ARCHIVEID/bin/generate_video_previews and /opt/eprints3/archives/ARCHIVEID/bin/generate_audio_previews nightly. The easiest way to do this is to add them to the eprints users contab. &lt;br /&gt;
&lt;br /&gt;
Currently there is no mechanism to stop these scripts snowballing so make sure you leave long enough in the crontab for one job to finish before the next starts.&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=PreviewPlusInstallation&amp;diff=7975</id>
		<title>PreviewPlusInstallation</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=PreviewPlusInstallation&amp;diff=7975"/>
		<updated>2009-12-04T10:49:58Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Installation =&lt;br /&gt;
&lt;br /&gt;
Begin by downloading PreviewPlus from : SOMEWHERE&lt;br /&gt;
&lt;br /&gt;
== Prerequesit software ==&lt;br /&gt;
As prerequisits you will also require FFMPEG, LAME and OpenOffice. &lt;br /&gt;
On Ubuntu/Debian you can install these from the package manager.&lt;br /&gt;
On RedHat/Fedora you may have to install them by hand depending what repositories you have available.&lt;br /&gt;
&lt;br /&gt;
FFMPEG:[http://ffmpeg.org/index.html http://ffmpeg.org/index.html]&lt;br /&gt;
&lt;br /&gt;
LAME:[http://lame.sourceforge.net/ http://lame.sourceforge.net/]&lt;br /&gt;
&lt;br /&gt;
OpenOffice:[http://www.openoffice.org/ http://www.openoffice.org/]&lt;br /&gt;
&lt;br /&gt;
== Plugin Installation ==&lt;br /&gt;
Instructions assume eprints is installed at /opt/eprints3&lt;br /&gt;
&lt;br /&gt;
Extract the tarball into your local archive directory:&lt;br /&gt;
&lt;br /&gt;
 cd /opt/eprints3/archives/ARCHIVEID&lt;br /&gt;
 tar xvzf PreviewPlus.VERSION.tgz&lt;br /&gt;
&lt;br /&gt;
== Configure office conversions ==&lt;br /&gt;
Depending what distribution of linux you are using you will find that open office installs in different places. You may need to edit &amp;lt;code&amp;gt;cfg/cfg.d/office_conversions.pl&amp;lt;/code&amp;gt; so that &amp;lt;code&amp;gt;$c-&amp;gt;{office_path}&amp;lt;/code&amp;gt; points to you open office install.&lt;br /&gt;
&lt;br /&gt;
== Symlink CGI scripts ==&lt;br /&gt;
&lt;br /&gt;
 ln -s /opt/eprints3/archives/ARCHIVEID/cgi/get_preview_plus /opt/eprints3/cgi/&lt;br /&gt;
&lt;br /&gt;
== Adding the preview to eprint render ==&lt;br /&gt;
In eprint render find where you want the preview to appear on the page and add:&lt;br /&gt;
 if($session-&amp;gt;get_repository()-&amp;gt;call(&amp;quot;previews_exist&amp;quot;, $eprint)){&lt;br /&gt;
        $page-&amp;gt;appendChild($session-&amp;gt;get_repository()-&amp;gt;call(&amp;quot;make_preview_plus&amp;quot;, $session, $eprint, &amp;quot;horizontal&amp;quot;));&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Cleaning up ==&lt;br /&gt;
&lt;br /&gt;
You must restart your webserver.&lt;br /&gt;
&lt;br /&gt;
You will probably also want to run /opt/eprints/bin/epadmin redo_thumbnails ARCHIVEID&lt;br /&gt;
But be warned this is a very expensive process if you have a large archive and should definately be run overnight.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Setting up cron == &lt;br /&gt;
You will probably want to run the /opt/eprints3/archives/ARCHIVEID/bin/generate_video_previews and /opt/eprints3/archives/ARCHIVEID/bin/generate_audio_previews nightly. The easiest way to do this is to add them to the eprints users contab. &lt;br /&gt;
&lt;br /&gt;
Currently there is no mechanism to stop these scripts snowballing so make sure you leave long enough in the crontab for one job to finish before the next starts.&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=PreviewPlusInstallation&amp;diff=7974</id>
		<title>PreviewPlusInstallation</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=PreviewPlusInstallation&amp;diff=7974"/>
		<updated>2009-12-04T10:45:44Z</updated>

		<summary type="html">&lt;p&gt;Pm705@zepler.net: /* Adding the preview to eprint render */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Installation =&lt;br /&gt;
&lt;br /&gt;
Begin by downloading PreviewPlus from : SOMEWHERE&lt;br /&gt;
&lt;br /&gt;
== Prerequesit software ==&lt;br /&gt;
As prerequisits you will also require FFMPEG, LAME and OpenOffice. &lt;br /&gt;
On Ubuntu/Debian you can install these from the package manager.&lt;br /&gt;
On RedHat/Fedora you may have to install them by hand depending what repositories you have available.&lt;br /&gt;
&lt;br /&gt;
FFMPEG:[http://ffmpeg.org/index.html http://ffmpeg.org/index.html]&lt;br /&gt;
&lt;br /&gt;
LAME:[http://lame.sourceforge.net/ http://lame.sourceforge.net/]&lt;br /&gt;
&lt;br /&gt;
OpenOffice:[http://www.openoffice.org/ http://www.openoffice.org/]&lt;br /&gt;
&lt;br /&gt;
== Plugin Installation ==&lt;br /&gt;
Instructions assume eprints is installed at /opt/eprints3&lt;br /&gt;
&lt;br /&gt;
Extract the tarball into your local archive directory:&lt;br /&gt;
&lt;br /&gt;
 cd /opt/eprints3/archives/ARCHIVEID&lt;br /&gt;
 tar xvzf PreviewPlus.VERSION.tgz&lt;br /&gt;
&lt;br /&gt;
== Configure office conversions ==&lt;br /&gt;
Depending what distribution of linux you are using you will find that open office installs in different places. You may need to edit &amp;lt;code&amp;gt;cfg/cfg.d/office_conversions.pl&amp;lt;/code&amp;gt; so that &amp;lt;code&amp;gt;$c-&amp;gt;{office_path}&amp;lt;/code&amp;gt; points to you open office install.&lt;br /&gt;
&lt;br /&gt;
== Symlink CGI scripts ==&lt;br /&gt;
&lt;br /&gt;
 ln -s /opt/eprints3/archives/ARCHIVEID/cgi/get_preview_plus /opt/eprints3/cgi/&lt;br /&gt;
&lt;br /&gt;
== Adding the preview to eprint render ==&lt;br /&gt;
In eprint render find where you want the preview to appear on the page and add:&lt;br /&gt;
 if($session-&amp;gt;get_repository()-&amp;gt;call(&amp;quot;previews_exist&amp;quot;, $eprint)){&lt;br /&gt;
        $page-&amp;gt;appendChild($session-&amp;gt;get_repository()-&amp;gt;call(&amp;quot;make_preview_plus&amp;quot;, $session, $eprint, &amp;quot;horizontal&amp;quot;));&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Setting up cron == &lt;br /&gt;
You will probably want to run the /opt/eprints3/archives/ARCHIVEID/bin/generate_video_previews and /opt/eprints3/archives/ARCHIVEID/bin/generate_audio_previews nightly. The easiest way to do this is to add them to the eprints users contab. &lt;br /&gt;
&lt;br /&gt;
Currently there is no mechanism to stop these scripts snowballing so make sure you leave long enough in the crontab for one job to finish before the next starts.&lt;/div&gt;</summary>
		<author><name>Pm705@zepler.net</name></author>
		
	</entry>
</feed>