[EP-tech] Modifying compound fields with eprint_fields_automatic

Lizz Jennings e.jennings at bath.ac.uk
Fri Oct 17 16:33:56 BST 2014

Hi all,

I'm getting in a bit of a tangle.

I'd like to be able to add a function to eprint_fields_automatic for the 
creators field to generate affiliation information based on email 
addresses (where it's obvious e.g. academic institutions). I've hit a 
stumbling block immediately - I can't seem to get this to work without 
overwriting the whole thing with a single row (I've managed several 
variations on this particular theme).

This currently works to overwrite the whole list with the first creator 
and does add in or change the affiliation.

     if ( $type eq "data_collection" ) {
             my $creators = $eprint->get_value( "creators" );
         my @newcreators;
         foreach my $creator (@$creators) {
             push @newcreators, [{ name => $creator->{name}, id => 
$creator->{id}, orcid => $creator->{orcid}, affiliation => "bibble", 
contact => $creator->{contact} }];
         $eprint->set_value( "creators", @newcreators );


Any ideas on how to do this properly would be much appreciated.


Lizz Jennings BA MSc ACLIP MCLIP (Revalidated 2014)
Technical Data Officer
The Library 4.10, University of Bath, Bath, BA2 7AY UK
Ext. 3570 (External 01225 383570)
E.Jennings at bath.ac.uk

More information about the Eprints-tech mailing list