I must admit, I have issues with this whole discussion. I understand that there are problems with the Avalon community and that the current code base is making implementing real blocks difficult. But I have also used Spring and have issues with that. To summarize:
1. Figuring out what is going on in cocoon.xconf and cocoon.roles is pretty straightforward. Providing enhancements that fulfill the same contracts is easy. In my use of Spring I have not seen the same thing. I just see a bunch of classes being created and set methods called on some of them.
2. I have recently been digging into the Portal block. IMO, Carsten has done a masterful job of leveraging the best of Avalon, Cocoon and Castor. Frankly, I'm just not sure how this could work as well in an environment built on dependency injection. The documentation on the portal is pretty thin. However, because it adhers to contracts it is pretty easy to match up the configuration with the interfaces and then look at what individual classes are doing. I wonder if this would be true with a container such as Spring.


In short, the fact that Cocoon is just a bunch of parts that get configured is one of Cocoon's major strengths. However, the current configuration is pretty easy to understand and modify. If the replacement container makes the configuration more complex and less understandable that will really hurt the acceptance of the product.

Reply via email to