Hi, Thanks for this detailed guidance.
We have one more question, What is the best way to start working on this subject : build a contribution to Tapestry or a start from a Tapestry 5 fork ? At the moment we have started working on a contribution and we will keep in mind these crucial goals : Goal #1: Backwards compatibility Goal #2: Documented Goal #3: Plugability / Extensibility / Overridablilty Sources will be available as soon as we have something to show to the community. Best Regards, Christophe Cordenier and Robin Komiwes. -----Message d'origine----- De : Howard Lewis Ship [mailto:[email protected]] Envoyé : jeudi 28 janvier 2010 20:16 À : Tapestry development Objet : Re: About TAP5-486 / Tapestry 5 JQuery Here's my thoughts about the direct challenges, plus other thoughts I've had on this subject. tapestry.js defines a Tapestry namespace with key function properties for the standard stuff. Perhaps there's even a Tapestry.$ to replace the Prototype $ function. I would be open to naming this "T5" for succinctness, rather than Tapestry (with perhaps a Tapestry object that was a link to T5, for backwards compatibility). I think we could also split the current contents of tapestry.js into more and smaller files (with the expectation of recombining them as part of Javascript Aggregation). In addition to tapestry.js, you would include either tapestry-prototype-adapter.js (plus prototype.js and scriptaculous.js) OR tapestry-jquery-adapter.js (plus jquery.js). There are still many hurdles to this; much of the code in tapestry.js is based on Prototype Classes, which causes some issues with being library agnostic (not insurmountable) but also reflects my relative inexperience with modern JavaScript (circa 2006, 2007). It's a bit of coding Java in JavaScript, rather than embracing JavaScript as its own beast. Nowadays I do much, much, much more with functional closures, and less with classes, and that should be more fully embraced. In addition, as I've worked with clients to extend and override how Tapestry's client side code operates, I've realized I should be doing much more with events and less with specific objects. My vision for where tapestry.js goes in the future would be smaller handlers that often just fire additional events; a cascade of events that eventually results in server-side requests. In addition, there's the desire to make certain parts more pluggable, such as how input fields are decorated (the popup bubbles). Some love 'em, many hate 'em, it should be possible to override this (perhaps by providing an alternate JS file and a ApplicationDefaults override). Goal #1: Backwards compatibility Goal #2: Documented Goal #3: Plugability / Extensibility / Overridablilty May be time to print out tapestry.js and start looking for ways to accomplish these things (when I get back to Portland; I'm at a client site the rest of this week). On Thu, Jan 28, 2010 at 7:47 AM, Cordenier Christophe <[email protected]> wrote: > Hi, > > We are currently planning to work on integrating jQuery into Tapestry at our > company and share it with the community. > We would be very happy to contribute to the Tapestry 5 project. > > I would appreciate if you can give your vision of this kind of work, we have > started to work like this : > > - Define an 'agnostic' tapestry.js that contains pure javascript/json > declaration > - Develop a concrete implementation for jQuery technology > - Extend the clientInfrastructure to switch from one JS lib to other > > At the moment, we have only identified the problem related to this issue : > https://issues.apache.org/jira/browse/TAP5-994 > > Best Regards, > Robin Komiwes & Christophe Cordenier. > > > ________________________________ > > Ce message et les pi?ces jointes sont confidentiels et r?serv?s ? l'usage > exclusif de ses destinataires. Il peut ?galement ?tre prot?g? par le secret > professionnel. Si vous recevez ce message par erreur, merci d'en avertir > imm?diatement l'exp?diteur et de le d?truire. L'int?grit? du message ne > pouvant ?tre assur?e sur Internet, la responsabilit? du groupe Atos Origin ne > pourra ?tre recherch?e quant au contenu de ce message. Bien que les meilleurs > efforts soient faits pour maintenir cette transmission exempte de tout virus, > l'exp?diteur ne donne aucune garantie ? cet ?gard et sa responsabilit? ne > saurait ?tre recherch?e pour tout dommage r?sultant d'un virus transmis. > > This e-mail and the documents attached are confidential and intended solely > for the addressee; it may also be privileged. If you receive this e-mail in > error, please notify the sender immediately and destroy it. As its integrity > cannot be secured on the Internet, the Atos Origin group liability cannot be > triggered for the message content. Although the sender endeavours to maintain > a computer virus-free network, the sender does not warrant that this > transmission is virus-free and will not be liable for any damages resulting > from any virus transmitted. > -- Howard M. Lewis Ship Creator of Apache Tapestry The source for Tapestry training, mentoring and support. Contact me to learn how I can get you up and productive in Tapestry fast! (971) 678-5210 http://howardlewisship.com --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected] Ce message et les pièces jointes sont confidentiels et réservés à l'usage exclusif de ses destinataires. Il peut également être protégé par le secret professionnel. Si vous recevez ce message par erreur, merci d'en avertir immédiatement l'expéditeur et de le détruire. L'intégrité du message ne pouvant être assurée sur Internet, la responsabilité du groupe Atos Origin ne pourra être recherchée quant au contenu de ce message. Bien que les meilleurs efforts soient faits pour maintenir cette transmission exempte de tout virus, l'expéditeur ne donne aucune garantie à cet égard et sa responsabilité ne saurait être recherchée pour tout dommage résultant d'un virus transmis. This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it. As its integrity cannot be secured on the Internet, the Atos Origin group liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted. --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
