Go ahead with it, thanks for volunteering. musachy
On Mon, Aug 10, 2009 at 8:30 AM, Rene Gielen<rgie...@apache.org> wrote: > Still no objections so far. I would volunteer to help with IP clearance > > Musachy Barroso schrieb: >> Just to recap on this (no, I won't let this go stale ;) ), we have a >> consensus on using JQuery as the underlying framework for the ajax >> tags, and we agree that we could use this project. Is there any >> objection against starting the IP clearance process, any volunteers to >> help with this? (assuming there are no objections) >> >> musachy >> >> On Wed, Jul 29, 2009 at 4:52 AM, Rene Gielen<gie...@it-neering.net> wrote: >>> First and foremost, I totally agree that we should avoid to have a >>> driven-by-excitement attitude on this topic, and develop a reasonable >>> consensus and plan. See further comments inline >>> >>> Martin Cooper schrieb: >>>> I'm here, and I've been following along. I just haven't had time to >>>> consolidate my thoughts until now. >>>> >>>> First of all, I hope everyone recognises that it's by no means my call; >>>> it's >>>> the team's call. >>>> >>>> The subject of Ajax tags in Struts 2 has been hotly discussed over a >>>> period >>>> of years. At different points in time, different bases for such tags have >>>> been the hot favourite, from custom code through Dojo to jQuery, with a >>>> few >>>> other stops in between. Some of the work has happened here and some has >>>> happened elsewhere. >>>> >>> As far as I recall, the main discussions were: >>> >>> - as we have a Dojo 0.4 integration, can we migrate to 0.9 (at that time)? >>> Turned out to be that that would be more sort of a rewrite than a migration, >>> and nobody was stepping up to do this - not only for limited resources, but >>> also for technical doubts about the framework regarding it's API stability, >>> performance, programming model and adoption rate. >>> >>> - Could AJAX framework x be integrated? Every once in a while, this question >>> arose, and the most mentioned candidates for x were Prototype and jQuery >>> AFAIR >>> >>> - Closely related to the former question: If we add support for another n >>> AJAX frameworks, would we want to to design an abstract API to have the same >>> tags with an easy to switch implementation done with user's AJAX framwork of >>> choice? Although I once was a firm supporter of this idea, it turned out to >>> be hard to realise because the frameworks extremely differ in their >>> architectures and programming models. >>> IMO, there are basically two feasible ways to go: define a base tag api and >>> components, that every AJAX tags plugin is required to implement (along with >>> consistent core attribute naming and behaviour). On top of that, allow the >>> plugins to have their special feature stuff - similar to JSF in that case. >>> The other way to go could be: If the user decides to go with strut2-[AJAX >>> framework x]-plugin, he will most likely not switch to framework y during >>> the lifetime of his project, so just develop plugin x and y independently to >>> fit best the underlying framework's architecture and capabilities. >>> >>> Again, that's what I recall from the last years - anybody feel free to chime >>> in and add, correct or discuss. >>> >>>> From my perspective, it is critical, in adopting any set of Ajax tags as a >>>> baked-in part of Struts, that we, as a team, are fully convinced (a) that >>>> the underlying toolkit is not just the flavour of the month and will last >>>> for years to come, and (b) that we have a sufficient body of developers >>>> committed to making it work today and keeping it working years from now. >>>> And >>>> I do mean years here. Certainly the world will change, and the world of >>>> highly interactive web apps will change. But think about this: Struts 1 >>>> was >>>> first released 9 (nine) years ago, and many thousands of web apps that >>>> were >>>> built on it are still running, and being maintained, today. I'm sure we >>>> would all like to have that level of success, and longevity, with Struts >>>> 2. >>>> It takes commitment, though. >>>> >>> Totally agree. As for the flavour of the month aspect, I would add that >>> jQuery should IMO be considered to have overcome this stage. >>> >>>> I do take issue with a few statements that have been made in this thread >>>> about Ajax toolkits. Rene said that we can consider Dojo "the biggest >>>> loser". Can we really consider a toolkit that has seen corporate adoption >>>> from the likes of IBM, Sun, AOL, Google, Nexaweb, and numerous others, >>>> "the >>>> biggest loser"? Some people here may not like to work with it, but Dojo is >>>> one of the biggest success stories in the Ajax world. That's not to say >>>> that >>>> jQuery has not had its successes - and, as Wes points out, has seen >>>> adoption >>>> by Microsoft - but jQuery is still a long way from "the" Ajax framework >>>> that >>>> Rene asserts. >>>> >>> OK, let me clarify here. I regard Dojo as the biggest loser not because it's >>> generally bad or not adopted. It's because of the mismatch between claims >>> and reality here. If you look at the Dojo supporting committee, it looks >>> like a who is who dictionary. Just to mention a few: IBM, Sun, BEA, Redhat >>> or Zend. But what was the outcome? One would expect that with such a huge >>> supporting group, the progress should be fast and the documentation should >>> be good. Actually, the development towards something regarded as stable took >>> ages, and the documentation was extremely poor (which may have changes >>> nowadays). The line ending in 0.4 line was around for one or two years >>> AFAIR, when it was decided that the framework has to undergo a major >>> refactoring towards the 0.9 line, which was not compatible with 0.4 any >>> more. Many early adopters were facing the fact that moving to 0.9 would be >>> as painful as reevaluating the other frameworks now around and possibly >>> switch to one of these, and a lot of them did so. Although Dojo was one of >>> the first movers to provide an AJAX framwork, they turned out to be one of >>> the latest to declare a stable release. >>> >>> I totally respect that having an 0.x release usually indicates that the API >>> is likely to change, but I would expect to have a reasonable timeframe then >>> for early adopters to get a maintainable production quality release - >>> especially for a project not only with this many contributors, but also with >>> contributors getting paid for their work as their employer sees the >>> framework as a strategic product. Actually the development of Dojo started >>> in 2004-2005, and the 1.0 release was in late 2007. By this time, jQuery 1.2 >>> and Prototype 1.5.1 were already released. Given the claim and the >>> impressive supporter list of Dojo, this is what I call being a big loser. >>> >>> As for adoption, although far from representative, here are two interesting >>> links comparing a couple of JS frameworks: >>> >>> http://royal.pingdom.com/2008/06/11/javascript-framework-usage-among-top-websites/ >>> http://www.kylehayes.info/2009/03/29/survey-results-javascript-frameworks/ >>> >>> For me it looks like, in spite of the good intentions of an impressive >>> committee, the users have voted with their feet. Dojo's actual relevance is >>> quite poor, and that's the second reason why I call it a loser (again, >>> compared to it's claims). IMO Dojo is a great example that >>> design-by-committee can have it's downsides... >>> >>>> That said, the above is not an argument against the adoption of jQuery as >>>> the basis for Struts 2 Ajax tags. It's merely my attempt to bring us down >>>> to >>>> earth a little bit in our enthusiasm to jump on jQuery and ditch Dojo. >>>> Each >>>> has its merits, as do other alternatives. >>>> >>> As for ditching Dojo: Actually, we already did when we put it into >>> maintainance mode. In respect to what state Dojo has now, I would not say we >>> really do have a Dojo plugin - we do have an AJAX-features tags plugin based >>> on an early Dojo version. Of course we need to keep it for backwards >>> compatibility. >>> >>>> So, assuming the general concensus is to move forward with integration of >>>> Johannes' tags, what are the next steps? >>>> >>>> 1) Musachy hit the nail on the head when he said "I would like for us to >>>> define some strategy for this". It's crucial that we define, up front, >>>> where >>>> we want to go with this. What should the Ajax tags include? What should >>>> they >>>> specifically _not_ include, which is at least as important? Do we still >>>> believe that what we want is a set of simple tags and nothing more? If >>>> not, >>>> why not? How much coupling - that is, loose or tight - do we want to live >>>> with? It would be great to see some (more) discussion of this kind of >>>> thing >>>> up front, and perhaps the concensus documented on the wiki for all to see >>>> (and abide by). >>>> >>>> 2) Once we've agreed on the major points from #1 above, we can take a >>>> clear-headed look at what Johannes has done and assess how well it meets >>>> those needs. What would need to be added? What should be removed, to keep >>>> it >>>> streamlined to our objectives? We should be sure that we're not jumping on >>>> the "cool" factor, and have something that forms the basis for our needs. >>>> >>> Agree, and great to see that Musachy already set up a Wiki page for that. >>> But we should also incorporate and respect the S2 users' view the best way >>> possible. Now that Johannes' plugin is out, it will get hard to keep things >>> "under control", given the assumption that we will have a lot of S2 users >>> starting to adopt the plugin very soon. Our timeframe to canalize this is >>> IMO quite short. What I suggest is that, given that we would have a >>> consensus to incorporate a first class citizen plugin based on Johannes work >>> backed by our first impressions of the plugins' code and functional quality, >>> we should move it to sandbox even before we start major architectural >>> discussion and detailed planning. That would have the following, IMO >>> important, effects: >>> >>> - provide an early and clean integration point from a build management / >>> Maven perspective for early adopters >>> >>> - we would clearly signal that although the original work is declared 1.0, >>> users should not directly use it but rather use the sandbox project, with >>> clearly stating that they have to see themselves as early adopters of a >>> moving target >>> >>> - incorporate early adopters' feedback soon and canalized via the Struts >>> lists >>> >>> Nevertheless, this would assume that we manage to find a solution for >>> Martin's point 4) below. >>> >>> A side note regarding architecture: We should have a close look to the new >>> JSF 2.0 versioned resource management system which was especially designed >>> to integrate cleanly separated versions of the JS frameworks the JSF >>> implementors want to provide and to overcome problems in managed >>> environments such as Portals. We had big troubles with Dojo in that aspect, >>> and we should try to do better for the plugins to come. >>> >>>> 3) If we're going to bring Johannes' code into Struts itself, we need an >>>> iCLA, and personally I would prefer to see us use the IP Clearance process >>>> to make sure we're all squared away. Johannes' iCLA is on file already. >>>> The >>>> IP Clearance process is intended to be straightforward and quick, so it >>>> should not be an issue. >>>> >>>> 4) Musachy does raise an excellent question regarding commit rights and >>>> the >>>> sandbox. We have not hit this exact case before. Obviously we'll need to >>>> figure this one out. >>>> >>>> One final point: I recognise and understand the enthusiasm that's behind >>>> the >>>> "let's get it in here now!" sentiment, but really, we're not in a huge big >>>> hurry. Let's take the time we need to think through where we want to take >>>> this, before we head of down the road with it. A week or two here or there >>>> won't make any difference in the long run, but poor decisions will. >>>> >>> [snip] >>> >>> A week or two (or even three or four :-) ) is fine, but we should have in >>> mind that things can get out of our hands soon if the progress is lazier >>> than that. That being said, I totally agree with Martin's point here. >>> >>> - Rene >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org >>> For additional commands, e-mail: dev-h...@struts.apache.org >>> >>> >> >> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org > For additional commands, e-mail: dev-h...@struts.apache.org > > -- "Hey you! Would you help me to carry the stone?" Pink Floyd --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org For additional commands, e-mail: dev-h...@struts.apache.org