* OGNL - Is is staying? Is it going? Can it be secure? Is it fast enough?

I say drop it completely. No more evaluation in the JSPs or FTL files at all and use MVEL for the parameters interceptor. FTL has a good enough language and you have Java in JSPs if you need it. OGNL in there is just confusing clutter that isn't necessary. I'd also make all the taglibs type safe and well validated. You should have to pass in a Map to the taglib for it work, rather than an expression that evaluates to the Map.

* Convention - Buzz factor to me, but buzz none the less. I type pretty
fast.

Convention is a must. Drop a lot of the annotations because all they do is move configuration into code. Simplify in convention and leave XML if you need to tweak.

* REST - Great way to organize web based applications

Definitely finish this off in a manner that completely integrates with convention. Handle REST parameters and all the REST conventions such as URI notation and such.

* Lower Level Customization Documentation - ActionMapper, Configuration
Manager, Plugin Patterns -- How to get the most out of Struts2 by
understanding not only how it works but how customize it to meet your needs.

If you use Guice, abstract out all creation, interface everything really well and provide good ways to override, you'll be in a much better place. I'd also rip out a lot of the extra cruft around and just inject everything linearly, no circular injection and drop the multiple configuration files. I'd also drop a lot of the plugin stuff and stream-line plugins via interface injection.


* Model and Service Layer - We know Struts2 is a web framework and its good
at it.  So there is Appfuse and that is something I have worked on.
Stripping down Appfuse and hopefully making some kind of Groovy- based Model,
Service, Action, View generator.  More on that here:
http://www.nabble.com/RE%3A-Getting-ready-for-Struts-2.1.1-td17446803s2369.html#a17461105 .
I think the plan is good, but I haven't done as much as I need to yet

I'd skip this. If you want a better platform, use something that is a platform like Spring with their MVC. This was one of the big driving factors behind JCatpault and our shift from Struts to our own MVC.

* AJAX - Never been a fan of the Dojo tags -- DWR? Prototype/ Scriptaculous? JQuery? I used proto and scriptac for a while but I have moved to JQuery
recently.

I'd remove this completely as well. Folks should be able to add in their own templates and make their own AJAX integration. This would also mean simplifying the mess that is the current theme templates. Templates should also not support inheritance, just makes it worse. The template files need to be simple to create and replace. There shouldn't be complex logic in the template files. JCatapult uses template files and they are generally pretty simple and easy to tweak.


* Stable and public API to keep backward compatibility

Yeah, this is a must. Things are moving targets in the API. If it has the word public in it, it just can't change, period. I'd also drop XWork completely. Move the XWork code into Struts, clean it up and make it web centric, and drop all unnecessary extras. Struts is only for the web and everything should act that way. Generic code just makes it harder to work with.

* Portlets are still first class citizens?

No opinion.

-bp


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to