Skip to content

Instantly share code, notes, and snippets.

{
"type": "thesis",
"title": "This is a test thesis",
"publisher": "University of Leeds",
"publisher-place": "Leeds, UK",
"genre": "Doctoral thesis",
"source": "test.repository.leeds.ac.uk",
"abstract": "The abstract of the thesis.",
"URL": "https://test.repository.leeds.ac.uk/123456/",
"language": "en",
@jesusbagpuss
jesusbagpuss / WRRecaptcha.pm
Created September 15, 2021 14:50
EPrints - using Recaptcha.net
package EPrints::Plugin::WRRecaptcha;
use strict;
our @ISA = qw/ EPrints::Plugin /;
######################################################################
#
# Use recaptcha.net instead of Google, so people in China can add their stuff
#
######################################################################
#
@jesusbagpuss
jesusbagpuss / z_epscript_additions.pl
Created May 20, 2021 22:20
Custom EPScript additions - render specific contributor type
# Open block
{
# Write into EPrints::Script::Compiled
package EPrints::Script::Compiled;
use strict;
# Example usage in citation file:
#
@jesusbagpuss
jesusbagpuss / zz_export_item_issues.pl
Last active July 30, 2020 21:37
Possible fix for eprint item_issues not being exported in v3.4
# this is the block from EPrints::DataObj::EPrint, but with:
# export_as_xml => 1
# and
# replace_core => 1 (to overwrite the default field)
push @{ $c->{fields}->{eprint} },
{ name=>"item_issues", type=>"compound", multiple=>1,
fields => [
{
sub_name => "id",
@jesusbagpuss
jesusbagpuss / eprints_to_reindex
Created February 18, 2020 12:13
Find EPrints which have a non-public document who's indexcodes have been added to the full-text index
#!/usr/bin/perl -w
### SAVE FILE TO ~/bin/local/eprints_to_reindex, or edit the FindBin path below according to where you've saved it.
use FindBin;
use lib "$FindBin::Bin/../../perl_lib";
use EPrints;
use strict;
@jesusbagpuss
jesusbagpuss / get_user_preference_screen_items_ep_status
Created July 23, 2019 13:02
EPrints User preference for Screen::Items/eprint_status (file to be saved in EPRINTS_ROOT/bin/local/)
#!/usr/bin/perl -w
# Usage: ~/bin/local/get_user_preferences ARCHIVEID USERID
# NOTE: If you save this to a location other that EPRINTS_ROOT/bin/local/ the 'use lib' statement
# below will need to be adjusted accordingly
use FindBin;
use lib "$FindBin::Bin/../../perl_lib";
@jesusbagpuss
jesusbagpuss / z_wrro_epscript_additions.pl
Created May 16, 2019 14:04
EPScript to limit authors in citation
{
package EPrints::Script::Compiled;
use strict;
sub run_wrro_people_limited
{
my( $self, $state, $value, $limit ) = @_;
my $session = $state->{session};
@jesusbagpuss
jesusbagpuss / README
Created May 16, 2019 11:45
Symplectic merge items fix for mangled documents
################################################################################
#
# This fix was submitted to Symplectic April 2018
# As yet they haven't made a new release of the connector with it included :o\
#
#
# The changes below consist of:
# - new method in Symplectic::RepoProcess::MergeManager
# - replace two method calls with calls to the new method
#
@jesusbagpuss
jesusbagpuss / crosswalk_snippet.xsl
Created January 22, 2019 11:36
Symplectic RT1 Exceptions mapping (Elements v5.1 and above)
<!-- ##################### oa-policy-exceptions ##################### -->
<!--
<pubs:oa-policy-exception>
<pubs:type>Access1</pubs:type>
<pubs:type-description>The output depends on the reproduction of
third party content for which open access rights could not be
granted (either within the specified timescales, or at all).</pubs:type-description>
<pubs:comment>This is a test exception</pubs:comment>
</pubs:oa-policy-exception>
@jesusbagpuss
jesusbagpuss / Symplectic_RepoProcess_MergeManager.pm
Created August 15, 2018 11:31
Additiopnal code to deal with document pos when merging EPrints.
# Based on EPrints::DataObj::Document::clone
# NB Code duplication with Symplectic::RepoProcess::MergeManager
#
# Cloning documents can result in:
# - two documents with the same 'pos' field - and therefore sharing the same folder
# - 'spaces' in the document structure (e.g. pos=1 and pos=3, but no pos=2)
# this isn't what is needed. The code below manages these scenarios.
# EPrints' default behaviour is to remove the 'pos' during a clone *only* when the doc is being cloned to the same parent.
sub clone_document
{