So part of our work on oneshare was to refactor some of our plugins to be easily reinstallable on other eprints systems. One of my personal niggles was Sneep. Sneep was written by Rory Mc’Nicol at the ULCC. Richard Davis and Rory realised that tagging and making tags on eprint records and indeed other datatypes was something cool that people wanted to do.
They made a tagging system called SNEEP (Social Networking Extentions to EPrints). I used this on the Oneshare project and found it was good. But it was written for an earlier version of eprints and was a real headache to install. It also had a number of problematic bugs particularly with installations using https.
On closer inspection of the code i found there code was a bit rushed and would probably have benefitted from the power of hindsight. Since I could see the module had potential Marcus Ramsden and I reimplimented SNEEP to make it more stable and much easier to install. In doing so we reduced the requirements so SNEEPing can only be done on EPrint objects. This vastly reduced the complexity of the code.
The new implimentation can be installed on 3.2 (svn trunk) by simply unzipping the folder into your eprints directory and ‘mv’ing the contents of YOUR_REPOSITORY to the folder containing your repository and install.
Then change eprint_render.pl
my $sneep_main = $session->make_element( 'div', id=>'ep_sneep_main' ); $sneep_main->appendChild( $session->get_repository->call( 'render_sneep', $session, $eprint, 'comment' ) ); $sneep_main->appendChild( $session->get_repository->call( 'render_sneep', $session, $eprint, 'note' ) ); where you want the comments and tags to apear. next then run bin/epadmin reload YOUR_REPOSITORY bin/edadmin update_database_structure YOUR_REPOSITORY bin/generate_static YOUR_REPOSITORY bin/generate_abstracts YOUR_REPOSITORY
and the jobs a goodun. Feedback going to eprints from this is there needs to be hooks in eprints render so i can register a few key places in the code i want to render plugins. that would eliminate the need to mess with eprint_render.pl and make this process as trival as unzipping a directory.
but why stop there. if this process is as simple as copy and paste then we can trust a machine to do it. So why not work on the code tim brody and dave tarrant wrote for a demo at OR09 to install install plugins. An idea we are now calling the “EPrints Bazaar”.
tarrants vodcast of the bazaar http://users.ecs.soton.ac.uk/dct05r/or09/