Plugins dependencies enhancement proposal

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Plugins dependencies enhancement proposal

Jérôme Charron
Since the plugins can specify some dependencies each over, it raises an
administrator problem.
For a Nutch administrator, it is not user-friendly to specify which plugins
to activate/deactivate.
With plugin inter-dependencies, the administrator need to know that a plugin
depends on another one
while setting the plugin.includes properties.
For instance, in the next releases of the parse-mspowerpoint plugin, if he
wants to activate this plugin,
he need to activate the lib-jakarta-poi plugin. If he doesn't, a
ClassNotFoundException will be raised at runtime.
The idea is to provide a property named plugin.autoactivation that can take
true or false if value.
If the value is true, then the plugin repository automatically activates the
needed plugins if not specified in the plugin.includes property.
If the value is false, then the plugin repository do not automatically
activates any needed plugin by dependencies specifications.
Finally, in both cases, if a dependency is missing for a plugin, a WARN
message is displayed and the plugin is not activated.

I'm not sure of seeing all the implications of such a mechanism (not sure it
is feasible anyway),
so please comments if you think it is dangerous for any reason.

Thanks

Jérôme

--
http://motrech.free.fr/
http://www.frutch.org/
Reply | Threaded
Open this post in threaded view
|

Re: Plugins dependencies enhancement proposal

Stefan Groschupf-2
+1!

Am 06.09.2005 um 11:41 schrieb Jérôme Charron:

> Since the plugins can specify some dependencies each over, it  
> raises an
> administrator problem.
> For a Nutch administrator, it is not user-friendly to specify which  
> plugins
> to activate/deactivate.
> With plugin inter-dependencies, the administrator need to know that  
> a plugin
> depends on another one
> while setting the plugin.includes properties.
> For instance, in the next releases of the parse-mspowerpoint  
> plugin, if he
> wants to activate this plugin,
> he need to activate the lib-jakarta-poi plugin. If he doesn't, a
> ClassNotFoundException will be raised at runtime.
> The idea is to provide a property named plugin.autoactivation that  
> can take
> true or false if value.
> If the value is true, then the plugin repository automatically  
> activates the
> needed plugins if not specified in the plugin.includes property.
> If the value is false, then the plugin repository do not automatically
> activates any needed plugin by dependencies specifications.
> Finally, in both cases, if a dependency is missing for a plugin, a  
> WARN
> message is displayed and the plugin is not activated.
>
> I'm not sure of seeing all the implications of such a mechanism  
> (not sure it
> is feasible anyway),
> so please comments if you think it is dangerous for any reason.
>
> Thanks
>
> Jérôme
>
> --
> http://motrech.free.fr/
> http://www.frutch.org/
>

Reply | Threaded
Open this post in threaded view
|

Re: Plugins dependencies enhancement proposal

Dawid Weiss

This idea calls for follow ups -- with plugins that depend on each other
it's just a step towards _order dependence_ (some plugins must be
activated before other plugins, some depend on the status of the plugin
activation, etc). This in fact resembles ANT's target dependency system;
one needs topological sort of plugins to be activated prior to their
actual activation.

Just a thought if you really mean to implement it ;)

D.


Stefan Groschupf wrote:

> +1!
>
> Am 06.09.2005 um 11:41 schrieb J�r�me Charron:
>
>> Since the plugins can specify some dependencies each over, it  raises an
>> administrator problem.
>> For a Nutch administrator, it is not user-friendly to specify which  
>> plugins
>> to activate/deactivate.
>> With plugin inter-dependencies, the administrator need to know that  a
>> plugin
>> depends on another one
>> while setting the plugin.includes properties.
>> For instance, in the next releases of the parse-mspowerpoint  plugin,
>> if he
>> wants to activate this plugin,
>> he need to activate the lib-jakarta-poi plugin. If he doesn't, a
>> ClassNotFoundException will be raised at runtime.
>> The idea is to provide a property named plugin.autoactivation that  
>> can take
>> true or false if value.
>> If the value is true, then the plugin repository automatically  
>> activates the
>> needed plugins if not specified in the plugin.includes property.
>> If the value is false, then the plugin repository do not automatically
>> activates any needed plugin by dependencies specifications.
>> Finally, in both cases, if a dependency is missing for a plugin, a  WARN
>> message is displayed and the plugin is not activated.
>>
>> I'm not sure of seeing all the implications of such a mechanism  (not
>> sure it
>> is feasible anyway),
>> so please comments if you think it is dangerous for any reason.
>>
>> Thanks
>>
>> J�r�me
>>
>> --
>> http://motrech.free.fr/
>> http://www.frutch.org/
>>
>