+1 for anything that makes configuration easier

Don Brown wrote:
With the latest refactorings in XWork that allow plugins to provide
code that load Packages, I'd like to suggest that we make it a key
design feature of Struts 2.1 that Core includes no code labeled
"experimental".

Here is what I imagine it would entail:

1. Move the zero conf code (annotations and code from
ClasspathConfigurationProvider) into the codebehind plugin.

2. Move restful mapper into its own plugin

There are two main general advantages of this from a user perspective:
 1. Code from core can be fully trusted to be deemed of GA quality
 2. Using zero conf and restful features become easier

While the first one is pretty self-explanatory, the second makes sense
when you think about how plugins work.  Currently, to use the zero
conf or restful code, you have to have the right jars, config
settings, and follow poorly documented rules.  If, for example, the
restful code was its own plugin, you could drop the restful jar in and
it would configure your application with the appropriate settings
automatically - disable .action extension, enable slashes in action
names, set the restful mapper, etc.  Right now, it takes some voodoo
magic to get restful and zero conf working right (especially
together), even for me and I wrote most of it :(

By moving the zero conf code into the codebehind plugin, we also make
it easier to maintain, document, and use for developers.  Also, it
makes it easier for other plugins, like SmartURL, to provide an
alternate zero conf implementation.

A different, but related discussion, is how best to provide zero conf
in Struts 2, and honestly, I don't see a clear solution yet.  What is
in core now is ok, SmartURL improves things, but other parts I don't
like as much, so by putting them all on the same playing field, I'd
hope we encourage innovation.

Anyways, back to the main topic, I'd like to get all experimental code
out of core.  Any objections?

Don

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