Skip to content

Instantly share code, notes, and snippets.

@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 / 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 / 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 / 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 / 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 / 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 / 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
#
######################################################################
#
{
"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 / z_url_rewrite_redir.pl
Last active March 14, 2022 15:33
EPrints redirect specific URLs
use EPrints::Const;
my %rewrite_map = (
123 => 'https://other.site/321',
456 => 'https://else.where/stuff-999',
);
$c->add_trigger( EP_TRIGGER_URL_REWRITE, sub {
my( %o ) = @_;
@jesusbagpuss
jesusbagpuss / delete_user
Created March 24, 2022 16:49
Script to delete EPrint users
#!/usr/bin/perl -w
# NB This file is designed to be saved as [EPRINTS_ROOT]/bin/local/delete_user
# If you want to save it elsewhere, the 'FindBin' on line 52 may need altering.
=pod
=head1 NAME
B<delete_user> - Removes an EPrints user account