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]