You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Ernest Monklitch (JIRA)" <de...@tapestry.apache.org> on 2008/02/14 10:43:08 UTC

[jira] Created: (TAPESTRY-2159) Version bundled javascript

Version bundled javascript
--------------------------

                 Key: TAPESTRY-2159
                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2159
             Project: Tapestry
          Issue Type: Improvement
    Affects Versions: 5.0.10
         Environment: Any
            Reporter: Ernest Monklitch
             Fix For: 5.0.11


Jesse Kuhnert has already implemented this in T4. (Jira issue TAPESTRY-2122.)

Prevents client side errors that occur if user doesn't flush browser's cache between Tapestry upgrades. (And javascript has changed.)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


[jira] Updated: (TAPESTRY-2159) Version bundled javascript

Posted by "Howard M. Lewis Ship (JIRA)" <de...@tapestry.apache.org>.
     [ https://issues.apache.org/jira/browse/TAPESTRY-2159?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Howard M. Lewis Ship updated TAPESTRY-2159:
-------------------------------------------

    Fix Version/s:     (was: 5.0.11)
                   5.1

> Version bundled javascript
> --------------------------
>
>                 Key: TAPESTRY-2159
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2159
>             Project: Tapestry
>          Issue Type: Improvement
>    Affects Versions: 5.0.10
>         Environment: Any
>            Reporter: Ernest Monklitch
>             Fix For: 5.1
>
>
> Jesse Kuhnert has already implemented this in T4. (Jira issue TAPESTRY-2122.)
> Prevents client side errors that occur if user doesn't flush browser's cache between Tapestry upgrades. (And javascript has changed.)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


[jira] Commented: (TAPESTRY-2159) Version bundled javascript

Posted by "Filip S. Adamsen (JIRA)" <de...@tapestry.apache.org>.
    [ https://issues.apache.org/jira/browse/TAPESTRY-2159?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12572437#action_12572437 ] 

Filip S. Adamsen commented on TAPESTRY-2159:
--------------------------------------------

Davor's approach of adding the file's timestamp to the URL seems like it would work. And it's, as he points out, not invasive towards the developer.

So something like a ?ts=20080226124800 at the end if the file was last modified on February 26th, 2008 at 1:48:00 PM.

> Version bundled javascript
> --------------------------
>
>                 Key: TAPESTRY-2159
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2159
>             Project: Tapestry
>          Issue Type: Improvement
>    Affects Versions: 5.0.10
>         Environment: Any
>            Reporter: Ernest Monklitch
>             Fix For: 5.1
>
>
> Jesse Kuhnert has already implemented this in T4. (Jira issue TAPESTRY-2122.)
> Prevents client side errors that occur if user doesn't flush browser's cache between Tapestry upgrades. (And javascript has changed.)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


Re: [jira] Commented: (TAPESTRY-2159) Version bundled javascript

Posted by Davor Hrg <hr...@gmail.com>.
users will not have to download every time,
the point is here to have reliable css and js version

it least invasive for developer to extend asset service to
add timestamp to url (then tell browser to cache rigorously, without
IfModifiedSince) so
every time file changes browser will have different url and wont have
to even check for newer version.

On Tue, Feb 26, 2008 at 8:33 AM, Chris Lewis <bu...@gmail.com> wrote:
> I see how this can be a problem, but I don't want users to have to
>  download all css and all js on each request. I _want_ caching - most of
>  the time.
>
>  chris
>
>
>
>  Davor Hrg (JIRA) wrote:
>  >     [ https://issues.apache.org/jira/browse/TAPESTRY-2159?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12571720#action_12571720 ]
>  >
>  > Davor Hrg commented on TAPESTRY-2159:
>  > -------------------------------------
>  >
>  > Unfortunately, it is the only way make browser reload files.
>  >
>  > Firefox for example will stop asking server(If-Modified-Since) for changes if a .js file
>  > has not changed for a while.
>  >
>  > I've experienced this on large project on daily basis,
>  > so I've started to incorporate file timestamp into url
>  > to make sure it is reloaded on every change.
>  >
>  > it is even worse for .css files I have to clear cache manually often to get fresh css.
>  >
>  > adding timestamp to js url and css url is not invasive towards developer
>  > and is guaranteed to refresh every time :)
>  >
>  >
>  >
>  >
>  >
>  >> Version bundled javascript
>  >> --------------------------
>  >>
>  >>                 Key: TAPESTRY-2159
>  >>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2159
>  >>             Project: Tapestry
>  >>          Issue Type: Improvement
>  >>    Affects Versions: 5.0.10
>  >>         Environment: Any
>  >>            Reporter: Ernest Monklitch
>  >>             Fix For: 5.1
>  >>
>  >>
>  >> Jesse Kuhnert has already implemented this in T4. (Jira issue TAPESTRY-2122.)
>  >> Prevents client side errors that occur if user doesn't flush browser's cache between Tapestry upgrades. (And javascript has changed.)
>  >>
>  >
>  >
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


Re: [jira] Commented: (TAPESTRY-2159) Version bundled javascript

Posted by Chris Lewis <bu...@gmail.com>.
I see how this can be a problem, but I don't want users to have to
download all css and all js on each request. I _want_ caching - most of
the time.

chris

Davor Hrg (JIRA) wrote:
>     [ https://issues.apache.org/jira/browse/TAPESTRY-2159?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12571720#action_12571720 ] 
>
> Davor Hrg commented on TAPESTRY-2159:
> -------------------------------------
>
> Unfortunately, it is the only way make browser reload files.
>
> Firefox for example will stop asking server(If-Modified-Since) for changes if a .js file
> has not changed for a while.
>
> I've experienced this on large project on daily basis,
> so I've started to incorporate file timestamp into url
> to make sure it is reloaded on every change.
>
> it is even worse for .css files I have to clear cache manually often to get fresh css.
>
> adding timestamp to js url and css url is not invasive towards developer
> and is guaranteed to refresh every time :)
>
>
>
>
>   
>> Version bundled javascript
>> --------------------------
>>
>>                 Key: TAPESTRY-2159
>>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2159
>>             Project: Tapestry
>>          Issue Type: Improvement
>>    Affects Versions: 5.0.10
>>         Environment: Any
>>            Reporter: Ernest Monklitch
>>             Fix For: 5.1
>>
>>
>> Jesse Kuhnert has already implemented this in T4. (Jira issue TAPESTRY-2122.)
>> Prevents client side errors that occur if user doesn't flush browser's cache between Tapestry upgrades. (And javascript has changed.)
>>     
>
>   


[jira] Commented: (TAPESTRY-2159) Version bundled javascript

Posted by "Davor Hrg (JIRA)" <de...@tapestry.apache.org>.
    [ https://issues.apache.org/jira/browse/TAPESTRY-2159?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12571720#action_12571720 ] 

Davor Hrg commented on TAPESTRY-2159:
-------------------------------------

Unfortunately, it is the only way make browser reload files.

Firefox for example will stop asking server(If-Modified-Since) for changes if a .js file
has not changed for a while.

I've experienced this on large project on daily basis,
so I've started to incorporate file timestamp into url
to make sure it is reloaded on every change.

it is even worse for .css files I have to clear cache manually often to get fresh css.

adding timestamp to js url and css url is not invasive towards developer
and is guaranteed to refresh every time :)




> Version bundled javascript
> --------------------------
>
>                 Key: TAPESTRY-2159
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2159
>             Project: Tapestry
>          Issue Type: Improvement
>    Affects Versions: 5.0.10
>         Environment: Any
>            Reporter: Ernest Monklitch
>             Fix For: 5.1
>
>
> Jesse Kuhnert has already implemented this in T4. (Jira issue TAPESTRY-2122.)
> Prevents client side errors that occur if user doesn't flush browser's cache between Tapestry upgrades. (And javascript has changed.)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


[jira] Commented: (TAPESTRY-2159) YSlow Recommendation: Version bundled javascript and use far-future expires header

Posted by "Howard M. Lewis Ship (JIRA)" <de...@tapestry.apache.org>.
    [ https://issues.apache.org/jira/browse/TAPESTRY-2159?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12590723#action_12590723 ] 

Howard M. Lewis Ship commented on TAPESTRY-2159:
------------------------------------------------

I was resistent to this idea in the beginning since it makes URLs a bit longer, but I'm fully behind it now.

The question is, do we supply a real or "extended" expires date for the files in the folder?  Probably a fake one, and we need to document that any files packaged inside a JAR (such as a third party library) should also require a version number in the path.

> YSlow Recommendation: Version bundled javascript and use far-future expires header
> ----------------------------------------------------------------------------------
>
>                 Key: TAPESTRY-2159
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2159
>             Project: Tapestry
>          Issue Type: Improvement
>    Affects Versions: 5.0.10
>         Environment: Any
>            Reporter: Ernest Monklitch
>             Fix For: 5.1
>
>
> Jesse Kuhnert has already implemented this in T4. (Jira issue TAPESTRY-2122.)
> Prevents client side errors that occur if user doesn't flush browser's cache between Tapestry upgrades. (And javascript has changed.)
> See: http://developer.yahoo.com/performance/rules.html#expires
> This really applies to classpath resources.  Context resources can also be versioned and (via some kind of servlet container ju-ju) hack the expires header ... but that's an application development and deployment issue seperate from Tapestry.
> Part of this requires that the Tapestry release number be available and incorporated into the mapped path for the classpath asset.  See TAPESTRY-2231.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


[jira] Commented: (TAPESTRY-2159) Version bundled javascript

Posted by "Ernest Monklitch (JIRA)" <de...@tapestry.apache.org>.
    [ https://issues.apache.org/jira/browse/TAPESTRY-2159?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12572369#action_12572369 ] 

Ernest Monklitch commented on TAPESTRY-2159:
--------------------------------------------

Have seen same behavior, the js _should_ be updated by the browser but it isn't. I don't know how Jesse solved this issue, but sometimes when browsers have old version in local cache it can cause all sorts of problems. And, after that the support center gets angry calls, which in turn increases negative attitude towards the software amongst other bad things....

The different-url-per-version approach is the only that works for sure afaik.

I would estimate that the priority of this is quite low, but should be kept in the list. (Just my opinion, you may disagree ;) )

> Version bundled javascript
> --------------------------
>
>                 Key: TAPESTRY-2159
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2159
>             Project: Tapestry
>          Issue Type: Improvement
>    Affects Versions: 5.0.10
>         Environment: Any
>            Reporter: Ernest Monklitch
>             Fix For: 5.1
>
>
> Jesse Kuhnert has already implemented this in T4. (Jira issue TAPESTRY-2122.)
> Prevents client side errors that occur if user doesn't flush browser's cache between Tapestry upgrades. (And javascript has changed.)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


[jira] Updated: (TAPESTRY-2159) YSlow Recommendation: Version bundled javascript and use far-future expires header

Posted by "Howard M. Lewis Ship (JIRA)" <de...@tapestry.apache.org>.
     [ https://issues.apache.org/jira/browse/TAPESTRY-2159?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Howard M. Lewis Ship updated TAPESTRY-2159:
-------------------------------------------

    Description: 
Jesse Kuhnert has already implemented this in T4. (Jira issue TAPESTRY-2122.)

Prevents client side errors that occur if user doesn't flush browser's cache between Tapestry upgrades. (And javascript has changed.)

See: http://developer.yahoo.com/performance/rules.html#expires

This really applies to classpath resources.  Context resources can also be versioned and (via some kind of servlet container ju-ju) hack the expires header ... but that's an application development and deployment issue seperate from Tapestry.

Part of this requires that the Tapestry release number be available and incorporated into the mapped path for the classpath asset.  See TAPESTRY-2231.

  was:
Jesse Kuhnert has already implemented this in T4. (Jira issue TAPESTRY-2122.)

Prevents client side errors that occur if user doesn't flush browser's cache between Tapestry upgrades. (And javascript has changed.)

        Summary: YSlow Recommendation: Version bundled javascript and use far-future expires header  (was: Version bundled javascript)

> YSlow Recommendation: Version bundled javascript and use far-future expires header
> ----------------------------------------------------------------------------------
>
>                 Key: TAPESTRY-2159
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2159
>             Project: Tapestry
>          Issue Type: Improvement
>    Affects Versions: 5.0.10
>         Environment: Any
>            Reporter: Ernest Monklitch
>             Fix For: 5.1
>
>
> Jesse Kuhnert has already implemented this in T4. (Jira issue TAPESTRY-2122.)
> Prevents client side errors that occur if user doesn't flush browser's cache between Tapestry upgrades. (And javascript has changed.)
> See: http://developer.yahoo.com/performance/rules.html#expires
> This really applies to classpath resources.  Context resources can also be versioned and (via some kind of servlet container ju-ju) hack the expires header ... but that's an application development and deployment issue seperate from Tapestry.
> Part of this requires that the Tapestry release number be available and incorporated into the mapped path for the classpath asset.  See TAPESTRY-2231.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


[jira] Commented: (TAPESTRY-2159) Version bundled javascript

Posted by "Howard M. Lewis Ship (JIRA)" <de...@tapestry.apache.org>.
    [ https://issues.apache.org/jira/browse/TAPESTRY-2159?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12571666#action_12571666 ] 

Howard M. Lewis Ship commented on TAPESTRY-2159:
------------------------------------------------

How necessary is this?  Tapestry does the correct thing w.r.t. reporting time stamps, a new version of tapestry-core.jar will show updates to any of the JavaScript files 

> Version bundled javascript
> --------------------------
>
>                 Key: TAPESTRY-2159
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2159
>             Project: Tapestry
>          Issue Type: Improvement
>    Affects Versions: 5.0.10
>         Environment: Any
>            Reporter: Ernest Monklitch
>             Fix For: 5.1
>
>
> Jesse Kuhnert has already implemented this in T4. (Jira issue TAPESTRY-2122.)
> Prevents client side errors that occur if user doesn't flush browser's cache between Tapestry upgrades. (And javascript has changed.)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


[jira] Issue Comment Edited: (TAPESTRY-2159) Version bundled javascript

Posted by "Filip S. Adamsen (JIRA)" <de...@tapestry.apache.org>.
    [ https://issues.apache.org/jira/browse/TAPESTRY-2159?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12572437#action_12572437 ] 

fsa edited comment on TAPESTRY-2159 at 2/26/08 3:49 AM:
---------------------------------------------------------------------

Davor's approach of adding the file's timestamp to the URL seems like it would work. And it's, as he points out, not invasive towards the developer.

So something like a ?ts=20080226124800 at the end if the file was last modified on February 26th, 2008 at 1:48:00 PM.

The same would be useful for CSS files, by the way.

      was (Author: fsa):
    Davor's approach of adding the file's timestamp to the URL seems like it would work. And it's, as he points out, not invasive towards the developer.

So something like a ?ts=20080226124800 at the end if the file was last modified on February 26th, 2008 at 1:48:00 PM.
  
> Version bundled javascript
> --------------------------
>
>                 Key: TAPESTRY-2159
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2159
>             Project: Tapestry
>          Issue Type: Improvement
>    Affects Versions: 5.0.10
>         Environment: Any
>            Reporter: Ernest Monklitch
>             Fix For: 5.1
>
>
> Jesse Kuhnert has already implemented this in T4. (Jira issue TAPESTRY-2122.)
> Prevents client side errors that occur if user doesn't flush browser's cache between Tapestry upgrades. (And javascript has changed.)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


[jira] Closed: (TAPESTRY-2159) YSlow Recommendation: Version bundled javascript and use far-future expires header

Posted by "Howard M. Lewis Ship (JIRA)" <de...@tapestry.apache.org>.
     [ https://issues.apache.org/jira/browse/TAPESTRY-2159?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Howard M. Lewis Ship closed TAPESTRY-2159.
------------------------------------------

       Resolution: Fixed
    Fix Version/s:     (was: 5.1)
                   5.0.12
         Assignee: Howard M. Lewis Ship

This was bundled with some other changes.

> YSlow Recommendation: Version bundled javascript and use far-future expires header
> ----------------------------------------------------------------------------------
>
>                 Key: TAPESTRY-2159
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2159
>             Project: Tapestry
>          Issue Type: Improvement
>    Affects Versions: 5.0.10
>         Environment: Any
>            Reporter: Ernest Monklitch
>            Assignee: Howard M. Lewis Ship
>             Fix For: 5.0.12
>
>
> Jesse Kuhnert has already implemented this in T4. (Jira issue TAPESTRY-2122.)
> Prevents client side errors that occur if user doesn't flush browser's cache between Tapestry upgrades. (And javascript has changed.)
> See: http://developer.yahoo.com/performance/rules.html#expires
> This really applies to classpath resources.  Context resources can also be versioned and (via some kind of servlet container ju-ju) hack the expires header ... but that's an application development and deployment issue seperate from Tapestry.
> Part of this requires that the Tapestry release number be available and incorporated into the mapped path for the classpath asset.  See TAPESTRY-2231.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org