On Apr 28, 2009, at 10:22 AM, Gael Pasgrimaud wrote:
ZCA can be a good thing, but it also can be a mess. When you have too much interfaces and/or zcml in your code it can take a few hours to retrieve where a bug came from. Having a more advanced plugin system can be a good thing but what i like in pylons is that it's a *very* simple framework. 1 url => 1 method. Please, keep it simple.
Yes, this is the dilemma. Any plug-in system increases the necessary complexity of the application. If you use sub-dirs for every project, your complexity is in managing sub-directories of projects as if they were packages. If we use ZCA to handle plug-in's, then there's the complexity it brings.
The only other option is what Jonathan mentioned, which is where you have a package of controllers that you import in your own controller and sub-class as needed.
I should note that the goal of using a system like the ZCA in Pylons, would be to only have core aspects of the framework using interfaces. A web developer not writing plug-in's would never smell/see/hear an interface in their code. So you'd only have to deal with interfaces if you're extending core aspects of the framework, or writing plug-ins.
I'd be curious to look over Jonathan's approach a bit more, if a 'standard' definition for how the controllers should be pulled in, and how to extend the template search paths properly could be reached, that would probably be the simplest scheme that retains the separateness of a package for maintaining versions, while still being easy enough to customize.
Cheers, Ben
smime.p7s
Description: S/MIME cryptographic signature
