On 9/24/06, Don Brown <[EMAIL PROTECTED]> wrote:
From a solely framework developer standpoint, Struts 1 needs to be retired.
:) Oh no, not that again :) The highest purpose of an ASF project is not to simply produce a software artifact. Neither is our highest purpose to try and market software to as many stakeholders as possible. Our purpose is to *collaborate* on the building of software. To us, the community that builds the software is more important than the software itself. It doesn't matter how many stakeholders a product has, if there are not volunteers willing to help with the project, then, from an ASF perspective, the project is a failure. So long as there are at least three souls in this universe who are ready, willing, and able to collaborate on Struts 1 in the Apache Way, then it is the PMC's obligation to provide the infrastructure to make it so. We proved that during the Tomcat Wars, and AFAIK, the "Let Darwin decide" doctrine still stands. But, the key word is still collaborate, which should mean with *everyone* involved with the project. The question should be how can we improve Struts 1 and bring it closer to what our friends are doing with Struts 2? And, how else can we improve Struts 2 so that that it works better with Struts 1? Hopefully, we will all continue to look for ways to improve both codebases and continue to bring the configurations closer together. In Struts 2, we've been adding "missing" features, like wildcard mappings. Meanwhile, there are also several lessons the Struts 2 tags can learn from Struts 1. For example, here's the links each framework uses to change the locale S1: <li> <html:link action="/Locale?language=es">Español</html:link> </li> S2: <li> <s:url id="es" action="Hello"> <s:param name="request_locale">es</s:param> </s:url> <s:a href="%{es}">Español</s:a> </li> For Struts 1, the lesson here is that we should be able to change the locale without writing a custom action. For Struts 2, the lesson here is that we should be able to add a single parameter to a tag in a single line of code. Likewise, to localize an input field S1: <html:text key="message" /> S2: <s:text label="${getText(message)}" name="message" /> Here, Struts 2 should learn that tags should have "key" parameters for easy localization. Sure, these are isolated examples, but as more people port more applications, we are certain to find many more ways we can learn from each other, and colloborate on creating and maintaining the framework that we all want to use to build our own applicatios. -Ted. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]