On 2011-08-04 16:08, Simone Tripodi wrote:
Just my *personal* POV: even if I'm NOT a SpringFramework fan (and I
won't be :P) your work shall be included in a way or another in C3.
I am not a big fan of Spring also, but in version 3 it got enough to jump ahead of many other frameworks. And C3 is heavily based on it already... and it uses AOP so much, that it is a pure magic - see my other post about a bug on Jetty 7 related to this...

Anyway I would prefer Spring doesn't play the main role: I mean,
having 3rd parties integrations it more than fine - we already have
indeed modules with 3rd parties integrations, like StringTemplate,
JAX-RS, Optionals (Solr, JAXB) - but IMHO Cocoon *core* components
should not be dependent by any framework, I wouldn't "force" C3 users
learning Cocoon AND Spring as a starting point, or require Spring as
knowledge base to get started with Cocoon.
For the *core* it is perfectly good not to touch it and keep totally independent. I am talking exclusively about higher level components that are built on Spring already such as cocoon-sitemap and cocoon-servlet. Making them play together better, especially where spring-mvc has very good functionality is the way to go IMHO. Currently Cocoon does some magic on Spring context so that it often gets unusable for other applications. Also Cocoon SSF proved to not work for embedding something that is not Cocoon sitemap servlet... What I did in the POC is the possibility to run C3 pipelines from the Spring controllers, just by configuring two servlets in web.xml, but I also would like to have possibility to run both pipelines and annotation based spring controllers in one URL space, currently they both are separated by some prefixes in my example. For this running Cocoon as a Spring-MVC HandlerMapping instead of as a servlet should be quite interesting.

So, my suggestions, if you are happy to continue on contributing - and
I really hope you are :) - is:
I am doing it for my free-time project, and I decided currently to publish everything that could be interesting for the community on github. I see many things differently than is implemented on Cocoon currently, for example for i18n I prefer some XSLT extensions, not separate transformation steps as a more powerful and convenient alternative. Yep, powerful in different aspects that i18n transformer, as it cannot be used outside of XSLT and bound to specific processor, but I need only one (Saxon), and only within XSLT. And I like to have a single i18n for Spring and Cocoon, Spring already have interfaces for plugging message sources, so why another one in Cocoon... There are many other such cases... I'll publish the results as they come, so later they can be merged to main cocoon or used as a separate project depending on interest and success.

  * understand how it is actually organized and check what has been
already implemented (for sure you can help us on improving actual JAXB
implementation, for example)
For JAXB - I need it in sitemap, so the existing one doesn't suite me, I am not sure yet what is the best way to do it, experimenting with different strategies...

  * starting proposing and discussing modifications/additional
components step by step, not sure everybody would agree on adding
everything as a single big commit ;)
I'll keep the list updated when some important happens. I also will prepare some repos at github that can already be used as dependencies and easily monitored for changes. So, everything can be discussed before adding something to the main Cocoon project.

Reply via email to