[jira] Created: (TAP5-997) Change URL for ioko-tapestry-commons

2010-01-29 Thread Ben Gidley (JIRA)
Change URL for ioko-tapestry-commons


 Key: TAP5-997
 URL: https://issues.apache.org/jira/browse/TAP5-997
 Project: Tapestry 5
  Issue Type: New Feature
  Components: documentation
Affects Versions: 5.0.19
Reporter: Ben Gidley


Hi,

Can you change the URL for ioko-tapestry-commons to http://tapestry.ioko.com/

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



[jira] Commented: (TAP5-874) Add t:secure to Form component

2009-10-05 Thread Ben Gidley (JIRA)

[ 
https://issues.apache.org/jira/browse/TAP5-874?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12762109#action_12762109
 ] 

Ben Gidley commented on TAP5-874:
-

Although this is a nice feature it is a security risk.

A man in the middle could change the posting path for the login form to their 
own site and harvest usernames/passwords. This doesn't mean it shouldn't be 
implemented but if it is the docs should warn about this risk. A site requiring 
strong security (e.g. banking/payments) shouldn't use this pattern. 

 Add t:secure to Form component
 --

 Key: TAP5-874
 URL: https://issues.apache.org/jira/browse/TAP5-874
 Project: Tapestry 5
  Issue Type: Improvement
  Components: tapestry-core
Affects Versions: 5.1.0.5
Reporter: Olle Hallin
Priority: Minor

 It would be nice if one could make a t:form post to SSL by specifying 
 t:secure=true on the form component.
 It is a quite common design pattern nowadays to have a login form on each 
 page. It is mostly not necessary however to access all pages via https.

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



[jira] Commented: (TAP5-840) Support character references in tml files with HTML 5 Doctype

2009-09-08 Thread Ben Gidley (JIRA)

[ 
https://issues.apache.org/jira/browse/TAP5-840?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12752412#action_12752412
 ] 

Ben Gidley commented on TAP5-840:
-

It does effect 5.1. Not sure about Trunk but I see no reason why it wouldn't.

 Support character references in tml files with HTML 5 Doctype
 -

 Key: TAP5-840
 URL: https://issues.apache.org/jira/browse/TAP5-840
 Project: Tapestry 5
  Issue Type: Improvement
  Components: tapestry-core
Affects Versions: 5.0.18
Reporter: Ben Gidley

 Currently to support HTML character references (e.g. copy;) you need to put 
 a HTML Doctype at the top of the TML file. 
 e.g. !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Strict//EN 
 http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd;
 However for HTML 5 they have stopped using XML doctypes and instead use
 !DOCTYPE html
 If you change tapestry page to use this you can no longer use entities as the 
 XML parser doesn't know what to do. 
 Ideally there should be some kind of logic that detects !DOCTYPE html and 
 include a suitable DTD to resolve the common HTML entities. The HTML 5 
 specification defines the allowed named character references - 
 http://dev.w3.org/html5/spec/Overview.html#named-character-references. There 
 doesn't seem to be a DTD of allowed references maintained anymore.

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



[jira] Created: (TAP5-840) Support character references in tml files with HTML 5 Doctype

2009-09-04 Thread Ben Gidley (JIRA)
Support character references in tml files with HTML 5 Doctype
-

 Key: TAP5-840
 URL: https://issues.apache.org/jira/browse/TAP5-840
 Project: Tapestry 5
  Issue Type: Improvement
  Components: tapestry-core
Affects Versions: 5.0.18
Reporter: Ben Gidley


Currently to support HTML character references (e.g. copy;) you need to put a 
HTML Doctype at the top of the TML file. 

e.g. !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Strict//EN 
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd;

However for HTML 5 they have stopped using XML doctypes and instead use
!DOCTYPE html

If you change tapestry page to use this you can no longer use entities as the 
XML parser doesn't know what to do. 

Ideally there should be some kind of logic that detects !DOCTYPE html and 
include a suitable DTD to resolve the common HTML entities. The HTML 5 
specification defines the allowed named character references - 
http://dev.w3.org/html5/spec/Overview.html#named-character-references. There 
doesn't seem to be a DTD of allowed references maintained anymore.


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



[jira] Commented: (TAP5-817) When sending muliple page requests very fast (using browser refresh button or pressing a link), for the first time a page is loaded, cause Tapestry to crash and become unr

2009-08-19 Thread Ben Gidley (JIRA)

[ 
https://issues.apache.org/jira/browse/TAP5-817?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12745153#action_12745153
 ] 

Ben Gidley commented on TAP5-817:
-

What setting have you set regarding page pool sizes and production mode?

 When sending muliple page requests very fast (using browser refresh button or 
 pressing a link), for the first time a page is loaded, cause Tapestry to 
 crash and become unresponsive.
 -

 Key: TAP5-817
 URL: https://issues.apache.org/jira/browse/TAP5-817
 Project: Tapestry 5
  Issue Type: Bug
  Components: tapestry-core
Affects Versions: 5.1.0.5
Reporter: Mario Luis Gomes Cavalcanti
Priority: Blocker

 When sending muliple page requests very fast (using browser refresh button or 
 pressing a link), for the first time a page is loaded, cause Tapestry to 
 crash and become unresponsive.
 Steps to reproduce:
 1: Have a very simple page containing just some text or a slow loading page 
 to make it easier to reproduce.
 2: Restart the web server so there are no pages in the memory.
 3: Send multiple requests for the page, very fast using the refresh button or 
 pressing a link multiple times.
 Result = Tapestry never returns the page and becomes unresponsive.
 The bug is happening to all the pages on my website, but only if the page has 
 not been previoulsy loaded, e.q, the page is not already in memory.
 For simple fast loading pages, you have to press the link/refresh button very 
 fast and many, many times. For slower loading pages it is easier to reproduce 
 the bug.
 I am running tapestry 5.10.5 on a Sun Web Server 7 on Windows XP.
 This is a very serious bug!!! I cant go to production with this bug.

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



[jira] Updated: (TAP5-769) JavaScript aggregation can be inefficient across multiple pages with different JS requirements

2009-07-17 Thread Ben Gidley (JIRA)

 [ 
https://issues.apache.org/jira/browse/TAP5-769?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ben Gidley updated TAP5-769:


Attachment: 0004-TAP-769.patch
0003-TAP-769.patch
0002-TAP-769.patch

Here is a patch that implements a solution for this. 

This changes the DocumentLinker and RenderSupportImpl so that scripts can be 
'grouped' prior to assembly into a single script.

The default behaviour now is to create one 'group' from the 
ClientInfrastructure stack and a second group from everything else.

This should address a good percentage of this problem raised in this issue. 

Further enhancements that could be made
* Add method to render support to users to create their own groups
* Add a contribution point (similar to that provided by 
http://tapestry.formos.com/projects/ioko-tapestry-commons/tapestry-javascript/) 
could be provided to allow inclusion of stacks on certain pages
* A further contribution to allow replacement for a stack rolled up javascript 
with a 'production' one e.g. from a CDN. 

This patch does not address this issue of the length of the filename for the 
'stack'. I can't see an easy, generic and cluster safe way to implement that 
(except via the contribution mentioned above)

 JavaScript aggregation can be inefficient across multiple pages with 
 different JS requirements
 --

 Key: TAP5-769
 URL: https://issues.apache.org/jira/browse/TAP5-769
 Project: Tapestry 5
  Issue Type: Bug
  Components: tapestry-core
Affects Versions: 5.1.0.5
Reporter: Andy Blower
 Attachments: 0002-TAP-769.patch, 0003-TAP-769.patch, 
 0004-TAP-769.patch


 I think Tapestry's JavaScript combination functionality is flawed. Each page 
  component specifies which JS files it needs, which means that JS can be 
 split into functional units (good for development  maintenance) and only the 
 JS that's actually needed for that page is added for the client to download. 
 The consequence of this is that pages can have lots of JS files to download, 
 all of which has to be downloaded before the page is loaded/rendered now that 
 the script link tags are enforced to be back in the head section. Our search 
 results page has 34 JS files for instance.
 Yahoo's YSlow tool recommends that these files are combined and minified, and 
 Tapestry includes functionality to do the first (minifying is on the TODO 
 list I believe) probably as a response to this recommendation which is good. 
 Unfortunately the implementation based on only having the JS files required 
 for a page means that the combined JS can easily be unique for most pages of 
 a site. This means that the client browser has to download  cache lots of 
 large JS multiple times (prototype, scriptaculous, tapestry etc) as part of 
 bigger combined files, which I think is probably worse than requesting them 
 separately, but only downloading stuff once and using that for all pages.
 To solve this issue, Tapestry script combination could combine all of the 
 scripts needed for the site, and not just the unique set for each page. That 
 way only a single JS file needs to be downloaded and cached by the client 
 browser. I'm aware that this may not be that easy given the existing way only 
 scripts needed for the page are put on it, so an alternative solution that 
 may be easier to implement would be to combine scripts into two files for 
 each page. The first file would contain all of the commonly Tapestry provided 
 JS such as prototype.js, scriptaculous.js, effects.js, tapestry.js, etc in 
 one file that's the same for every page, and have the rest in a second file 
 that is unique for the page but that is not likely to include very large JS 
 files, just many little ones.
 A second flaw that the combination has is that if an external JS file is 
 requested, script combination is aborted rather than just excluding the 
 external file from the combination.
 One other thing that surprised me about Tapestry's script combination is the 
 length of the generated filename, for example it's 919 characters long for a 
 page on our site.

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



[jira] Commented: (TAP5-769) Combination of JavaScript is flawed

2009-07-09 Thread Ben Gidley (JIRA)

[ 
https://issues.apache.org/jira/browse/TAP5-769?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12729241#action_12729241
 ] 

Ben Gidley commented on TAP5-769:
-

I agree with this problem but regarding the solution - I think if you are that 
concerned you have to put it into the common JS loaded on each page. (There is 
an service for this - clientInfrastructure). I have built a library to help 
with this in ioko-tapestry-commons. 

The solution you advocate would be ideal - but I can't see any way of achieving 
it. 

 Combination of JavaScript is flawed
 ---

 Key: TAP5-769
 URL: https://issues.apache.org/jira/browse/TAP5-769
 Project: Tapestry 5
  Issue Type: Bug
  Components: tapestry-core
Affects Versions: 5.1.0.5
Reporter: Andy Blower

 I think Tapestry's JavaScript combination functionality is flawed. Each page 
  component specifies which JS files it needs, which means that JS can be 
 split into functional units (good for development  maintenance) and only the 
 JS that's actually needed for that page is added for the client to download. 
 The consequence of this is that pages can have lots of JS files to download, 
 all of which has to be downloaded before the page is loaded/rendered now that 
 the script link tags are enforced to be back in the head section. Our search 
 results page has 34 JS files for instance.
 Yahoo's YSlow tool recommends that these files are combined and minified, and 
 Tapestry includes functionality to do the first (minifying is on the TODO 
 list I believe) probably as a response to this recommendation which is good. 
 Unfortunately the implementation based on only having the JS files required 
 for a page means that the combined JS can easily be unique for most pages of 
 a site. This means that the client browser has to download  cache lots of 
 large JS multiple times (prototype, scriptaculous, tapestry etc) as part of 
 bigger combined files, which I think is probably worse than requesting them 
 separately, but only downloading stuff once and using that for all pages.
 To solve this issue, Tapestry script combination could combine all of the 
 scripts needed for the site, and not just the unique set for each page. That 
 way only a single JS file needs to be downloaded and cached by the client 
 browser. I'm aware that this may not be that easy given the existing way only 
 scripts needed for the page are put on it, so an alternative solution that 
 may be easier to implement would be to combine scripts into two files for 
 each page. The first file would contain all of the commonly Tapestry provided 
 JS such as prototype.js, scriptaculous.js, effects.js, tapestry.js, etc in 
 one file that's the same for every page, and have the rest in a second file 
 that is unique for the page but that is not likely to include very large JS 
 files, just many little ones.
 A second flaw that the combination has is that if an external JS file is 
 requested, script combination is aborted rather than just excluding the 
 external file from the combination.
 One other thing that surprised me about Tapestry's script combination is the 
 length of the generated filename, for example it's 919 characters long for a 
 page on our site.

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



[jira] Created: (TAP5-756) Can you add ioko-tapestry-commons to the related projects list

2009-06-23 Thread Ben Gidley (JIRA)
Can you add ioko-tapestry-commons to the related projects list
--

 Key: TAP5-756
 URL: https://issues.apache.org/jira/browse/TAP5-756
 Project: Tapestry 5
  Issue Type: New Feature
  Components: documentation
Reporter: Ben Gidley


Can you add ioko-tapestry-commons to the related projects list - 
http://tapestry.formos.com/projects/ioko-tapestry-commons/

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



[jira] Created: (TAP5-750) Swf files as assets don't play in firefox due to being gziped

2009-06-12 Thread Ben Gidley (JIRA)
Swf files as assets don't play in firefox due to being gziped
-

 Key: TAP5-750
 URL: https://issues.apache.org/jira/browse/TAP5-750
 Project: Tapestry 5
  Issue Type: Bug
  Components: tapestry-core
Affects Versions: 5.1.0.5
Reporter: Ben Gidley


If you put a swf file as an asset on a page and then try and play that swf it 
won't play in firefox (other browsers IE, Opera, Safari are ok).

The precise symptoms are
* The SWF looks like it loads - but you just get the background colour and the 
main movie doesn't play
* If you right click on it you will get the flashright click menu
* If you right click and choose play it does play

If you move the movie to an near identical path (e.g. bsset/x/xxx.swf) it 
will play fine. 

Looking in wireshark the only difference is tapestry GZIP's the swf served as 
an asset this then stops firefox playing the movie.

If you turn GZIP off in tapestry the SWF plays again. 

Ideally tapestry should let you turn gzip on/off by mime type as well as 
globally. This would let you enable it for HTML, JS but not for binary objects 
where it is just a waste of CPU time. 

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



[jira] Commented: (TAP5-750) Swf files as assets don't play in firefox due to being gziped

2009-06-12 Thread Ben Gidley (JIRA)

[ 
https://issues.apache.org/jira/browse/TAP5-750?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12718850#action_12718850
 ] 

Ben Gidley commented on TAP5-750:
-

A project that demostrates this will (hopefully) shortly be uploaded to 
tapestry.formos.com - as it includes a swf loader with a test case. 

 Swf files as assets don't play in firefox due to being gziped
 -

 Key: TAP5-750
 URL: https://issues.apache.org/jira/browse/TAP5-750
 Project: Tapestry 5
  Issue Type: Bug
  Components: tapestry-core
Affects Versions: 5.1.0.5
Reporter: Ben Gidley

 If you put a swf file as an asset on a page and then try and play that swf it 
 won't play in firefox (other browsers IE, Opera, Safari are ok).
 The precise symptoms are
 * The SWF looks like it loads - but you just get the background colour and 
 the main movie doesn't play
 * If you right click on it you will get the flashright click menu
 * If you right click and choose play it does play
 If you move the movie to an near identical path (e.g. bsset/x/xxx.swf) it 
 will play fine. 
 Looking in wireshark the only difference is tapestry GZIP's the swf served as 
 an asset this then stops firefox playing the movie.
 If you turn GZIP off in tapestry the SWF plays again. 
 Ideally tapestry should let you turn gzip on/off by mime type as well as 
 globally. This would let you enable it for HTML, JS but not for binary 
 objects where it is just a waste of CPU time. 

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



[jira] Created: (TAP5-734) Tapestry tutorial documentation refers to old archtype command

2009-06-03 Thread Ben Gidley (JIRA)
Tapestry tutorial documentation refers to old archtype command
--

 Key: TAP5-734
 URL: https://issues.apache.org/jira/browse/TAP5-734
 Project: Tapestry 5
  Issue Type: Bug
  Components: documentation
Affects Versions: 5.1.0.5, 5.2
Reporter: Ben Gidley


The tapestry tutorial build instructions refer to the old archtype command

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



[jira] Updated: (TAP5-734) Tapestry tutorial documentation refers to old archtype command

2009-06-03 Thread Ben Gidley (JIRA)

 [ 
https://issues.apache.org/jira/browse/TAP5-734?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ben Gidley updated TAP5-734:


Attachment: 0001-Fixed-archetype-line.patch

Here is a corrected version of the file

 Tapestry tutorial documentation refers to old archtype command
 --

 Key: TAP5-734
 URL: https://issues.apache.org/jira/browse/TAP5-734
 Project: Tapestry 5
  Issue Type: Bug
  Components: documentation
Affects Versions: 5.2, 5.1.0.5
Reporter: Ben Gidley
 Attachments: 0001-Fixed-archetype-line.patch


 The tapestry tutorial build instructions refer to the old archtype command

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