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

[EP-tech] Overriding subroutines

Hi Alan


??????????????? Try:


use EPrints::Plugin::Screen::MyPlugin::Stuff;

sub EPrints::Plugin::Screen::MyPlugin::Stuff::method_name


??????????????? print ?2?;



?in your cfg.d file.






From: eprints-tech-bounces at ecs.soton.ac.uk> on behalf of "Alan.Stiles" <alan.stiles at open.ac.uk>
Reply-To: <eprints-tech at ecs.soton.ac.uk>
Date: Tuesday, 23 January 2018 16:12
To: "eprints-tech at ecs.soton.ac.uk" <eprints-tech at ecs.soton.ac.uk>
Subject: [EP-tech] Overriding subroutines


Hi all,

I?m currently trying to override a subroutine from a plugin module, by redefining it in the local cfg.d file.





package EPrints::Plugin::Screen::MyPlugin::Stuff;

sub method_name { print 1;}


and in <EPRINTS_ROOT>/archives/<MY_ARCHIVE>/cfg/cfg.d/zzz_stuff_plugin_local.pl  I have


package EPrints::Plugin::Screen::MyPlugin::Stuff;

sub method_name { print 2;}



when I restart the server I get the print 1;  statement.   If I change the subroutine name in the plugin (under lib/plugins?.) then restart the server I get the print 2; statement so it appears to be loading the plugin after the local version?  I thought these happened the other way round?




-- The Open University is incorporated by Royal Charter (RC 000391), an exempt charity in England & Wales and a charity registered in Scotland (SC 038302). The Open University is authorised and regulated by the Financial Conduct Authority in relation to its secondary activity of credit broking. *** 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/ 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ecs.soton.ac.uk/pipermail/eprints-tech/attachments/20180123/2dd4d298/attachment.html