<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://wiki.ext-9.eprints-hosting.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Alex-ball</id>
	<title>EPrints Documentation - User contributions [en-gb]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.ext-9.eprints-hosting.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Alex-ball"/>
	<link rel="alternate" type="text/html" href="https://wiki.ext-9.eprints-hosting.org/w/Special:Contributions/Alex-ball"/>
	<updated>2026-05-09T05:27:24Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://wiki.ext-9.eprints-hosting.org/w/index.php?title=Installing_EPrints_on_Debian/Ubuntu&amp;diff=16727</id>
		<title>Installing EPrints on Debian/Ubuntu</title>
		<link rel="alternate" type="text/html" href="https://wiki.ext-9.eprints-hosting.org/w/index.php?title=Installing_EPrints_on_Debian/Ubuntu&amp;diff=16727"/>
		<updated>2025-02-24T14:20:26Z</updated>

		<summary type="html">&lt;p&gt;Alex-ball: Remove duplicate listing of libdbd-mysql-perl&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Debian and Ubuntu]]&lt;br /&gt;
[[Category:Installation]]&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
* Ubuntu 20.04 LTS, 22.04 LTS and Ubuntu 24.04 LTS (non-LTS versions not recommended)&lt;br /&gt;
* Debian 10 (Buster), Debian 11 (Bullseye) or Debian 12 (Bookworm) - These are not as comprehensively tested as Ubuntu LTS versions.&lt;br /&gt;
&lt;br /&gt;
== Installing EPrints from Source ==&lt;br /&gt;
&lt;br /&gt;
=== Dependencies and Pre-configuration ===&lt;br /&gt;
&#039;&#039;&#039;The ideal way to install from source is via git using the Core Git repositories [https://github.com/eprints/eprints3.4 EPrints 3.4] or [https://github.com/eprints/eprints EPrints 3.3], and installing from a source tarball is generally discouraged.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Installing from source via git is now the recommended  way to install EPrints for production repositories, after having proved to be a useful installation method to those seeking to develop the EPrints code, develop a plugin or develop a Bazaar package too.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
First, as the root user install all the dependencies for EPrints (&#039;&#039;&#039;N.B.&#039;&#039;&#039; Some dependencies may not be able in certain versions of Debian/Ubuntu.  See [[#Operating System Version Specific Requirements|Operating System Version Specific Requirements]] towards the end of this page.):&lt;br /&gt;
&lt;br /&gt;
 apt-get install perl libncurses5 libselinux1 apache2 libapache2-mod-perl2 libxml-libxml-perl \&lt;br /&gt;
   libunicode-string-perl libterm-readkey-perl libmime-lite-perl libmime-types-perl libdigest-sha-perl \&lt;br /&gt;
   libdbd-mysql-perl libxml-parser-perl libxml2-dev libxml-twig-perl libarchive-any-perl libjson-perl \&lt;br /&gt;
   liblwp-protocol-https-perl libtext-unidecode-perl lynx wget ghostscript poppler-utils antiword elinks \&lt;br /&gt;
   texlive-base texlive-binaries psutils imagemagick adduser tar gzip unzip libsearch-xapian-perl \&lt;br /&gt;
   libtex-encode-perl libio-string-perl python3-html2text make libexpat1-dev libxslt1-dev&lt;br /&gt;
&lt;br /&gt;
If you are installing on Ubuntu, install MySQL server and client:&lt;br /&gt;
&lt;br /&gt;
  apt-get install mysql-server mysql-client libmysqlclient-dev&lt;br /&gt;
&lt;br /&gt;
If you are installing on Debian, install MariaDB server and client:&lt;br /&gt;
&lt;br /&gt;
  apt-get install mariadb-server mariadb-client libmariadb-dev&lt;br /&gt;
&lt;br /&gt;
Next, create the eprints user&lt;br /&gt;
&lt;br /&gt;
 adduser eprints&lt;br /&gt;
&lt;br /&gt;
Now, update Apache configuration to set it up to use the eprints user and group, by ensuring the following lines are set thus in &amp;lt;code&amp;gt;/etc/apache2/envvars&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 export APACHE_RUN_USER=eprints&lt;br /&gt;
 export APACHE_RUN_GROUP=eprints&lt;br /&gt;
&lt;br /&gt;
=== Downloading and Deploying EPrints Source ===&lt;br /&gt;
&lt;br /&gt;
==== EPrints 3.4.x for GitHub ====&lt;br /&gt;
&lt;br /&gt;
 apt install git&lt;br /&gt;
 mkdir /opt/eprints3&lt;br /&gt;
 chown eprints:eprints /opt/eprints3&lt;br /&gt;
 chmod 2775 /opt/eprints3&lt;br /&gt;
 su eprints&lt;br /&gt;
 git clone https://github.com/eprints/eprints3.4.git /opt/eprints3&lt;br /&gt;
 cd /opt/eprints3/&lt;br /&gt;
 git checkout tags/v3.4.6&lt;br /&gt;
&lt;br /&gt;
==== EPrints 3.3.x for GitHub ====&lt;br /&gt;
&lt;br /&gt;
 apt install git&lt;br /&gt;
 mkdir /opt/eprints3&lt;br /&gt;
 chown eprints:eprints /opt/eprints3&lt;br /&gt;
 chmod 2775 /opt/eprints3&lt;br /&gt;
 su eprints&lt;br /&gt;
 git clone https://github.com/eprints/eprints.git /opt/eprints3&lt;br /&gt;
 cd /opt/eprints3/&lt;br /&gt;
 git checkout tags/v3.3.16&lt;br /&gt;
&lt;br /&gt;
==== EPrints 3.4.x from files.eprints.org ====&lt;br /&gt;
&lt;br /&gt;
 cd /tmp/&lt;br /&gt;
 wget https://files.eprints.org/3097/5/eprints-3.4.6.tar.gz&lt;br /&gt;
 tar -xzvf eprints-3.4.6.tar.gz&lt;br /&gt;
&lt;br /&gt;
Then put in the source code in place:&lt;br /&gt;
&lt;br /&gt;
 mv eprints-3.4.6 /usr/share/eprints&lt;br /&gt;
 chmod 2775 /usr/share/eprints&lt;br /&gt;
 chown -R eprints:eprints /usr/share/eprints&lt;br /&gt;
&lt;br /&gt;
If you want a publications flavoured repository, then also:&lt;br /&gt;
&lt;br /&gt;
 wget https://files.eprints.org/3097/6/eprints-3.4.6-flavours.tar.gz&lt;br /&gt;
 tar -xzvf eprints-3.4.6-flavours.tar.gz&lt;br /&gt;
 mv eprints-3.4.6/flavours/pub_lib /usr/share/eprints/flavours&lt;br /&gt;
 chmod -R g+w /usr/share/eprints/flavours/pub_lib&lt;br /&gt;
 chown -R eprints:eprints /usr/share/eprints/flavours/pub_lib&lt;br /&gt;
&lt;br /&gt;
== Installing from Debian package ==&lt;br /&gt;
As of EPrints 3.4.5 Debian (.deb) packages will no longer be produced.  Due to the complexity of the installation process there are a number of inherent problems with installing using a Deb package. As new operating systems (e.g. Debian and Ubuntu) are released the available packages have changed.  This often leads to packages upon which that EPrints depends ceasing to be available.  This makes it very difficult or impossible to install the Debian package, as well as requiring retrospective effort to install packages using other sources, (e.g. additional APT repositories or using CPAN).  However, the main concern of installation the Debian package, particularly through EPrints&#039; APT repository, is that it can lead to EPrints being upgraded automatically to a new version.  Upgrading EPrints using a Debian package is likely to lead to EPrints producing errors, as configuration changes are often required as part of the upgrade process.  Automating these changes within the Debian package would be all but impossible due to EPrints&#039; high level of customisability.&lt;br /&gt;
&lt;br /&gt;
=== Installing publications flavour ===&lt;br /&gt;
EPrints 3.4 DEBs only come with the in-built &#039;zero&#039; flavour and not the typical publications flavour.  Before trying to set up you archive you will need to (as the eprints user) download the latest publications flavour tarball from https://files.eprints.org/ and unpack it into /usr/share/eprints/:&lt;br /&gt;
 wget https://files.eprints.org/3097/6/eprints-3.4.6-flavours.tar.gz&lt;br /&gt;
 tar -xzvf eprints-3.4.6-flavours.tar.gz -C /usr/share/eprints/&lt;br /&gt;
 mv /usr/share/eprints/eprints-3.4.6/flavours /usr/share/eprints/&lt;br /&gt;
 rmdir /usr/share/eprints/eprints-3.4.6/&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
Next, as the eprints user copy &amp;lt;code&amp;gt;EPRINTS_PATH/perl_lib/EPrints/SystemSettings.pm.tmpl&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;EPRINTS_PATH/perl_lib/EPrints/SystemSettings.pm&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;EPRINTS_PATH&amp;lt;/code&amp;gt; will be either &amp;lt;code&amp;gt;/usr/share/eprints3/&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;/usr/share/eprints&amp;lt;/code&amp;gt; depending on which instructions you followed above.&lt;br /&gt;
&lt;br /&gt;
EPrints is now fully installed at &amp;lt;code&amp;gt;EPRINTS_PATH/&amp;lt;/code&amp;gt;. However, you will not yet have a running archive. Follow the [[Getting Started with EPrints 3]] instructions to set this up.&lt;br /&gt;
&lt;br /&gt;
=== Post-configuration ===&lt;br /&gt;
Next, add the file &amp;lt;code&amp;gt;/etc/apache2/sites-available/eprints.conf&amp;lt;/code&amp;gt; with the following line:&lt;br /&gt;
&lt;br /&gt;
 Include EPRINTS_PATH/cfg/apache.conf&lt;br /&gt;
&lt;br /&gt;
To enable this as root run the command:&lt;br /&gt;
&lt;br /&gt;
 a2ensite eprints&lt;br /&gt;
&lt;br /&gt;
Also it may be necessary to disable the default site otherwise the default Apache page will still be shown:&lt;br /&gt;
&lt;br /&gt;
 a2dissite 000-default&lt;br /&gt;
&lt;br /&gt;
Finally, restart Apache:&lt;br /&gt;
&lt;br /&gt;
 service apache2 restart&lt;br /&gt;
&lt;br /&gt;
You should now be able to access your vanilla repository at the hostname you specified when running &#039;&#039;&#039;epadmin create&#039;&#039;&#039; from the [[Getting Started with EPrints 3]] instructions.  You should then login as the admin user you created during this process and turn on the indexer.  This can be done by clicking on the &#039;&#039;&#039;Admin&#039;&#039;&#039; link under the Logged in menu, then clicking on the &#039;&#039;&#039;System Tools&#039;&#039;&#039; tab and finally the &#039;&#039;&#039;Start Indexer&#039;&#039;&#039; button.&lt;br /&gt;
&lt;br /&gt;
=== Useful commands for source development and testing ===&lt;br /&gt;
The following commands may be useful for those developing or testing EPrints but are not necessary for installing EPrints.&lt;br /&gt;
==== Install EPrints build dependencies ====&lt;br /&gt;
 apt-get build-dep eprints&lt;br /&gt;
==== Get EPrints source ====&lt;br /&gt;
 apt-get source eprints&lt;br /&gt;
==== Rebuilding ====&lt;br /&gt;
To change the way the eprints builds you can edit the debian/rules file (the only line you will want is the configure one). Once done you can then type &amp;lt;code&amp;gt;dpkg-buildpackage -rfakeroot&amp;lt;/code&amp;gt; from the root dir of the extracted tarball. &lt;br /&gt;
&lt;br /&gt;
This will build you a .deb in the directory above your current location, which can then be installed usinging dpkg:&lt;br /&gt;
 dpkg -i ../eprints-X.X.X_all.deb&lt;br /&gt;
&lt;br /&gt;
Alternatively you can configure and install it yourself (a non debian specific version) by configuring manually and then running install.pl:&lt;br /&gt;
 $ ./configure --with-smtp-server=smtp.yourdomain&lt;br /&gt;
 $ sudo ./install.pl&lt;br /&gt;
&lt;br /&gt;
== Operating System Version Specific Requirements ==&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu 20.04 LTS ===&lt;br /&gt;
{{:Issues with Installing EPrints on Ubuntu 20.04}}&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu 22.04 LTS ===&lt;br /&gt;
{{:Issues with Installing EPrints on Ubuntu 22.04}}&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu 24.04 LTS ===&lt;br /&gt;
{{:Issues with Installing EPrints on Ubuntu 24.04}}&lt;br /&gt;
&lt;br /&gt;
=== Debian Known Issues ===&lt;br /&gt;
See [[Debian Known Issues]]&lt;/div&gt;</summary>
		<author><name>Alex-ball</name></author>
	</entry>
	<entry>
		<id>https://wiki.ext-9.eprints-hosting.org/w/index.php?title=Installing_EPrints_on_Debian/Ubuntu&amp;diff=16718</id>
		<title>Installing EPrints on Debian/Ubuntu</title>
		<link rel="alternate" type="text/html" href="https://wiki.ext-9.eprints-hosting.org/w/index.php?title=Installing_EPrints_on_Debian/Ubuntu&amp;diff=16718"/>
		<updated>2025-01-29T15:51:05Z</updated>

		<summary type="html">&lt;p&gt;Alex-ball: In all six required OS versions, texlive-base-bin is a virtual package only provided by texlive-binaries.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Debian and Ubuntu]]&lt;br /&gt;
[[Category:Installation]]&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
* Ubuntu 20.04 LTS, 22.04 LTS and Ubuntu 24.04 LTS (non-LTS versions not recommended)&lt;br /&gt;
* Debian 10 (Buster), Debian 11 (Bullseye) or Debian 12 (Bookworm) - These are not as comprehensively tested as Ubuntu LTS versions.&lt;br /&gt;
&lt;br /&gt;
== Installing EPrints from Source ==&lt;br /&gt;
&lt;br /&gt;
=== Dependencies and Pre-configuration ===&lt;br /&gt;
&#039;&#039;&#039;The ideal way to install from source is via git using the Core Git repositories [https://github.com/eprints/eprints3.4 EPrints 3.4] or [https://github.com/eprints/eprints EPrints 3.3], and installing from a source tarball is generally discouraged.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Installing from source via git is now the recommended  way to install EPrints for production repositories, after having proved to be a useful installation method to those seeking to develop the EPrints code, develop a plugin or develop a Bazaar package too.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
First, as the root user install all the dependencies for EPrints (&#039;&#039;&#039;N.B.&#039;&#039;&#039; Some dependencies may not be able in certain versions of Debian/Ubuntu.  See [[#Operating System Version Specific Requirements|Operating System Version Specific Requirements]] towards the end of this page.):&lt;br /&gt;
&lt;br /&gt;
 apt-get install perl libncurses5 libselinux1 apache2 libapache2-mod-perl2 libxml-libxml-perl \&lt;br /&gt;
   libunicode-string-perl libterm-readkey-perl libmime-lite-perl libmime-types-perl libdigest-sha-perl \&lt;br /&gt;
   libdbd-mysql-perl libxml-parser-perl libxml2-dev libxml-twig-perl libarchive-any-perl libjson-perl \&lt;br /&gt;
   liblwp-protocol-https-perl libtext-unidecode-perl lynx wget ghostscript poppler-utils antiword elinks \&lt;br /&gt;
   texlive-base texlive-binaries psutils imagemagick adduser tar gzip unzip libsearch-xapian-perl \&lt;br /&gt;
   libtex-encode-perl libio-string-perl libdbd-mysql-perl python3-html2text make libexpat1-dev libxslt1-dev&lt;br /&gt;
&lt;br /&gt;
If you are installing on Ubuntu, install MySQL server and client:&lt;br /&gt;
&lt;br /&gt;
  apt-get install mysql-server mysql-client libmysqlclient-dev&lt;br /&gt;
&lt;br /&gt;
If you are installing on Debian, install MariaDB server and client:&lt;br /&gt;
&lt;br /&gt;
  apt-get install mariadb-server mariadb-client libmariadb-dev&lt;br /&gt;
&lt;br /&gt;
Next, create the eprints user&lt;br /&gt;
&lt;br /&gt;
 adduser eprints&lt;br /&gt;
&lt;br /&gt;
Now, update Apache configuration to set it up to use the eprints user and group, by ensuring the following lines are set thus in &amp;lt;code&amp;gt;/etc/apache2/envvars&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 export APACHE_RUN_USER=eprints&lt;br /&gt;
 export APACHE_RUN_GROUP=eprints&lt;br /&gt;
&lt;br /&gt;
=== Downloading and Deploying EPrints Source ===&lt;br /&gt;
&lt;br /&gt;
==== EPrints 3.4.x for GitHub ====&lt;br /&gt;
&lt;br /&gt;
 apt install git&lt;br /&gt;
 mkdir /opt/eprints3&lt;br /&gt;
 chown eprints:eprints /opt/eprints3&lt;br /&gt;
 chmod 2775 /opt/eprints3&lt;br /&gt;
 su eprints&lt;br /&gt;
 git clone https://github.com/eprints/eprints3.4.git /opt/eprints3&lt;br /&gt;
 cd /opt/eprints3/&lt;br /&gt;
 git checkout tags/v3.4.6&lt;br /&gt;
&lt;br /&gt;
==== EPrints 3.3.x for GitHub ====&lt;br /&gt;
&lt;br /&gt;
 apt install git&lt;br /&gt;
 mkdir /opt/eprints3&lt;br /&gt;
 chown eprints:eprints /opt/eprints3&lt;br /&gt;
 chmod 2775 /opt/eprints3&lt;br /&gt;
 su eprints&lt;br /&gt;
 git clone https://github.com/eprints/eprints.git /opt/eprints3&lt;br /&gt;
 cd /opt/eprints3/&lt;br /&gt;
 git checkout tags/v3.3.16&lt;br /&gt;
&lt;br /&gt;
==== EPrints 3.4.x from files.eprints.org ====&lt;br /&gt;
&lt;br /&gt;
 cd /tmp/&lt;br /&gt;
 wget https://files.eprints.org/3097/5/eprints-3.4.6.tar.gz&lt;br /&gt;
 tar -xzvf eprints-3.4.6.tar.gz&lt;br /&gt;
&lt;br /&gt;
Then put in the source code in place:&lt;br /&gt;
&lt;br /&gt;
 mv eprints-3.4.6 /usr/share/eprints&lt;br /&gt;
 chmod 2775 /usr/share/eprints&lt;br /&gt;
 chown -R eprints:eprints /usr/share/eprints&lt;br /&gt;
&lt;br /&gt;
If you want a publications flavoured repository, then also:&lt;br /&gt;
&lt;br /&gt;
 wget https://files.eprints.org/3097/6/eprints-3.4.6-flavours.tar.gz&lt;br /&gt;
 tar -xzvf eprints-3.4.6-flavours.tar.gz&lt;br /&gt;
 mv eprints-3.4.6/flavours/pub_lib /usr/share/eprints/flavours&lt;br /&gt;
 chmod -R g+w /usr/share/eprints/flavours/pub_lib&lt;br /&gt;
 chown -R eprints:eprints /usr/share/eprints/flavours/pub_lib&lt;br /&gt;
&lt;br /&gt;
== Installing from Debian package ==&lt;br /&gt;
As of EPrints 3.4.5 Debian (.deb) packages will no longer be produced.  Due to the complexity of the installation process there are a number of inherent problems with installing using a Deb package. As new operating systems (e.g. Debian and Ubuntu) are released the available packages have changed.  This often leads to packages upon which that EPrints depends ceasing to be available.  This makes it very difficult or impossible to install the Debian package, as well as requiring retrospective effort to install packages using other sources, (e.g. additional APT repositories or using CPAN).  However, the main concern of installation the Debian package, particularly through EPrints&#039; APT repository, is that it can lead to EPrints being upgraded automatically to a new version.  Upgrading EPrints using a Debian package is likely to lead to EPrints producing errors, as configuration changes are often required as part of the upgrade process.  Automating these changes within the Debian package would be all but impossible due to EPrints&#039; high level of customisability.&lt;br /&gt;
&lt;br /&gt;
=== Installing publications flavour ===&lt;br /&gt;
EPrints 3.4 DEBs only come with the in-built &#039;zero&#039; flavour and not the typical publications flavour.  Before trying to set up you archive you will need to (as the eprints user) download the latest publications flavour tarball from https://files.eprints.org/ and unpack it into /usr/share/eprints/:&lt;br /&gt;
 wget https://files.eprints.org/3097/6/eprints-3.4.6-flavours.tar.gz&lt;br /&gt;
 tar -xzvf eprints-3.4.6-flavours.tar.gz -C /usr/share/eprints/&lt;br /&gt;
 mv /usr/share/eprints/eprints-3.4.6/flavours /usr/share/eprints/&lt;br /&gt;
 rmdir /usr/share/eprints/eprints-3.4.6/&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
Next, as the eprints user copy &amp;lt;code&amp;gt;EPRINTS_PATH/perl_lib/EPrints/SystemSettings.pm.tmpl&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;EPRINTS_PATH/perl_lib/EPrints/SystemSettings.pm&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;EPRINTS_PATH&amp;lt;/code&amp;gt; will be either &amp;lt;code&amp;gt;/usr/share/eprints3/&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;/usr/share/eprints&amp;lt;/code&amp;gt; depending on which instructions you followed above.&lt;br /&gt;
&lt;br /&gt;
EPrints is now fully installed at &amp;lt;code&amp;gt;EPRINTS_PATH/&amp;lt;/code&amp;gt;. However, you will not yet have a running archive. Follow the [[Getting Started with EPrints 3]] instructions to set this up.&lt;br /&gt;
&lt;br /&gt;
=== Post-configuration ===&lt;br /&gt;
Next, add the file &amp;lt;code&amp;gt;/etc/apache2/sites-available/eprints.conf&amp;lt;/code&amp;gt; with the following line:&lt;br /&gt;
&lt;br /&gt;
 Include EPRINTS_PATH/cfg/apache.conf&lt;br /&gt;
&lt;br /&gt;
To enable this as root run the command:&lt;br /&gt;
&lt;br /&gt;
 a2ensite eprints&lt;br /&gt;
&lt;br /&gt;
Also it may be necessary to disable the default site otherwise the default Apache page will still be shown:&lt;br /&gt;
&lt;br /&gt;
 a2dissite 000-default&lt;br /&gt;
&lt;br /&gt;
Finally, restart Apache:&lt;br /&gt;
&lt;br /&gt;
 service apache2 restart&lt;br /&gt;
&lt;br /&gt;
You should now be able to access your vanilla repository at the hostname you specified when running &#039;&#039;&#039;epadmin create&#039;&#039;&#039; from the [[Getting Started with EPrints 3]] instructions.  You should then login as the admin user you created during this process and turn on the indexer.  This can be done by clicking on the &#039;&#039;&#039;Admin&#039;&#039;&#039; link under the Logged in menu, then clicking on the &#039;&#039;&#039;System Tools&#039;&#039;&#039; tab and finally the &#039;&#039;&#039;Start Indexer&#039;&#039;&#039; button.&lt;br /&gt;
&lt;br /&gt;
=== Useful commands for source development and testing ===&lt;br /&gt;
The following commands may be useful for those developing or testing EPrints but are not necessary for installing EPrints.&lt;br /&gt;
==== Install EPrints build dependencies ====&lt;br /&gt;
 apt-get build-dep eprints&lt;br /&gt;
==== Get EPrints source ====&lt;br /&gt;
 apt-get source eprints&lt;br /&gt;
==== Rebuilding ====&lt;br /&gt;
To change the way the eprints builds you can edit the debian/rules file (the only line you will want is the configure one). Once done you can then type &amp;lt;code&amp;gt;dpkg-buildpackage -rfakeroot&amp;lt;/code&amp;gt; from the root dir of the extracted tarball. &lt;br /&gt;
&lt;br /&gt;
This will build you a .deb in the directory above your current location, which can then be installed usinging dpkg:&lt;br /&gt;
 dpkg -i ../eprints-X.X.X_all.deb&lt;br /&gt;
&lt;br /&gt;
Alternatively you can configure and install it yourself (a non debian specific version) by configuring manually and then running install.pl:&lt;br /&gt;
 $ ./configure --with-smtp-server=smtp.yourdomain&lt;br /&gt;
 $ sudo ./install.pl&lt;br /&gt;
&lt;br /&gt;
== Operating System Version Specific Requirements ==&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu 20.04 LTS ===&lt;br /&gt;
{{:Issues with Installing EPrints on Ubuntu 20.04}}&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu 22.04 LTS ===&lt;br /&gt;
{{:Issues with Installing EPrints on Ubuntu 22.04}}&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu 24.04 LTS ===&lt;br /&gt;
{{:Issues with Installing EPrints on Ubuntu 24.04}}&lt;br /&gt;
&lt;br /&gt;
=== Debian Known Issues ===&lt;br /&gt;
See [[Debian Known Issues]]&lt;/div&gt;</summary>
		<author><name>Alex-ball</name></author>
	</entry>
	<entry>
		<id>https://wiki.ext-9.eprints-hosting.org/w/index.php?title=Miscellaneous_Config_Options/get_users_owned_eprints&amp;diff=16686</id>
		<title>Miscellaneous Config Options/get users owned eprints</title>
		<link rel="alternate" type="text/html" href="https://wiki.ext-9.eprints-hosting.org/w/index.php?title=Miscellaneous_Config_Options/get_users_owned_eprints&amp;diff=16686"/>
		<updated>2024-10-01T12:36:43Z</updated>

		<summary type="html">&lt;p&gt;Alex-ball: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This example should work with v3.4.6+.&lt;br /&gt;
&lt;br /&gt;
Prior to v3.4.6 defining this method resulted in unexpected behaviour when eprint_status checkboxes were used on the &#039;&#039;Manage deposits&#039;&#039; page.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
 $c-&amp;gt;{get_users_owned_eprints} = sub &lt;br /&gt;
 {&lt;br /&gt;
     my( $session, $user, %opts ) = @_;&lt;br /&gt;
     # for non-editorial accounts, return the normal list&lt;br /&gt;
     if( $user-&amp;gt;get_type ne &amp;quot;editor&amp;quot; )&lt;br /&gt;
     {&lt;br /&gt;
         return $user-&amp;gt;owned_eprints_list_actual( %opts );&lt;br /&gt;
     }&lt;br /&gt;
     # only interested in editor accounts now&lt;br /&gt;
     # allow editors to see their items, and items from a specific userid e.g. 99999&lt;br /&gt;
     my $extra_userid = 99999;&lt;br /&gt;
     my $searchexp = $opts{dataset}-&amp;gt;prepare_search( %opts );&lt;br /&gt;
     $searchexp-&amp;gt;add_field( $opts{dataset}-&amp;gt;field( &amp;quot;userid&amp;quot; ), $user-&amp;gt;id . &amp;quot; $extra_userid&amp;quot;, &amp;quot;IN&amp;quot;, &amp;quot;ANY&amp;quot; );&lt;br /&gt;
     return $searchexp-&amp;gt;perform_search;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Prior to v3.4.6, this function was passed a different set of parameters, thus search options had to be hard-coded:&lt;br /&gt;
&lt;br /&gt;
 # v3.4.5 and earlier&lt;br /&gt;
 $c-&amp;gt;{get_users_owned_eprints} = sub &lt;br /&gt;
 {&lt;br /&gt;
     my( $session, $user, $dataset ) = @_;&lt;br /&gt;
     my $searchexp = $dataset-&amp;gt;prepare_search(&lt;br /&gt;
         # options go here&lt;br /&gt;
     );&lt;br /&gt;
     # Add fields to $searchexp here&lt;br /&gt;
     return $searchexp-&amp;gt;perform_search;&lt;br /&gt;
 };&lt;/div&gt;</summary>
		<author><name>Alex-ball</name></author>
	</entry>
	<entry>
		<id>https://wiki.ext-9.eprints-hosting.org/w/index.php?title=Miscellaneous_Config_Options/get_users_owned_eprints&amp;diff=16685</id>
		<title>Miscellaneous Config Options/get users owned eprints</title>
		<link rel="alternate" type="text/html" href="https://wiki.ext-9.eprints-hosting.org/w/index.php?title=Miscellaneous_Config_Options/get_users_owned_eprints&amp;diff=16685"/>
		<updated>2024-10-01T12:27:17Z</updated>

		<summary type="html">&lt;p&gt;Alex-ball: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This example should work with v3.4.6+.&lt;br /&gt;
&lt;br /&gt;
Prior to v3.4.6 defining this method resulted in unexpected behaviour when eprint_status checkboxes were used on the &#039;&#039;Manage deposits&#039;&#039; page.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
 $c-&amp;gt;{get_users_owned_eprints} = sub &lt;br /&gt;
 {&lt;br /&gt;
     my( $session, $user, %opts ) = @_;&lt;br /&gt;
     # for non-editorial accounts, return the normal list&lt;br /&gt;
     if( $user-&amp;gt;get_type ne &amp;quot;editor&amp;quot; )&lt;br /&gt;
     {&lt;br /&gt;
         return $user-&amp;gt;owned_eprints_list_actual( %opts );&lt;br /&gt;
     }&lt;br /&gt;
     # only interested in editor accounts now&lt;br /&gt;
     # allow editors to see their items, and items from a specific userid e.g. 99999&lt;br /&gt;
     my $extra_userid = 99999;&lt;br /&gt;
     my $searchexp = $opts{dataset}-&amp;gt;prepare_search( %opts );&lt;br /&gt;
     $searchexp-&amp;gt;add_field( $opts{dataset}-&amp;gt;field( &amp;quot;userid&amp;quot; ), $user-&amp;gt;id . &amp;quot; $extra_userid&amp;quot;, &amp;quot;IN&amp;quot;, &amp;quot;ANY&amp;quot; );&lt;br /&gt;
     return $searchexp-&amp;gt;perform_search;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Prior to v3.4.6, this function was passed a different set of parameters, thus search options had to be hard-coded:&lt;br /&gt;
&lt;br /&gt;
 # v3.4.5 and earlier&lt;br /&gt;
 $c-&amp;gt;{get_users_owned_eprints} = sub &lt;br /&gt;
 {&lt;br /&gt;
     my( $session, $user, $dataset ) = @_;&lt;br /&gt;
     my $searchexp = new EPrints::Search(&lt;br /&gt;
         session =&amp;gt; $session,&lt;br /&gt;
         dataset =&amp;gt; $dataset,&lt;br /&gt;
         # plus any other options&lt;br /&gt;
     );&lt;br /&gt;
     # Add fields to $searchexp here&lt;br /&gt;
     return $searchexp-&amp;gt;perform_search;&lt;br /&gt;
 };&lt;/div&gt;</summary>
		<author><name>Alex-ball</name></author>
	</entry>
	<entry>
		<id>https://wiki.ext-9.eprints-hosting.org/w/index.php?title=EPrints_3.4.3&amp;diff=13675</id>
		<title>EPrints 3.4.3</title>
		<link rel="alternate" type="text/html" href="https://wiki.ext-9.eprints-hosting.org/w/index.php?title=EPrints_3.4.3&amp;diff=13675"/>
		<updated>2021-04-27T12:11:09Z</updated>

		<summary type="html">&lt;p&gt;Alex-ball: Switch column headings to correct columns&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Release Notes ==&lt;br /&gt;
EPrints 3.4.3 is now available on [https://files.eprints.org/2551 files.eprints.org] and [https://github.com/eprints/eprints3.4/releases/tag/v3.4.3 GitHub]. &lt;br /&gt;
* &#039;&#039;&#039;Zero codename:&#039;&#039;&#039; &#039;&#039;Snickerdoodle Sandstorm&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Publications flavour codename:&#039;&#039;&#039; &#039;&#039;Banana Bread Rainbow&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== New Dependencies ===&lt;br /&gt;
None.  Check earlier dependencies for [[EPrints 3.4.2]] and before.&lt;br /&gt;
&lt;br /&gt;
=== Changes Since 3.4.2 ===&lt;br /&gt;
&lt;br /&gt;
==== New Functionality ====&lt;br /&gt;
* Provides function (&amp;lt;tt&amp;gt;EPrints::Utils::compare_version&amp;lt;/tt&amp;gt;) for comparing EPrints software versions so plugins can choose to behave differently.&lt;br /&gt;
* Adds &amp;lt;tt&amp;gt;jquery&amp;lt;/tt&amp;gt; EPrints 3.4 ingredient to allow JQuery resources to be incorporated if required by non-core EPrints functionality.  Ingredient added but commented out in &amp;lt;tt&amp;gt;flavours/pub_lib/inc&amp;lt;/tt&amp;gt;. &lt;br /&gt;
* Provides picker for date fields to reduce potential for human error.&lt;br /&gt;
&lt;br /&gt;
==== Security and Privacy Improvements ====&lt;br /&gt;
* Makes JSON export respect value set for &amp;lt;tt&amp;gt;export_as_xml&amp;lt;/tt&amp;gt; to avoid exporting unintended fields.&lt;br /&gt;
* Sets &amp;lt;tt&amp;gt;contact_email&amp;lt;/tt&amp;gt; to not export by default for better GDPR compliance.&lt;br /&gt;
* Rate limits failed local login attempts for a particular user.  Defaults to 10 failed login attempts in 10 minutes (using &amp;lt;tt&amp;gt;$c-&amp;gt;{max_login_attempts}&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;$c-&amp;gt;{lockout_minutes}&amp;lt;/tt&amp;gt; configuration options).&lt;br /&gt;
* Rate limits new account requests.  Defaults to 100 requests in a hour long period to avoid causing problems with planned mass sign up events.  Configured using &amp;lt;tt&amp;gt;$c-&amp;gt;{max_account_requests}&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;$c-&amp;gt;{max_account_requests_minutes}&amp;lt;/tt&amp;gt; options.&lt;br /&gt;
* Limits the maximum length of a password (default 200 characters) to prevent specific Denial-of-Service attacks.&lt;br /&gt;
* Modifies &amp;lt;code&amp;gt;latex&amp;lt;/code&amp;gt; invocation to make more secure an ensure it rights to the correct output directory.&lt;br /&gt;
* Removes legacy &amp;lt;code&amp;gt;/cgi/latex2png&amp;lt;/code&amp;gt; script to prevent Remote Code Execution (RCE) from [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-3342 CVE-2021-3342].&lt;br /&gt;
* Validates parameters passed to &amp;lt;code&amp;gt;/cgi/cal&amp;lt;/code&amp;gt; script to protect against RCE and Cross Site Scripting (XSS) from [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-26475 CVE-2021-26475] and [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-26476 CVE-2021-26476].&lt;br /&gt;
* Validates &amp;lt;code&amp;gt;dataset&amp;lt;/code&amp;gt; parameter passed to &amp;lt;code&amp;gt;/cgi/dataset_dictionary&amp;lt;/code&amp;gt; to protect against XSS from [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-26702 CVE-2021-26702].&lt;br /&gt;
* Validates parameters passed to &amp;lt;code&amp;gt;/cgi/history_search&amp;lt;/code&amp;gt; to protect against the possibility of XSS and MySQL injection vulnerabilities, although none currently exploitable.&lt;br /&gt;
* Validates &amp;lt;code&amp;gt;verb&amp;lt;/code&amp;gt; passed to &amp;lt;code&amp;gt;/cgi/toolbox/toolbox&amp;lt;/code&amp;gt; to protect against RCE from [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-26704 CVE-2021-26704].&lt;br /&gt;
* Allows &amp;lt;code&amp;gt;EPrints::XML::parse_string&amp;lt;/code&amp;gt; to temporarily modify parser configuration to disable expanding of XML entities by the &amp;lt;code&amp;gt;/cgi/ajax/phrase&amp;lt;/code&amp;gt; script to protect against [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-26703 CVE-2021-26703].&lt;br /&gt;
* Ensure &amp;lt;code&amp;gt;eprints_lang&amp;lt;/code&amp;gt; cookie explicitly sets &amp;lt;code&amp;gt;SameSite&amp;lt;/code&amp;gt; attribute to &amp;lt;code&amp;gt;Lax&amp;lt;/code&amp;gt; if HTTPS is not enabled or sets &amp;lt;code&amp;gt;secure&amp;lt;/code&amp;gt; attribute to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; if it is.&lt;br /&gt;
* Doubles (to 16) number of characters used for randomly generated password suggestions (e.g. for database user created by &amp;lt;code&amp;gt;epadmin&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
==== General Improvements ====&lt;br /&gt;
* Resolves all accessibility errors and most alerts (as reported by the [https://wave.webaim.org/ WAVE Web Accessibility Evaluation Tool]) for backend admin pages as listed in the [https://accessibility.eprints-hosting.org/accessibility/report.html Accessibility report].&lt;br /&gt;
* [[#Configuration URLs and Paths|Tidies up the use of configuration URLs and Paths]]&lt;br /&gt;
* Uses HTML class for &amp;lt;tt&amp;gt;Longtext_counter&amp;lt;/tt&amp;gt; counter line and provides CSS to by default make this red and bold if the &amp;lt;tt&amp;gt;maxwords&amp;lt;/tt&amp;gt; limit is exceeded.&lt;br /&gt;
* Allows full path or just subject name to be displayed for values set in subjects field by setting &amp;lt;tt&amp;gt;render_path&amp;lt;/tt&amp;gt; attribute (true by default).&lt;br /&gt;
* Allows time between password reset requests to be configured (to a number of hours) rather than hard-coded to 24 hours. &lt;br /&gt;
* Adds option to set status of EPrints that should be checked by &amp;lt;tt&amp;gt;check_xapian&amp;lt;/tt&amp;gt; script.&lt;br /&gt;
* Adds &amp;lt;tt&amp;gt;date_embargo_retained&amp;lt;/tt&amp;gt; field to Documents to retain the embargo date after the embargo is lifted.&lt;br /&gt;
* Adds deprecation warning to indicate only LibXML library will be supported in future versions of EPrints. (Version for removal yet to be confirmed).&lt;br /&gt;
* Adds basic default citation for files.&lt;br /&gt;
* Adds validation for date fields to prevent invalid dates being set.&lt;br /&gt;
* Allows files to be stored to disk with generic filenames (i.e. &amp;lt;code&amp;gt;&amp;lt;fileid&amp;gt;.bin&amp;lt;/code&amp;gt;) rather than the upload filename that can cause retrieval problem by setting the &amp;lt;code&amp;gt;$c-&amp;gt;{generic_filenames}&amp;lt;/code&amp;gt; configuration setting.&lt;br /&gt;
* Adds code to &amp;lt;code&amp;gt;lib&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pub_lib&amp;lt;/code&amp;gt; versions of &amp;lt;code&amp;gt;security.pl&amp;lt;/code&amp;gt; to deal with request a copy access issue if repository has coversheets plugin enabled.&lt;br /&gt;
* Allows sub-fields to have help texts configured.&lt;br /&gt;
* Generates log message for views that have reached their &amp;lt;code&amp;gt;max_items&amp;lt;/code&amp;gt; limit.&lt;br /&gt;
* Allows document fields displayed in an eprint&#039;s Details tab to be configured.&lt;br /&gt;
* Adds data-context attributes to aid CSS styling of HTML div elements within search forms.&lt;br /&gt;
* Improves scaling of of Lightbox popups on narrow screens.&lt;br /&gt;
* Allows a pin to set the id or class attribute for a template HTML element to facilitate different CSS styling on different pages.&lt;br /&gt;
* Prompts for organisation name when creating a new archive using &amp;lt;code&amp;gt;epadmin create&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Allows classes to be assigned to parts (i.e. top, left, main, after, etc.) of abstract/summary pages to facilitate better CSS styling.&lt;br /&gt;
* Allows search results forms to be configured to automatically reload on ordering change.&lt;br /&gt;
* Allows classes for EPrints&#039; user menu (i.e. by default &amp;lt;code&amp;gt;ep_tm_key_tools&amp;lt;/code&amp;gt;) to be configured to better integrate with institutional branding.&lt;br /&gt;
* Adds commented advice on fixing issues with PDF thumbnail generation using ImageMagick.&lt;br /&gt;
* Tidies up citations by removing identical &amp;lt;code&amp;gt;flavours/pub_lib/&amp;lt;/code&amp;gt; citations that appear in &amp;lt;code&amp;gt;lib/&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Allows &amp;lt;code&amp;gt;max_files&amp;lt;/code&amp;gt; that can be expanded from an uploaded zip file to be configured. (Previously hardcoded to 100 file limit).&lt;br /&gt;
* Allows customisable overriding of type-mapping based on &amp;lt;code&amp;gt;ispublished&amp;lt;/code&amp;gt; value for BiBTeX and RIS export. (I.e. not using &amp;lt;code&amp;gt;@unpublished&amp;lt;/code&amp;gt; type if &amp;lt;code&amp;gt;ispublished&amp;lt;/code&amp;gt; set to &amp;lt;code&amp;gt;unpub&amp;lt;/code&amp;gt;).&lt;br /&gt;
* Provides &amp;lt;code&amp;gt;has_role&amp;lt;/code&amp;gt; EPC function to allow more granular control of workflows that can be edited by specific group of user that have has this role added to their profile.&lt;br /&gt;
* Allows positioning of hovering document preview to be set to left or right and implements this in &amp;lt;code&amp;gt;summary_page&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;result&amp;lt;/code&amp;gt; eprint citations to improve preview positioning.&lt;br /&gt;
* Improves verbosity of &amp;lt;code&amp;gt;get_input&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;get_input_hidden&amp;lt;/code&amp;gt; to explain better why input is invalid.  Assisting &amp;lt;code&amp;gt;epadmin&amp;lt;/code&amp;gt; data entry.&lt;br /&gt;
* Makes &amp;lt;code&amp;gt;id_number&amp;lt;/code&amp;gt; (i.e. for DOIs, etc.) field default type &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; rather than &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt; to facilitate search for exact IDs, especially those containing non-alphanumeric characters (e.g. 10.1016/j.ejor.2018.02.047).&lt;br /&gt;
* Restricts characters that can be used in new user-added subject IDs to alphanumeric characters, underscores and hyphens.&lt;br /&gt;
* Ensures subject-type field behaves the same in default (i.e. multiple select form element) as it does in subject tree format.  I.e. subject tree mode lets previously selected subjects stay selected, even if the subject itself has been set as undepositable  in the intervening period.  Default mode silently unselects these.&lt;br /&gt;
* Switches to using real &#039;&#039;bazaar&#039;&#039; ingredient rather than &#039;&#039;bazaar_stub&#039;&#039; for zero flavour in &amp;lt;code&amp;gt;EPrints::SystemSettings&amp;lt;/code&amp;gt; as this former is now available in core codebase.&lt;br /&gt;
* Prevents removing items that have and have once been in the live archive, without an extra permission: &amp;lt;code&amp;gt;eprints/remove_once_archived&amp;lt;/code&amp;gt;.  (Retiring items is still permitted without extra permission).&lt;br /&gt;
&lt;br /&gt;
==== Bug Fixes ====&lt;br /&gt;
* Prevents access code from changing if request a copy is approved multiple times (and warns if request has already been approved).&lt;br /&gt;
* Fixes bug with logged in users not being able to access approved request a copy documents that they would not normally have access.&lt;br /&gt;
* Fixes formatting of results from user search introduced by accessibility changes in 3.4.2.&lt;br /&gt;
* Updates issue citation to use &amp;lt;code&amp;gt;&amp;amp;lt;div&amp;amp;gt;&amp;lt;/code&amp;gt; rather than &amp;lt;code&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/code&amp;gt; tags so it works with accessibility changes introduced in 3.4.2.&lt;br /&gt;
* Deals more gracefully if History DataObj&#039;s parent does not exist when checking if it is an &amp;lt;code&amp;gt;EPrints::List&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Fixes internal server error when trying to save values to a non-multiple compound field.&lt;br /&gt;
* Fixes issue with XML import setting unset compound subfields to NULL rather than empty string. &lt;br /&gt;
* Fixes errors on import pages caused by Accessibility improvements and fixes other Accessibility issues for import pages.&lt;br /&gt;
* Fixes broken link of default 401 error page.&lt;br /&gt;
* Sets STDOUT and STDERR binmode to utf8 to avoid wide character errors.&lt;br /&gt;
* Fixes user history layout as a result of earlier Accessibility improvements.&lt;br /&gt;
* Fixes missing phrases reported in error logs.  Typically fieldhelp phrases for sub-fields of compound fields, which are generally not rendered but still report missing phrase warnings.&lt;br /&gt;
* Sets &amp;lt;code&amp;gt;SameSite&amp;lt;/code&amp;gt; property to &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt; for secure login and request copy cookies as Google Chrome is now quite strict about this.&lt;br /&gt;
* Provides handling for XML parsing of revision files to show warning for particular revision in the hostory tab rather than an internal server error for the whole page.&lt;br /&gt;
* Allows use of same pin multiple times within a phrase.&lt;br /&gt;
* Prevents undefined &amp;lt;code&amp;gt;$c-&amp;gt;{aliases}&amp;lt;/code&amp;gt; from causing &amp;lt;code&amp;gt;epadmin config_core&amp;lt;/code&amp;gt; to fail.&lt;br /&gt;
* Ensures saved searches indicate email notifications cannot be sent when the &amp;lt;code&amp;gt;Xapianv2&amp;lt;/code&amp;gt; (in addition to &amp;lt;code&amp;gt;Xapian&amp;lt;/code&amp;gt;) plugin has been used for the original search.&lt;br /&gt;
* Adds missing &amp;lt;code&amp;gt;event_queue&amp;lt;/code&amp;gt; phrases.&lt;br /&gt;
* Fixes inappropriate mapping of &amp;lt;code&amp;gt;monograph_type&amp;lt;/code&amp;gt; in BibTeX import.&lt;br /&gt;
* Fixes erroneous post-login redirection when login required to access eprint summary/abstract pages and long URLs (e.g. /id/eprint/1234) enabled.&lt;br /&gt;
* Ensures &amp;lt;code&amp;gt;readonly&amp;lt;/code&amp;gt; attribute works for &amp;lt;code&amp;gt;MetaField::Set&amp;lt;/code&amp;gt; in compound-multiple fields.&lt;br /&gt;
* Adds missing &amp;lt;code&amp;gt;reason&amp;lt;/code&amp;gt; phrase for &amp;lt;code&amp;gt;RejectWithEmail&amp;lt;/code&amp;gt; screen plugin.&lt;br /&gt;
* Prevents HEAD requests (e.g. email link checkers) for password from resets from actioning the reset.  (Otherwise, when the user clicks the link it will say the password has already been reset, which may concern the user).&lt;br /&gt;
* Forces full day-month-year to be set for document embargo expiry to avoid any ambiguity.&lt;br /&gt;
* Improves &amp;lt;code&amp;gt;epadmin&amp;lt;/code&amp;gt; by removing unusable functionality and reporting if database tables do not get created as expected.&lt;br /&gt;
* Adds symlinks between &amp;lt;code&amp;gt;brief&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;default&amp;lt;/code&amp;gt; citations for various data objects to prevent log warnings.&lt;br /&gt;
* Better handles DOI not being set when parsing it.&lt;br /&gt;
* Provides more useful logging when field has invalid parameters.&lt;br /&gt;
* Fixes missing pin for error message phrase when restarting indexer.&lt;br /&gt;
* Fixes &amp;lt;code&amp;gt;MetaField::Listing&amp;lt;/code&amp;gt; from logging an error that no &amp;lt;code&amp;gt;datasetid&amp;lt;/code&amp;gt; is defined when on its index page (listing datasets).&lt;br /&gt;
* Updates positions for plugins that appear in key tools menu to ensure deterministic ordering.&lt;br /&gt;
* Fixes bug to allow REST calls for subjects with IDs that contain full stops (.).&lt;br /&gt;
* Better handles finding parent eprint when this has been deleted.&lt;br /&gt;
* Fixes &amp;lt;code&amp;gt;tools/map_config.pl&amp;lt;/code&amp;gt; to use correct directory for EPrints 3.4 and allow flavour to be specified as a parameter.&lt;br /&gt;
* Fixes &amp;lt;code&amp;gt;tools/update_phrase/file&amp;lt;/code&amp;gt; to ensure EPrints libraries can be used and allows specified base path, current working directory or full path to be used for phrase file parameters.&lt;br /&gt;
* Fixes BibTeX import using uploaded files broken by update to third-party &amp;lt;code&amp;gt;BibTeX::Parser&amp;lt;/code&amp;gt; in EPrints 3.4.2.&lt;br /&gt;
* Fixes RDF export by adding doi namespace for when id_number field is set to a DOI and is then translated to and owl:sameAs in a RDF export.&lt;br /&gt;
* Fixes bug preventing exporting file data objects in various metadata formats (e.g. Atom, EP3XML, CSV, etc.).&lt;br /&gt;
&lt;br /&gt;
=== Known Issues ===&lt;br /&gt;
&#039;&#039;&#039;None at present.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Configuration URLs and Paths ===&lt;br /&gt;
EPrints has various configuration settings for URLs and paths that are automatically configured based on the settings in an archive&#039;s &amp;lt;code&amp;gt;cfg/cfg.d/10_core.pl&amp;lt;/code&amp;gt;.  The six most significant are the following:&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;http_url&amp;lt;/code&amp;gt;&lt;br /&gt;
: The HTTP version of the URL (e.g. &#039;&#039;http://example.eprints.org&#039;&#039;).  Since EPrints 3.4.1, this will be set to the same as &amp;lt;code&amp;gt;https_url&amp;lt;/code&amp;gt; if &amp;lt;code&amp;gt;$c-&amp;gt;{host}&amp;lt;/code&amp;gt; is undefined in the archive&#039;s &#039;&#039;cfg/cfg.d/10_core.pl&#039;&#039;.&lt;br /&gt;
; &amp;lt;code&amp;gt;https_url&amp;lt;/code&amp;gt; &lt;br /&gt;
: The HTTPS version of the URL (e.g. &#039;&#039;https://example.eprints.org&#039;&#039;). If &amp;lt;code&amp;gt;$c-&amp;gt;{securehost}&amp;lt;/code&amp;gt; is not defined in the archive&#039;s &amp;lt;code&amp;gt;cfg/cfg.d/&amp;lt;/code&amp;gt; directory (typically in &amp;lt;code&amp;gt;10_core.pl&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;https.pl&amp;lt;/code&amp;gt;) then the URL will be set to HTTP (e.g. &#039;&#039;http://example.eprints.org&#039;&#039;)&lt;br /&gt;
; &amp;lt;code&amp;gt;base_url&amp;lt;/code&amp;gt;&lt;br /&gt;
: This is set to &amp;lt;code&amp;gt;http_url&amp;lt;/code&amp;gt; or https_url&amp;lt;/code&amp;gt; depending on whether &amp;lt;code&amp;gt;$c-&amp;gt;{securehost}&amp;lt;/code&amp;gt; is defined.&lt;br /&gt;
; &amp;lt;code&amp;gt;http_root&amp;lt;/code&amp;gt;&lt;br /&gt;
: The HTTP version of the root path.  Typically this will an empty string unless EPrints needs to run under its own path (e.g. &#039;&#039;http://example.eprints.org/eprints&#039;&#039; will need the &amp;lt;code&amp;gt;http_root&amp;lt;/code&amp;gt; set to &amp;lt;code&amp;gt;/eprints&amp;lt;/code&amp;gt;).&lt;br /&gt;
; &amp;lt;code&amp;gt;https_root&amp;lt;/code&amp;gt;&lt;br /&gt;
: The HTTPS version of the root path.  Typically this will be empty string unless EPrints needs to run under its own path (e.g. &#039;&#039;https://example.eprints.org/eprints&#039;&#039; will need the &amp;lt;code&amp;gt;https_root&amp;lt;/code&amp;gt; set to &#039;&#039;/eprints&#039;&#039;).&lt;br /&gt;
; &amp;lt;code&amp;gt;rel_path&amp;lt;/code&amp;gt;&lt;br /&gt;
: Like &amp;lt;code&amp;gt;base_url&amp;lt;/code&amp;gt; this is the same as the &amp;lt;code&amp;gt;http_root&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;https_root&amp;lt;/code&amp;gt; dependent on whether &amp;lt;code&amp;gt;$c-&amp;gt;{securehost}&amp;lt;/code&amp;gt; is defined.&lt;br /&gt;
&lt;br /&gt;
Each of the six configuration settings above have their sister configuration settings for their CGI URLs or paths:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Setting&lt;br /&gt;
! Example&lt;br /&gt;
! CGI Setting&lt;br /&gt;
! CGI Example&lt;br /&gt;
|-&lt;br /&gt;
| http_url&lt;br /&gt;
| http://example.eprints.org&lt;br /&gt;
| http_cgiurl &lt;br /&gt;
| http://example.eprints.org/cgi&lt;br /&gt;
|-&lt;br /&gt;
| https_url&lt;br /&gt;
| https://example.eprints.org&lt;br /&gt;
| https_cgiurl&lt;br /&gt;
| https://example.eprints.org/cgi&lt;br /&gt;
|-&lt;br /&gt;
| base_url&lt;br /&gt;
| https://example.eprints.org&lt;br /&gt;
| perl_url&lt;br /&gt;
| https://example.eprints.org/cgi&lt;br /&gt;
|-&lt;br /&gt;
| http_root&lt;br /&gt;
| &lt;br /&gt;
| http_cgiroot&lt;br /&gt;
| /cgi &lt;br /&gt;
|-&lt;br /&gt;
| https_root&lt;br /&gt;
| &lt;br /&gt;
| https_cgiroot&lt;br /&gt;
| /cgi &lt;br /&gt;
|-&lt;br /&gt;
| rel_path&lt;br /&gt;
| &lt;br /&gt;
| rel_cgipath&lt;br /&gt;
| /cgi &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Over time there has been a move from EPrints repositories being HTTP-only to HTTP and HTTPS and further towards HTTPS only (with HTTP redirects).  EPrints configuration has had to evolve over time to support all these use cases, so those running EPrints can (continue to) run the HTTP/HTTPS setup that works for them. (Although, the recommendation would be to use the most secure configuration available).  However, this has led to inconsistent use of the twelve configuration settings for URLs and paths described above.  Therefore, EPrints 3.4.3 has attempted to tidy up much of this.&lt;br /&gt;
&lt;br /&gt;
The use of &amp;lt;code&amp;gt;http_url&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;https_url&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;http_cgiurl&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;https_cgiurl&amp;lt;/code&amp;gt; is unnecessary, when &amp;lt;code&amp;gt;base_url&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;perl_url&amp;lt;/code&amp;gt; by default will consistently provide the most secure available option.  (The only case where there may be issue is for URIs representing eprint items.  Where changing the repository setup should not change permanent URIs. For this the recently introduced &amp;lt;code&amp;gt;uri_url&amp;lt;/code&amp;gt; configuration option can be used).  Using &amp;lt;code&amp;gt;base_url&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;perl_url&amp;lt;/code&amp;gt; consistently also ensure that there is not switching between the use of HTTPS and HTTP.  In particular, this helps avoid problems with the web browser reporting mixed content warnings (e.g. HTTP images on HTTPS pages) and warnings when forms are submitted to an HTTP URL and the current page is HTTPS. &lt;br /&gt;
&lt;br /&gt;
Using a full URL (with a protcol and hostname) is excessive in most cases and therefore &amp;lt;code&amp;gt;rel_path&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;rel_cgipath&amp;lt;/code&amp;gt; should be the preferred options.  However, there are a number of situations where this would not be appropriate, as the URL may be used outside the scope of the EPrint repository:&lt;br /&gt;
# In export formats for eprint items&lt;br /&gt;
# In citations for eprint items&lt;br /&gt;
# In generated email messages&lt;br /&gt;
# Links in the web page head to related alternate resources of services independent of the web page (i.e. to export formats, API services but not CSS, JavaScript, favicons, etc.). &lt;br /&gt;
For all these scenarios not using a full URLs might prevent the resource being accessed once the content has been exported, embedded, emailed or consumed by a user or third-party application.&lt;br /&gt;
&lt;br /&gt;
The use of &amp;lt;code&amp;gt;http_root&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;https_root&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;http_cgiroot&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;https_cgiroot&amp;lt;/code&amp;gt; is also unnecessary, when  &amp;lt;code&amp;gt;rel_path&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;rel_cgipath&amp;lt;/code&amp;gt; are available.  Except when being used to define other URL and path configuration settings or (with &amp;lt;code&amp;gt;http_url&amp;lt;/code&amp;gt;) generating Apache configuration (using &#039;&#039;bin/generate_apacheconf&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
==== Summary of Changes ====&lt;br /&gt;
* All existing URL and path configuration settings have been retained to ensure existing plugins and bespoke code continue to function.&lt;br /&gt;
* Eliminated use of &amp;lt;code&amp;gt;http_url&amp;lt;/code&amp;gt; (except in Apache configuration generation), &amp;lt;code&amp;gt;https_url&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;http_cgiurl&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;https_cgiurl&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Used &amp;lt;code&amp;gt;base_url&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;perl_url&amp;lt;/code&amp;gt; for links related to user-generated content (i.e. eprint summary/abstract pages, document download URLs, document preview images/thumbnails, etc.), links defined in the head of a web page that are not directly related to the generation of the page (i.e. everything but CSS stylesheets, JavaScript and favicons) and links that are rendered as text on a web page.  &lt;br /&gt;
* Used &amp;lt;code&amp;gt;rel_path&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;rel_cgipath&amp;lt;/code&amp;gt; for all other purposes where it is unnecessary to use &amp;lt;code&amp;gt;base_url&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;perl_url&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Eliminated use of &amp;lt;code&amp;gt;http_cgiroot&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;https_cgiroot&amp;lt;/code&amp;gt; and limited use of &amp;lt;code&amp;gt;http_root&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;https_root&amp;lt;/code&amp;gt; to Apache configuration generation and in defining other configuration settings.&lt;br /&gt;
* Ensured &amp;lt;code&amp;gt;rel_path&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;rel_cgipath&amp;lt;/code&amp;gt; are used for links in templates, static pages and other places where previously no URL/path configuration setting was used.  To ensure these links work when EPrints is not running on the root path (i.e. &amp;lt;code&amp;gt;rel_path&amp;lt;/code&amp;gt; is not an empty string).&lt;br /&gt;
&lt;br /&gt;
== Planned Development ==&lt;br /&gt;
See [[EPrints 3.4.4]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Eprints3.4]]&lt;br /&gt;
[[Category:Releases]]&lt;/div&gt;</summary>
		<author><name>Alex-ball</name></author>
	</entry>
	<entry>
		<id>https://wiki.ext-9.eprints-hosting.org/w/index.php?title=Archives/ARCHIVEID/cfg/templates/&amp;diff=13419</id>
		<title>Archives/ARCHIVEID/cfg/templates/</title>
		<link rel="alternate" type="text/html" href="https://wiki.ext-9.eprints-hosting.org/w/index.php?title=Archives/ARCHIVEID/cfg/templates/&amp;diff=13419"/>
		<updated>2020-07-10T11:13:24Z</updated>

		<summary type="html">&lt;p&gt;Alex-ball: Created page with &amp;quot;{{dirs}} *&amp;#039;&amp;#039;&amp;#039;eprints3/archives/EPrints_Directory_Structure/eprints3/archives/ARCHI...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{dirs}}&lt;br /&gt;
*&#039;&#039;&#039;[[EPrints_Directory_Structure/eprints3|eprints3]]/[[EPrints_Directory_Structure/eprints3/archives|archives]]/[[EPrints_Directory_Structure/eprints3/archives/ARCHIVEID|ARCHIVEID]]/[[EPrints_Directory_Structure/eprints3/archives/ARCHIVEID/cfg|cfg]]/templates&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;default.xml&#039;&#039;&#039; - Template used by some plugins to render web pages for this repository&lt;br /&gt;
** &#039;&#039;&#039;default_internal.xml&#039;&#039;&#039; - Fallback template to use to render web pages for this repository; usually symlinked to default.xml (New in EPrints 3.4)&lt;br /&gt;
** &#039;&#039;&#039;mainonlycss.xml&#039;&#039;&#039; - Additional template for very simple pages (no headers or footers, just the page title and content)&lt;br /&gt;
&lt;br /&gt;
The files here are used for any language which does not have a more specific template installed in, say,  [[EPrints_Directory_Structure/eprints3/archives/ARCHIVEID/cfg/lang/en/templates|eprints3/archives/ARCHIVEID/cfg/lang/en/templates/]] (for English-language pages).&lt;br /&gt;
&lt;br /&gt;
This directory does not exist in a fresh installation. You have to create it yourself to override the files in [[EPrints_Directory_Structure/eprints3/lib/templates|eprints3/lib/templates/]].&lt;/div&gt;</summary>
		<author><name>Alex-ball</name></author>
	</entry>
	<entry>
		<id>https://wiki.ext-9.eprints-hosting.org/w/index.php?title=EPrints_Directory_Structure/eprints3/archives/ARCHIVEID/cfg/templates&amp;diff=13418</id>
		<title>EPrints Directory Structure/eprints3/archives/ARCHIVEID/cfg/templates</title>
		<link rel="alternate" type="text/html" href="https://wiki.ext-9.eprints-hosting.org/w/index.php?title=EPrints_Directory_Structure/eprints3/archives/ARCHIVEID/cfg/templates&amp;diff=13418"/>
		<updated>2020-07-10T11:07:19Z</updated>

		<summary type="html">&lt;p&gt;Alex-ball: Redirected page to Archives/ARCHIVEID/cfg/templates/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Archives/ARCHIVEID/cfg/templates/]]&lt;/div&gt;</summary>
		<author><name>Alex-ball</name></author>
	</entry>
	<entry>
		<id>https://wiki.ext-9.eprints-hosting.org/w/index.php?title=EPrints_Directory_Structure/eprints3/lib/templates&amp;diff=13417</id>
		<title>EPrints Directory Structure/eprints3/lib/templates</title>
		<link rel="alternate" type="text/html" href="https://wiki.ext-9.eprints-hosting.org/w/index.php?title=EPrints_Directory_Structure/eprints3/lib/templates&amp;diff=13417"/>
		<updated>2020-07-10T11:04:52Z</updated>

		<summary type="html">&lt;p&gt;Alex-ball: Redirected page to Lib/templates/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Lib/templates/]]&lt;/div&gt;</summary>
		<author><name>Alex-ball</name></author>
	</entry>
	<entry>
		<id>https://wiki.ext-9.eprints-hosting.org/w/index.php?title=EPrints_Directory_Structure/eprints3/lib/templates&amp;diff=13416</id>
		<title>EPrints Directory Structure/eprints3/lib/templates</title>
		<link rel="alternate" type="text/html" href="https://wiki.ext-9.eprints-hosting.org/w/index.php?title=EPrints_Directory_Structure/eprints3/lib/templates&amp;diff=13416"/>
		<updated>2020-07-10T11:04:30Z</updated>

		<summary type="html">&lt;p&gt;Alex-ball: Redirected page to Lib/templates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Lib/templates]]&lt;/div&gt;</summary>
		<author><name>Alex-ball</name></author>
	</entry>
	<entry>
		<id>https://wiki.ext-9.eprints-hosting.org/w/index.php?title=Lib/templates/&amp;diff=13415</id>
		<title>Lib/templates/</title>
		<link rel="alternate" type="text/html" href="https://wiki.ext-9.eprints-hosting.org/w/index.php?title=Lib/templates/&amp;diff=13415"/>
		<updated>2020-07-10T11:01:51Z</updated>

		<summary type="html">&lt;p&gt;Alex-ball: Created page with &amp;quot;{{dirs}} {{noeditdir}} *&amp;#039;&amp;#039;&amp;#039;eprints3/lib/templates&amp;#039;&amp;#039;&amp;#039; ** &amp;#039;&amp;#039;&amp;#039;default.xml&amp;#039;&amp;#039;&amp;#039; - Template used...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{dirs}}&lt;br /&gt;
{{noeditdir}}&lt;br /&gt;
*&#039;&#039;&#039;[[EPrints_Directory_Structure/eprints3|eprints3]]/[[EPrints_Directory_Structure/eprints3/lib|lib]]/templates&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;default.xml&#039;&#039;&#039; - Template used by some plugins to render web pages for all repositories and languages&lt;br /&gt;
** &#039;&#039;&#039;default_internal.xml&#039;&#039;&#039; - Fallback template to use to render web pages for all repositories and languages; usually symlinked to default.xml (New in EPrints 3.4)&lt;br /&gt;
** &#039;&#039;&#039;mainonlycss.xml&#039;&#039;&#039; - Additional template for very simple pages (no headers or footers, just the page title and content)&lt;br /&gt;
&lt;br /&gt;
These files are overridden if files with the same name exist in the following locations:&lt;br /&gt;
&lt;br /&gt;
* [[EPrints_Directory_Structure/eprints3/archives/ARCHIVEID/cfg/templates|eprints3/archives/ARCHIVEID/cfg/templates/]] (any language)&lt;br /&gt;
* [[EPrints_Directory_Structure/eprints3/archives/ARCHIVEID/cfg/lang/en/templates|eprints3/archives/ARCHIVEID/cfg/lang/en/templates/]] and similar (language-specific)&lt;/div&gt;</summary>
		<author><name>Alex-ball</name></author>
	</entry>
	<entry>
		<id>https://wiki.ext-9.eprints-hosting.org/w/index.php?title=Archives/ARCHIVEID/cfg/lang/en/templates/&amp;diff=13414</id>
		<title>Archives/ARCHIVEID/cfg/lang/en/templates/</title>
		<link rel="alternate" type="text/html" href="https://wiki.ext-9.eprints-hosting.org/w/index.php?title=Archives/ARCHIVEID/cfg/lang/en/templates/&amp;diff=13414"/>
		<updated>2020-07-10T10:54:50Z</updated>

		<summary type="html">&lt;p&gt;Alex-ball: Update for EPrints 3.4&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{dirs}}&lt;br /&gt;
*&#039;&#039;&#039;[[EPrints_Directory_Structure/eprints3|eprints3]]/[[EPrints_Directory_Structure/eprints3/archives|archives]]/[[EPrints_Directory_Structure/eprints3/archives/ARCHIVEID|ARCHIVEID]]/[[EPrints_Directory_Structure/eprints3/archives/ARCHIVEID/cfg|cfg]]/[[EPrints_Directory_Structure/eprints3/archives/ARCHIVEID/cfg/lang|lang]]/[[EPrints_Directory_Structure/eprints3/archives/ARCHIVEID/cfg/lang/en|en]]/templates&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;default.xml&#039;&#039;&#039; - Template used by some plugins to render web pages for this repository&lt;br /&gt;
** &#039;&#039;&#039;default_internal.xml&#039;&#039;&#039; - Fallback template to use to render web pages for this repository; usually symlinked to default.xml (New in EPrints 3.4)&lt;br /&gt;
** &#039;&#039;&#039;mainonlycss.xml&#039;&#039;&#039; - Additional template for very simple pages (no headers or footers, just the page title and content)&lt;br /&gt;
&lt;br /&gt;
The files here are only used when rendering pages in English. To use the same template across all languages, put the files in [[EPrints_Directory_Structure/eprints3/archives/ARCHIVEID/cfg/templates|eprints3/archives/ARCHIVEID/cfg/templates/]] instead.&lt;br /&gt;
&lt;br /&gt;
This directory does not exist in a fresh installation. You have to create it yourself to override the files in [[EPrints_Directory_Structure/eprints3/lib/templates|eprints3/lib/templates/]].&lt;/div&gt;</summary>
		<author><name>Alex-ball</name></author>
	</entry>
	<entry>
		<id>https://wiki.ext-9.eprints-hosting.org/w/index.php?title=How_to_modify_static_pages&amp;diff=13413</id>
		<title>How to modify static pages</title>
		<link rel="alternate" type="text/html" href="https://wiki.ext-9.eprints-hosting.org/w/index.php?title=How_to_modify_static_pages&amp;diff=13413"/>
		<updated>2020-07-10T10:29:39Z</updated>

		<summary type="html">&lt;p&gt;Alex-ball: Clarify location of template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Static Pages]]&lt;br /&gt;
The static web pages are created by combining the .xpage files from [[EPrints_Directory_Structure/eprints3/archives/ARCHIVEID/cfg/lang/en/static | /opt/eprints3/archives/ARCHIVEID/cfg/lang/en/static/]] with the site template; this is what generate_static does. A custom site template can be installed at [[EPrints_Directory_Structure/eprints3/archives/ARCHIVEID/cfg/lang/en/templates|opt/eprints3/archives/ARCHIVEID/cfg/lang/en/templates/]] (if language-specific) or [[EPrints_Directory_Structure/eprints3/archives/ARCHIVEID/cfg/templates|opt/eprints3/archives/ARCHIVEID/cfg/templates/]] (if not); otherwise the default one at [[EPrints_Directory_Structure/eprints3/lib/templates|opt/eprints3/lib/templates/]] will be used.&lt;br /&gt;
&lt;br /&gt;
The generate_static script also copies all files which do not have the suffix .xpage from [[EPrints_Directory_Structure/eprints3/archives/ARCHIVEID/cfg/lang/en/static | /opt/eprints3/archives/ARCHIVEID/cfg/lang/en/static/]]&lt;br /&gt;
&lt;br /&gt;
Non-language specific files go in the [[EPrints_Directory_Structure/eprints3/archives/ARCHIVEID/cfg/static|/opt/eprints3/archives/ARCHIVEID/cfg/static/]] directory and appear on the website no matter what language the site is in, e.g. images and the style sheet.&lt;br /&gt;
&lt;br /&gt;
Obviously cfg/lang/en/ is intended for English language source files; French source files would go in cfg/lang/fr/ and so on.&lt;br /&gt;
&lt;br /&gt;
# Edit the .xpage file (or other file in /static/)&lt;br /&gt;
# Run [[Bin/|generate_static]] ARCHIVEID&lt;br /&gt;
&lt;br /&gt;
===Issues===&lt;br /&gt;
&lt;br /&gt;
The XML Editor encodes all extended characters, with the exception of core HTML ones (e.g. &amp;lt;) -- this causes issues with pages that need to include one of these symbols.  See https://github.com/eprints/eprints/blob/3.3/perl_lib/EPrints/Plugin/Screen/Admin/Config/Edit/XML.pm#L29&lt;br /&gt;
&lt;br /&gt;
A set of phrases have been created for html entites to be used in static pages and phrases that can be edited through the front-end tools.  E.g:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&#039;html4strict&#039;&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;Nuts &amp;lt;epc:phrase ref=&#039;entity_amp&#039;/&amp;gt; bolts&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A [http://bazaar.eprints.org/id/eprint/471 bazaar package] has been created for the following phrases:&lt;br /&gt;
&lt;br /&gt;
* entity_amp&lt;br /&gt;
* entity_gt&lt;br /&gt;
* entity_lt&lt;br /&gt;
* entity_quot&lt;br /&gt;
* entity_apos&lt;br /&gt;
&lt;br /&gt;
See http://bazaar.eprints.org/471/&lt;/div&gt;</summary>
		<author><name>Alex-ball</name></author>
	</entry>
	<entry>
		<id>https://wiki.ext-9.eprints-hosting.org/w/index.php?title=Archives/ARCHIVEID/cfg/static/&amp;diff=13411</id>
		<title>Archives/ARCHIVEID/cfg/static/</title>
		<link rel="alternate" type="text/html" href="https://wiki.ext-9.eprints-hosting.org/w/index.php?title=Archives/ARCHIVEID/cfg/static/&amp;diff=13411"/>
		<updated>2020-07-10T10:09:32Z</updated>

		<summary type="html">&lt;p&gt;Alex-ball: Fix link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{dirs}}&lt;br /&gt;
This directory represents the language-neutral top level of your website. Langauge specific files are in&lt;br /&gt;
[[EPrints_Directory_Structure/eprints3/archives/ARCHIVEID/cfg/lang/en/static|eprints3/archives/ARCHIVEID/cfg/lang/en/static/]] (well, English ones are).&lt;br /&gt;
&lt;br /&gt;
Files in this directory override files in [[EPrints Directory Structure/eprints3/lib/static|eprints3/lib/static/]]. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;[[EPrints_Directory_Structure/eprints3|eprints3]]/[[EPrints_Directory_Structure/eprints3/archives|archives]]/[[EPrints_Directory_Structure/eprints3/archives/ARCHIVEID|ARCHIVEID]]/[[EPrints_Directory_Structure/eprints3/archives/ARCHIVEID/cfg|cfg]]/static&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;[[EPrints_Directory_Structure/eprints3/archives/ARCHIVEID/cfg/static/images|images/]]&#039;&#039;&#039; - images &lt;br /&gt;
** &#039;&#039;&#039;[[EPrints_Directory_Structure/eprints3/archives/ARCHIVEID/cfg/static/javascript|javascript/]]&#039;&#039;&#039; - javascript scripts&lt;br /&gt;
** &#039;&#039;&#039;[[EPrints_Directory_Structure/eprints3/archives/ARCHIVEID/cfg/static/style|style/]]&#039;&#039;&#039; - css and style-related images&lt;/div&gt;</summary>
		<author><name>Alex-ball</name></author>
	</entry>
	<entry>
		<id>https://wiki.ext-9.eprints-hosting.org/w/index.php?title=How_to_modify_static_pages&amp;diff=13410</id>
		<title>How to modify static pages</title>
		<link rel="alternate" type="text/html" href="https://wiki.ext-9.eprints-hosting.org/w/index.php?title=How_to_modify_static_pages&amp;diff=13410"/>
		<updated>2020-07-10T10:04:53Z</updated>

		<summary type="html">&lt;p&gt;Alex-ball: Fix location of templates and non-language specific files&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Static Pages]]&lt;br /&gt;
The static web pages are created by combining the .xpage files from [[EPrints_Directory_Structure/eprints3/archives/ARCHIVEID/cfg/lang/en/static | /opt/eprints3/archives/ARCHIVEID/cfg/lang/en/static/]] with the site template. The template can be found at [[EPrints_Directory_Structure/eprints3/archives/ARCHIVEID/cfg/templates|opt/eprints3/archives/ARCHIVEID/cfg/templates/]]. This is what generate_static does.&lt;br /&gt;
&lt;br /&gt;
Generate static also copies all files which do not have the suffix .xpage from [[EPrints_Directory_Structure/eprints3/archives/ARCHIVEID/cfg/lang/en/static | /opt/eprints3/archives/ARCHIVEID/cfg/lang/en/static/]]&lt;br /&gt;
&lt;br /&gt;
Non-language specific files go in the [[EPrints_Directory_Structure/eprints3/archives/ARCHIVEID/cfg/static|/opt/eprints3/archives/ARCHIVEID/cfg/static/]] directory and appear on the website no matter what language the site is in. eg. images and the style sheet.&lt;br /&gt;
&lt;br /&gt;
Obviously french source files go in cfg/lang/fr/ etc.&lt;br /&gt;
&lt;br /&gt;
Edit the .xpage file (or other file in /static/)&lt;br /&gt;
&lt;br /&gt;
Run [[Bin/|generate_static]] ARCHIVEID&lt;br /&gt;
&lt;br /&gt;
===Issues===&lt;br /&gt;
&lt;br /&gt;
The XML Editor encodes all extended characters, with the exception of core HTML ones (e.g. &amp;lt;) -- this causes issues with pages that need to include one of these symbols.  See https://github.com/eprints/eprints/blob/3.3/perl_lib/EPrints/Plugin/Screen/Admin/Config/Edit/XML.pm#L29&lt;br /&gt;
&lt;br /&gt;
A set of phrases have been created for html entites to be used in static pages and phrases that can be edited through the front-end tools.  E.g:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&#039;html4strict&#039;&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;Nuts &amp;lt;epc:phrase ref=&#039;entity_amp&#039;/&amp;gt; bolts&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A [http://bazaar.eprints.org/id/eprint/471 bazaar package] has been created for the following phrases:&lt;br /&gt;
&lt;br /&gt;
* entity_amp&lt;br /&gt;
* entity_gt&lt;br /&gt;
* entity_lt&lt;br /&gt;
* entity_quot&lt;br /&gt;
* entity_apos&lt;br /&gt;
&lt;br /&gt;
See http://bazaar.eprints.org/471/&lt;/div&gt;</summary>
		<author><name>Alex-ball</name></author>
	</entry>
</feed>