le 04/05/2006 09:06 Ross Gardler a écrit :
David Crossley wrote:
Thorsten Scherler wrote:


[SNIP]

Nice overlap with Ferdinands proposal for a clear development proposal. Lets use this as a test case. I'll be proposing the Daisy plugin too once I have enough time to document it a little better. We can use both the Daisy and the Dispatcher/themer plugins as test cases.

One thing that will have to happen before the Dispatcher comes out of core is to resolve the plugin dependency issues.

Some time ago we agreed that plugins should not have any dependencies on one another. We also acknowledged that here may come a time in which such a dependency is required. This may be it, but the plugin architecture does not currently support dependencies. We need to create the concept of "features" which are collections of plugins that work together to achieve a specific goal.
I think we need to specify the concept of "feature" for plugins and the notion of plugin dependency of "features".
Try to explain :

   * Plugin A implement the Feature 1
   * Plugin B also implement the feature 1

   * Plugin C depends on the feature 1

For instance, Plugin C is the dispatcher and Plugins A and B two implementations of the core.theme
So what ?

Projects can select their implementations :
   If a project specifies project.required.plugins=C, A, it's OK,
If a project specifies project.required.plugins=C, B, it's OK too - but with a different behaviour or rendering,

Salutations,
Cyriaque,


We can return to this after the 0.8 release though.

Ross