EPrints Technical Mailing List Archive

Message: #00348


< Previous (by date) | Next (by date) > | < Previous (in thread) | Next (in thread) > | Messages - Most Recent First | Threads - Most Recent First

[EP-tech] Re: Altering DajaObj/Eprint.pm behaviour without altering core code


I really meant to suggest making the change in ~/archives/[ID]/cfg/cfg.d/core_overrides.pl
 - would a change in there result in this inheritance?

I need to make the change in one archive only!

Cheers,
John

-----Original Message-----
From: eprints-tech-bounces@ecs.soton.ac.uk [mailto:eprints-tech-bounces@ecs.soton.ac.uk] On Behalf Of Sebastien Francois
Sent: 04 April 2012 15:41
To: eprints-tech@ecs.soton.ac.uk
Subject: [EP-tech] Re: Altering DajaObj/Eprint.pm behaviour without altering core code

Good! Yes I'd add a file in cfg.d/ as you suggested. However be aware 
that other repositories set up there (ie. archives/[id1], 
archives/[id2]...) will inherit the change!

Seb.

On 04/04/12 15:33, John Salter wrote:
> Thanks Seb, works like a dream!
>
> Do you have any 'good practice' advice on how to do this within an archive?
> I already have ~/archives/[ID]/cfg/plugins/... for over-riding plugins.
> Would your advice be to add something within there, or to add something like cfg.d/core_overrides.pl?
>
> Cheers,
> John
>
> -----Original Message-----
> From: eprints-tech-bounces@ecs.soton.ac.uk [mailto:eprints-tech-bounces@ecs.soton.ac.uk] On Behalf Of Sebastien Francois
> Sent: 04 April 2012 12:29
> To: eprints-tech@ecs.soton.ac.uk
> Subject: [EP-tech] Re: Altering DajaObj/Eprint.pm behaviour without altering core code
>
> What about:
>
> *EPrints::DataObj::EPrint::render_fileinfo = \&my_render_fileinfo;
>
> sub my_render_fileinfo
> {
> # your code ...
> }
>
> Seb.
>
>
> On 04/04/12 12:18, John Salter wrote:
>> I'm trying to do something the 'right way'*.
>> This advice: http://wiki.eprints.org/w/Read_Only_Directories says I shouldn't be editing anything under eprints3/perl_lib/ (with a couple of exceptions).
>>
>> I need to alter the 'render_fileinfo' subroutine in ~/perl_lib/EPrints/DataObj/EPrint.pm.
>> How do I achieve this without:
>>    - altering the Eprint.pm file
>>    - ending up with some 'Subroutine render_fileinfo redefined' messages
>>    - using "no warnings 'redefine';" ;o)
>>
>> I've tried various attempts - without success.
>> I'm sure it can be done, and I'm sure it's a bit of perl magic I'm missing, and hopefully someone here can help!
>>
>> Cheers,
>> John
>>
>> *http://blogs.ecs.soton.ac.uk/oneshare/2009/09/25/taking-stock-and-mopping-up-the-mess-i-made-of-eprints/
>> *** 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/
> *** 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/
>
> *** 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/

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