EPrints Technical Mailing List Archive
See the EPrints wiki for instructions on how to join this mailing list and related information.
Message: #05049
< Previous (by date) | Next (by date) > | < Previous (in thread) | Next (in thread) > | Messages - Most Recent First | Threads - Most Recent First
[EP-tech] Plugins: enabled by default?
- To: "eprints-tech@ecs.soton.ac.uk" <eprints-tech@ecs.soton.ac.uk>
- Subject: [EP-tech] Plugins: enabled by default?
- From: John Salter <J.Salter@leeds.ac.uk>
- Date: Mon, 2 Nov 2015 12:39:08 +0000
Hi, Just trying to verify (or otherwise) my understanding of plugins and disabling/enabling them. From: http://wiki.eprints.org/w/New_Features_in_EPrints_3.3#EPrints_Bazaar "By default plugins installed in lib/plugins will be disabled and hence can be enabled on a per-repository basis." On our test repository (3.3.10), we're not seeing this - things in ~/lib/plugins/... seem to be enabled for all archives. This causes a problem when a plugin references a field that doesn't exist for a dataobj. Can anyone verify that their install works as expected: Is a plugin in ~/lib/plugins/... available without being specifically enabled in the archive's cfg.d? >From the code below, you can create two screen plugins: PluginTestA: should be disabled by default, but appears to be active when visiting: http://your_repo/cgi/users/home?screen=PluginTestA PluginTestB: should also be disabled - and seems to work correctly: http://your_repo/cgi/users/home?screen=PluginTestB gives an error. PluginTestA can be disabled by adding archive-level config (e.g. to ~/archives/ARCHIVEID/cfg/cfg.d/z_plugin_test.pl): $c->{plugins}->{"Screen::PluginTestA"}->{params}->{disable} = 1; but my understanding is that it should be disabled by default, and explicitly enabled when needed. If you can test this, I'd appreciate it. Might be worth including the version of EPrints you're running too. Cheers, John ~/lib/plugins/EPrints/Plugin/Screen/PluginTestA.pm #################################################################### package EPrints::Plugin::Screen::PluginTestA; our @ISA = ( 'EPrints::Plugin::Screen' ); use strict; sub new { my( $class, %params ) = @_; my $self = $class->SUPER::new(%params); return $self; } sub render { my( $self ) = @_; my $repo = $self->{repository}; my $page = $repo->xml->create_element( "div" ); $page->appendChild( $repo->xml->create_text_node( "This should be disabled by default" ) ); return $page; } sub render_title { my( $self ) = @_; my $f = $self->{repository}->make_doc_fragment; $f->appendChild( $self->{repository}->xml->create_text_node( "This is: PluginTestA" ) ); return $f; } 1; #################################################################### ~/lib/plugins/EPrints/Plugin/Screen/PluginTestB.pm #################################################################### package EPrints::Plugin::Screen::PluginTestB; our @ISA = ( 'EPrints::Plugin::Screen' ); use strict; sub new { my( $class, %params ) = @_; my $self = $class->SUPER::new(%params); $self->{disable} = 1; return $self; } sub render { my( $self ) = @_; my $repo = $self->{repository}; my $page = $repo->xml->create_element( "div" ); $page->appendChild( $repo->xml->create_text_node( "This is explicitly disabled" ) ); return $page; } sub render_title { my( $self ) = @_; my $f = $self->{repository}->make_doc_fragment; $f->appendChild( $self->{repository}->xml->create_text_node( "This is: PluginTestB" ) ); return $f; } 1; ####################################################################
- Follow-Ups:
- [EP-tech] Re: Plugins: enabled by default?
- From: Adam Field <af05v@ecs.soton.ac.uk>
- [EP-tech] Re: Plugins: enabled by default?
- Prev by Date: [EP-tech] Re: Coversheets plugin - can't find OpenOffice
- Next by Date: [EP-tech] Re: Plugins: enabled by default?
- Previous by thread: [EP-tech] Re: problem with multiple archives from
- Next by thread: [EP-tech] Re: Plugins: enabled by default?
- Index(es):