Hi Igor!!! congrats for your committership and your dedication to this work!!! I really appreciate you shared your results with us!
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. 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. I think that should sound reasonable, WDYT? So, my suggestions, if you are happy to continue on contributing - and I really hope you are :) - is: * checkout the latest C3 code from /trunk; * 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) * starting proposing and discussing modifications/additional components step by step, not sure everybody would agree on adding everything as a single big commit ;) Many thanks in advance, all the best!!! Have a nice day, Simo http://people.apache.org/~simonetripodi/ http://www.99soft.org/ On Tue, Aug 2, 2011 at 1:32 AM, Igor Malinin <igor...@gmail.com> wrote: > Hello. I've promised some (not so long) time ago to share my experiments > with C3 and Spring, and now I am ready to show some interesting > achievements. > > Here is the source code: > https://github.com/igorzep/cocoon-springification > > What it does... > > 1) Use traditional annotated Spring Controllers > I think it is better REST than Cocoon today. Those days when Cocoon was a > leader in this respect has passed, and it really was the best REST framework > from day one when nobody even used this word. But now Spring is really > powerful and I think Cocoon should not try to invent own things but > integrate with Spring as much as possible. In current form it "disables" > Spring functionality and replace with own much more limited solution. > > 2) Use Cocoon Sitemap as Spring View > Again - traditional Spring way. Also i map Cocoon to WEB-INF so that sitemap > is hidden for direct browser access (good trick to workaround lack of > private pipelines in C3). > > 3) Use Spring FORM tag library in SAX pipeline > When it is very simple implementation it works quite good already, much > better than I expect from it myself... > > 4) Integrated Validation with Spring and Hibernate Validator > Again - traditional Spring 3 way of handling forms, together with previous > item can be a good foundation for replacing old Cocoon forms module... > > 5) EclipseLink JPA > Just my favorite, as it implements both JPA and JAXB... > > 6) Mapping Spring model to XML with JAXB annotations > Just a quick hack as everything else... > > 7) JRebel compatible, just generate rebel.xml for "main" module > Unfortunately EclipseLink JRebel plugin does not work with latest > EclipseLink, but can be switched off easily. Otherwise I did a small fix to > XSLT transformer, so it rechecks for modifications correctly (not included > with sources) and it works much better than Cocoon RCL. Actually Cocoon RCL > destroyed root spring context on first invocation and any future requests to > EclipseLink didn't work at all. > > I think that Cocoon RCL should be dropped at all - it is unusable for > something serious, if you do something more than totally trivial it takes > more time to fight with it, works almost always incorrectly and saves no > time as the result... > > > Thanks. > Discussions and critics are welcome. > >