EPrints Technical Mailing List Archive
Message: #03551
< Previous (by date) | Next (by date) > | < Previous (in thread) | Next (in thread) > | Messages - Most Recent First | Threads - Most Recent First
[EP-tech] Re: Modifying compound fields with eprint_fields_automatic
- To: eprints-tech@ecs.soton.ac.uk
- Subject: [EP-tech] Re: Modifying compound fields with eprint_fields_automatic
- From: sf2 <sf2@ecs.soton.ac.uk>
- Date: Fri, 17 Oct 2014 16:31:48 +0100
Hola Lizz, I would do something like: my $creators = @{ $eprint->value( 'creators' ) || [] }; ... push @newcreators, { name => ... , etc }; ...
in your example you push an array-ref onto the array rather than pushing a single record/row: push @foo, [ { ... } ] vs push @foo, { ... } Seb On 17.10.2014 16:33, Lizz Jennings wrote: 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
|
- Follow-Ups:
- [EP-tech] Re: Modifying compound fields with eprint_fields_automatic
- From: sf2 <sf2@ecs.soton.ac.uk>
- [EP-tech] Re: Modifying compound fields with eprint_fields_automatic
- References:
- [EP-tech] Modifying compound fields with eprint_fields_automatic
- From: Lizz Jennings <e.jennings@bath.ac.uk>
- [EP-tech] Modifying compound fields with eprint_fields_automatic
- Prev by Date: [EP-tech] Modifying compound fields with eprint_fields_automatic
- Next by Date: [EP-tech] Re: Modifying compound fields with eprint_fields_automatic
- Previous by thread: [EP-tech] Modifying compound fields with eprint_fields_automatic
- Next by thread: [EP-tech] Re: Modifying compound fields with eprint_fields_automatic
- Index(es):