* 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]