Here's my list:

- Collapse XWork into Struts
- Rewrite XWork to be a servlet workflow engine and less abstract (i.e. remove thread locals and contexts)
- Fix nasty circular XWork injections and setter injections
- Generics
- Update all public APIs no matter how infrequently used and then hard API freeze until 4.0 (assuming all this work would be 3.0) - Rewrite tags with better support for writing new/custom tags inside apps and other frameworks
- Rewrite XWork container with Guice 2.0 (once released)
- Drop OGNL in favor of a UEL that supports type conversion (nothing does this really well quite yet) - Make actions easier to write (no getters/setters, support Groovy, support reloading)
- Make form prepare better and reusable across actions and results
- Support real code-behind that reuses actions to display and submit a form and distinguishes between GET and POST with no coding - Rewrite all docs top down to cover all configuration, usages, etc. including javadocs and online docs

How much is 1000 hours anyways? I think this is like a years worth of work or something. ;)

-bp



Jeromy Evans wrote:
It's been quiet lately so I thought I'd throw something out there.

If you could give 1000 hours to the Struts 2 project, what would you do?

I would like to it become the SOA framework of choice through :
- SEO-friendly URLs become the default and users never have to think about it again; - allow action methods to be bound to an http method and allow results to be easily bound to the result code and requested content type (as per REST plugin) - support content in the request (eg text/xml or text/json content-type), deserialize and set the model of the action (the reverse of the REST plugin) - allow actions to be pojos and delete ActionSupport (without losing implicit i18n and validation functionality)
- allow hot deployment & run-time management of actions (OSGi??)
- refactor UIBean & XWork component so there's only one model and one template per tag and they're easy to unit test (code-generate the wrappers/template models/taglibs) - action scope and component scope become first-class concepts (integrate the plugins) - add run-time developer tools; configuration browser becomes standard in developer mode and add a resource bundle browser - delete all ajax-like tags and funky tags; add standard interceptors & models to ease integration with the client-side libraries, groovy, grails, JSF, struts1 (and others?). tags move to plugin. - I don't have an opinion about portal support but I'm sure it's important

I think I ran out of hours already!

cheers,
Jeromy Evans

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



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

Reply via email to