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

[EP-tech] Re: Plugins: enabled by default?



Hi

	Yes, I've noticed this too, recently.  It used to be the case but doesn't seem to be any more.  I would suggest disabling the plugin in its 'new' function, and enabling it in the local configuration.  See http://bazaar.eprints.org/393/1/plugins/EPrints/Plugin/Export/Hello.pm and 	http://bazaar.eprints.org/393/1/epm/hello_test/cfg/cfg.d/z_hello.pl (the bazaar package I wrote for a training video).


--
Adam Field
Business Relationship Manager and Community Lead
EPrints Services



On 2 Nov 2015, at 12:39, John Salter <J.Salter at leeds.ac.uk> wrote:

> 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;
> ####################################################################
> 
> 
> *** 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/20151102/9cedd631/attachment.html