EPrints Technical Mailing List Archive

Message: #00346


< 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


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/