<?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=Fmccown</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=Fmccown"/>
	<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/Special:Contributions/Fmccown"/>
	<updated>2026-05-07T08:40:56Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.8</generator>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=Dynamic_templates&amp;diff=4249</id>
		<title>Dynamic templates</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=Dynamic_templates&amp;diff=4249"/>
		<updated>2007-04-11T21:47:12Z</updated>

		<summary type="html">&lt;p&gt;Fmccown: Redirect&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Dynamic Template System]]&lt;/div&gt;</summary>
		<author><name>Fmccown</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=Change_Deposit_Status_in_Bulk&amp;diff=4223</id>
		<title>Change Deposit Status in Bulk</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=Change_Deposit_Status_in_Bulk&amp;diff=4223"/>
		<updated>2007-04-10T18:44:01Z</updated>

		<summary type="html">&lt;p&gt;Fmccown: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;At times it may be useful for you to move a large number of deposits from &amp;quot;User Workarea&amp;quot; to &amp;quot;Live Archive&amp;quot;. While you could do this manually using the Web interface one-by-one, this could be a very time-consuming process.&lt;br /&gt;
&lt;br /&gt;
To change a large number of deposits, execute the following update command in MySQL:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 UPDATE eprint SET eprint_status=&amp;quot;archive&amp;quot; WHERE userid=3 AND eprint_status=&amp;quot;inbox&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 UPDATE eprint SET eprint_status=&amp;quot;archive&amp;quot; WHERE eprintid &amp;lt; 101&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
depending on the criteria that identifies the deposits you want to change.&lt;br /&gt;
&lt;br /&gt;
Then you will need to run &amp;lt;tt&amp;gt;generate_abstracts&amp;lt;/tt&amp;gt; in order for the deposited items to have an abstract page:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 /opt/eprints3/bin/generate_abstracts &amp;lt;archive_id&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now your items should be availabe from the repository.&lt;/div&gt;</summary>
		<author><name>Fmccown</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=Branding,_the_next_level&amp;diff=4186</id>
		<title>Branding, the next level</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=Branding,_the_next_level&amp;diff=4186"/>
		<updated>2007-03-23T19:53:24Z</updated>

		<summary type="html">&lt;p&gt;Fmccown: General clean-up&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This document describes how to completely customise the template of your EPrints 3 repository. Not just changing some colour schemes and images, but a reworking of the structure of the HTML.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
The redesign process is not an easy one.&amp;lt;br/&amp;gt;&lt;br /&gt;
No, let me rephrase that: When designing a complete re-branding, altering the EPrints files is pretty - easy however the design, the xhtml and the css all requires some skill and knowledge. That part of the process is not discussed here, sorry.&lt;br /&gt;
&lt;br /&gt;
== Step One: design ==&lt;br /&gt;
Get the design right.&amp;lt;br/&amp;gt;&lt;br /&gt;
Speak to Web Designers/Greaphic Artists about layout/graphics/composition.&amp;lt;br/&amp;gt;&lt;br /&gt;
Speak to xhtml coders and CSS monkeys about accessibility, cross-browser compatibility, and good practice.&amp;lt;br/&amp;gt;&lt;br /&gt;
Make up some static pages to get the page right ''before'' you edit any EPrints files.&lt;br /&gt;
&lt;br /&gt;
This is the design I'm going to talk about:&lt;br /&gt;
[[Image:overview.png]]&lt;br /&gt;
&lt;br /&gt;
== Step Two: implement ==&lt;br /&gt;
Let us assume that you have configured the basic repository, created the database, and created an admin user.&amp;lt;br/&amp;gt;&lt;br /&gt;
Let us further assume that you are at the top of the installed EPrints software (&amp;lt;code&amp;gt;/opt/&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;/usr/local&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;/home/eprints&amp;lt;/code&amp;gt; or wherever you've installed it)&lt;br /&gt;
&lt;br /&gt;
Edit the default template for your repository:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vi archives/ARCHIVEID/cfg/lang/en/templates/default.xml&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit the file, or delete all the contents and start again.&lt;br /&gt;
=== Head section ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; standalone=&amp;quot;no&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html SYSTEM &amp;quot;entities.dtd&amp;quot; &amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; xmlns:epc=&amp;quot;http://eprints.org/ep3/control&amp;quot; xml:lang=&amp;quot;en&amp;quot; lang=&amp;quot;en&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;&amp;lt;epc:pin ref=&amp;quot;title&amp;quot; textonly=&amp;quot;yes&amp;quot;/&amp;gt; - &amp;lt;epc:phrase ref=&amp;quot;archive_name&amp;quot;/&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;/javascript/auto.js&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
    &amp;lt;style type=&amp;quot;text/css&amp;quot; media=&amp;quot;screen&amp;quot;&amp;gt;@import url(/style/auto.css);&amp;lt;/style&amp;gt;&lt;br /&gt;
    &amp;lt;style type=&amp;quot;text/css&amp;quot; media=&amp;quot;screen&amp;quot;&amp;gt; @import  url(/style/eprints.css); &amp;lt;/style&amp;gt;&lt;br /&gt;
    &amp;lt;style type=&amp;quot;text/css&amp;quot; media=&amp;quot;print&amp;quot;&amp;gt;@import url(/style/print.css);&amp;lt;/style&amp;gt;&lt;br /&gt;
&amp;lt;!--[if IE]&amp;gt;&lt;br /&gt;
    &amp;lt;style type=&amp;quot;text/css&amp;quot; media=&amp;quot;screen&amp;quot;&amp;gt;@import url(/style/IE_Hacks.css);&amp;lt;/style&amp;gt;&lt;br /&gt;
&amp;lt;![endif]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;link rel=&amp;quot;icon&amp;quot; href=&amp;quot;/favicon.ico&amp;quot; type=&amp;quot;image/x-icon&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;link rel=&amp;quot;shortcut icon&amp;quot; href=&amp;quot;/favicon.ico&amp;quot; type=&amp;quot;image/x-icon&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;link rel=&amp;quot;Top&amp;quot; href=&amp;quot;{$config{frontpage}}&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;link rel=&amp;quot;Search&amp;quot; href=&amp;quot;/perl/search&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;epc:pin ref=&amp;quot;head&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/head&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is the head section of the xhtml for our demo page. &amp;lt;br/&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;title&amp;gt;&amp;lt;epc:pin ref=&amp;quot;title&amp;quot; textonly=&amp;quot;yes&amp;quot;/&amp;gt; - &amp;lt;epc:phrase ref=&amp;quot;archive_name&amp;quot;/&amp;gt;&amp;lt;/title&amp;gt;&amp;lt;/code&amp;gt; shows that the title is made from two elements defined in one of the ''phrases'' files&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;script src=&amp;quot;/javascript/auto.js&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&amp;lt;/code&amp;gt; is the line that pulls in the auto-completer javascript&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;style type=&amp;quot;text/css&amp;quot; media=&amp;quot;screen&amp;quot;&amp;gt;@import url(/style/auto.css);&amp;lt;/style&amp;gt;&amp;lt;/code&amp;gt; is the bit that pulls in all the default javascript styling&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;style type=&amp;quot;text/css&amp;quot; media=&amp;quot;screen&amp;quot;&amp;gt; @import  url(/style/eprints.css); &amp;lt;/style&amp;gt;&amp;lt;/code&amp;gt; is my extra CSS for my design&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;style type=&amp;quot;text/css&amp;quot; media=&amp;quot;print&amp;quot;&amp;gt;@import url(/style/print.css);&amp;lt;/style&amp;gt;&amp;lt;/code&amp;gt; is the css that is referenced when printing to the page&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;amp;lt;!--[if IE]&amp;amp;gt;&amp;lt;style type=&amp;quot;text/css&amp;quot; media=&amp;quot;screen&amp;quot;&amp;gt;@import url(/style/IE_Hacks.css);&amp;lt;/style&amp;gt;&amp;amp;lt;![endif]--&amp;amp;gt;&amp;lt;/code&amp;gt; is my hack to include IE-specific CSS that the web validators won't see (or complain about)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;epc:pin ref=&amp;quot;head&amp;quot;/&amp;gt;&amp;lt;/code&amp;gt; is a pin-holder for any extra head-section tags that are defined (''where?'')&lt;br /&gt;
&lt;br /&gt;
=== Body section ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;body&amp;gt;&lt;br /&gt;
   &amp;lt;div class=&amp;quot;ep_noprint&amp;quot;&amp;gt;&amp;lt;noscript&amp;gt;&amp;lt;style type='text/css'&amp;gt;@import url(/style/nojs.css);&amp;lt;/style&amp;gt;&amp;lt;/noscript&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
   &amp;lt;div id=&amp;quot;container&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;div id=&amp;quot;banner&amp;quot; class=&amp;quot;ep_noprint&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;div id=&amp;quot;banner_inner&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;span id=&amp;quot;the_depot_logo&amp;quot; &amp;gt;The DEPOT&amp;lt;/span&amp;gt;&lt;br /&gt;
     &amp;lt;/div&amp;gt; &amp;lt;!-- end of banner_inner --&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt; &amp;lt;!-- end of banner --&amp;gt;&lt;br /&gt;
    &amp;lt;div id=&amp;quot;main_area&amp;quot; class=&amp;quot;clearfix&amp;quot;&amp;gt; &amp;lt;!-- start of the menus and body of text --&amp;gt;&lt;br /&gt;
     &amp;lt;div id=&amp;quot;top_menu&amp;quot; class=&amp;quot;ep_noprint&amp;quot; &amp;gt;&lt;br /&gt;
      &amp;lt;div id=&amp;quot;tabcontainer&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;!-- Menu is defined dynamically --&amp;gt;&lt;br /&gt;
       &amp;lt;ul id=&amp;quot;navtabs&amp;quot;&amp;gt;&amp;lt;epc:pin ref=&amp;quot;login_status&amp;quot;/&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt; &amp;lt;!-- end of tabcontainer --&amp;gt;&lt;br /&gt;
     &amp;lt;/div&amp;gt; &amp;lt;!-- end of top_menu --&amp;gt;&lt;br /&gt;
     &amp;lt;div id=&amp;quot;content&amp;quot; &amp;gt;&lt;br /&gt;
      &amp;lt;epc:pin ref=&amp;quot;page&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;/div&amp;gt; &amp;lt;!-- end of content --&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt; &amp;lt;!-- end of main_area --&amp;gt;&lt;br /&gt;
    &amp;lt;div id=&amp;quot;footer&amp;quot; class=&amp;quot;clearfix ep_noprint&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;img src=&amp;quot;/images/logos.gif&amp;quot; title=&amp;quot;Logos for EDINA and SHERPA&amp;quot; alt=&amp;quot;[LOGOS]&amp;quot; class=&amp;quot;edina_logo&amp;quot; style=&amp;quot;float:left&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;span id=&amp;quot;banner_image_copyright&amp;quot;&amp;gt;Banner image &amp;amp;copy; JupiterImages 2006&amp;lt;/span&amp;gt;&lt;br /&gt;
     &amp;lt;div id=&amp;quot;credit&amp;quot;&amp;gt;This service is running on &amp;lt;em&amp;gt;GNU EPrints&amp;lt;/em&amp;gt; repository-creating software, which generates &lt;br /&gt;
          repositories that are compliant with the &amp;lt;a href=&amp;quot;http://www.openarchives.org&amp;quot;&amp;gt;Open Archives Protocol for&lt;br /&gt;
          Metadata Harvesting OAI 2.0&amp;lt;/a&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
     &amp;lt;span id=&amp;quot;take_down&amp;quot;&amp;gt;&amp;amp;#187; &amp;lt;a href=&amp;quot;/policy.html&amp;quot; title=&amp;quot;What to do when you discover a deposit that infringes&lt;br /&gt;
          UK laws&amp;quot;&amp;gt;how to complain&amp;lt;/a&amp;gt; about a paper in the Depot&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt; &amp;lt;!-- end of footer --&amp;gt;&lt;br /&gt;
   &amp;lt;/div&amp;gt;&lt;br /&gt;
 &amp;lt;/body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So - what do we have here?&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;amp;lt;noscript&amp;amp;gt;&amp;amp;lt;style type='text/css'&amp;amp;gt;@import url(/style/nojs.css);&amp;amp;lt;/style&amp;amp;gt;&amp;amp;lt;/noscript&amp;amp;gt;&amp;lt;/code&amp;gt; is a non-complient ''bodge'' to include extra CSS (used by the core eprints code) when there is no Javascript available.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;amp;lt;ul id=&amp;quot;navtabs&amp;quot;&amp;amp;gt;&amp;amp;lt;epc:pin ref=&amp;quot;login_status&amp;quot;/&amp;amp;gt;&amp;amp;lt;/ul&amp;amp;gt;&amp;lt;/code&amp;gt; is the bit that defines the toolbar (more later)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;amp;lt;epc:pin ref=&amp;quot;page&amp;quot;/&amp;amp;gt;&amp;lt;/code&amp;gt; is the bit that defines where the code sits&lt;br /&gt;
The rest is all design and layout (and there is a ''lot'' of design and layout in &amp;lt;code&amp;gt;/style/eprints.css&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Toolbar ==&lt;br /&gt;
&lt;br /&gt;
=== Changing the separator ===&lt;br /&gt;
The toolbar in a standard EPrints system is a series of &amp;amp;lt;span&amp;amp;gt;'ed items, with a defined separator.&lt;br /&gt;
&lt;br /&gt;
To change the seperator to (say) the hash symbol ('#'), edit the file &amp;lt;code&amp;gt;archives/deposit/cfg/lang/en/phrases/dynamic.xml&amp;lt;/code&amp;gt; and add&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;epp:phrase id=&amp;quot;Plugin/Screen:tool_divide&amp;quot;&amp;gt; # &amp;lt;/epp:phrase&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
(the &amp;lt;code&amp;gt;dynamic.xml&amp;lt;/code&amp;gt; file needs to be valid XML, so you can't change the separator to something like &amp;lt;code&amp;gt;&amp;amp;lt;/li&amp;amp;gt;&amp;amp;lt;li&amp;amp;gt;&amp;lt;/code&amp;gt;.)&lt;br /&gt;
&lt;br /&gt;
=== Changing the toolbar items ===&lt;br /&gt;
The toolbar is dynamically created.&lt;br /&gt;
* there is one form for an anonymous user&lt;br /&gt;
** (this is where a user logs in, or creates a new account)&lt;br /&gt;
*** [[image:anon_toolbar.png]]&lt;br /&gt;
* and one for a logged in user&lt;br /&gt;
** The toolbar for an admin-level user could look like:&lt;br /&gt;
*** [[image:admin_toolbar.png]]&lt;br /&gt;
&lt;br /&gt;
To deviate from the default toolbar, you will need to provide your own xhtml. Edit &amp;lt;code&amp;gt;archives/deposit/cfg/lang/en/phrases/dynamic.xml&amp;lt;/code&amp;gt; and add:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;epp:phrase id=&amp;quot;dynamic:not_logged_in&amp;quot;&amp;gt;&amp;lt;!--&lt;br /&gt;
     --&amp;gt;&amp;lt;li&amp;gt;&amp;lt;a class=&amp;quot;h_menulink&amp;quot; href=&amp;quot;/view/&amp;quot;&amp;gt;Browse&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;!--&lt;br /&gt;
     --&amp;gt;&amp;lt;li&amp;gt;&amp;lt;a class=&amp;quot;h_menulink&amp;quot; href=&amp;quot;{$config{userhome}}&amp;quot;&amp;gt;Login&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;!--&lt;br /&gt;
     --&amp;gt;&amp;lt;li&amp;gt;&amp;lt;a class=&amp;quot;h_menulink&amp;quot; href=&amp;quot;{$config{perl_url}}/register&amp;quot;&amp;gt;Create Account&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;!--&lt;br /&gt;
    --&amp;gt;&amp;lt;/epp:phrase&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;epp:phrase id=&amp;quot;dynamic:logged_in&amp;quot;&amp;gt;&amp;lt;!--&lt;br /&gt;
     --&amp;gt;&amp;lt;li class=&amp;quot;logged_in_as&amp;quot; style=&amp;quot;float: right&amp;quot;&amp;gt;Logged in as &amp;lt;epc:pin name=&amp;quot;user&amp;quot;/&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;!-- &lt;br /&gt;
     --&amp;gt;&amp;lt;li&amp;gt;&amp;lt;a class=&amp;quot;h_menulink&amp;quot; href=&amp;quot;/view/&amp;quot;&amp;gt;Browse&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;!--&lt;br /&gt;
     --&amp;gt;&amp;lt;epc:pin name=&amp;quot;tools&amp;quot; /&amp;gt;&amp;lt;!--&lt;br /&gt;
     --&amp;gt;&amp;lt;li&amp;gt;&amp;lt;a class=&amp;quot;h_menulink&amp;quot; href=&amp;quot;{$config{perl_url}}/logout&amp;quot;&amp;gt;Logout&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;!--&lt;br /&gt;
    --&amp;gt;&amp;lt;/epp:phrase&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
my example is different from the standard EPrints layout in that I am also switching to using a list for each of my toolbar items&lt;br /&gt;
&lt;br /&gt;
'''Note''': the use of the xhtml comments as above is part of a CSS &amp;quot;trick&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Removing items from the user list ===&lt;br /&gt;
Items can easily be removed from the toolbar (I have removed the '''Saved Searches''' item.)&lt;br /&gt;
&lt;br /&gt;
Edit &amp;lt;code&amp;gt;archives/deposit/cfg/cfg.d/plugins.pl&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# option to disable the functionality all together&lt;br /&gt;
$c-&amp;gt;{plugins}-&amp;gt;{&amp;quot;Screen::User::SavedSearches&amp;quot;}-&amp;gt;{params}-&amp;gt;{disable} = 1;&lt;br /&gt;
&lt;br /&gt;
# option to keep the functionality, but leave it out the toolbar&lt;br /&gt;
$c-&amp;gt;{plugins}-&amp;gt;{&amp;quot;Screen::Items::SavedSearches&amp;quot;}-&amp;gt;{appears}-&amp;gt;{key_tools} = undef;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Changing the actual format ===&lt;br /&gt;
&lt;br /&gt;
In my example, we have actually changed the toolbar to be a series if List Items (&amp;lt;code&amp;gt;&amp;amp;lt;li&amp;amp;gt;foo&amp;amp;lt;/li&amp;amp;gt;&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
This is somewhat more complex, and requires code-hacking&lt;br /&gt;
&lt;br /&gt;
The toolbar is created in &amp;lt;code&amp;gt;perl_lib/EPrints/Session.pm&amp;lt;/code&amp;gt;, in a function called &amp;lt;code&amp;gt;render_toolbar&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
This needs to be changed in several places, however in essence, to need to replace:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 my $first = 1;&lt;br /&gt;
 foreach my $tool ( @core )&lt;br /&gt;
  {&lt;br /&gt;
   if( $first )&lt;br /&gt;
    {&lt;br /&gt;
     $first = 0;&lt;br /&gt;
    } &lt;br /&gt;
   else&lt;br /&gt;
    {&lt;br /&gt;
     $core-&amp;gt;appendChild( $self-&amp;gt;html_phrase( &amp;quot;Plugin/Screen:tool_divide&amp;quot; ) );&lt;br /&gt;
    }&lt;br /&gt;
   my $a = $self-&amp;gt;render_link( $url.&amp;quot;?screen=&amp;quot;.substr($tool-&amp;gt;{screen_id},8) );&lt;br /&gt;
   $a-&amp;gt;appendChild( $tool-&amp;gt;{screen}-&amp;gt;render_title );&lt;br /&gt;
   $core-&amp;gt;appendChild( $a );&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 foreach my $tool ( @core )&lt;br /&gt;
  {&lt;br /&gt;
   my $a = $self-&amp;gt;render_link( $url.&amp;quot;?screen=&amp;quot;.substr($tool-&amp;gt;{screen_id},8) );&lt;br /&gt;
   $a-&amp;gt;appendChild( $tool-&amp;gt;{screen}-&amp;gt;render_title );&lt;br /&gt;
   my $li = $self-&amp;gt;make_element('li', class=&amp;gt;&amp;quot;&amp;quot;);&lt;br /&gt;
   $li-&amp;gt;appendChild($a);&lt;br /&gt;
   $core-&amp;gt;appendChild( $li );&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
(Thanks to Ben Wheeler for that)&lt;br /&gt;
&lt;br /&gt;
== Rebuild the web pages ==&lt;br /&gt;
Every time you alter &amp;lt;code&amp;gt;archives/ARCHIVEID/cfg/lang/en/templates/default.xml&amp;lt;/code&amp;gt;, you need to regenerate the pages of the service:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bin/generate_static ''archiveID''&lt;br /&gt;
bin/generate_views ''archiveID''&lt;br /&gt;
bin/generate_abstracts ''archiveID''&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Every time you alter any of the &amp;lt;code&amp;gt;.xml&amp;lt;/code&amp;gt; you need to reload the configuration:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bin/epadmin reload ''archiveID''&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
(though a proper web server restart is the best thing to do once you are happy with the configuration:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/path/to/web_server/bin/apachecfg restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Fmccown</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=Branding_with_confidence&amp;diff=4185</id>
		<title>Branding with confidence</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=Branding_with_confidence&amp;diff=4185"/>
		<updated>2007-03-23T19:48:53Z</updated>

		<summary type="html">&lt;p&gt;Fmccown: Added See also&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{development}}&lt;br /&gt;
&lt;br /&gt;
One of the most common EPrints customisations is to add your own institution's branding and &amp;quot;look and feel&amp;quot; to the interface - this may include logos, page layouts, stylesheets and colour schemes.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Branding fast track==&lt;br /&gt;
&lt;br /&gt;
This section describes techniques for very quickly changing the appearance of your EPrints repository. These techniques could be useful, for example, to quickly brand a demonstration repository so that your audience can identify with it.&lt;br /&gt;
&lt;br /&gt;
===Adding a logo===&lt;br /&gt;
&lt;br /&gt;
'''Example 1 &lt;br /&gt;
&lt;br /&gt;
The simplest approach is to overwrite the default EPrints logo with a copy of your own logo. Copy your logo to: &lt;br /&gt;
&lt;br /&gt;
 /opt/eprints3/archives/ARCHIVEID/cfg/static/images/sitelogo.gif&lt;br /&gt;
&lt;br /&gt;
Place the new image on the web site by typing:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--bin/epadmin reload ARCHIVEID--&amp;gt;&lt;br /&gt;
 bin/generate_static ARCHIVEID&lt;br /&gt;
&lt;br /&gt;
Your logo should now be displayed in place of the default EPrints logo.&lt;br /&gt;
&lt;br /&gt;
'''Example 2&lt;br /&gt;
&lt;br /&gt;
The image that EPrints uses for the site logo is defined in the branding configuration file. You can change this setting to point to the logo image on your institution's Web page.&lt;br /&gt;
&lt;br /&gt;
Open the branding configuration file in a text editor:&lt;br /&gt;
&lt;br /&gt;
 /opt/eprints3/archives/ARCHIVEID/cfg/cfg.d/branding.pl&lt;br /&gt;
&lt;br /&gt;
Find the site_logo configuration setting:&lt;br /&gt;
&lt;br /&gt;
 $c-&amp;gt;{site_logo} = &amp;quot;/images/sitelogo.gif&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Change the setting to point to your own logo image:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 $c-&amp;gt;{site_logo} = &amp;quot;&amp;lt;nowiki&amp;gt;http://www.soton.ac.uk/img/furniture/royal/corp_logo.gif&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reload the EPrints configuration by typing:&lt;br /&gt;
&lt;br /&gt;
 bin/epadmin reload ARCHIVEID&lt;br /&gt;
&lt;br /&gt;
'''Example 3&lt;br /&gt;
&lt;br /&gt;
You can also adjust the site_logo configuration setting to point any local image file. Place a copy of your logo image somewhere in the /opt/eprints3/archives/ARCHIVEID/cfg/static/images/ directory and then update the branding configuration file to point to it.&lt;br /&gt;
&lt;br /&gt;
 $c-&amp;gt;{site_logo} = &amp;quot;/images/mylogo.gif&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Reload the EPrints configuration by typing:&lt;br /&gt;
&lt;br /&gt;
 bin/epadmin reload ARCHIVEID&lt;br /&gt;
&lt;br /&gt;
and then place the new logo file into the website:&lt;br /&gt;
&lt;br /&gt;
 bin/generate_static ARCHIVEID&lt;br /&gt;
&lt;br /&gt;
===Changing the theme===&lt;br /&gt;
&lt;br /&gt;
Open the branding configuration file in a text editor:&lt;br /&gt;
&lt;br /&gt;
 /opt/eprints3/archives/ARCHIVEID/cfg/cfg.d/branding.pl&lt;br /&gt;
&lt;br /&gt;
Find the theme configuration setting:&lt;br /&gt;
&lt;br /&gt;
 # $c-&amp;gt;{theme} = &amp;quot;green&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Change the setting to use the chosen theme.&lt;br /&gt;
&lt;br /&gt;
 $c-&amp;gt;{theme} = &amp;quot;green&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
''Currently EPrints 3 only includes the default and &amp;quot;green&amp;quot; theme, but look out for more themes in future versions of EPrints and on the http://files.eprints.org/ community repository.&lt;br /&gt;
&lt;br /&gt;
==Taking control==&lt;br /&gt;
&lt;br /&gt;
This section describes techniques for taking complete control of the appearance of your repository.&lt;br /&gt;
&lt;br /&gt;
===Changing the page layout===&lt;br /&gt;
&lt;br /&gt;
Every page in your repository is displayed using a single template. A custom layout can be applied to your repository pages by editing this template directly.&lt;br /&gt;
&lt;br /&gt;
Open the template file for your repository:&lt;br /&gt;
&lt;br /&gt;
 /opt/eprints3/archives/ARCHIVEID/cfg/lang/en/templates/default.xml&lt;br /&gt;
&lt;br /&gt;
The template is an XHTML file with some additional syntax (see [[Template Format]]).&lt;br /&gt;
&lt;br /&gt;
====Pins====&lt;br /&gt;
&lt;br /&gt;
You will notice a number of epc:pin elements. These tell EPrints how to combine the template with page-specific content to build each individual page.&lt;br /&gt;
&lt;br /&gt;
'''Example&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;epc:pin ref=&amp;quot;toolbar&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;table width=&amp;quot;720&amp;quot; class=&amp;quot;ep_tm_main&amp;quot;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td align=&amp;quot;left&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;h1 class=&amp;quot;ep_tm_pagetitle&amp;quot;&amp;gt;&amp;lt;epc:pin ref=&amp;quot;title&amp;quot;/&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
     &amp;lt;epc:pin ref=&amp;quot;page&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
 &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This part of the template lays out the main content area of the page (the ''page'' pin) inside a fixed width table, which is centered on the page. The toolbar (''toolbar'' pin) and title of the page (''title'' pin) are laid out above the main content.&lt;br /&gt;
&lt;br /&gt;
You can incorporate the epc:pin elements however you like into your new layout (although note that the head pin should always be inside the head section of the template, and the pagetop pin should be at the start of the body section). You can also define new pins (see below).&lt;br /&gt;
&lt;br /&gt;
====Configuration Strings====&lt;br /&gt;
&lt;br /&gt;
There are also a number of epc:print elements in the default template which are useful for including configuration values in the template.&lt;br /&gt;
&lt;br /&gt;
'''Example&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;style type=&amp;quot;text/css&amp;quot; media=&amp;quot;screen&amp;quot;&amp;gt;@import url(&amp;lt;epc:print expr=&amp;quot;$config{base_url}&amp;quot;/&amp;gt;/style/auto.css);&amp;lt;/style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This extract from the head section of the template shows how an epc:print element is used to refer to the base URL of the repository. This avoids hardcoding URLs into the template (which is good for maintainability - if the repository URL should change, you do not have to change the template).&lt;br /&gt;
&lt;br /&gt;
Configuration values can also be used inside attributes, using the {...} syntax.&lt;br /&gt;
&lt;br /&gt;
'''Example&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;a href=&amp;quot;{$config{frontpage}}&amp;quot;&amp;gt;&amp;lt;img alt=&amp;quot;Logo&amp;quot; src=&amp;quot;{$config{site_logo}}&amp;quot; /&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This extract shows how the URL of both the front page of the repository and the logo are derived from the configuration rather than being hard coded directly into the template.&lt;br /&gt;
&lt;br /&gt;
====Template checklist====&lt;br /&gt;
&lt;br /&gt;
A typical repository page layout will include:&lt;br /&gt;
&lt;br /&gt;
# the correct XML declaration at the top of the file&lt;br /&gt;
# a head section (load default and custom stylesheets, ''title'' and ''head'' pins)&lt;br /&gt;
# a body section, containing:&lt;br /&gt;
## ''pagetop'' pin&lt;br /&gt;
## header (repository title and logo)&lt;br /&gt;
## navigation menu (links to browse, search etc.)&lt;br /&gt;
## quick search box&lt;br /&gt;
## toolbar (''login_status'' and ''toolbar'' pins)&lt;br /&gt;
## main content area (''title'' and ''page'' pins)&lt;br /&gt;
## footer (copyright notice etc.)&lt;br /&gt;
&lt;br /&gt;
====Loading the new template====&lt;br /&gt;
&lt;br /&gt;
Load your new template by running:&lt;br /&gt;
&lt;br /&gt;
 bin/epadmin reload ARCHIVEID&lt;br /&gt;
&lt;br /&gt;
====Dealing with template errors====&lt;br /&gt;
&lt;br /&gt;
A common cause of errors when loading a new template is that the template is not ''well formed''. The template is in XHTML syntax, and therefore must follow the rules for writing well-formed XML documents:&lt;br /&gt;
&lt;br /&gt;
* http://en.wikipedia.org/wiki/XML#Well-formed_documents&lt;br /&gt;
&lt;br /&gt;
'''Example&lt;br /&gt;
&lt;br /&gt;
You get the following error when reloading the template:&lt;br /&gt;
&lt;br /&gt;
 parser error : Opening and ending tag mismatch: img line 25 and div&lt;br /&gt;
&lt;br /&gt;
Open the template file, and look for an img tag on line 25:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;img src=&amp;quot;/images/mylogo.gif&amp;quot;&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The problem is that the img tag is opened, but there is no closing img tag. The img element is empty, so we can add a self-closing tag to make the eleemtn well formed:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;img src=&amp;quot;/images/mylogo.gif&amp;quot; /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''Example&lt;br /&gt;
&lt;br /&gt;
 parser error : Opening and ending tag mismatch: p line 60 and body&lt;br /&gt;
&lt;br /&gt;
Open the template file and look for the p tag on line 60:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;p&amp;gt;This repository is maintained by the &amp;lt;b&amp;gt;Library and Computing team&amp;lt;/b&amp;gt;.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is no closing p tag. The p element is not empty, so we add a closing p tag at the end of the paragraph to make the element well formed:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;p&amp;gt;This repository is maintained by the &amp;lt;b&amp;gt;Library and Computing team&amp;lt;/b&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Adding extra images===&lt;br /&gt;
&lt;br /&gt;
If your new layout requires additional images, or if you want to add additional images to the default layout, you need to place a copy of each image in your repository's image directory:&lt;br /&gt;
&lt;br /&gt;
 /opt/eprints3/archives/ARCHIVEID/cfg/static/images/&lt;br /&gt;
&lt;br /&gt;
Process the images by running:&lt;br /&gt;
&lt;br /&gt;
 bin/generate_static ARCHIVEID&lt;br /&gt;
&lt;br /&gt;
The image can then be used in the template.&lt;br /&gt;
&lt;br /&gt;
'''Example&lt;br /&gt;
&lt;br /&gt;
Place a copy of small_logo.gif in:&lt;br /&gt;
&lt;br /&gt;
 /opt/eprints3/archives/ARCHIVEID/cfg/static/images/&lt;br /&gt;
&lt;br /&gt;
Use the image in the template:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;img src=&amp;quot;/images/small_logo.gif&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Working with stylesheets===&lt;br /&gt;
&lt;br /&gt;
EPrints has [[EPrints_Directory_Structure/eprints3/lib/static/style/auto|several stylesheet files]], each of which contains style rules for a specific aspect of the repository. By default these stylesheets are applied to every repository page, in alphabetical order.&lt;br /&gt;
&lt;br /&gt;
The default stylesheets can be found here:&lt;br /&gt;
&lt;br /&gt;
 /opt/eprints3/lib/static/style/auto/&lt;br /&gt;
&lt;br /&gt;
====Overriding default style rules====&lt;br /&gt;
&lt;br /&gt;
You may decide that you want to override a particular rule in one of the default stylesheets. Rather than edit the default stylesheet directly (since the edited rule will then be applied to any other repositories running on the same server), you should override the rule in your repository's overrides file:&lt;br /&gt;
&lt;br /&gt;
 /opt/eprints3/archives/ARCHIVEID/cfg/static/style/auto/zzz_local.css&lt;br /&gt;
&lt;br /&gt;
Remember that the stylesheets are applied in alphabetical order, so this file will be applied last.&lt;br /&gt;
&lt;br /&gt;
'''Example&lt;br /&gt;
&lt;br /&gt;
 h1 {&lt;br /&gt;
         margin: 0px 0px 10px 0px;&lt;br /&gt;
         font: bold 130% Arial,Sans-serif;&lt;br /&gt;
         text-align: center;&lt;br /&gt;
         color: #606060;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
This rule is from general.css and defines how the h1 (heading level 1) element should be displayed (in the default template, h1 is used to display the title of the page).&lt;br /&gt;
&lt;br /&gt;
Edit the local overrides file for your repository:&lt;br /&gt;
&lt;br /&gt;
 /opt/eprints3/archives/ARCHIVEID/cfg/static/style/auto/zzz_local.css&lt;br /&gt;
&lt;br /&gt;
Override the ''font'' part of the h1 style:&lt;br /&gt;
&lt;br /&gt;
 h1 {&lt;br /&gt;
         font: bold 200% Arial,Sans-serif;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Apply the new style rules by running:&lt;br /&gt;
&lt;br /&gt;
 bin/generate_static ARCHIVEID&lt;br /&gt;
&lt;br /&gt;
This renders the page title on each page in a larger font.&lt;br /&gt;
&lt;br /&gt;
====Overriding default stylesheets====&lt;br /&gt;
&lt;br /&gt;
If you want to override a default stylesheet in its entirety, you should copy it into your repository's stylesheet directory and edit it there.&lt;br /&gt;
&lt;br /&gt;
'''Example&lt;br /&gt;
&lt;br /&gt;
Make a copy of the default stylesheet general.css:&lt;br /&gt;
&lt;br /&gt;
 cp /opt/eprints3/lib/static/style/auto/general.css /opt/eprints3/archives/ARCHIVEID/cfg/static/style/auto/&lt;br /&gt;
&lt;br /&gt;
Edit the repository copy:&lt;br /&gt;
&lt;br /&gt;
 /opt/eprints3/archives/ARCHIVEID/cfg/static/style/auto/general.css&lt;br /&gt;
&lt;br /&gt;
After making changes to the repository copy of general.css, apply the new stylesheet by running:&lt;br /&gt;
&lt;br /&gt;
 bin/generate_static ARCHIVEID&lt;br /&gt;
&lt;br /&gt;
====Adding institutional stylesheets====&lt;br /&gt;
&lt;br /&gt;
Your institutional Web site may already have a stylesheet or set of stylesheets that you want to apply to your repository.&lt;br /&gt;
&lt;br /&gt;
Copy the institutional stylesheets into your repository stylesheet directory:&lt;br /&gt;
&lt;br /&gt;
 /opt/eprints3/archives/ARCHIVEID/cfg/static/style/&lt;br /&gt;
&lt;br /&gt;
Process the stylesheets by running:&lt;br /&gt;
&lt;br /&gt;
 bin/generate_static ARCHIVEID&lt;br /&gt;
&lt;br /&gt;
The stylesheets are then available to use in the template file.&lt;br /&gt;
&lt;br /&gt;
'''Example&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;head&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;style type=&amp;quot;text/css&amp;quot; media=&amp;quot;screen&amp;quot;&amp;gt;@import url(&amp;lt;epc:print expr=&amp;quot;$config{base_url}&amp;quot;/&amp;gt;/style/auto.css);&amp;lt;/style&amp;gt;&lt;br /&gt;
  &amp;lt;style type=&amp;quot;text/css&amp;quot; media=&amp;quot;screen&amp;quot;&amp;gt;@import url(&amp;lt;epc:print expr=&amp;quot;$config{base_url}&amp;quot;/&amp;gt;/style/my_inst.css);&amp;lt;/style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here we add a stylesheet link to our institutional stylesheet my_inst.css to the head section of the template. Note that we apply my_inst.css ''after'' the repository stylesheets (applied in order by auto.css) so that the institutional style rules override the repository style rules.&lt;br /&gt;
&lt;br /&gt;
====Adding extra style-related images====&lt;br /&gt;
&lt;br /&gt;
If your new stylesheet requires additional images (eg. background images for tables or divs), you need to place a copy of each image in your repository style/image directory:&lt;br /&gt;
&lt;br /&gt;
 /opt/eprints3/archives/ARCHIVEID/cfg/static/style/images/&lt;br /&gt;
&lt;br /&gt;
Note that this keeps the style-related images separate from other images used by your repository pages, such as logos.&lt;br /&gt;
&lt;br /&gt;
Process the images by running:&lt;br /&gt;
&lt;br /&gt;
 bin/generate_static ARCHIVEID&lt;br /&gt;
&lt;br /&gt;
The images can then be used in your stylesheet.&lt;br /&gt;
&lt;br /&gt;
===Adding dynamic content===&lt;br /&gt;
&lt;br /&gt;
You can add dynamic content to the template by adding extra epc:pin elements. EPrints uses this technique to display the current user's login status on the menu bar. Open the repository template file:&lt;br /&gt;
&lt;br /&gt;
 /opt/eprints3/archives/ARCHIVEID/lang/en/templates/default.xml&lt;br /&gt;
&lt;br /&gt;
Locate the login_status pin:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;table class=&amp;quot;ep_tm_searchbar&amp;quot; border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=&amp;quot;100%&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;tr&amp;gt;&lt;br /&gt;
       &amp;lt;td align=&amp;quot;left&amp;quot;&amp;gt;&amp;lt;epc:pin ref=&amp;quot;login_status&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The content of the login_status pin, and other dynamic pins, is created in the dynamic template configuration file:&lt;br /&gt;
&lt;br /&gt;
 /opt/eprints3/archives/ARCHIVEID/cfg/cfg.d/dynamic_template.pl&lt;br /&gt;
&lt;br /&gt;
'''Example&lt;br /&gt;
&lt;br /&gt;
Open the template file for your repository:&lt;br /&gt;
&lt;br /&gt;
 /opt/eprints3/archives/ARCHIVEID/cfg/lang/en/templates/default.xml&lt;br /&gt;
&lt;br /&gt;
Add a new pin called ''todays_date'' to the template; here we add the pin next to the user's login status:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;td align=&amp;quot;left&amp;quot;&amp;gt;&amp;lt;epc:pin ref=&amp;quot;todays_date&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;td align=&amp;quot;left&amp;quot;&amp;gt;&amp;lt;epc:pin ref=&amp;quot;login_status&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Open the dynamic template configuration file for your repository:&lt;br /&gt;
&lt;br /&gt;
 /opt/eprints3/archives/ARCHIVEID/cfg/cfg.d/dynamic_template.pl&lt;br /&gt;
&lt;br /&gt;
Ensure that the dynamic template feature is enabled (this is the default):&lt;br /&gt;
&lt;br /&gt;
 $c-&amp;gt;{dynamic_template}-&amp;gt;{enable} = 1;&lt;br /&gt;
&lt;br /&gt;
Find the function that creates the content for the dynamic pins:&lt;br /&gt;
&lt;br /&gt;
 $c-&amp;gt;{dynamic_template}-&amp;gt;{function} = sub {&lt;br /&gt;
    ...&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Note the code which generates the content for the ''login_status'' pin and add a line underneath which creates the content for the ''todays_date'' pin:&lt;br /&gt;
&lt;br /&gt;
 $parts-&amp;gt;{todays_date} = $session-&amp;gt;make_text( scalar localtime );&lt;br /&gt;
&lt;br /&gt;
Reload the dynamic template configuration:&lt;br /&gt;
&lt;br /&gt;
 bin/epadmin ARCHIVEID&lt;br /&gt;
&lt;br /&gt;
The date should now be displayed on your repository pages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Branding, the next level]]&lt;/div&gt;</summary>
		<author><name>Fmccown</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=Cgi/&amp;diff=4184</id>
		<title>Cgi/</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=Cgi/&amp;diff=4184"/>
		<updated>2007-03-23T16:29:09Z</updated>

		<summary type="html">&lt;p&gt;Fmccown: google_site description&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{dirs}}&lt;br /&gt;
&lt;br /&gt;
These scripts handle the dynamic parts of the website.&lt;br /&gt;
&lt;br /&gt;
*'''[[EPrints_Directory_Structure/eprints3|eprints3]]/cgi'''&lt;br /&gt;
** '''confirm''' -&lt;br /&gt;
** '''counter''' - Provides some simple machine-readable stats on the repository.&lt;br /&gt;
** '''export''' -&lt;br /&gt;
** '''google_site''' - Searches the repository host with given search terms using Google.&lt;br /&gt;
** '''handle_404''' -&lt;br /&gt;
** '''latest''' -&lt;br /&gt;
** '''latest_tool''' -&lt;br /&gt;
** '''latex2png''' -&lt;br /&gt;
** '''logout''' -&lt;br /&gt;
** '''oai2''' - The OAI interface.&lt;br /&gt;
** '''oai_accesslogs''' -&lt;br /&gt;
** '''openurl''' -&lt;br /&gt;
** '''paracite''' -&lt;br /&gt;
** '''register''' -&lt;br /&gt;
** '''request_doc''' -&lt;br /&gt;
** '''reset_password''' -&lt;br /&gt;
** '''saved_search''' -&lt;br /&gt;
** '''search''' -&lt;br /&gt;
** '''[[EPrints_Directory_Structure/eprints3/cgi/users|users/]]''' - This directory contains scripts which require a valid login.&lt;/div&gt;</summary>
		<author><name>Fmccown</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=Manual&amp;diff=4183</id>
		<title>Manual</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=Manual&amp;diff=4183"/>
		<updated>2007-03-23T15:45:22Z</updated>

		<summary type="html">&lt;p&gt;Fmccown: /* How-to Guides */ Statuses -&amp;gt; Status&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See the [[Main Page]] for other areas of this wiki.&lt;br /&gt;
__NOTOC__&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
* [[Introduction]]&lt;br /&gt;
* How to Get Help/Support&lt;br /&gt;
* [[History]] &lt;br /&gt;
&lt;br /&gt;
= Installing EPrints &amp;amp; Getting Started =&lt;br /&gt;
&lt;br /&gt;
* [[Required software]]&lt;br /&gt;
* [[Installation|Installing EPrints]]&lt;br /&gt;
** [[Recommended Platforms]]&lt;br /&gt;
** [[Installing Eprints 3 on Fedora Core 6]]&lt;br /&gt;
** [[Installing EPrints 3 on RedHat Enterprise 4]]&lt;br /&gt;
** [[Installing EPrints 3 on OS X]]&lt;br /&gt;
** ''[[:Category:Installation|other platforms]]''&lt;br /&gt;
* Upgrading EPrints 3 versions&lt;br /&gt;
* [[Migration|Migrating from EPrints 2.3]]&lt;br /&gt;
* [[Getting Started with EPrints 3|Getting Started]]&lt;br /&gt;
* [[Backups]]&lt;br /&gt;
* [[Troubleshooting]]&lt;br /&gt;
* Advanced Installation&lt;br /&gt;
** [[HTTPS]]&lt;br /&gt;
* [[:Category:Installation|Installing]] EPrints on various platforms.&lt;br /&gt;
&lt;br /&gt;
= How-to Guides =&lt;br /&gt;
&lt;br /&gt;
''[http://en.wikipedia.org/wiki/Howto What is a how-to?]&lt;br /&gt;
&lt;br /&gt;
* Orientation &amp;lt;span style=&amp;quot;color: #f94; font-size: 130%&amp;quot;&amp;gt;(Start here)&amp;lt;/span&amp;gt;&lt;br /&gt;
** [[Configuration orientation|New to EPrints 3?]]  - ''before diving into the how-tos, take some time to read through this brief orientation guide and familiarise yourself with the EPrints configuration landscape...''&lt;br /&gt;
** [[EPrints_3_Configuration_orientation_for_EPrints_2_administrators|Migrated from EPrints 2?]] - ''this orientation guide is intended to help you re-orient yourselves in your new EPrints 3 set up...'' &lt;br /&gt;
* [[Branding with confidence]] - ''one of the most common EPrints customisations is to add your own institution's branding and &amp;quot;look and feel&amp;quot; to the interface...''&lt;br /&gt;
** [[Branding, the next level]] - ''how to completely change the interface to your own design''&lt;br /&gt;
* [[Adding new views]]&lt;br /&gt;
* Workflow&lt;br /&gt;
* Deposit Types&lt;br /&gt;
* Metadata&lt;br /&gt;
* Subjects (fold in with Organisation Hierarchy under &amp;quot;controled vocabularies&amp;quot;)&lt;br /&gt;
* [[EPrints_3_Organisation_Hierarchy|Organisation Hierarchy]] - ''how to put your own organisation's Hierarchy into EPrints 3''&lt;br /&gt;
* Searches&lt;br /&gt;
* [[Autocompletion and Authority Files (Romeo Autocomplete)]] - ''add autocomplete functionality to the Publication Title input field based on an authority file downloaded from EPrints Romeo...''&lt;br /&gt;
* [[Create Export Plugins]] - ''create a Perl Module that will export your data...''&lt;br /&gt;
* [[Login-Only Repository]] - ''require a username and password to access all pages (including search, browse, and the front page)...''&lt;br /&gt;
* [[Change Deposit Status in Bulk]] - ''move a large number of deposits from inbox to archive&lt;br /&gt;
* [[Customisation|more]]&lt;br /&gt;
&lt;br /&gt;
= Misc =&lt;br /&gt;
&lt;br /&gt;
* [[Preservation Support]] in GNU EPrints 3&lt;br /&gt;
* I18n&lt;br /&gt;
* [[How to contribute]]&lt;br /&gt;
** [[Extension Packages]]&lt;br /&gt;
&lt;br /&gt;
= Technical Reference =&lt;br /&gt;
&lt;br /&gt;
* [[EPrints Directory Structure]] - will be linked somewhere better, later.&lt;br /&gt;
&lt;br /&gt;
* [[Metadata]] - configuring metadata fields.&lt;br /&gt;
* [[Archives/ARCHIVEID/cfg/|Repository Configuration]]&lt;br /&gt;
* [[XML Configuration]] Files&lt;br /&gt;
** [[EPScript]] - documentation for the EP3 Scripting language (for use in citations and workflow files).&lt;br /&gt;
** [[EPrints Control Format]] - the structure used to embed EPScript in an XML configuration file.&lt;br /&gt;
** [[Citation Format]]&lt;br /&gt;
** [[Workflow Format]] - the structure of the EP3 workflow files&lt;br /&gt;
** [[Phrase Format]]&lt;br /&gt;
** [[Template Format]]&lt;br /&gt;
** [[XPAGE Format]]&lt;br /&gt;
* [[XML Export Format]]&lt;br /&gt;
* EPrints data structure &lt;br /&gt;
** of the software&lt;br /&gt;
** of the database (relating the dataobjects to each other using eprints fields)&lt;br /&gt;
* [[Data Object]]s and data sets&lt;br /&gt;
** The [[EPrint Object]]&lt;br /&gt;
** The [[User Object]]&lt;br /&gt;
** The [[Document Object]]&lt;br /&gt;
** The [[Subject Object]]&lt;br /&gt;
** The [[Saved Search Object]]&lt;br /&gt;
** The [[History Object]]&lt;br /&gt;
** The [[Access Object]]&lt;br /&gt;
** The [[Request Object]]&lt;br /&gt;
* Plugins&lt;br /&gt;
** Import&lt;br /&gt;
** [[Export Plugins]]&lt;br /&gt;
** Components&lt;br /&gt;
** Screen&lt;br /&gt;
** Convert&lt;br /&gt;
* [[Autocompletion]]&lt;br /&gt;
** [[Understanding IDs in Workflow Forms]]&lt;br /&gt;
* [[API]]&lt;/div&gt;</summary>
		<author><name>Fmccown</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=Change_Deposit_Status_in_Bulk&amp;diff=4181</id>
		<title>Change Deposit Status in Bulk</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=Change_Deposit_Status_in_Bulk&amp;diff=4181"/>
		<updated>2007-03-23T15:42:24Z</updated>

		<summary type="html">&lt;p&gt;Fmccown: Change Deposit Statuses in Bulk moved to Change Deposit Status in Bulk&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;At times it may be useful for you to move a large number of deposits from &amp;quot;User Workarea&amp;quot; to &amp;quot;Live Archive&amp;quot;. While you could do this manually one-by-one, this could be a very time-consuming process.&lt;br /&gt;
&lt;br /&gt;
To change a large number of deposits, execute the following update command in MySql:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 UPDATE eprint SET eprint_status=&amp;quot;archive&amp;quot; WHERE userid=3 AND eprint_status=&amp;quot;inbox&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 UPDATE eprint SET eprint_status=&amp;quot;archive&amp;quot; WHERE eprintid &amp;lt; 101&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
depending on the criteria that identifies the deposits you want to change.&lt;br /&gt;
&lt;br /&gt;
Then you will need to run &amp;lt;tt&amp;gt;generate_abstracts&amp;lt;/tt&amp;gt; in order for the deposited items to have an abstract page:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 /opt/eprints3/bin/generate_abstracts &amp;lt;archive_id&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now your items should be availabe from the repository.&lt;/div&gt;</summary>
		<author><name>Fmccown</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=Change_Deposit_Statuses_in_Bulk&amp;diff=4182</id>
		<title>Change Deposit Statuses in Bulk</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=Change_Deposit_Statuses_in_Bulk&amp;diff=4182"/>
		<updated>2007-03-23T15:42:24Z</updated>

		<summary type="html">&lt;p&gt;Fmccown: Change Deposit Statuses in Bulk moved to Change Deposit Status in Bulk: Better sounding title&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#redirect [[Change Deposit Status in Bulk]]&lt;/div&gt;</summary>
		<author><name>Fmccown</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=Manual&amp;diff=4146</id>
		<title>Manual</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=Manual&amp;diff=4146"/>
		<updated>2007-03-21T20:15:06Z</updated>

		<summary type="html">&lt;p&gt;Fmccown: /* How-to Guides */ Link to Change Deposit Statuses in Bulk&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See the [[Main Page]] for other areas of this wiki.&lt;br /&gt;
__NOTOC__&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
* [[Introduction]]&lt;br /&gt;
* How to Get Help/Support&lt;br /&gt;
* [[History]] &lt;br /&gt;
&lt;br /&gt;
= Installing EPrints &amp;amp; Getting Started =&lt;br /&gt;
&lt;br /&gt;
* Installing Required Software&lt;br /&gt;
* [[Installation|Installing EPrints]]&lt;br /&gt;
** [[Recommended Platforms]]&lt;br /&gt;
** [[Installing Eprints 3 on Fedora Core 6]]&lt;br /&gt;
** [[Installing EPrints 3 on RedHat Enterprise 4]]&lt;br /&gt;
** [[Installing EPrints 3 on OS X]]&lt;br /&gt;
** ''[[:Category:Installation|other platforms]]''&lt;br /&gt;
* Upgrading EPrints 3 versions&lt;br /&gt;
* [[Migration|Migrating from EPrints 2.3]]&lt;br /&gt;
* [[Getting Started with EPrints 3|Getting Started]]&lt;br /&gt;
* [[Backups]]&lt;br /&gt;
* Troubleshooting&lt;br /&gt;
* Advanced Installation&lt;br /&gt;
** [[HTTPS]]&lt;br /&gt;
* [[:Category:Installation|Installing]] EPrints on various platforms.&lt;br /&gt;
&lt;br /&gt;
= How-to Guides =&lt;br /&gt;
&lt;br /&gt;
''[http://en.wikipedia.org/wiki/Howto What is a how-to?]&lt;br /&gt;
&lt;br /&gt;
* Orientation &amp;lt;span style=&amp;quot;color: #f94; font-size: 130%&amp;quot;&amp;gt;(Start here)&amp;lt;/span&amp;gt;&lt;br /&gt;
** [[Configuration orientation|New to EPrints 3?]]  - ''before diving into the how-tos, take some time to read through this brief orientation guide and familiarise yourself with the EPrints configuration landscape...''&lt;br /&gt;
** [[EPrints_3_Configuration_orientation_for_EPrints_2_administrators|Migrated from EPrints 2?]] - ''this orientation guide is intended to help you re-orient yourselves in your new EPrints 3 set up...'' &lt;br /&gt;
* [[Branding with confidence]] - ''one of the most common EPrints customisations is to add your own institution's branding and &amp;quot;look and feel&amp;quot; to the interface...''&lt;br /&gt;
** [[Branding, the next level]] - ''how to completely change the interface to your own design''&lt;br /&gt;
* [[Adding new views]]&lt;br /&gt;
* Deposit Types and Metadata&lt;br /&gt;
* [[EPrints_3_Organisation_Hierarchy|Organisation Hierarchy]]&lt;br /&gt;
* Searches&lt;br /&gt;
* [[Autocompletion and Authority Files (Romeo Autocomplete)]] - ''add autocomplete functionality to the Publication Title input field based on an authority file downloaded from EPrints Romeo...''&lt;br /&gt;
* [[Create Export Plugins]] - ''create a Perl Module that will export your data...''&lt;br /&gt;
* [[Login-Only Repository]] - ''require a username and password to access all pages (including search, browse, and the front page)...''&lt;br /&gt;
* [[Change Deposit Statuses in Bulk]] - ''move a large number of deposits from inbox to archive&lt;br /&gt;
* [[Customisation|more]]&lt;br /&gt;
&lt;br /&gt;
= Misc =&lt;br /&gt;
&lt;br /&gt;
* [[Preservation Support]] in GNU EPrints 3&lt;br /&gt;
* I18n&lt;br /&gt;
* [[How to contribute]]&lt;br /&gt;
** [[Extension Packages]]&lt;br /&gt;
&lt;br /&gt;
= Technical Reference =&lt;br /&gt;
&lt;br /&gt;
* [[EPrints Directory Structure]] - will be linked somewhere better, later.&lt;br /&gt;
&lt;br /&gt;
* [[Metadata]] - configuring metadata fields.&lt;br /&gt;
* [[Archives/ARCHIVEID/cfg/|Repository Configuration]]&lt;br /&gt;
* [[XML Configuration]] Files&lt;br /&gt;
** [[EPScript]] - documentation for the EP3 Scripting language (for use in citations and workflow files).&lt;br /&gt;
** [[EPrints Control Format]] - the structure used to embed EPScript in an XML configuration file.&lt;br /&gt;
** [[Citation Format]]&lt;br /&gt;
** [[Workflow Format]] - the structure of the EP3 workflow files&lt;br /&gt;
** [[Phrase Format]]&lt;br /&gt;
** [[Template Format]]&lt;br /&gt;
** [[XPAGE Format]]&lt;br /&gt;
* [[XML Export Format]]&lt;br /&gt;
* EPrints data structure &lt;br /&gt;
** of the software&lt;br /&gt;
** of the database (relating the dataobjects to each other using eprints fields)&lt;br /&gt;
* [[Data Object]]s and data sets&lt;br /&gt;
** The [[EPrint Object]]&lt;br /&gt;
** The [[User Object]]&lt;br /&gt;
** The [[Document Object]]&lt;br /&gt;
** The [[Subject Object]]&lt;br /&gt;
** The [[Saved Search Object]]&lt;br /&gt;
** The [[History Object]]&lt;br /&gt;
** The [[Access Object]]&lt;br /&gt;
** The [[Request Object]]&lt;br /&gt;
* Plugins&lt;br /&gt;
** Import&lt;br /&gt;
** [[Export Plugins]]&lt;br /&gt;
** Components&lt;br /&gt;
** Screen&lt;br /&gt;
** Convert&lt;br /&gt;
* [[Autocompletion]]&lt;br /&gt;
** [[Understanding IDs in Workflow Forms]]&lt;br /&gt;
* [[API]]&lt;/div&gt;</summary>
		<author><name>Fmccown</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=Change_Deposit_Status_in_Bulk&amp;diff=4145</id>
		<title>Change Deposit Status in Bulk</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=Change_Deposit_Status_in_Bulk&amp;diff=4145"/>
		<updated>2007-03-21T20:13:27Z</updated>

		<summary type="html">&lt;p&gt;Fmccown: Initial article&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;At times it may be useful for you to move a large number of deposits from &amp;quot;User Workarea&amp;quot; to &amp;quot;Live Archive&amp;quot;. While you could do this manually one-by-one, this could be a very time-consuming process.&lt;br /&gt;
&lt;br /&gt;
To change a large number of deposits, execute the following update command in MySql:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 UPDATE eprint SET eprint_status=&amp;quot;archive&amp;quot; WHERE userid=3 AND eprint_status=&amp;quot;inbox&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 UPDATE eprint SET eprint_status=&amp;quot;archive&amp;quot; WHERE eprintid &amp;lt; 101&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
depending on the criteria that identifies the deposits you want to change.&lt;br /&gt;
&lt;br /&gt;
Then you will need to run &amp;lt;tt&amp;gt;generate_abstracts&amp;lt;/tt&amp;gt; in order for the deposited items to have an abstract page:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 /opt/eprints3/bin/generate_abstracts &amp;lt;archive_id&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now your items should be availabe from the repository.&lt;/div&gt;</summary>
		<author><name>Fmccown</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=Bin/&amp;diff=4144</id>
		<title>Bin/</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=Bin/&amp;diff=4144"/>
		<updated>2007-03-21T14:22:59Z</updated>

		<summary type="html">&lt;p&gt;Fmccown: Link to generate_views&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{dirs}}&lt;br /&gt;
&lt;br /&gt;
Command-line tools. These are used either directly from the command line, or set to be run every so often, using cron.&lt;br /&gt;
&lt;br /&gt;
Use the --man option on the command line to get more information about these tools.&lt;br /&gt;
&lt;br /&gt;
eg.&lt;br /&gt;
 # /opt/eprints3/bin/export --man&lt;br /&gt;
&lt;br /&gt;
*[[EPrints_Directory_Structure/eprints3|eprints3]]/bin/&lt;br /&gt;
** '''epadmin''' - Perform admin tasks including creating repositories.&lt;br /&gt;
** '''epindexer''' - UNIX script to start the EPrints indexer when the server reboots. Do not call directly. &lt;br /&gt;
** '''explain_sql_tables''' - Gives a brief summary of the purpose of each SQL table.&lt;br /&gt;
** '''[[EPrints Directory Structure/eprints3/bin/export|export]]''' - Export data from the system using an export plugin.&lt;br /&gt;
** '''generate_abstracts''' - Update all the Metadata-Summary pages. (The page for a single EPrint which links to the documents)&lt;br /&gt;
** '''generate_apacheconf''' - Update the apache configuration files.&lt;br /&gt;
** '''generate_static''' - Update all the static web pages.&lt;br /&gt;
** '''[[generate_views]]''' - Update all the /view/ pages.&lt;br /&gt;
** '''import''' - Import data from a file using an import plugin.&lt;br /&gt;
** '''import_subjects''' - Import the subject tree from a text file or XML file.&lt;br /&gt;
** '''indexer''' - This is a daemon which runs in background and indexes the words in documents, titles, abstracts etc. so that they can be searched.&lt;br /&gt;
** '''lift_embargos''' - This script should be run once a day. It removes security on documents which embargo date has passed.&lt;br /&gt;
** '''list_user_emails''' - This just outputs all the users emails as a text file. Handy for making a mailing list.&lt;br /&gt;
** '''make_latest''' - Makes a file for the specified archive with latest items. (still a bit experimental in 3.0)&lt;br /&gt;
** '''send_alerts''' - This should also be run daily, weekly and monthly with the appropriate options. Sends out saved search emails.&lt;br /&gt;
** '''startup.pl''' - Used by apache to load modules for mod_perl. Does not do anything useful on the command line.&lt;/div&gt;</summary>
		<author><name>Fmccown</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=Getting_Started_with_EPrints_3&amp;diff=4143</id>
		<title>Getting Started with EPrints 3</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=Getting_Started_with_EPrints_3&amp;diff=4143"/>
		<updated>2007-03-21T14:21:54Z</updated>

		<summary type="html">&lt;p&gt;Fmccown: /* Browse Views */  Link to generate_views&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Creating an Archive==&lt;br /&gt;
&lt;br /&gt;
EPrints 3 can run run multiple archives under one install. Multiple archives will require giving additional DNS aliases to the machine running EPrints, EPrints can then create all the parts of the apache configuration file needed to run the virtual hosts.&lt;br /&gt;
&lt;br /&gt;
===Running epadmin===&lt;br /&gt;
Make sure MySQL is actually running.&lt;br /&gt;
&lt;br /&gt;
Change to your eprints user (probably &amp;quot;eprints&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Change directory to the eprints directory (&amp;lt;tt&amp;gt;/opt/eprints3&amp;lt;/tt&amp;gt; by default) and run&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
bin/epadmin create&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will get the following prompts (note that when you see something in [square brackets], it's the default value and can be selected by simply hitting enter)&lt;br /&gt;
&lt;br /&gt;
* Archive ID - the system name for your archive.  It's probably a good idea to think of something short and memorable.  Once entered, an &amp;lt;tt&amp;gt;archive/&amp;lt;archive_id&amp;gt;&amp;lt;/tt&amp;gt; directory will be created, and the standard configuration files will be copied in.&lt;br /&gt;
* Configure vital settings - Hit enter to say 'yes'. This will lead to more prompting about core settings:&lt;br /&gt;
** Hostname - What someone will type into a web browser to get to your archive.  Make sure that your systems team have a DNS alias pointing to your server for this.&lt;br /&gt;
** Webserver Port - Which port to you want to serve the archive on?  The default is 80, so unless you can think of a good reason not to, just hit enter to accept the default.&lt;br /&gt;
** Alias - You can enter any number of aliases that will take users to this archive.  Enter a '#' when you don't want to enter any more.  You could have your archive served on &amp;lt;tt&amp;gt;eprints.myorganisation.org&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;eprints.myorg.org&amp;lt;/tt&amp;gt;.  As with the Hostname, your systems team need to be informed about these aliases too.&lt;br /&gt;
** Administrator Email - Enter the email address of the repository administrator.  This will allow your repository users to send email to the right person.&lt;br /&gt;
** Archive Name - The full name of your archive.  By default, this will be used on many of the pages, and in the title bar of the browser.&lt;br /&gt;
** Write these core settings - If you don't say 'yes', then you entered all that data for nothing.&lt;br /&gt;
* Configure database - EPrints makes extensive use of a MySQL database.  Enter 'yes' to configure this.&lt;br /&gt;
** Database Name - The internal name of your database.  It makes sense to use the Archive ID for this, but you don't have to.  You don't need to create this database, epadmin will do it for you.&lt;br /&gt;
** MySQL Host - The address of the server that the database is running on.  If the database is on the same machine as the EPrints installation, enter 'localhost'.&lt;br /&gt;
** MySQL Port - You probably don't need to enter a value.  If you have problems connecting to the database, talk to your systems team.&lt;br /&gt;
** MySQL Socket - As with MySQL Port, it's unlikely that you need to enter anything.&lt;br /&gt;
** Database User - The username with which to log into the MySQL Database.  You don't need to create this user, epadmin will do it for you.  If you enter a MySQL username that already exists, it will be overwritten by epstats.&lt;br /&gt;
** Database Password - The password for the Database User.&lt;br /&gt;
** Write these database settings - You should write them, or you'll lose them.&lt;br /&gt;
** Create database &amp;lt;Database Name&amp;gt; - Say yes, and epadmin can create the database and populate it with all the right tables.  If you've already created a database and a user for this archive, say no.&lt;br /&gt;
** MySQL Root Password - To create the database and the user, epadmin needs the MySQL Root Password.  This is not saved anywhere.  It is used to log into mysql, create the database and create the user with the right access rights.  The password is then forgotten.&lt;br /&gt;
** Create database tables - say yes to have epadmin create all the database tables.&lt;br /&gt;
* Create an initial user - It's a good idea to create a user account for yourself at this point.&lt;br /&gt;
** Enter a username - The username you will use to log into EPrints in your browser.&lt;br /&gt;
** Select a user type (user|editor|admin) - There are three levels of user in EPrints.  You probably want to be an administrator, so enter 'admin'.&lt;br /&gt;
** Enter Password - A password for this user.  Remember to choose a password that will be hard for someone else to guess.&lt;br /&gt;
** Email - Enter your email address so that administrators can get in contact with you.&lt;br /&gt;
** Do you want to build the static web pages - There are a number of pages in EPrints which change very rarely.  These are the static pages.  The Home page and the About page are examples of static pages.  Stylesheets are also static.  These pages need to be built, so say 'yes'.&lt;br /&gt;
** Do you want to import the LOC subjects - If you will be using the Library Of Congress subject hierarchy, say 'yes'.  Otherwise you will need to create your own subject hierarchy.&lt;br /&gt;
* Do you want to update the apache config files? (you still need to add the 'Include' line) - Your archive has a number of files which it uses to configure the web server.  These should be updated, so say 'yes'.&lt;br /&gt;
* Before exiting, epadmin will display information about configuring the webserver.&lt;br /&gt;
&lt;br /&gt;
Open a browser, and enter the hostname in the address bar.  You should see your new archive, ready to be [[Branding with confidence|branded]].&lt;br /&gt;
&lt;br /&gt;
If you want to add some more users, use the command &amp;lt;tt&amp;gt;epadmin add_user &amp;lt;repository id&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Modifying the Default===&lt;br /&gt;
&lt;br /&gt;
The default document types and metadata in have been optimised for a repository of research output.  It is up to you if this is sufficient.  Adding new document types and modifying the metadata are discussed elsewhere.&lt;br /&gt;
&lt;br /&gt;
==Running a Live Archive==&lt;br /&gt;
===Creating a crontab===&lt;br /&gt;
When you create an archive it will start out as a development system while you learn how to set it up (and your manager keeps changing his mind) but at some point (hopefully) you will declare your archive open for business.&lt;br /&gt;
&lt;br /&gt;
At this point you should schedule certain scripts to run periodically. The best way to do this is to use &amp;quot;cron&amp;quot; which is an integral part of most UNIX systems.&lt;br /&gt;
&lt;br /&gt;
To set up cron, run (as the eprints user):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 % crontab -e&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Exactly what to add to the cron table is described in the following sections - &amp;quot;Browse Views&amp;quot; and &amp;quot;Subscriptions&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
There should be one set of crontab entries per archive.&lt;br /&gt;
&lt;br /&gt;
===Backups===&lt;br /&gt;
You should also have made sure that the system is being properly backed up. This is gone into in more detail [[Backups|elsewhere in the documentation]].&lt;br /&gt;
&lt;br /&gt;
===OAI===&lt;br /&gt;
We would also encourage you to configure the OAI support for your archive and register it.&lt;br /&gt;
&lt;br /&gt;
====Configuring====&lt;br /&gt;
&lt;br /&gt;
The setting for OAI are held in the &amp;lt;tt&amp;gt;oai.pl&amp;lt;/tt&amp;gt; file, in the &amp;lt;tt&amp;gt;eprints3/archives/&amp;lt;archive id&amp;gt;/cfg/cfg.d/&amp;lt;/tt&amp;gt; directory.  This is a perl file, but don't let that daunt you. Some of the settings are set to sensible defaults.  This guide cover the essentials.  Feel free to use your favourite text editor instead of pico.&lt;br /&gt;
&lt;br /&gt;
At the command prompt, backup then open the file:&lt;br /&gt;
 &amp;gt;cd /opt/eprints3/archive/&amp;lt;archive id&amp;gt;/cfg/cfg.d&lt;br /&gt;
 &amp;gt;cp oai.pl oai.backup&lt;br /&gt;
 &amp;gt;pico oai.pl&lt;br /&gt;
&lt;br /&gt;
The following need to be changed:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;The archive ID&amp;lt;/strong&amp;gt;.  This needs to be unique, so check that it doesn't already exist at http://www.openarchives.org/.&lt;br /&gt;
&lt;br /&gt;
Find the following line in oai.pl:&lt;br /&gt;
 $oai-&amp;gt;{v2}-&amp;gt;{archive_id} = &amp;quot;generic.eprints.org&amp;quot;;&lt;br /&gt;
And change generic.eprints.org to something which identifies your repository.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Content Description&amp;lt;/strong&amp;gt;.  What does your repository contain?  Write a description, then find the lines:&lt;br /&gt;
 $oai-&amp;gt;{content}-&amp;gt;{&amp;quot;text&amp;quot;} = latin1( &amp;lt;&amp;lt;END );&lt;br /&gt;
 OAI Site description has not been configured.&lt;br /&gt;
 END&lt;br /&gt;
Do not modify the first or last line in any way.  Simply put your new text in the place of the middle line.  This text can be as many lines as you wish, but it &amp;lt;em&amp;gt;must not&amp;lt;/em&amp;gt; contain the word &amp;quot;END&amp;quot; at the start of a line.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Policies&amp;lt;/strong&amp;gt;&lt;br /&gt;
Next you need to define a number of policies which will define how your repository may be used.  It may be helpful for you to visit http://www.opendoar.org/tools/en/policies.php which has a step-by-step process to create these policies.  It will even output EPrints 3 configuration code. which you can then copy and paste into the oai.pl file.  These policies are:&lt;br /&gt;
&lt;br /&gt;
* Metadata Policy&lt;br /&gt;
* Data Policy&lt;br /&gt;
* Submission Policy&lt;br /&gt;
&lt;br /&gt;
These are updated in exactly the same way as the &amp;lt;strong&amp;gt;Content Description&amp;lt;/strong&amp;gt; section.  Just look for the following lines:&lt;br /&gt;
&lt;br /&gt;
*$oai-&amp;gt;{metadata_policy}-&amp;gt;{&amp;quot;text&amp;quot;} = latin1( &amp;lt;&amp;lt;END );&lt;br /&gt;
*$oai-&amp;gt;{data_policy}-&amp;gt;{&amp;quot;text&amp;quot;} = latin1( &amp;lt;&amp;lt;END );&lt;br /&gt;
*$oai-&amp;gt;{submission_policy}-&amp;gt;{&amp;quot;text&amp;quot;} = latin1( &amp;lt;&amp;lt;END );&lt;br /&gt;
&lt;br /&gt;
====Registering====&lt;br /&gt;
&lt;br /&gt;
Once you register your archive (at http://www.openarchives.org) various search systems will be able to collect the metadata (titles, authors, abstract etc.) and allow more people to find records in your archive.&lt;br /&gt;
&lt;br /&gt;
See http://www.openarchives.org/ for more information on the OAI protocol. For more information setting up the OAI interface archive see the section in this documentation about Configuring an Archive.&lt;br /&gt;
&lt;br /&gt;
==Browse Views==&lt;br /&gt;
Once every so often you should run the &amp;lt;tt&amp;gt;[[generate_views]]&amp;lt;/tt&amp;gt; script on each archive in your system to regenerate the browse views section of the site.&lt;br /&gt;
&lt;br /&gt;
This is a set of static pages. By default one per subject, and one per year (only years with papers in that year not EVERY year ever!). Some users prefer to browse the system than search it. This also gives search engines a way to reach, and index, the abstract pages.&lt;br /&gt;
&lt;br /&gt;
See the &amp;lt;tt&amp;gt;[[views.pl]]&amp;lt;/tt&amp;gt; config notes on how to edit the views it generates.&lt;br /&gt;
&lt;br /&gt;
===But I don't want this feature...===&lt;br /&gt;
If you don't want to use this feature: don't, it's your archive. Remove the link from the template and front page. Don't run the generate_views script.&lt;br /&gt;
&lt;br /&gt;
===Setting it up===&lt;br /&gt;
This is best done by using the UNIX &amp;quot;cron&amp;quot; command (as user &amp;quot;eprints&amp;quot;). Cron will email &amp;quot;eprints&amp;quot; on that machine with the output, so best use the --quiet option so it only bothers you with errors.&lt;br /&gt;
&lt;br /&gt;
How often you want to run this depends on the size of your archive, and how fast the contents changes. This feature is roughly order &amp;quot;n&amp;quot;. Which means if you double the number of items in your archive then you double the time it takes to run (ish).&lt;br /&gt;
&lt;br /&gt;
Once an hour would seem a good starting point. If your archive gets real big, say more than 10000 records, then maybe once a day is more realistic - the one thing that you don't want to happen is for a new generate_views to start before the old one finishes as they will mess up each others output.&lt;br /&gt;
&lt;br /&gt;
Run generate_views on the command line to find out how long it takes.&lt;br /&gt;
&lt;br /&gt;
and add the line&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 23 * * * * /opt/eprints3/bin/generate_views &amp;lt;archiveid&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
This runs at 23 minutes past each hour. If you have more than one archive, don't make them all start rebuilding stuff at the same time, stagger it. Otherwise once an hour everything will slow down as it fights to run several intensive scripts at once.&lt;br /&gt;
&lt;br /&gt;
See the crontab man page for more information on using cron.&lt;br /&gt;
 &amp;gt;man 5 crontab&lt;br /&gt;
&lt;br /&gt;
==Alerts==&lt;br /&gt;
Alerts provide a way in which users of your system can receive regular updates, via email, when new items are added which match a search they specified.&lt;br /&gt;
&lt;br /&gt;
To automate sending out these alerts you must add some entries in the crontab (as for views). You need one set of these per archive.&lt;br /&gt;
&lt;br /&gt;
For example (with dookuprints being the name of the archive):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    # 00:15 every morning&lt;br /&gt;
    15 0 * * * /opt/eprints2/bin/send_alerts dookuprints daily&lt;br /&gt;
    # 00:30 every sunday morning&lt;br /&gt;
    30 0 * * 0 /opt/eprints2/bin/send_alerts dookuprints weekly&lt;br /&gt;
    # 00:45 every first of the month&lt;br /&gt;
    45 0 1 * * /opt/eprints2/bin/send_alerts dookuprints monthly&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Note the spacing out so that all 3 don't start at once and hammer the database. You may wish to change the times, but we recommend early morning as the best time to send them (midnight-6am).&lt;/div&gt;</summary>
		<author><name>Fmccown</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=Generate_views&amp;diff=4142</id>
		<title>Generate views</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=Generate_views&amp;diff=4142"/>
		<updated>2007-03-21T14:20:26Z</updated>

		<summary type="html">&lt;p&gt;Fmccown: Initial article&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{dirs}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;generate_views&amp;lt;/tt&amp;gt; script generates the static pages for an archive.  It can be ran like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 /opt/eprints3/bin/generate_views &amp;lt;archiveid&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;generate_views&amp;lt;/tt&amp;gt; script should be ran on a regular basis to allow users to browse your repository by year or subject. You may find it useful to setup a cron job to automate running this script.  See [[Getting_Started_with_EPrints_3#Browse_views|Browse views]] for more information.&lt;/div&gt;</summary>
		<author><name>Fmccown</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=Generic_Linux_Installation&amp;diff=4141</id>
		<title>Generic Linux Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=Generic_Linux_Installation&amp;diff=4141"/>
		<updated>2007-03-21T14:04:28Z</updated>

		<summary type="html">&lt;p&gt;Fmccown: Link to Running epadmin&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{development}}&lt;br /&gt;
{{manual}}&lt;br /&gt;
==Installation==&lt;br /&gt;
(If you are upgrading an existing installation of eprints please see the section on upgrading elsewhere in this manual.)&lt;br /&gt;
&lt;br /&gt;
EPrints needs to be installed as the same user as the apache webserver runs as. We suggest you install it as user &amp;quot;eprints&amp;quot; and group &amp;quot;eprints&amp;quot;. Under some UNIX platforms, creating a user and group can be done using the &amp;quot;adduser&amp;quot; command. Otherwise refer to your operating system documentation.&lt;br /&gt;
&lt;br /&gt;
Unpack the eprints tar.gz file:&lt;br /&gt;
&lt;br /&gt;
 % gunzip eprints-3.something.tar.gz&lt;br /&gt;
 % tar xf eprints-3.something.tar&lt;br /&gt;
&lt;br /&gt;
Now run the &amp;quot;configure&amp;quot; script. This is a /bin/sh script which will attempt to locate various parts of your system such as the perl binary. It will also check your system for required components.&lt;br /&gt;
&lt;br /&gt;
 % cd eprints-3.something&lt;br /&gt;
 % ./configure&lt;br /&gt;
&lt;br /&gt;
By default the system installs as user and group &amp;quot;eprints&amp;quot;. You will need to change this if you are not installing as either &amp;quot;root&amp;quot; or &amp;quot;eprints&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The configure script accepts a number of options. All are optional. The most important are:&lt;br /&gt;
&lt;br /&gt;
; --help : List all the options (many are intended for compiled software and are ignored).&lt;br /&gt;
; --prefix=PREFIX : Where to install EPrints (or look for a version to upgrade). By default /opt/eprints3/&lt;br /&gt;
; --with-perl=[PATH] : Path of perl interpreter (in case configure can't find it, or you have more than one and want to use a specific one).&lt;br /&gt;
; --with-user=[USER] : Install eprints to run as USER. By default &amp;quot;eprints&amp;quot;.&lt;br /&gt;
; --with-group=[GROUP] : Install eprints to run as GROUP. By default &amp;quot;eprints&amp;quot;.&lt;br /&gt;
; --with-virtualhost=[VIRTUALHOST] : Use VIRTUALHOST rather than * for apache VirtualHost directives.&lt;br /&gt;
; --disable-diskfree : Disable disk free space calls. This will be automatically set if configure fails its tests for the df call.&lt;br /&gt;
; --with-toolpath=[PATH] : An alternate path to search for the required binaries.&lt;br /&gt;
&lt;br /&gt;
Once you are happy with your configuration you may install eprints by running install.pl:&lt;br /&gt;
&lt;br /&gt;
 % ./install.pl&lt;br /&gt;
&lt;br /&gt;
Now you should edit the configuration file for your copy of apache. This is often &amp;lt;tt&amp;gt;/usr/local/apache/conf/http.conf&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;/etc/httpd/conf/httpd.conf&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add this line: (If you didn't install eprints in &amp;lt;tt&amp;gt;/opt/eprints3/&amp;lt;/tt&amp;gt; replace that with the location on your system).&lt;br /&gt;
 Include /opt/eprints3/cfg/apache.conf&lt;br /&gt;
Note that this file is only available after you created your archive via &amp;lt;tt&amp;gt;epadmin create&amp;lt;/tt&amp;gt;. See [[Getting_Started_with_EPrints_3#Running_epadmin|Running epadmin]] for more information on creating an archive.&lt;br /&gt;
&lt;br /&gt;
You may also wish to change the user and group apache runs as. The user ''must'' be the same as the user you installed eprints as. We recommend:&lt;br /&gt;
&lt;br /&gt;
 User eprints&lt;br /&gt;
 Group eprints&lt;/div&gt;</summary>
		<author><name>Fmccown</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=Bin/&amp;diff=4105</id>
		<title>Bin/</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=Bin/&amp;diff=4105"/>
		<updated>2007-03-17T18:06:54Z</updated>

		<summary type="html">&lt;p&gt;Fmccown: Link to export&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{dirs}}&lt;br /&gt;
&lt;br /&gt;
Command-line tools. These are used either directly from the command line, or set to be run every so often, using cron.&lt;br /&gt;
&lt;br /&gt;
Use the --man option on the command line to get more information about these tools.&lt;br /&gt;
&lt;br /&gt;
eg.&lt;br /&gt;
 # /opt/eprints3/bin/export --man&lt;br /&gt;
&lt;br /&gt;
*[[EPrints_Directory_Structure/eprints3|eprints3]]/bin/&lt;br /&gt;
** '''epadmin''' - Perform admin tasks including creating repositories.&lt;br /&gt;
** '''epindexer''' - UNIX script to start the EPrints indexer when the server reboots. Do not call directly. &lt;br /&gt;
** '''explain_sql_tables''' - Gives a brief summary of the purpose of each SQL table.&lt;br /&gt;
** '''[[EPrints Directory Structure/eprints3/bin/export|export]]''' - Export data from the system using an export plugin.&lt;br /&gt;
** '''generate_abstracts''' - Update all the Metadata-Summary pages. (The page for a single EPrint which links to the documents)&lt;br /&gt;
** '''generate_apacheconf''' - Update the apache configuration files.&lt;br /&gt;
** '''generate_static''' - Update all the static web pages.&lt;br /&gt;
** '''generate_views''' - Update all the /view/ pages.&lt;br /&gt;
** '''import''' - Import data from a file using an import plugin.&lt;br /&gt;
** '''import_subjects''' - Import the subject tree from a text file or XML file.&lt;br /&gt;
** '''indexer''' - This is a daemon which runs in background and indexes the words in documents, titles, abstracts etc. so that they can be searched.&lt;br /&gt;
** '''lift_embargos''' - This script should be run once a day. It removes security on documents which embargo date has passed.&lt;br /&gt;
** '''list_user_emails''' - This just outputs all the users emails as a text file. Handy for making a mailing list.&lt;br /&gt;
** '''make_latest''' - Makes a file for the specified archive with latest items. (still a bit experimental in 3.0)&lt;br /&gt;
** '''send_alerts''' - This should also be run daily, weekly and monthly with the appropriate options. Sends out saved search emails.&lt;br /&gt;
** '''startup.pl''' - Used by apache to load modules for mod_perl. Does not do anything useful on the command line.&lt;/div&gt;</summary>
		<author><name>Fmccown</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=Repository_configuration&amp;diff=4066</id>
		<title>Repository configuration</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=Repository_configuration&amp;diff=4066"/>
		<updated>2007-03-02T18:56:27Z</updated>

		<summary type="html">&lt;p&gt;Fmccown: /* XHTML */ Some cleanup&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{development}}&lt;br /&gt;
{{manual}}&lt;br /&gt;
==EPrints Archive Configuration==&lt;br /&gt;
This section describes all the configuration files in an single archive in the EPrints system.&lt;br /&gt;
&lt;br /&gt;
===Primary archive configuration file===&lt;br /&gt;
Once you have created an EPrints archive the information you entered is placed in an XML file in /usr/local/eprint2/archives/ with the name ''archiveid''.xml - this file is documented later in this section.&lt;br /&gt;
&lt;br /&gt;
===Archive configuration directory===&lt;br /&gt;
The bulk of the archive configuration is copied from /opt/eprints2/defaultcfg/ into the archives own configuration directory (usually /opt/eprints2/archives/''archiveid''/cfg/ This directory will usually contain the following files and directories:&lt;br /&gt;
&lt;br /&gt;
; '''apache.conf''' : This file is generated by '''generate_apacheconf'''. See the documentation of '''generate_apacheconf''' for more information.&lt;br /&gt;
; '''apachevhost.conf''' (added v2.2) : This file is generated by '''generate_apacheconf'''. See the documentation of '''generate_apacheconf''' for more information.&lt;br /&gt;
; '''ArchiveConfig.pm''' : The general configuration items which don't fit anywhere else are in this perl module. It is described fully later in this section of documentation. This module &amp;quot;requires&amp;quot; the other 5 perl modules. They are in seperate files to make them easier to get to grips with.&lt;br /&gt;
; '''ArchiveMetadataFieldsConfig.pm''' : This module configures the metadata fields and the default values.&lt;br /&gt;
; '''ArchiveOAIConfig.pm''' : This module configures how the archive exports itself via the Open Archives protocol.&lt;br /&gt;
; '''ArchiveRenderConfig.pm''' : This module contains subroutines which handle rendering the data into XHTML (mostly) for display as webpages.&lt;br /&gt;
; '''ArchiveTextIndexingConfig.pm''' : This module handles turning UTF8 text strings into lists of index words for free text searches.&lt;br /&gt;
; '''ArchiveValidateConfig.pm''' : This module contains subroutines which check the metadata for problems.&lt;br /&gt;
; '''auto-apache.conf''' : This file is generated and overwritten by '''generate_apacheconf'''. Do not edit it directly. See the documentation of '''generate_apacheconf''' for more information.&lt;br /&gt;
; '''citations-''languageid''.xml''' : One of these files for each ''languageid'' supported by this archive. These XML files describe how to turn metadata for an item into a citation (with markup). They are described fully later in this section of documentation.&lt;br /&gt;
; '''entities-''languageid''.dtd''' : One of these files for each ''languageid'' supported by this archive. These DTD files are generated automaticly just before eprints loads the archives configuration and should not be edited directly.&lt;br /&gt;
; '''metadata-types.xml''' : This XML file describes the various types of eprints, users etc. and which metadata fields are required or relevant to each. It is described fully later in this section of documentation.&lt;br /&gt;
; '''phrases-''languageid''.xml''' : One of these files for each ''languageid'' supported by this archive. These XML files contain all the phrases which are specific to this archives such as the titles of metadata fields. They are described fully later in this section of documentation.&lt;br /&gt;
; '''ruler.xml''' : This XML file just contains the horizontal divider used in webpages created by the system. It is described fully later in this section of documentation.&lt;br /&gt;
; '''static/''' : This directory contains the data needed to create the static webpages such as the homepage, and about page. It is described fully later in this section of documentation.&lt;br /&gt;
; '''subjects''' : This file contains the initial subjects for the system. It is described fully in the documentation for '''import_subjects'''.&lt;br /&gt;
; '''template-''languageid''.xml''' : One of these files for each ''languageid'' supported by this archive. These XML/XHTML files describe the outline for webpages for this system. They are described fully later in this section of documentation.&lt;br /&gt;
&lt;br /&gt;
==XML Config Files in EPrints==&lt;br /&gt;
This section contains some general information about the XML archive config files: template, phrases, ruler and citations. metadata-types.xml uses XML but these comments do not apply.&lt;br /&gt;
&lt;br /&gt;
===XHTML===&lt;br /&gt;
These files use HTML elements (and other elements too). XHTML is a fairly new version of HTML which is backwards compatable with HTML 4 but written using XML, not SGML. This means that it is much stricter but less ambiguous and easier to parse and modify. Assuming you know HTML, the main differences are as follows:&lt;br /&gt;
&lt;br /&gt;
; All tags must be closed : All elements must be closed, even ones such as &amp;amp;lt;li&amp;amp;gt;. Tags which do not have a close tag in HTML, like &amp;lt;tt&amp;gt;&amp;amp;lt;br&amp;amp;gt;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;&amp;amp;lt;img src=&amp;quot;foo&amp;quot;&amp;amp;gt;&amp;lt;/tt&amp;gt; still must be closed eg. &amp;lt;tt&amp;gt;&amp;amp;lt;img src=&amp;quot;foo&amp;quot;&amp;amp;gt;&amp;amp;lt;/img&amp;amp;gt;&amp;lt;/tt&amp;gt; - this can be abbreviated as: &amp;lt;tt&amp;gt; &amp;amp;lt;img src=&amp;quot;foo&amp;quot; /&amp;amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
; All tags and attributes must be lower case : Self explanitary.&lt;br /&gt;
; Strict definition of what tags may appear within others : Not actually checked by EPrints. It will let any rubbish past as long as it's valid XML. But that's no reason to be naughty.&lt;br /&gt;
; All attributes must be wrapped in quotes : In HTML the values of attributes do not have to be wrapped in quotes, but in XML (and therefore XHTML) they do.&lt;br /&gt;
; All attributes must have a value : In HTML some attribues do not require a value, for example &amp;lt;tt&amp;gt;&amp;amp;lt;hr noshade&amp;amp;gt;&amp;lt;/tt&amp;gt; In XHTML it is represented as &amp;lt;tt&amp;gt; &amp;amp;lt;hr noshade=&amp;quot;noshade&amp;quot; /&amp;amp;gt; &amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So in summary, the HTML:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;amp;lt;img SRC=someurl&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;hr NOSHADE WIDTH=2&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;P&amp;amp;gt;Foo bar&amp;amp;lt;/P&amp;amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
should become in XHTML:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;amp;lt;img src=&amp;quot;someurl&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;hr noshade=&amp;quot;noshade&amp;quot; width=&amp;quot;2&amp;quot; /&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;p&amp;amp;gt;Foo bar&amp;amp;lt;/p&amp;amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
And that's more or less it. See http://www.w3c.org/ for a complete description.&lt;br /&gt;
&lt;br /&gt;
===Language specific files.===&lt;br /&gt;
phrases, template and citations have one instance per supported language. This allows the system to generate pages and emails in more than one language. Supporting a new language will require translating the all the english in the english config files currently shipped. If you do intend it do this (lots of work!) please get in touch with the eprints admin so that we can avoid duplicated effort.&lt;br /&gt;
&lt;br /&gt;
===Extra Entities===&lt;br /&gt;
The XML files all use a DTD which defines a few extra entities. Entities are items in XML (or HTML) which start with &amp;quot;&amp;amp;&amp;quot; and end with &amp;quot;;&amp;quot; like &amp;amp;amp;amp;. These additional entities come from the entities DTD file created by generate_entities. One DTD is created per language, although currently the only variation is the archive name.&lt;br /&gt;
&lt;br /&gt;
; &amp;amp;archivename; : The name of the archive in the current language.&lt;br /&gt;
; &amp;amp;adminemail; : The administrators email address.&lt;br /&gt;
; &amp;amp;base_url; : The base URL of the system (without a trailing slash)&lt;br /&gt;
; &amp;amp;perl_url; : The base URL of the CGI directory (without a trailing slash)&lt;br /&gt;
; &amp;amp;frontpage; : The URL of the system homepage.&lt;br /&gt;
; &amp;amp;userhome; : The URL of the user homepage.&lt;br /&gt;
; &amp;amp;version; : The current EPrints version.&lt;br /&gt;
; &amp;amp;ruler; : The XHTML of the standard divider.&lt;br /&gt;
; Any XHTML character entity (since EPrints v2.1) : You may now use any XHTML character entity, eg. &amp;lt;tt&amp;gt;&amp;amp;amp;nbsp; &amp;amp;amp;eacute; &amp;amp;amp;euro;&amp;lt;/tt&amp;gt;.&lt;br /&gt;
; User configured entities : You can generate your own entities by modifying the function which generates them in ArchiveConfig.pm&lt;br /&gt;
&lt;br /&gt;
None of these entities are not available in the citations file or the ruler file.&lt;br /&gt;
&lt;br /&gt;
===Name Spaces and XHTML===&lt;br /&gt;
These files contain a mixture of custom tags and XHTML. To keep these distinct the XML files contain a name space definition in the first element. The pratical upshot is that all EPrints own tags have the prefix &amp;quot;ep:&amp;quot;. The namespace information is actually ignored by the current version of the eprints system.&lt;br /&gt;
&lt;br /&gt;
example of mixed tags (and entities):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;amp;lt;ep:phrase ref=&amp;quot;lib/session:contact&amp;quot;&amp;amp;gt;&amp;amp;lt;p&amp;amp;gt;Feel free to contact &lt;br /&gt;
 &amp;amp;lt;a href=&amp;amp;quot;mailto:&amp;amp;adminemail;&amp;amp;quot;&amp;amp;gt;&amp;amp;archivename; administration&amp;amp;lt;/a&amp;amp;gt; &lt;br /&gt;
 with details.&amp;amp;lt;/p&amp;amp;gt;&amp;amp;lt;/ep:phrase&amp;amp;gt;&lt;br /&gt;
 &amp;amp;nbsp;&lt;br /&gt;
 eprints elements: phrase&lt;br /&gt;
 xhtml elements: p, a&lt;br /&gt;
 eprints entities: archiveemail, archivename&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==The Primary Archive Configuration File==&lt;br /&gt;
This XML file appears in the &amp;lt;tt&amp;gt;archives/&amp;lt;/tt&amp;gt; directory, usually &amp;lt;tt&amp;gt;/opt/eprints2/archives/&amp;lt;/tt&amp;gt;, it describes the most very basic details about the archive. It is generated (and modified) by configure_archive and will not normally need to be edited.&lt;br /&gt;
&lt;br /&gt;
EPrints looks in this directory for XML files and attempts to load them all when starting the webserver.&lt;br /&gt;
&lt;br /&gt;
This file should be chmod'd so that it can not be read by random users as it contains the database password.&lt;br /&gt;
&lt;br /&gt;
The top level element is &amp;quot;archive&amp;quot; which has the attribute &amp;quot;id&amp;quot; which is the id of the archive. It should be the same as the filename. If this file is foo.xml then the id should be foo.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt; &amp;lt;archive&amp;gt; &amp;lt;/tt&amp;gt; contains a list of XML tags enclosing some text. eg.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  &amp;lt;host&amp;gt;stoatprints.org&amp;lt;/host&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
The following tags are expected in no special order:&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;host&amp;gt; : The hostname of this archive.&lt;br /&gt;
; &amp;lt;alias redirect=&amp;quot;''yes-or-no''&amp;quot;&amp;gt; : This is optional and may be repeated. It has the attribute &amp;quot;redirect&amp;quot; which may be set to yes or no. This controls what virtual hosts are supported and if they should redirect to the main &amp;lt;host&amp;gt;.&lt;br /&gt;
; &amp;lt;language&amp;gt; : The ISO id of a language supported by this archive. Repeatable. One of these should also be the defaultlanguage. See below.&lt;br /&gt;
; &amp;lt;port&amp;gt; : The port number that the server is running on. Usually 80.&lt;br /&gt;
; &amp;lt;urlpath&amp;gt; : The directory from the root of the server name. Usually &amp;lt;tt&amp;gt;/&amp;lt;/tt&amp;gt;&lt;br /&gt;
; &amp;lt;archiveroot&amp;gt; : The filesystem path of the rest of the archive configuration.&lt;br /&gt;
; &amp;lt;configmodule&amp;gt; : The path to the perl module which does the main configuration (ArchiveConfig.pm)&lt;br /&gt;
; &amp;lt;dbname&amp;gt; : The name of the MySQL database. Usually the same as the archive ID.&lt;br /&gt;
; &amp;lt;dbhost&amp;gt; : The host on which MySQL is running. Usually localhost.&lt;br /&gt;
; &amp;lt;dbport&amp;gt; : An optional MySQL port, if it's not the standard one. Should be empty if we are to use the default.&lt;br /&gt;
; &amp;lt;dbsock&amp;gt; : An optional MySQL socket. Should be empty if we are to use the default.&lt;br /&gt;
; &amp;lt;dbuser&amp;gt; : The username to use when connecting to MySQL, usually &amp;quot;eprints&amp;quot;.&lt;br /&gt;
; &amp;lt;dbpass&amp;gt; : The password to use to connect to MySQL.&lt;br /&gt;
; &amp;lt;defaultlanguage&amp;gt; : One of the supported language. This is the default for this archive.&lt;br /&gt;
; &amp;lt;adminemail&amp;gt; : The email address of the archive administrator. I strongly suggest that this is an alias rather than a personal email address. If all your webpages contain &amp;quot;bob@footle.edu&amp;quot; and bill takes over from bob you would have to regenerate every page with &amp;quot;bill@footle.edu&amp;quot;. Much better to set up an email alias or forward from &amp;quot;archive-support@footle.edu&amp;quot; and point it at bob (for now). Heed these words spoken from grim experience!&lt;br /&gt;
; &amp;lt;archivename language=&amp;quot;''langcode''&amp;quot;&amp;gt; : The name of the archive. This has an attribute &amp;quot;language&amp;quot; the value of which is an iso language id. There should be one of these archivename elements per supported language. eg.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;archivename language=&amp;quot;en&amp;quot;&amp;gt;White Lemur&amp;lt;/archivename&amp;gt;&lt;br /&gt;
    &amp;lt;archivename language=&amp;quot;fr&amp;quot;&amp;gt;La Archive d'Lemur Blanc&amp;lt;/archivename&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
(apologies to the french, human languages aren't my strong suit)&lt;br /&gt;
; &amp;lt;securehost&amp;gt; (since v2.2) : Used for experiemental https support.&lt;br /&gt;
; &amp;lt;securepath&amp;gt; (since v2.2) : Used for experiemental https support.&lt;br /&gt;
&lt;br /&gt;
==ArchiveConfig.pm==&lt;br /&gt;
This module imports the other 5 perl modules. It allows lots of little tweaks to the system, which are all commented in the file.&lt;br /&gt;
&lt;br /&gt;
It includes options to hide various features you may not want and to customise the browse, search and subscription functions.&lt;br /&gt;
&lt;br /&gt;
Also you can customise what each type of user can and can't do, and how they authenticate their passwords.&lt;br /&gt;
&lt;br /&gt;
This configuaration file contains perl methods which are called when a session starts and ends, to log things, to generate the entities for the entities file and security on non public files.&lt;br /&gt;
&lt;br /&gt;
===Browse Views===&lt;br /&gt;
The browse views are generated by the script &amp;quot;generate_views&amp;quot; and what that script does is configured by the &amp;quot;browse_views&amp;quot; item in the config.&lt;br /&gt;
&lt;br /&gt;
It is a reference to a perl array [], each item of which is a hash {}.&lt;br /&gt;
&lt;br /&gt;
The hash has 3 required properties and a number of optional ones.&lt;br /&gt;
&lt;br /&gt;
; id (required) : The ID of this view - the view will be placed in a subdirectory of /views/ of this name. The ID is also used to identify the full name of this view in the phrase file. &amp;lt;tt&amp;gt; id=&amp;gt;&amp;quot;foo&amp;quot; &amp;lt;/tt&amp;gt; would find it's title in the phrase &amp;quot;viewname_eprint_foo&amp;quot;&lt;br /&gt;
; fields (required) : The list of the names of the fields to browse, seperated by a slash &amp;quot;/&amp;quot;. This should normally be a single field unless you want to merge the values of two fields. The id part of a field may be specified by appending &amp;quot;.id&amp;quot; to the fieldname.&lt;br /&gt;
; order (required) : A list of fields to sort by in order of priority, sepearted by slashes &amp;quot;/&amp;quot;. A minus sign prefixing the fieldname &amp;quot;-&amp;quot; indicates reverse sorting on that field.&lt;br /&gt;
; allow_null : Should we make a page for the &amp;quot;unset&amp;quot; condition? A page for items which do not have a year set may be useful. But for other fields this may be meaningless. Set it to 1 for true.&lt;br /&gt;
; include : Generate a file for every value, ending in &amp;quot;.include&amp;quot; which contains the XHTML of the citations of records and the number of records, but without wrapping the site standard template around it.&lt;br /&gt;
; nohtml : Normally the system generates a page like that described for &amp;quot;include&amp;quot; with a .html suffix and the site template. If nohtml is set to 1 then it won't.&lt;br /&gt;
; citation : Normally the citation used is that for the &amp;quot;type&amp;quot; of eprint. If this is set then that citation (from the citations file) will be used for all items. This allows for some clever stuff if you want to make page which can get sucked into another website.&lt;br /&gt;
Normally the system puts a paragraph tag around each citation, but if you use a custom citation this will not happen.&lt;br /&gt;
; nocount : Do not include the count of how many items at the top of the page.&lt;br /&gt;
; nolink : The system generates an &amp;lt;tt&amp;gt;index.html&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;/view/&amp;lt;/tt&amp;gt; with a list of all the browse views available. Setting nolink to 1 will hide this item.&lt;br /&gt;
; noindex : Do not generate an &amp;lt;tt&amp;gt;index.html&amp;lt;/tt&amp;gt; file in &amp;lt;tt&amp;gt;/view/''foo''/&amp;lt;/tt&amp;gt; listing all the values of the view and linking to their respective pages.&lt;br /&gt;
; notimestamp (since v2.2) : Do not add the timestamp at the bottom of the view page.&lt;br /&gt;
; hideempty (since v2.2) : Only applicable to subjects. This option will supress subjects which do not have any records in. This is useful on &amp;quot;young&amp;quot; archives which look very empty if you have a large subject tree and only a few records, and those clustered in 3 or 4 subjects.&lt;br /&gt;
&lt;br /&gt;
The most common view is to browse by subject:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 { id=&amp;gt;&amp;quot;subject&amp;quot;, allow_null=&amp;gt;0, fields=&amp;gt;&amp;quot;subjects&amp;quot;, &lt;br /&gt;
    order=&amp;gt;&amp;quot;title/authors&amp;quot;, hideempty=&amp;gt;1 }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
A more complex view generates a view on author &amp;amp; editor ID's which are not advertised but may be captured by some other software to build staff CV pages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 { id=&amp;gt;&amp;quot;person&amp;quot;, allow_null=&amp;gt;0, fields=&amp;gt;&amp;quot;authors.id/editors.id&amp;quot;, &lt;br /&gt;
    nohtml=&amp;gt;1, nolink=&amp;gt;1, noindex=&amp;gt;1, include=&amp;gt;1, &lt;br /&gt;
    order=&amp;gt;&amp;quot;-year/title&amp;quot; }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
For my example person id &amp;quot;wh&amp;quot; this will generate a webpage called /view/person/wh.include (and one for each other value of authors or editors ID's) which can be captured by an external automated system.&lt;br /&gt;
&lt;br /&gt;
===User Privs===&lt;br /&gt;
The user permission configuration allows you to set what types of user can and can't do. The user home page will only show a user options which they can do.&lt;br /&gt;
&lt;br /&gt;
New types of user, and which data about themselves they can edit is set in metadata-fields.xml.&lt;br /&gt;
&lt;br /&gt;
Permissions are set by &amp;quot;type&amp;quot; of user. By default there are 3 kinds of user: &amp;quot;user&amp;quot;, &amp;quot;editor&amp;quot; and &amp;quot;admin&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Admin can, by default, do everything.&lt;br /&gt;
&lt;br /&gt;
; subscription (since EPrints v2.1) : If included then this kind of user can create subscriptions.&lt;br /&gt;
; set-password : Reset their password via the web registration system.&lt;br /&gt;
; deposit : Submit items into the archive.&lt;br /&gt;
; view-status : View the archive status page.&lt;br /&gt;
; editor : User can edit then approve submitted items into the main archive, or delete them, or return them to sender. Also can remove items from the archive back into the edit buffer for corrections, and move records into the deleted table (delete them).&lt;br /&gt;
; staff-view : User can perform a &amp;quot;staff search&amp;quot; of user or eprint records and view ALL the metadata.&lt;br /&gt;
; edit-subject : User can edit the subject tree via the online interface.&lt;br /&gt;
; edit-user : User can edit other users records.&lt;br /&gt;
; change-email : User can change their email address via the web interface. This is safer than allowing them to edit it directly as it ensures they cannot set it to an address which they recieve (it mails them a confirmation pin number)&lt;br /&gt;
; change-user : This allows the sinister feature which lets you log in as someone else. It still requires a password. This is useful if you want to perform admin tasks as a super user, then log-in as a normal user to deposit items.&lt;br /&gt;
; no_edit_own_record (since v2.2) : This supresses the &amp;quot;edit my user record&amp;quot; option. This may be useful if you disable web-registration and import the user records from some other database.&lt;br /&gt;
&lt;br /&gt;
==ArchiveMetadataFieldsConfig.pm==&lt;br /&gt;
===Fields Configuration===&lt;br /&gt;
Metadata is data about data. The information which we store to describe each record (eprint) in the system. Users also have metadata.&lt;br /&gt;
&lt;br /&gt;
This module is the configuration for the metadata. This is probably the most important part of the system.&lt;br /&gt;
&lt;br /&gt;
See the chapter on metadata for all the configuration options.&lt;br /&gt;
&lt;br /&gt;
===Defaults===&lt;br /&gt;
This section of the file contains subroutines which are called to set default values for Users, Documents and EPrints.&lt;br /&gt;
&lt;br /&gt;
===Automatics===&lt;br /&gt;
These functions let you set automatic fields. This allows you to make fields which are updated automatically each time the item (User/EPrints/Document) is commited to the database.&lt;br /&gt;
&lt;br /&gt;
This allows you to create &amp;quot;compound&amp;quot; fields. Such fields are created by processing the values of other fields rather than being edited directly.&lt;br /&gt;
&lt;br /&gt;
For example, if you wanted to make an automatic int field which contains the ''number'' of authors, you could add the following to set_eprint_automatic_fields:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 # no authors at all will be undef, not [] so check first&lt;br /&gt;
 if( $eprint-&amp;gt;is_set( &amp;quot;authors&amp;quot; ) )&lt;br /&gt;
 {&lt;br /&gt;
        my $auths = $eprint-&amp;gt;get_value( &amp;quot;authors&amp;quot; );&lt;br /&gt;
        $eprint-&amp;gt;set_value( &amp;quot;authcount&amp;quot; , scalar @{$auths} );&lt;br /&gt;
 }&lt;br /&gt;
 else&lt;br /&gt;
 {&lt;br /&gt;
        $eprint-&amp;gt;set_value( &amp;quot;authcount&amp;quot; , 0 );&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
==ArchiveOAIConfig.pm==&lt;br /&gt;
This module configures how the archive exports its data via the OAI protocol.&lt;br /&gt;
&lt;br /&gt;
For more inforamtion on the how and why of OAI see http://www.openarchives.org/&lt;br /&gt;
&lt;br /&gt;
OAI allows a harvestor to request the metadata from your archive and other archives to provide a federated search. The next time the harvestor harvests your archive it only has to ask for items which have changed or been added since last time it asked.&lt;br /&gt;
&lt;br /&gt;
The current version of EPrints supports OAI v2.0. OAI version one is no longer supported.&lt;br /&gt;
&lt;br /&gt;
The base URL for your OAI v2.0 interface will be http://archivepath/perl/oai2&lt;br /&gt;
&lt;br /&gt;
If you want to use the OAI system then you need to fill in the blanks, such as policy and the OAI-id of the archive.&lt;br /&gt;
&lt;br /&gt;
You may create OAI sets in a similar manner to &amp;quot;browse views&amp;quot; in ArchiveConfig.pm.&lt;br /&gt;
&lt;br /&gt;
If you want to change the way that an EPrint is mapped into Dublin Core then edit the make_metadata_oai_dc - which returns a DOM XML object.&lt;br /&gt;
&lt;br /&gt;
To add a new metadata type you need to add a new mapping function and add entries to the namespaces, schemas and functions items near the top of the file.&lt;br /&gt;
&lt;br /&gt;
==ArchiveRenderConfig.pm==&lt;br /&gt;
This module contains fuctions which turn data into XHTML for displaying on the web.&lt;br /&gt;
&lt;br /&gt;
If you want to change the way a user info page, or an eprint &amp;quot;abstract&amp;quot; page is rendered then here's the place to do it.&lt;br /&gt;
&lt;br /&gt;
There are also &amp;quot;full&amp;quot; versions of these functions which display all the internal variables and things. These are the views which the editors and admin see.&lt;br /&gt;
&lt;br /&gt;
The XHTML is generated using DOM (Document Object Model), but eprints provides some functions for easily generating XHTML DOM. The only method of DOM you should need to use is appendChild - which adds an element to this element.&lt;br /&gt;
&lt;br /&gt;
===EPrints API functions which return XHTML objects.===&lt;br /&gt;
Note, all text strings should be in UTF-8.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 my $page = $session-&amp;gt;make_doc_fragment(); &lt;br /&gt;
 my $h1 = $session-&amp;gt;make_element( &amp;quot;h1&amp;quot; );&lt;br /&gt;
 $h1-&amp;gt;appendChild( $session-&amp;gt;make_text( &amp;quot;Title&amp;quot; ) );&lt;br /&gt;
 $page-&amp;gt;appendChild( $h1 );&lt;br /&gt;
 $page-&amp;gt;appendChild( &lt;br /&gt;
    $session-&amp;gt;make_element( &lt;br /&gt;
       &amp;quot;img&amp;quot;,&lt;br /&gt;
        src=&amp;gt;&amp;quot;/images/cheese.gif&amp;quot;,&lt;br /&gt;
        width=&amp;gt;128,&lt;br /&gt;
        height=&amp;gt;53 ) );&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
$page now contains:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;h1&amp;gt;Title&amp;lt;/h1&amp;gt;&amp;lt;img src=&amp;quot;/images/cheese.gif&amp;quot; width=&amp;quot;128&amp;quot; height=&amp;quot;53&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Many of the EPrints modules are fully documented. For an example try running:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 % perldoc /opt/eprints2/perl_lib/EPrints/Archive.pm&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
The functions most useful to extacting and rendering information are documented here:&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;tt&amp;gt; $session-&amp;gt;make_text( $text ) &amp;lt;/tt&amp;gt; : Returns a DOM object representing that text.&lt;br /&gt;
; &amp;lt;tt&amp;gt; $session-&amp;gt;make_doc_fragment() &amp;lt;/tt&amp;gt; : Returns a document fragment. This renders to nothing but is a container to which you can add stuff.&lt;br /&gt;
; &amp;lt;tt&amp;gt; $session-&amp;gt;make_element( $name, %opts ) &amp;lt;/tt&amp;gt; : Makes a simple XHTML element. %opts is an optional series of attributes.&lt;br /&gt;
To make &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;h1 class=&amp;quot;foo&amp;quot;&amp;gt;...&amp;lt;/h1&amp;gt; &amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; you would call:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $session-&amp;gt;make_element( &amp;quot;h1&amp;quot;, class=&amp;gt;&amp;quot;foo&amp;quot; );&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
; &amp;lt;tt&amp;gt; $session-&amp;gt;render_ruler(); &amp;lt;/tt&amp;gt; : Returns the default ruler for the archive (from ruler.xml).&lt;br /&gt;
; &amp;lt;tt&amp;gt; $session-&amp;gt;render_link( $uri, $target ) &amp;lt;/tt&amp;gt; : Returns the XHTML element (with URI properly escaped):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
  &amp;lt;a href=&amp;quot;uri&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which you can appendChild stuff into. If $target is specified then a target attribute is included - to make it pop up a new window.&lt;br /&gt;
; &amp;lt;tt&amp;gt; $item-&amp;gt;render_value( $fieldname, $showall ) &amp;lt;/tt&amp;gt; : $item is either an EPrint, a User or a Document.&lt;br /&gt;
$fieldname is the name of the field you want to render. If $showall is 1 then ALL values are rendered in a multilang field.&lt;br /&gt;
; &amp;lt;tt&amp;gt; $item-&amp;gt;render_citation( $style ) &amp;lt;/tt&amp;gt; : Renders the citation of the item using the citation for the item's type from the citation file.&lt;br /&gt;
If $style is set then it uses the citation with that id instead.&lt;br /&gt;
; &amp;lt;tt&amp;gt; $item-&amp;gt;render_citation_link( $style ) &amp;lt;/tt&amp;gt; : This renders a citation as above, but links it to the url of the item.&lt;br /&gt;
; &amp;lt;tt&amp;gt; $item-&amp;gt;render_description() &amp;lt;/tt&amp;gt; : This renders a simple description of the item using the default citation for this dataset eg. for eprint it uses citation type &amp;quot;eprint&amp;quot;.&lt;br /&gt;
; &amp;lt;tt&amp;gt; $session-&amp;gt;html_phrase( $phraseid, %opts ) &amp;lt;/tt&amp;gt; : Returns the item from the phrase file. If you don't care about supporting multiple languages then just use make_text instead, it's easier.&lt;br /&gt;
It looks first in the archive field from the current language.&lt;br /&gt;
Then in the archive phrase file for english.&lt;br /&gt;
Then is the system phrase file for the current language.&lt;br /&gt;
Then is the system phrase file for the english.&lt;br /&gt;
The %opts are a series of DOM elements to place in the &amp;quot;pin&amp;quot; items in the phrase file.&lt;br /&gt;
&lt;br /&gt;
===Some other useful functions you may need===&lt;br /&gt;
; &amp;lt;tt&amp;gt; $item-&amp;gt;get_value( $fieldname, $no_id ) &amp;lt;/tt&amp;gt; : Returns the value of field $fieldname from the item. An optional second parameter may be set to 1 to return the value without the &amp;quot;id&amp;quot; part, to keep things simple.&lt;br /&gt;
; &amp;lt;tt&amp;gt; $item-&amp;gt;is_set( $fieldname ) &amp;lt;/tt&amp;gt; : Returns true if the field is set on this object, false otherwise.&lt;br /&gt;
; &amp;lt;tt&amp;gt; $eprint-&amp;gt;get_all_documents() &amp;lt;/tt&amp;gt; : Return an array of the document objects belonging to this eprint.&lt;br /&gt;
&lt;br /&gt;
==ArchiveTextIndexingConfig.pm==&lt;br /&gt;
This module you probably won't need to change unless you want to modify how eprints does searches for words in strings.&lt;br /&gt;
&lt;br /&gt;
When a record is added to the system eprints uses this module to turn a string into a list of values which are indexed. By default these are words with 3 letters or more except some predefined stop words. It also turns latin characters with acutes into the their plain ascii (no acute/grave) versions.&lt;br /&gt;
&lt;br /&gt;
It then does the same with the search string and looks for these keys.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 The rain in spain falls mainly on the plains.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Is turned (by default) into the keys:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 rain spain fall mainly plain&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Thus searching for &amp;quot;rain&amp;quot; or &amp;quot;plain&amp;quot; or &amp;quot;plains&amp;quot; or &amp;quot;MaiNlY&amp;quot; will all match this string.&lt;br /&gt;
&lt;br /&gt;
You may wish to add your own &amp;quot;stop words&amp;quot;. eg. If you are running an archive about badgers, a search for the word &amp;quot;badger&amp;quot; will return almost all the records.&lt;br /&gt;
&lt;br /&gt;
At a more complex level you may wish to add handling for non-european character sets (I have no idea how well the default setting will work on these), or do &amp;quot;stemming&amp;quot; - removing &amp;quot;ed&amp;quot;, &amp;quot;ing&amp;quot;, &amp;quot;ies&amp;quot;, &amp;quot;s&amp;quot; etc. from the end of words so that &amp;quot;land&amp;quot; will match &amp;quot;land&amp;quot;, &amp;quot;landed&amp;quot;, &amp;quot;landing&amp;quot; and &amp;quot;lands&amp;quot;. (It current removes 's').&lt;br /&gt;
&lt;br /&gt;
Another suggestion is using ''soundex'' or similar techniques to match words which sound similar.&lt;br /&gt;
&lt;br /&gt;
Changing the indexing on a live system will require you to regenerate the indexes using the reindex script. (If you don't then some of the search results will be wrong).&lt;br /&gt;
&lt;br /&gt;
==ArchiveValidateConfig.pm==&lt;br /&gt;
This module handles validating data entered by users. Each subroutine is described in more detail in the module itself.&lt;br /&gt;
&lt;br /&gt;
Each subroutine returns a list of DOM elements, each of which describing a single problem. Any problems will prevent the user from continuing with editing until they correct the problems.&lt;br /&gt;
&lt;br /&gt;
As with the rendering functions, if you don't care about making this work in more than one language then you can just make the DOM items by calling $session-&amp;gt;make_text( &amp;quot;problem explanation&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
The eprint &amp;amp; document validation routines have a flag '''$for_archive''' which, if true, indicates that the item is being checked before going into the actual archive. You can use this to force an editor to enter fields which the user may leave blank.&lt;br /&gt;
&lt;br /&gt;
===Validation Functions===&lt;br /&gt;
; '''validate_field''' : Called for all fields. Use it to check individual field values. By default checks that url's look OK.&lt;br /&gt;
; '''validate_eprint_meta''' : Check the metadata of an eprint. Use this to test dependencies between fields. eg. if you have a requirement that field &amp;quot;A&amp;quot; OR field &amp;quot;B&amp;quot; must be set.&lt;br /&gt;
; '''validate_eprint''' : Validate the whole eprint. The last part of the validation of an eprint.&lt;br /&gt;
; '''validate_document_meta''' : Validate the metadata of the document (as with eprint_meta)&lt;br /&gt;
; '''validate_document''' : Validate the whole document, files and metadata.&lt;br /&gt;
; '''validate_user''' : Validate a user record.&lt;br /&gt;
&lt;br /&gt;
==citations-''languageid''.xml==&lt;br /&gt;
The ciations file describes how to render an item (eprint/user/whatever) into a short piece of XHTML. Each citation has a &amp;quot;type&amp;quot;. There are 3 kinds of citation:&lt;br /&gt;
&lt;br /&gt;
; default citation : This is a very short description of the item. Usually &amp;quot;the title or failing that, the id&amp;quot;. The type id is just the name of the dataset. eg. &amp;quot;eprint&amp;quot;&lt;br /&gt;
; type citation : These are richer descriptions which vary between type of eprint, user or document. The type id is dataset_type eg. eprint_preprint.&lt;br /&gt;
; other citation : Used by custom browse views. Any name you like.&lt;br /&gt;
&lt;br /&gt;
The citation file contains a list of citation elements:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;ep:citation type=&amp;quot;...&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Each one may contain text and tags. The text may also include the names of fields in the record being rendered. These names should be between @ symbols. eg. @authors@ or @title@. These will be replaced with a rendered version of the value in that field. (if you need an actual @ symbol for some reason two @@ with nothing inside will be rendered as a single @).&lt;br /&gt;
&lt;br /&gt;
Note. The @title@ style was introduced in EPrints 2.2. Before that this file used XML entities such as &amp;amp;title; but this caused problems and didn't solve any. Use of entities is still supported, but deprecated.&lt;br /&gt;
&lt;br /&gt;
In addition you may use XHTML elements and the following elements in the eprints namespace. These elements are always removed but they control if their contents is kept or not. Conditional elements may be placed inside each other since v2.2.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;tt&amp;gt; &amp;lt;ep:linkhere&amp;gt; &amp;lt;/tt&amp;gt; : This element is replaced with an XHTML anchor linking to the item. If this citation is being rendered without a link then it is just removed (but not the contents).&lt;br /&gt;
; &amp;lt;ep:iflink&amp;gt; : The contents of this element are only preserved if we are rendering this citation as a link. Maybe an icon which you don't want if it's not a link.&lt;br /&gt;
; &amp;lt;ep:ifnotlink&amp;gt; : The opposite of iflink.&lt;br /&gt;
; &amp;lt;ep:ifset ref=&amp;quot;fieldname&amp;quot;&amp;gt; : The contents of this element are only preserved if the field &amp;quot;fieldname&amp;quot; has a value.&lt;br /&gt;
; &amp;lt;ep:ifnotset ref=&amp;quot;fieldname&amp;quot;&amp;gt; : The contents of this element are only preserved if the field &amp;quot;fieldname&amp;quot; does not have a value.&lt;br /&gt;
; &amp;lt;ep:ifmatch name=&amp;quot;fieldname(s)&amp;quot; value=&amp;quot;searchparam&amp;quot;&amp;gt; : This is the swiss army knife of the world of conditional rendering. It is also a bit complicated, and few people will need to use it. This actually works like a single search element. The attributes are:&lt;br /&gt;
;; name : This is the name of one or more fields, specified as in the search fields configuration. eg. &amp;quot;title/abstract&amp;quot;&lt;br /&gt;
;; value : This is a value to search for. Treated like the value entered in a search field.&lt;br /&gt;
;; merge (optional) : Can be ANY or ALL. Works like the match all? in a search form.&lt;br /&gt;
;; match (optional) : Can be IN, EQ, or EX. In, Equal or Exact. Exact on subjects means that subject, but not any below it in the heirarchy.&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
 @year@&amp;lt;ep:ifmatch name=&amp;quot;year&amp;quot; value=&amp;quot;-1949&amp;quot;&amp;gt; &lt;br /&gt;
 (approx)&amp;lt;/ep:ifmatch&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will render (approx) after years before 1950. Neat eh?&lt;br /&gt;
; &amp;lt;ep:ifnotmatch name=&amp;quot;fieldname(s)&amp;quot; value=&amp;quot;searchparam&amp;quot;&amp;gt; : Like ifmatch but only includes the values inside if the search does not match.&lt;br /&gt;
&lt;br /&gt;
==metadata-types.xml==&lt;br /&gt;
This file allows you to configure the types of eprint, user, document and document security level.&lt;br /&gt;
&lt;br /&gt;
When you add a new type you should add it's name to the archive phrases file(s). The phraseid is &amp;quot;dataset_typename_typename&amp;quot; eg. &amp;quot;document_typename_pdf&amp;quot;, and you should add a new citation to the citations file. Any fields which are not required but appear in the citation should probably be inside a &amp;lt;ep:ifset&amp;gt; so that you don't get see &amp;quot;UNSPECIFIED&amp;quot; if they are not, er, specified.&lt;br /&gt;
&lt;br /&gt;
The main element is &amp;quot;metadatatypes&amp;quot;. This contains a list of &amp;quot;dataset&amp;quot; elements each of which has a name attribute.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;type&amp;quot; elements in user and eprint &amp;quot;dataset&amp;quot;s should contain a list of &amp;quot;field&amp;quot; elements. This describes the fields which may be edited for this type and the order that they appear on the form.&lt;br /&gt;
&lt;br /&gt;
You may include system fields in this list, but be careful if you do.&lt;br /&gt;
&lt;br /&gt;
===Multi-page metadata (2.3.0+)===&lt;br /&gt;
You may optionally add &amp;lt;page name=&amp;quot;pagename&amp;quot; /&amp;gt; elements to the field list. These break the submission process into smaller stages. The pagename is used to identify the sub-page, for purposes of validation etc. Pages only have an effect on eprint types, not user, document etc.&lt;br /&gt;
&lt;br /&gt;
See the section on paged metadata.XX&lt;br /&gt;
&lt;br /&gt;
===Attributes for &amp;quot;field&amp;quot; element===&lt;br /&gt;
; name (May not be ommited) : The name of the metadata field.&lt;br /&gt;
; required : If set to &amp;quot;yes&amp;quot; then this field may not be left blank. Some system fields are always required no matter how this is set.&lt;br /&gt;
; staffonly : This field only appears on the &amp;quot;editor&amp;quot; edit eprint form, not the user one. Or, in the case of the user dataset, the staff edit-user page.&lt;br /&gt;
&lt;br /&gt;
===The &amp;quot;security&amp;quot; dataset===&lt;br /&gt;
This is a handy place to define the security levels. The type with no name is special. It is the &amp;quot;public&amp;quot; security type. All other types will require a valid username and password. If that username is acceptable for a given document is decided by the can_user_view_document subroutine in ArchiveConfig.pm&lt;br /&gt;
&lt;br /&gt;
===The &amp;quot;document&amp;quot; dataset===&lt;br /&gt;
By default eprints requires at least one of ps, pdf, ascii or html to be uploaded before an eprint is valid. You may change this list in ArchiveConfig.pm - any more complicated conditions will have to be checked in the eprint validation subroutine.&lt;br /&gt;
&lt;br /&gt;
==phrases-''languageid''.xml==&lt;br /&gt;
This file contains a list of XML &amp;quot;phrasees&amp;quot;. Everything eprints &amp;quot;says&amp;quot; to users is stored in this file and its system-level counterpart. If you want the site to run in more than one language, you need one phrase file per language.&lt;br /&gt;
&lt;br /&gt;
The phrase file is XML and contains a toplevel &amp;quot;phrases&amp;quot; element. This contains the list of phrases.&lt;br /&gt;
&lt;br /&gt;
Each phrase has a &amp;quot;ref&amp;quot; attribute to identify it and contains text and optionally some XHTML tags. It may also contain eprints entities such as &amp;amp;archivename; and also some phrases should contain &amp;quot;pin&amp;quot; elements, described below.&lt;br /&gt;
&lt;br /&gt;
The phrases in the archive phrase file are specific to that archive, the system phrase file contains non-archive specific phrases. The id's of most of the phrases in the archive phrases are generated from the id's of the fields, datasets, types etc.&lt;br /&gt;
&lt;br /&gt;
The archive phrase file contains: names of dataset types, names of metadata fields, help on entering each Ametadata field, the names of options in &amp;quot;set&amp;quot; fields, the description of different search ordering options, names of browse views, phrases used in the render and validation routines, mail which eprints sends out and phrases which override those in the system file.&lt;br /&gt;
&lt;br /&gt;
===pins===&lt;br /&gt;
Some phrases need some &amp;quot;pin&amp;quot; elements to show eprints where to insert values. Usually pins don't contain any elements but occasionally they do when they represent what to place a link around.&lt;br /&gt;
&lt;br /&gt;
===Overriding System Phrases===&lt;br /&gt;
If you don't like some of the phrases in the main system phrases file you can override them by creating a phrase with the same &amp;quot;ref&amp;quot; in the archive file.&lt;br /&gt;
&lt;br /&gt;
Don't edit the system file, if you upgrade eprints to a newer version it will get over-written.&lt;br /&gt;
&lt;br /&gt;
===Emails===&lt;br /&gt;
EPrints sends out emails when a user registers/changes their password, when a user changes their email, when a deposited item is rejected/deleted by an editor and when the system is low on resources. These mails can be customised in the phrase file.&lt;br /&gt;
&lt;br /&gt;
Make sure you wrap your text in paragraph &amp;lt;p&amp;gt; tags. EPrints will automatically word wrap these in the email. &amp;lt;hr /&amp;gt; elements in a mail are turned into a line of dashes.&lt;br /&gt;
&lt;br /&gt;
When eprints sends a mail it will send it as plain ASCII text, unless it contains latin-1 elements, in which case it will be latin-1 encoded. If it contains unicode characters not in the latin-1 charset then it will be utf-8 encoded.&lt;br /&gt;
&lt;br /&gt;
==ruler.xml==&lt;br /&gt;
This file configures the horizontal divider which eprints uses, which is inserted in place of &amp;amp;ruler;&lt;br /&gt;
&lt;br /&gt;
If you have no great dislike of &amp;amp;lt;hr /&amp;amp;gt; horizontal rulers then you can leave it alone.&lt;br /&gt;
&lt;br /&gt;
You can't use entities like &amp;amp;frontpage; in ruler.&lt;br /&gt;
&lt;br /&gt;
==The static/ directory==&lt;br /&gt;
This directory contains the static pages for the site - the frontpage, the help pages, images, the stylesheet etc.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;static/&amp;lt;/tt&amp;gt; contains one directory per language, eg. &amp;lt;tt&amp;gt;en&amp;lt;/tt&amp;gt;. Plus a &amp;lt;tt&amp;gt;general&amp;lt;/tt&amp;gt; directory which contains files which don't need translating like images and the stylesheet.&lt;br /&gt;
&lt;br /&gt;
When you run the &amp;lt;tt&amp;gt;generate_static&amp;lt;/tt&amp;gt; command it copies the files for each language, and the gerneral dir, into the static site for that language.&lt;br /&gt;
&lt;br /&gt;
See the &amp;lt;tt&amp;gt;generate_static&amp;lt;/tt&amp;gt; documentation for more details.&lt;br /&gt;
&lt;br /&gt;
==subjects==&lt;br /&gt;
This file is not used by the core eprints system. It is used by import_subjects to set up the initial subjects. For more information see the instructions for import_subjects.&lt;br /&gt;
&lt;br /&gt;
==template-''languageid''.xml==&lt;br /&gt;
This file is the shell of every page in the system. It is more or less a normal XHTML page but you can use the eprints &amp;amp;foo; entities in it and it should contain &amp;quot;pin&amp;quot; elements like a phrase. The pins it should contain are:&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;tt&amp;gt; &amp;lt;nowiki&amp;gt;&amp;lt;ep:pin ref=&amp;quot;title&amp;quot; /&amp;gt;&amp;lt;/nowiki&amp;gt; &amp;lt;/tt&amp;gt; : This is where to put the title of the page. It can be used more than once - in the title in the page header and somewhere in the body. If placing it in the title in the head of the page you must use the additional attribute textonly=&amp;quot;yes&amp;quot; which only works here. It removes images from the title (which can happen if using the &amp;quot;Latex&amp;quot; mode).&lt;br /&gt;
; &amp;lt;tt&amp;gt; &amp;lt;nowiki&amp;gt;&amp;lt;ep:pin ref=&amp;quot;head&amp;quot; /&amp;gt;&amp;lt;/nowiki&amp;gt; &amp;lt;/tt&amp;gt; : This goes somewhere in the head of the page. It shows eprints where to insert the &amp;quot;meta&amp;quot; and &amp;quot;link&amp;quot; elements.&lt;br /&gt;
; &amp;lt;tt&amp;gt; &amp;lt;nowiki&amp;gt;&amp;lt;ep:pin ref=&amp;quot;pagetop&amp;quot; /&amp;gt;&amp;lt;/nowiki&amp;gt; &amp;lt;/tt&amp;gt; : This goes at the top of the body. It is sometimes used as a &amp;quot;target&amp;quot;.&lt;br /&gt;
; &amp;lt;tt&amp;gt; &amp;lt;nowiki&amp;gt;&amp;lt;ep:pin ref=&amp;quot;page&amp;quot; /&amp;gt;&amp;lt;/nowiki&amp;gt; &amp;lt;/tt&amp;gt; : Where to place the bulk of the content of the page.&lt;/div&gt;</summary>
		<author><name>Fmccown</name></author>
		
	</entry>
</feed>