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/
