I haven't looked at tapestry-cometd as I want to come up with a fresh,
unhindered approach. Or perhaps we should just look to adopt the code into
tapestry-core?


On Mon, Apr 8, 2013 at 8:23 PM, Taha Hafeez Siddiqi <
tawus.tapes...@gmail.com> wrote:

> Agree with Bob as far as chat applications are concerned.
>
> I recently worked on a cometd-tapestry chat application and I was doing a
> lot more in javascript than in tapestry although I did integrate
> tapestry-security and tapestry-ioc which made the job a lot easier.
>
> BTW, there is already a tapestry-cometd module by Lance.
>
> regards
> Taha
>
> On 09-Apr-2013, at 7:13 AM, Bob Harner <bobhar...@gmail.com> wrote:
>
> > Doesn't the switch to ETags for modules make for much chattier web apps,
> > with lots more "conditional GET" requests for JS modules coming in after
> > every page request?
> >
> > In any case, good riddance to the application version numbers.
> >
> > On Mon, Apr 8, 2013 at 9:10 PM, Howard Lewis Ship <hls...@gmail.com>
> wrote:
> >
> >> With the ETag support in place, there's no longer any need for the
> module
> >> asset URLs to have a checksum or version number; they are no longer
> given a
> >> far-future expires header.
> >>
> >> URLs (by default) look like "/modules/t5/core/dom.js" (where the module
> >> name is t5/core/dom).
> >>
> >> The application version number is no longer used in any URLs; it now
> exists
> >> just for documentation purposes (its written to the console at startup
> and
> >> in the exception report). This is good news, because you could screw
> >> yourself by deploying your application and NOT changing the version
> number
> >> (in 5.3.6).
> >>
> >> Very happy about this ... next up, thoughts on cometd/server-push
> support?
> >>
> >>
> >>
> >> On Tue, Mar 12, 2013 at 11:09 AM, Howard Lewis Ship <hls...@gmail.com
> >>> wrote:
> >>
> >>>
> >>>
> >>> On Tue, Mar 12, 2013 at 5:37 AM, Dmitry Gusev <dmitry.gu...@gmail.com
> >>> wrote:
> >>>
> >>>> On Tue, Mar 12, 2013 at 12:35 AM, Howard Lewis Ship <hls...@gmail.com
> >>>>> wrote:
> >>>>
> >>>>> I've been working, a few hours a week, on getting per-asset checksums
> >>>> into
> >>>>> URLs.
> >>>>>
> >>>>> Some parts of this have been a challenge to accomplish without
> >>>> completely
> >>>>> breaking the Asset interface and a bunch of public services.
> >>>>>
> >>>>> For ordinary assets, it's pretty easy ... but for aggregated
> >> JavaScript
> >>>>> libraries its been a pain that's affected a bunch of stuff.
> >>>>>
> >>>>> CSS files are now rewritten, since relative URLs will be broken by
> the
> >>>>> addition of the checksum. I have a first (but not final) pass at
> this,
> >>>>
> >>>> where url() patterns in the CSS are converted into complete paths.
> This
> >>>>> also opens the door to CSS aggregation as well as JavaScript
> >>>> aggregation.
> >>>>>
> >>>>>
> >>>> It depends on where you put the checksum.
> >>>> If you put it as a GET parameter - then no relative URLs will be
> broken.
> >>>>
> >>>> Have you read my blog post about Tapestry5 checksums in assets?
> >>>>
> >>>>
> >>
> http://dmitrygusev.blogspot.ru/2012/03/serving-tapestry5-assets-as-static.html
> >>>
> >>>
> >>> I'll read this shortly. I've generally assumed that URLs with query
> >>> parameters are less likely to be cached in the browser, or served
> >> properly
> >>> by intermediate (reverse proxy) servers, but I haven't done the
> research.
> >>>
> >>>
> >>>>
> >>>>
> >>>>> I still don't have a great solution for JavaScript modules;
> >>>> RequireJS/AMD
> >>>>> expect that there's a common root folder name (such as
> >>>> "/assets/modules/"),
> >>>>> and module "a/b" is simply "*root*/a/b.js". For individual modules,
> >> you
> >>>> can
> >>>>> write your own overrides.  In fact, Tapestry has to strip off the
> >> ".js'
> >>>>> part (which is hard-wired by RequireJS) because the actual
> server-side
> >>>>> resource could be CoffeeScript or some other language that compiles
> to
> >>>>> JavaScript.
> >>>>>
> >>>>> Short of iterating all server-side module files and writing a
> >> RequireJS
> >>>>> config for each one (mapping each name to a URL with an embedded
> >>>> checksum),
> >>>>> there isn't a great solution.  Alternately, something could iterate
> >> all
> >>>> the
> >>>>> server-side modules and built a composite checksum, but there are at
> >>>> least
> >>>>> a couple of virtual modules generated at runtime (and locale specific
> >>>> for
> >>>>> extra kicks).
> >>>>>
> >>>>> Modules may have to stay on the 5.3 approach: using the application
> >>>> version
> >>>>> number for everything.
> >>>>>
> >>>>> Finding the sweet spot where assets of all kinds (CSS, JavaScript
> >>>>> libraries, JavaScript modules, etc.) can be changed freely and the
> >> URLs
> >>>>> automatically reflect the actual content (that is, include a checksum
> >> of
> >>>>> that content) for ideal client-side caching ... may simply be out of
> >>>> reach.
> >>>>>
> >>>>> Perhaps for modules we should use an alternate approach based on
> >> ETags (
> >>>>> http://en.wikipedia.org/wiki/HTTP_ETag); in that situation, there
> >> would
> >>>>> not
> >>>>> need to be any version number of checksum in a module URL, but
> clients
> >>>>> would request the module content more often (and based on ETag, would
> >>>> often
> >>>>> get a 304 Not Modified).  I would prefer to see a URL that changes
> >> when
> >>>> the
> >>>>> content changes (which prevents the request entirely).
> >>>>>
> >>>>> --
> >>>>> 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
> >>>>>
> >>>>
> >>>>
> >>>>
> >>>> --
> >>>> Dmitry Gusev
> >>>>
> >>>> AnjLab Team
> >>>> http://anjlab.com
> >>>>
> >>>
> >>>
> >>>
> >>> --
> >>> 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
> >>>
> >>
> >>
> >>
> >> --
> >> 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: dev-unsubscr...@tapestry.apache.org
> For additional commands, e-mail: dev-h...@tapestry.apache.org
>
>


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

Reply via email to