[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[EP-tech] Re: Modifying compound fields with eprint_fields_automatic



Thanks Seb.  I think it's probably too late on a Friday evening for this 
- I see what you're saying, but can't seem to make it work...

I'll try again on Monday and see how I get on.

Lizz

On 17/10/2014 16:37, sf2 wrote:
>
> I meant:
>
> my @creators = @{ $eprint->value( 'creators' ) || [] };
>
> foreach my $creator (@creators)
>
> ...
>
> Seb
>
> On 17.10.2014 16:31, sf2 wrote:
>
>> 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
>>
>>
>> *** Options:http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech
>> *** Archive:http://www.eprints.org/tech.php/
>> *** EPrints community wiki:http://wiki.eprints.org/
>> *** EPrints developers Forum:http://forum.eprints.org/
>
>
>
> *** Options: http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech
> *** Archive: http://www.eprints.org/tech.php/
> *** EPrints community wiki: http://wiki.eprints.org/
> *** EPrints developers Forum: http://forum.eprints.org/

-- 
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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ecs.soton.ac.uk/pipermail/eprints-tech/attachments/20141017/6a23561f/attachment.html