Great!

On a related subject, I've begun to push a tapestry5-jquery module on
Github. This library depends on tapestry5-clientresources, another new
module, which is basically a ClientInfrastructure service override in order
to make it contribuable. I used "AssetPathStack" objects to contribute to it
with stack of stylesheets or JS files.

http://github.com/got5/tapestry5-clientresources
http://github.com/got5/tapestry5-jquery

It's been made for Tapestry 5.1.0.5 as some of our clients need jQuery
integration for production and 5.2.0.0 is still not released.

Zone, Form Validation, Autocomplete, Datefield, Grid (in place),
AjaxFormLoop have already been coded in jQuery style.
I'll make an announce as soon as tapestry5-jquery has been tested on more
browsers.


On Mon, Apr 19, 2010 at 9:09 AM, Joachim Van der Auwera <[email protected]>wrote:

> Wow, great work.
>
> Does this also change the machinism for combining javascript files?
> Specifically limiting the url length when many files are combined (to wolve
> problems which can appear in IE)?
>
> Thanks for all your work on Tapestry.
>
> Kind regards,
> Joachim
>
>
> Howard Lewis Ship wrote:
>
>> I've been doing some pretty massive refactoring of asset aggregation,
>> to make it better, simpler and more secure.  These changes are in a
>> local branch of my laptop, but should show up in SVN pretty soon.
>>
>> Classpath assets are now only exposed beneath a
>> ClasspathAssetAliasManager mapping.  Every LibraryMapping contributed
>> to the ComponentClassResolver now creates an automatic contribution to
>> ClasspathAssetAliasMananger.
>>
>> The /assets/ URL is now a more regular form:
>> /assets/app-version/folder/path.  app-version is the application
>> version, then a folder (either a library name, "ctx", "stack", or
>> "app"), then extra path to identify the actual resource under the
>> virtual name.
>>
>> The old virtual asset system, the one that recorded a MIME string in
>> the file name, is gone. I'm working on its replacement, which pulls in
>> a stack.
>>
>> I've generalized ClientInfrastructure a bit, forming a new interface,
>> JavascriptStack.  JavascriptStack encapsulates a set of JS libraries,
>> related stylesheets and some optional extra JS initialization.
>>
>> When JS is aggregated, a single URL (ex:
>> /assets/app-version/stack/en/core.js) will pull down the combined JS
>> files.
>>
>> Context assets are made available, but WEB-INF, META-INF and *.tml are
>> expressly filtered out (i.e., 404).
>>
>> The end result is that the classpath is no longer wide open; only
>> resources in packages mapped as libraries (including the application
>> root package) will ever be visible, and most sensitive files will be
>> elsewhere.
>>
>> I'm pretty happy with how it is all coming out.
>>
>> The eventual goal will be to allow for multiple stacks; this will
>> allow, for example, a large library like Ext or YUI to download as a
>> single unit.
>>
>> Should have this in SVN tomorrow-ish.
>>
>>
>> --
>> 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]
>>
>>
>>
>
>
> --
> Joachim Van der Auwera
> PROGS bvba, progs.be
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

Reply via email to