EPrints Technical Mailing List Archive

Message: #07678

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

Re: [EP-tech] Modifying Details.pm/Overwriting module

Hi John,

Ahhh this would have been ideal. I did try searching for "overwrite EPrints plugin" and couldn't find anything. I'll give this a read and try to apply it.

You are correct; it was the render function that had to be altered. Our repository team have a select few fields that they need to check that are near the bottom of the details screen so it was my task to duplicate a few fields at the top of the page.


On Wed, Jan 30, 2019 at 11:09 AM John Salter via Eprints-tech <eprints-tech@ecs.soton.ac.uk> wrote:

Hi James,

This handy guide might help too:



From your original email it sounds like you want to change a small part of 'Details' - maybe just the 'render' method.

Following the instructions on the page above, you'll basically sub-class the EPrints::Plugin::Screen::EPrint::Details to EPrints::Plugin::Screen::EPrint::MyDetails.

In the MyDetails file, you can then specify your new render method, and then do the 'plugin alias' - and you're there.





From: eprints-tech-bounces@ecs.soton.ac.uk [mailto:eprints-tech-bounces@ecs.soton.ac.uk] On Behalf Of Alan.Stiles via Eprints-tech
Sent: 30 January 2019 08:35
To: eprints-tech@ecs.soton.ac.uk
Subject: Re: [EP-tech] Modifying Details.pm/Overwriting module



Have a look at plugins.pl in cfg.d , specifically the section starting at line 46 : https://github.com/eprints/eprints/blob/3.3/lib/defaultcfg/cfg.d/plugins.pl#L46


This shows how to tell eprints to replace the existing function with the new one, and not create duplicates or fill your server log with ‘redefined’ warnings.






From: eprints-tech-bounces@ecs.soton.ac.uk [mailto:eprints-tech-bounces@ecs.soton.ac.uk] On Behalf Of James Kerwin via Eprints-tech
Sent: 30 January 2019 07:59
To: eprints-tech@ecs.soton.ac.uk
Subject: Re: [EP-tech] Modifying Details.pm/Overwriting module


Apologies, ignore the previous email. I think I've done it.


It seems if I put the file in the suitable archive location and keep this line the same:


package EPrints::Plugin::Screen::EPrint::Details;


If I change the file name to something different (e.g. Detailz.pm) it appears to overwrite the original Details.pm.


Previously I was changing both the package name and the filename and it was including both.





On Wed, Jan 30, 2019 at 7:50 AM James Kerwin <jkerwin2101@gmail.com> wrote:

Hi All,


Could somebody please tell me how to overwrite an existing Perl module in EPrints?


I recently made some changes to Details.pm. I know better than to modify it in-situ, so I took a copy and moved it to my specific EPrint archive.





New edited version:



EPrints didn't pick up my changes (even after a server restart) unless I named the edited module something different so I called it:


Detailz.pm (package EPrints::Plugin::Screen::EPrint::Detailz;)


I've made the changes to how the page renders, but my problem now is I have a "Details" and "Details2" tab on the staff view of an EPrint. I want only my new Details.pm module to be brought in. I did follow Adam Field's YouTube video that touched on this, but it wasn't quite the same problem and didn't work.






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