EdShare Reference Installation

From EPrints Documentation
Revision as of 11:06, 12 February 2010 by Mmr@ecs.soton.ac.uk (talk | contribs) (EPRINTS_ROOT/archives/ARCHIVEID/cfg/citations/eprint/default.xml)
Jump to: navigation, search

Edshare logo.png

Supported EPrints Versions 3.2

Project Started 2009

Project Webpage http://edshare.org.uk

Created By ECS, University of Southampton


The EdShare Reference Installation is the standard installation for EdShare and includes all of the functionality that is covered by the EdShare suite.

It is important to note that the EdShare Reference Installation assumes that you have a clean installation of EPrints 3.1.3.


Once you have completed this recipie you will have a repository that has the following functionality;

  • A simplified workflow removing features that are not required in the context of a teaching and learning resources repository
  • Ability to create collections of resources
  • Users can bookmark resources and collections
  • There will be previews of documents on abstract pages



The following conventions apply in this recipie;

  • EPRINTS_ROOT - This is where you installed eprints. Usually this is /usr/share/eprints3 on Debian/Ubuntu or /opt/eprints3 following a source code install. Obviously change this if you installed EPrints elsewhere.
  • ARCHIVEID - This is the id of the archive you set up that you want to carry out this recipie on.

Getting Started


You will need to have installed EPrints 3.1.3 before continuing. See the following pages for reference on how to do this;


You will need to obtain the following plugins in order to complete this recipie;

Additionally consult these pages for individual installation instructions for these plugins.

Extensions Installation

Before starting ensure that you are logged in as the eprints user and in your EPRINTS_ROOT. Usually you can do this by running;

sudo su eprints

You need to make sure this is the case before you attempt to install any of the extensions.


Firstly change into your archive directory and extract the edsharecore tarball there. The name of your tarball may be different depending on the version you downloaded;

tar -xzf edsharecore-VERSION.tgz

Next you need to update your database structure, regenerate your views and regenerate your static pages;

EPRINTS_ROOT/bin/epadmin update_database_structure ARCHIVEID
EPRINTS_ROOT/bin/generate_views ARCHIVEID
EPRINTS_ROOT/bin/generate_static ARCHIVEID

Finally all you need to do is restart your web server to ensure that the settings are applied and you will now have EdShareCore installed.


If you re not in your archive directory then change into is and extract the edsharecollections tarball there. The name of your tarball may be different depending on the version you downloaded;

tar -xzf collections-VERSION.tgz

Next we need to link the cgi scripts;

ln -s EPRINTS_ROOT/archives/ARCHIVEID/cgi/users/collectionselect/ EPRINTS_ROOT/cgi/users
ln -s EPRINTS_ROOT/archives/ARCHIVEID/cgi/users/bookmarks/ EPRINTS_ROOT/cgi/users

Next assuming we are working from a vanilla installation of EPrints we need to patch the workflow so that it supports collections;

patch -p0 < default_collection_workflow.patch

If you have already changed the workflow before installing this extension then you will need to consult the EdShareCollectionsInstallation instructions.

There are now a few changes that need to be made to your repository configuration files.


Add collection to the list of eprint types. Currently the only other type that should be in this list is resource.


In the eprint_validate function look for the line my @problems = (); and add the following after it;

return( @problems ) if ( $eprint->get_type eq 'collection' );


Locate the following line;

if( @docs == 0 )

Replace it with the following;

if( $eprint->get_type ne 'collection' && @docs == 0 )


You will want to change the citation that has been supplied by EdShare Core, the following section;

- <print expr="creators_name"/>
Keywords: <print expr="keywords"/>

Needs to be replaced with;

  <when test="type = 'collection'">
    <print expr='userid'/>
    - <print expr="creators_name"/>
Keywords: <print expr="keywords"/> </otherwise> </choose>