[jira] [Commented] (TAP5-2316) Support for message catalogs for JS modules
[ https://issues.apache.org/jira/browse/TAP5-2316?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13970514#comment-13970514 ] Jochen Kemnade commented on TAP5-2316: -- I think this in not entirely invalid. I wasn't aware of the possibility to contribute to the {{ComponentMessagesSource}} and indeed, that would solve a lot of the use-cases I can think of. However, if an application consists of different parts with different access restrictions, I don't want the messages that show up in one part of the application to be exposed to a user who isn't permitted to access that section. For example, I don't want regular users to see messages from the admin section. But I think I can solve that using virtual resources if you think this isn't something that Tapestry should be able to do out of the box. Support for message catalogs for JS modules --- Key: TAP5-2316 URL: https://issues.apache.org/jira/browse/TAP5-2316 Project: Tapestry 5 Issue Type: Improvement Components: tapestry-core Affects Versions: 5.4 Reporter: Jochen Kemnade Labels: i18n, javascript Content that is rendered in the client from JavaScript modules is quite hard to internationalize. Either you can manually create a messages JSON object and pass it to the client via data attributes or the init function or you can add all the strings to the core message catalog and require that. The latter is not possible for component libraries though as they do not have a message catalog. The former is not possible for utility modules that do not have an associated Java class. This could be solved by creating a virtual message module for every JavaScript module that has a corresponding .properties file next to it. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (TAP5-2236) It should be possible to determine when there are active Ajax requests
[ https://issues.apache.org/jira/browse/TAP5-2236?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13970551#comment-13970551 ] Jochen Kemnade commented on TAP5-2236: -- This is was fixed 0ef56e79b254bc730de04586236bbe7f1ea94b62 on 2013-11-25. It should be possible to determine when there are active Ajax requests -- Key: TAP5-2236 URL: https://issues.apache.org/jira/browse/TAP5-2236 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.4 Reporter: Howard M. Lewis Ship Labels: testing Often, for testing, it is necessary to know when an Ajax request has completed. This is currently accomplished via sleeps and such (in Tapestry's built-in test suite). For Ajax requests via the t5/core/dom:ajaxRequest API, Tapestry can track how many Ajax requests are active, and set an attribute on the body element to indicate if there are any active requests. The body attribute data-ajax-active will be true when there is at least one Ajax request and will revert to false when all requests have completed succesfully, or failed with an error or exception. This is similar to the data-page-initialized attribute; it is on the body element to make it easier to query it using CSS. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Created] (TAP5-2319) Add a streaming API to tapestry-json
Jochen Kemnade created TAP5-2319: Summary: Add a streaming API to tapestry-json Key: TAP5-2319 URL: https://issues.apache.org/jira/browse/TAP5-2319 Project: Tapestry 5 Issue Type: Improvement Components: tapestry-json Affects Versions: 5.4 Reporter: Jochen Kemnade tapestry-json should offer a streaming API. It should be possible to read a JSONObject/Array from a stream or Reader and output it to a stream or Writer. When working with large objects, it is often not desirable to have the whole JSON string in memory. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (TAP5-2201) Serious issue with assets and checksums - different for same file
[ https://issues.apache.org/jira/browse/TAP5-2201?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13970555#comment-13970555 ] Dragan Sahpaski commented on TAP5-2201: --- Thanks. Serious issue with assets and checksums - different for same file - Key: TAP5-2201 URL: https://issues.apache.org/jira/browse/TAP5-2201 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.4 Reporter: Magnus Kvalheim Assignee: Howard M. Lewis Ship Labels: 5.4.22 Attachments: bootstrap.server2.css, bootstrap.server3.css, server2.png, server3.png Hi everybody. Today we've launched a website based on 5.4. We're very exited about the upcoming release(5.4) and I'll post separately about our experiences (mostly great). Post release we've identified a potential serious issue related to assets and their checksums. What we see is that a handful of the assets generate different hashes for the same file. =Example: bootstrap.css= Server 1: /asset.gz/meta/92ffb14a/tapestry5/bootstrap_3_0_0/css/bootstrap.css Server 2: /asset.gz/meta/5787e482/tapestry5/bootstrap_3_0_0/css/bootstrap.css Server 3: /asset.gz/meta/f5e7c535/tapestry5/bootstrap_3_0_0/css/bootstrap.css Server 3 - restart: /asset.gz/meta/219ee41e/tapestry5/bootstrap_3_0_0/css/bootstrap.css We also see the same behaviour for the non gzip version of bootstrap.css. It is not only for /meta/ =JCarouselWrapper.css= /asset/app/f59da774/mixins/ui/JCarouselWrapper.css /asset/app/6ddc92ee/mixins/ui/JCarouselWrapper.css As you can see - we're load balanced with app served from several nodes. Normally I'd serve these through CloudFront on a cookieless domain (with tapestry as origin), but it's not possible as load balanced assets could hit 'wrong' server and get the 404 instead. So for now they are served through website domain with sticky sessions - and pray that it don't cause us problems... :) All are served with same web container: Apache Tomcat/7.0.39 JDK 1.7.0_11 -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (TAP5-2219) XML-Parsing broken if system encoding is not UTF-8
[ https://issues.apache.org/jira/browse/TAP5-2219?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13971383#comment-13971383 ] Jochen Kemnade commented on TAP5-2219: -- This is actually the same problem as in TAP5-1741. XML-Parsing broken if system encoding is not UTF-8 -- Key: TAP5-2219 URL: https://issues.apache.org/jira/browse/TAP5-2219 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.4 Environment: Windows (probably linux too but most systems run with utf-8) Reporter: Michael Wyraz Attachments: XMLTokenStreamTests.java Original Estimate: 0.5h Remaining Estimate: 0.5h Tapestry reads tml files in XMLTokenStream.openStream(), does some doctype magic and writes all the file content's into a ByteOutputStream. On T5.3 reading/writing was done using the system's caracter encoding. With T5.4 that was changed for the reader but not for the writer. This messes up all non-ascii characters if system encoding is not utf-8. Solution: Change PrintWriter writer = new PrintWriter(bos); To PrintWriter writer = new PrintWriter(new OutputStreamWriter(bos, UTF8)); in XMLTokenStream.openStream(). TODO: Unit test for XMLTokenStream (follows soon) -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Comment Edited] (TAP5-2219) XML-Parsing broken if system encoding is not UTF-8
[ https://issues.apache.org/jira/browse/TAP5-2219?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13971383#comment-13971383 ] Jochen Kemnade edited comment on TAP5-2219 at 4/16/14 1:12 PM: --- This is actually the same problem as in TAP5-1741 and TAP5-1778. was (Author: jkemnade): This is actually the same problem as in TAP5-1741. XML-Parsing broken if system encoding is not UTF-8 -- Key: TAP5-2219 URL: https://issues.apache.org/jira/browse/TAP5-2219 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.4 Environment: Windows (probably linux too but most systems run with utf-8) Reporter: Michael Wyraz Attachments: XMLTokenStreamTests.java Original Estimate: 0.5h Remaining Estimate: 0.5h Tapestry reads tml files in XMLTokenStream.openStream(), does some doctype magic and writes all the file content's into a ByteOutputStream. On T5.3 reading/writing was done using the system's caracter encoding. With T5.4 that was changed for the reader but not for the writer. This messes up all non-ascii characters if system encoding is not utf-8. Solution: Change PrintWriter writer = new PrintWriter(bos); To PrintWriter writer = new PrintWriter(new OutputStreamWriter(bos, UTF8)); in XMLTokenStream.openStream(). TODO: Unit test for XMLTokenStream (follows soon) -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Closed] (TAP5-2236) It should be possible to determine when there are active Ajax requests
[ https://issues.apache.org/jira/browse/TAP5-2236?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Howard M. Lewis Ship closed TAP5-2236. -- Resolution: Fixed Fix Version/s: 5.4 Assignee: Howard M. Lewis Ship It should be possible to determine when there are active Ajax requests -- Key: TAP5-2236 URL: https://issues.apache.org/jira/browse/TAP5-2236 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.4 Reporter: Howard M. Lewis Ship Assignee: Howard M. Lewis Ship Labels: testing Fix For: 5.4 Often, for testing, it is necessary to know when an Ajax request has completed. This is currently accomplished via sleeps and such (in Tapestry's built-in test suite). For Ajax requests via the t5/core/dom:ajaxRequest API, Tapestry can track how many Ajax requests are active, and set an attribute on the body element to indicate if there are any active requests. The body attribute data-ajax-active will be true when there is at least one Ajax request and will revert to false when all requests have completed succesfully, or failed with an error or exception. This is similar to the data-page-initialized attribute; it is on the body element to make it easier to query it using CSS. -- This message was sent by Atlassian JIRA (v6.2#6252)
[1/3] git commit: TAP5-2201: Mark all image/* content types as non-compressable
Repository: tapestry-5 Updated Branches: refs/heads/master 24534b3dd - 401b29e73 TAP5-2201: Mark all image/* content types as non-compressable Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/39d9aba1 Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/39d9aba1 Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/39d9aba1 Branch: refs/heads/master Commit: 39d9aba1e161f3a50c0531a58256c11723123961 Parents: 24534b3 Author: Howard M. Lewis Ship hls...@apache.org Authored: Tue Apr 15 15:21:20 2014 -0700 Committer: Howard M. Lewis Ship hls...@apache.org Committed: Tue Apr 15 15:21:20 2014 -0700 -- .../assets/CompressionAnalyzerImpl.java | 14 ++- .../apache/tapestry5/modules/AssetsModule.java | 6 +-- .../services/assets/CompressionAnalyzer.java| 13 --- .../assets/CompressionAnalyzerImplTests.groovy | 41 4 files changed, 61 insertions(+), 13 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/39d9aba1/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/CompressionAnalyzerImpl.java -- diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/CompressionAnalyzerImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/CompressionAnalyzerImpl.java index 66b1fe0..bca9404 100644 --- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/CompressionAnalyzerImpl.java +++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/CompressionAnalyzerImpl.java @@ -1,5 +1,3 @@ -// Copyright 2011 The Apache Software Foundation -// // Licensed under the Apache License, Version 2.0 (the License); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at @@ -37,6 +35,18 @@ public class CompressionAnalyzerImpl implements CompressionAnalyzer Boolean result = configuration.get(key); +if (result != null) { +return result.booleanValue(); +} + +// Now look for a wild card. + +x = contentType.indexOf('/'); + +String wildKey = contentType.substring(0, x) + /*; + +result = configuration.get(wildKey); + return result == null ? true : result.booleanValue(); } } http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/39d9aba1/tapestry-core/src/main/java/org/apache/tapestry5/modules/AssetsModule.java -- diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/modules/AssetsModule.java b/tapestry-core/src/main/java/org/apache/tapestry5/modules/AssetsModule.java index 90190b1..a97683d 100644 --- a/tapestry-core/src/main/java/org/apache/tapestry5/modules/AssetsModule.java +++ b/tapestry-core/src/main/java/org/apache/tapestry5/modules/AssetsModule.java @@ -1,5 +1,3 @@ -// Copyright 2011, 2012, 2013 The Apache Software Foundation -// // Licensed under the Apache License, Version 2.0 (the License); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at @@ -196,9 +194,7 @@ public class AssetsModule @Contribute(CompressionAnalyzer.class) public void disableCompressionForImageTypes(MappedConfigurationString, Boolean configuration) { -configuration.add(image/jpeg, false); -configuration.add(image/gif, false); -configuration.add(image/png, false); +configuration.add(image/*, false); configuration.add(application/x-shockwave-flash, false); configuration.add(application/font-woff, false); configuration.add(application/x-font-ttf, false); http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/39d9aba1/tapestry-core/src/main/java/org/apache/tapestry5/services/assets/CompressionAnalyzer.java -- diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/assets/CompressionAnalyzer.java b/tapestry-core/src/main/java/org/apache/tapestry5/services/assets/CompressionAnalyzer.java index 41f54d8..4f060ff 100644 --- a/tapestry-core/src/main/java/org/apache/tapestry5/services/assets/CompressionAnalyzer.java +++ b/tapestry-core/src/main/java/org/apache/tapestry5/services/assets/CompressionAnalyzer.java @@ -1,5 +1,3 @@ -// Copyright 2011 The Apache Software Foundation -// // Licensed under the Apache License, Version 2.0 (the License); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at @@ -19,9 +17,12 @@ import org.apache.tapestry5.ioc.annotations.UsesMappedConfiguration; /** *
[2/3] git commit: TAP5-2306: Identify templates that should use strict mixin parameters
TAP5-2306: Identify templates that should use strict mixin parameters Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/1f0c7464 Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/1f0c7464 Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/1f0c7464 Branch: refs/heads/master Commit: 1f0c7464c80e415a19825c612ca6b8139db6ba1e Parents: 39d9aba Author: Howard M. Lewis Ship hls...@apache.org Authored: Tue Apr 15 16:13:03 2014 -0700 Committer: Howard M. Lewis Ship hls...@apache.org Committed: Tue Apr 15 16:13:03 2014 -0700 -- .../internal/parser/ComponentTemplate.java | 13 ++-- .../internal/parser/ComponentTemplateImpl.java | 31 ++-- .../services/ComponentTemplateSourceImpl.java | 7 +++-- .../internal/services/SaxTemplateParser.java| 30 +-- .../ComponentTemplateSourceImplTest.java| 4 --- .../services/TemplateParserImplTest.java| 10 +-- .../internal/services/instrumented_element.tml | 2 +- 7 files changed, 68 insertions(+), 29 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/1f0c7464/tapestry-core/src/main/java/org/apache/tapestry5/internal/parser/ComponentTemplate.java -- diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/parser/ComponentTemplate.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/parser/ComponentTemplate.java index a016614..704da05 100644 --- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/parser/ComponentTemplate.java +++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/parser/ComponentTemplate.java @@ -1,5 +1,3 @@ -// Copyright 2006, 2008, 2009 The Apache Software Foundation -// // Licensed under the Apache License, Version 2.0 (the License); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at @@ -38,6 +36,17 @@ public interface ComponentTemplate boolean isExtension(); /** + * Indicates whether lax (the old default) or strict (the new default) mixin parameters are used. + * In strict mode, introduced with the 5.4 template DTD, mixin parameters must be qualified with the mixin name. + * In prior releases, Tapestry would attempt a search for a fit, and this causes ambiguities + * that can't be addressed. + * + * @since 5.4 + * @return true if a 5.4 or later DTD + */ +boolean usesStrictMixinParameters(); + +/** * Returns a list of tokens associated with an extension point, or null if this template neither defines the * extension point nor overrides it. * http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/1f0c7464/tapestry-core/src/main/java/org/apache/tapestry5/internal/parser/ComponentTemplateImpl.java -- diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/parser/ComponentTemplateImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/parser/ComponentTemplateImpl.java index efc4aff..318da4c 100644 --- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/parser/ComponentTemplateImpl.java +++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/parser/ComponentTemplateImpl.java @@ -1,5 +1,3 @@ -// Copyright 2006, 2008, 2009 The Apache Software Foundation -// // Licensed under the Apache License, Version 2.0 (the License); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at @@ -17,12 +15,13 @@ package org.apache.tapestry5.internal.parser; import org.apache.tapestry5.ioc.Location; import org.apache.tapestry5.ioc.Resource; import org.apache.tapestry5.ioc.internal.util.CollectionFactory; -import static org.apache.tapestry5.ioc.internal.util.CollectionFactory.newList; import org.apache.tapestry5.ioc.internal.util.InternalUtils; import java.util.List; import java.util.Map; +import static org.apache.tapestry5.ioc.internal.util.CollectionFactory.newList; + public class ComponentTemplateImpl implements ComponentTemplate { private final Resource resource; @@ -31,23 +30,32 @@ public class ComponentTemplateImpl implements ComponentTemplate private final MapString, Location componentIds; -private final boolean extension; +private final boolean extension, strictMixinParameters; private final MapString, ListTemplateToken overrides; /** - * @param resource the resource from which the template was parsed - * @param tokens the tokens of the template, a copy of this list will be made - * @param componentIds ids of components defined in the template + * @param
[3/3] git commit: TAP5-2306: Change the logic to not create aliases for mixin parameters when the template is strict
TAP5-2306: Change the logic to not create aliases for mixin parameters when the template is strict Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/401b29e7 Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/401b29e7 Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/401b29e7 Branch: refs/heads/master Commit: 401b29e7356a150059f96f7dc18a30d7d9a86291 Parents: 1f0c746 Author: Howard M. Lewis Ship hls...@apache.org Authored: Wed Apr 16 09:46:59 2014 -0700 Committer: Howard M. Lewis Ship hls...@apache.org Committed: Wed Apr 16 09:46:59 2014 -0700 -- .../internal/pageload/AssemblerContext.java | 8 ++- .../pageload/ComponentAssemblerImpl.java| 14 ++--- .../EmbeddedComponentAssemblerImpl.java | 58 +--- .../internal/pageload/PageLoaderImpl.java | 6 +- .../internal/services/SaxTemplateParser.java| 2 +- .../tapestry5/integration/app1/MiscTests.groovy | 22 .../tapestry5/integration/app1/pages/Index.java | 4 +- .../app1/pages/MixinParameters54.java | 20 +++ .../app1/pages/MixinParameters54.tml| 14 + 9 files changed, 112 insertions(+), 36 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/401b29e7/tapestry-core/src/main/java/org/apache/tapestry5/internal/pageload/AssemblerContext.java -- diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/pageload/AssemblerContext.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/pageload/AssemblerContext.java index 1ee3f29..705e1e0 100644 --- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/pageload/AssemblerContext.java +++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/pageload/AssemblerContext.java @@ -1,5 +1,3 @@ -// Copyright 2009 The Apache Software Foundation -// // Licensed under the Apache License, Version 2.0 (the License); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at @@ -34,12 +32,16 @@ class AssemblerContext implements TokenStream final TokenStream stream; +// Set based on the use of the 5.4 DTD (or better) in the template. +final boolean strictMixinParameters; + private final ListRenderCommand composable = CollectionFactory.newList(); -AssemblerContext(ComponentAssembler assembler, TokenStream stream) +AssemblerContext(ComponentAssembler assembler, TokenStream stream, boolean strictMixinParameters) { this.assembler = assembler; this.stream = stream; +this.strictMixinParameters = strictMixinParameters; } public boolean more() http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/401b29e7/tapestry-core/src/main/java/org/apache/tapestry5/internal/pageload/ComponentAssemblerImpl.java -- diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/pageload/ComponentAssemblerImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/pageload/ComponentAssemblerImpl.java index 5e952cd..dcfcb03 100644 --- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/pageload/ComponentAssemblerImpl.java +++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/pageload/ComponentAssemblerImpl.java @@ -1,5 +1,3 @@ -// Copyright 2009-2014 The Apache Software Foundation -// // Licensed under the Apache License, Version 2.0 (the License); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at @@ -54,13 +52,15 @@ class ComponentAssemblerImpl implements ComponentAssembler private final OperationTracker tracker; +private final boolean strictMixinParameters; + private MapString, String publishedParameterToEmbeddedId; private MapString, EmbeddedComponentAssembler embeddedIdToAssembler; public ComponentAssemblerImpl(ComponentAssemblerSource assemblerSource, ComponentInstantiatorSource instantiatorSource, ComponentClassResolver componentClassResolver, - Instantiator instantiator, ComponentPageElementResources resources, OperationTracker tracker) + Instantiator instantiator, ComponentPageElementResources resources, OperationTracker tracker, boolean strictMixinParameters) { this.assemblerSource = assemblerSource; this.instantiatorSource = instantiatorSource; @@ -68,6 +68,7 @@ class ComponentAssemblerImpl implements ComponentAssembler this.instantiator = instantiator; this.resources = resources; this.tracker = tracker; +
[jira] [Commented] (TAP5-2201) Serious issue with assets and checksums - different for same file
[ https://issues.apache.org/jira/browse/TAP5-2201?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13971633#comment-13971633 ] ASF subversion and git services commented on TAP5-2201: --- Commit 39d9aba1e161f3a50c0531a58256c11723123961 in tapestry-5's branch refs/heads/master from [~hlship] [ https://git-wip-us.apache.org/repos/asf?p=tapestry-5.git;h=39d9aba ] TAP5-2201: Mark all image/* content types as non-compressable Serious issue with assets and checksums - different for same file - Key: TAP5-2201 URL: https://issues.apache.org/jira/browse/TAP5-2201 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.4 Reporter: Magnus Kvalheim Assignee: Howard M. Lewis Ship Labels: 5.4.22 Attachments: bootstrap.server2.css, bootstrap.server3.css, server2.png, server3.png Hi everybody. Today we've launched a website based on 5.4. We're very exited about the upcoming release(5.4) and I'll post separately about our experiences (mostly great). Post release we've identified a potential serious issue related to assets and their checksums. What we see is that a handful of the assets generate different hashes for the same file. =Example: bootstrap.css= Server 1: /asset.gz/meta/92ffb14a/tapestry5/bootstrap_3_0_0/css/bootstrap.css Server 2: /asset.gz/meta/5787e482/tapestry5/bootstrap_3_0_0/css/bootstrap.css Server 3: /asset.gz/meta/f5e7c535/tapestry5/bootstrap_3_0_0/css/bootstrap.css Server 3 - restart: /asset.gz/meta/219ee41e/tapestry5/bootstrap_3_0_0/css/bootstrap.css We also see the same behaviour for the non gzip version of bootstrap.css. It is not only for /meta/ =JCarouselWrapper.css= /asset/app/f59da774/mixins/ui/JCarouselWrapper.css /asset/app/6ddc92ee/mixins/ui/JCarouselWrapper.css As you can see - we're load balanced with app served from several nodes. Normally I'd serve these through CloudFront on a cookieless domain (with tapestry as origin), but it's not possible as load balanced assets could hit 'wrong' server and get the 404 instead. So for now they are served through website domain with sticky sessions - and pray that it don't cause us problems... :) All are served with same web container: Apache Tomcat/7.0.39 JDK 1.7.0_11 -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (TAP5-2306) Mixin parameters should be qualified (with the new 5.4 DTD)
[ https://issues.apache.org/jira/browse/TAP5-2306?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13971635#comment-13971635 ] ASF subversion and git services commented on TAP5-2306: --- Commit 401b29e7356a150059f96f7dc18a30d7d9a86291 in tapestry-5's branch refs/heads/master from [~hlship] [ https://git-wip-us.apache.org/repos/asf?p=tapestry-5.git;h=401b29e ] TAP5-2306: Change the logic to not create aliases for mixin parameters when the template is strict Mixin parameters should be qualified (with the new 5.4 DTD) --- Key: TAP5-2306 URL: https://issues.apache.org/jira/browse/TAP5-2306 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.3, 5.4 Reporter: Howard M. Lewis Ship Assignee: Howard M. Lewis Ship Labels: parameters, template Fix For: 5.4 Tapestry's current behavior, with the 5.3 DTD (and the current 5.4 DTD) is that parameters are matched against any mixin, or the component, with a formal parameter. A problem exists when a mixin has a formal parameter and the component (or other mixin) supports informal parameters; the mixin will take the unqualified attribute as a parameter. I think a better solution would be to require that mixin parameter names be fully qualified, always. Of course, there's more ambiguity in the Component annotations's parameters parameter. I would suggest that parameters be added to the Mixin annotation, and it should be used inside a Mixins annotation. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (TAP5-2306) Mixin parameters should be qualified (with the new 5.4 DTD)
[ https://issues.apache.org/jira/browse/TAP5-2306?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13971634#comment-13971634 ] ASF subversion and git services commented on TAP5-2306: --- Commit 1f0c7464c80e415a19825c612ca6b8139db6ba1e in tapestry-5's branch refs/heads/master from [~hlship] [ https://git-wip-us.apache.org/repos/asf?p=tapestry-5.git;h=1f0c746 ] TAP5-2306: Identify templates that should use strict mixin parameters Mixin parameters should be qualified (with the new 5.4 DTD) --- Key: TAP5-2306 URL: https://issues.apache.org/jira/browse/TAP5-2306 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.3, 5.4 Reporter: Howard M. Lewis Ship Assignee: Howard M. Lewis Ship Labels: parameters, template Fix For: 5.4 Tapestry's current behavior, with the 5.3 DTD (and the current 5.4 DTD) is that parameters are matched against any mixin, or the component, with a formal parameter. A problem exists when a mixin has a formal parameter and the component (or other mixin) supports informal parameters; the mixin will take the unqualified attribute as a parameter. I think a better solution would be to require that mixin parameter names be fully qualified, always. Of course, there's more ambiguity in the Component annotations's parameters parameter. I would suggest that parameters be added to the Mixin annotation, and it should be used inside a Mixins annotation. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Closed] (TAP5-2306) Mixin parameters should be qualified (with the new 5.4 DTD)
[ https://issues.apache.org/jira/browse/TAP5-2306?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Howard M. Lewis Ship closed TAP5-2306. -- Resolution: Fixed Fix Version/s: 5.4 Mixin parameters should be qualified (with the new 5.4 DTD) --- Key: TAP5-2306 URL: https://issues.apache.org/jira/browse/TAP5-2306 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.3, 5.4 Reporter: Howard M. Lewis Ship Assignee: Howard M. Lewis Ship Labels: parameters, template Fix For: 5.4 Tapestry's current behavior, with the 5.3 DTD (and the current 5.4 DTD) is that parameters are matched against any mixin, or the component, with a formal parameter. A problem exists when a mixin has a formal parameter and the component (or other mixin) supports informal parameters; the mixin will take the unqualified attribute as a parameter. I think a better solution would be to require that mixin parameter names be fully qualified, always. Of course, there's more ambiguity in the Component annotations's parameters parameter. I would suggest that parameters be added to the Mixin annotation, and it should be used inside a Mixins annotation. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Comment Edited] (TAP5-2214) Make tapestry5 java8 compatible
[ https://issues.apache.org/jira/browse/TAP5-2214?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13971688#comment-13971688 ] Jigar Joshi edited comment on TAP5-2214 at 4/16/14 5:23 PM: Any tentative date around when this would be available to 5.4 release ? Thanks was (Author: jigarjm): Any tentative dates around when this would be available to 5.4 release ? Thanks Make tapestry5 java8 compatible --- Key: TAP5-2214 URL: https://issues.apache.org/jira/browse/TAP5-2214 Project: Tapestry 5 Issue Type: Improvement Components: plastic Affects Versions: 5.4 Reporter: Joachim Van der Auwera Assignee: Kalle Korhonen Attachments: 0001-use-asm-5.0_BETA-for-java8.patch, 0002-TAP5-2214-use-ASM-5.0_BETA-for-java8-compatibility.patch, plastic-5.3.7-mint-asm5-java8.jar As it stands Tapestry does not work on java8. This seems to be caused by ASM. Updating the enclosed asm to 5.0_Bet seems to do the trick. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (TAP5-2214) Make tapestry5 java8 compatible
[ https://issues.apache.org/jira/browse/TAP5-2214?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13971688#comment-13971688 ] Jigar Joshi commented on TAP5-2214: --- Any tentative dates around when this would be available to 5.4 release ? Thanks Make tapestry5 java8 compatible --- Key: TAP5-2214 URL: https://issues.apache.org/jira/browse/TAP5-2214 Project: Tapestry 5 Issue Type: Improvement Components: plastic Affects Versions: 5.4 Reporter: Joachim Van der Auwera Assignee: Kalle Korhonen Attachments: 0001-use-asm-5.0_BETA-for-java8.patch, 0002-TAP5-2214-use-ASM-5.0_BETA-for-java8-compatibility.patch, plastic-5.3.7-mint-asm5-java8.jar As it stands Tapestry does not work on java8. This seems to be caused by ASM. Updating the enclosed asm to 5.0_Bet seems to do the trick. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Closed] (TAP5-2214) Make tapestry5 java8 compatible
[ https://issues.apache.org/jira/browse/TAP5-2214?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Howard M. Lewis Ship closed TAP5-2214. -- Make tapestry5 java8 compatible --- Key: TAP5-2214 URL: https://issues.apache.org/jira/browse/TAP5-2214 Project: Tapestry 5 Issue Type: Improvement Components: plastic Affects Versions: 5.4 Reporter: Joachim Van der Auwera Assignee: Kalle Korhonen Attachments: 0001-use-asm-5.0_BETA-for-java8.patch, 0002-TAP5-2214-use-ASM-5.0_BETA-for-java8-compatibility.patch, plastic-5.3.7-mint-asm5-java8.jar As it stands Tapestry does not work on java8. This seems to be caused by ASM. Updating the enclosed asm to 5.0_Bet seems to do the trick. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (TAP5-2214) Make tapestry5 java8 compatible
[ https://issues.apache.org/jira/browse/TAP5-2214?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13971755#comment-13971755 ] Howard M. Lewis Ship commented on TAP5-2214: It should be present in 5.4-beta-4, a preview release. Make tapestry5 java8 compatible --- Key: TAP5-2214 URL: https://issues.apache.org/jira/browse/TAP5-2214 Project: Tapestry 5 Issue Type: Improvement Components: plastic Affects Versions: 5.4 Reporter: Joachim Van der Auwera Assignee: Kalle Korhonen Attachments: 0001-use-asm-5.0_BETA-for-java8.patch, 0002-TAP5-2214-use-ASM-5.0_BETA-for-java8-compatibility.patch, plastic-5.3.7-mint-asm5-java8.jar As it stands Tapestry does not work on java8. This seems to be caused by ASM. Updating the enclosed asm to 5.0_Bet seems to do the trick. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Created] (TAP5-2321) Tapestry 5.3.7 does not run with Java 8
Lenny Primak created TAP5-2321: -- Summary: Tapestry 5.3.7 does not run with Java 8 Key: TAP5-2321 URL: https://issues.apache.org/jira/browse/TAP5-2321 Project: Tapestry 5 Issue Type: Bug Components: plastic Affects Versions: 5.3.7 Reporter: Lenny Primak Priority: Critical Tapestry 5.3.7 does not run on Java 8 due to ASM issues. The same fix applied to Tapestry 5.4 should be applied to Tapestry 5.3 and 5.3.8 should be release. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Created] (TAP5-2320) Tapestry 5.3.7 does not run with Java 8
Lenny Primak created TAP5-2320: -- Summary: Tapestry 5.3.7 does not run with Java 8 Key: TAP5-2320 URL: https://issues.apache.org/jira/browse/TAP5-2320 Project: Tapestry 5 Issue Type: Bug Components: plastic Affects Versions: 5.3.7 Reporter: Lenny Primak Priority: Critical Tapestry 5.3.7 does not run on Java 8 due to ASM issues. The same fix applied to Tapestry 5.4 should be applied to Tapestry 5.3 and 5.3.8 should be release. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (TAP5-2321) Tapestry 5.3.7 does not run with Java 8
[ https://issues.apache.org/jira/browse/TAP5-2321?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13971760#comment-13971760 ] Lenny Primak commented on TAP5-2321: Related Ticket: https://issues.apache.org/jira/browse/TAP5-2214 Tapestry 5.3.7 does not run with Java 8 --- Key: TAP5-2321 URL: https://issues.apache.org/jira/browse/TAP5-2321 Project: Tapestry 5 Issue Type: Bug Components: plastic Affects Versions: 5.3.7 Reporter: Lenny Primak Priority: Critical Tapestry 5.3.7 does not run on Java 8 due to ASM issues. The same fix applied to Tapestry 5.4 should be applied to Tapestry 5.3 and 5.3.8 should be release. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (TAP5-2214) Make tapestry5 java8 compatible
[ https://issues.apache.org/jira/browse/TAP5-2214?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13971761#comment-13971761 ] Jigar Joshi commented on TAP5-2214: --- Thanks! [~hlship], I read here as well: http://java.dzone.com/articles/closing-tapestry-54 any tentative date for {{5.4-release}} ? Make tapestry5 java8 compatible --- Key: TAP5-2214 URL: https://issues.apache.org/jira/browse/TAP5-2214 Project: Tapestry 5 Issue Type: Improvement Components: plastic Affects Versions: 5.4 Reporter: Joachim Van der Auwera Assignee: Kalle Korhonen Attachments: 0001-use-asm-5.0_BETA-for-java8.patch, 0002-TAP5-2214-use-ASM-5.0_BETA-for-java8-compatibility.patch, plastic-5.3.7-mint-asm5-java8.jar As it stands Tapestry does not work on java8. This seems to be caused by ASM. Updating the enclosed asm to 5.0_Bet seems to do the trick. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Resolved] (TAP5-2321) Tapestry 5.3.7 does not run with Java 8
[ https://issues.apache.org/jira/browse/TAP5-2321?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Kalle Korhonen resolved TAP5-2321. -- Resolution: Duplicate Assignee: Kalle Korhonen TAP5-2214 Was merged to 5.3 branch: commit a0ac605dbd89f543b0396d747f5909e1ba38205b Author: kaosko kao...@apache.org Date: Tue Mar 25 11:29:43 2014 -0700 FIXED - TAP5-2214: Make tapestry5 java8 compatible - update ASM source to 5.0.1, should be jdk 1.5 compatible, see ASM bug 317132 ASM 5.0 do not supported JDK 1.5? Tapestry 5.3.7 does not run with Java 8 --- Key: TAP5-2321 URL: https://issues.apache.org/jira/browse/TAP5-2321 Project: Tapestry 5 Issue Type: Bug Components: plastic Affects Versions: 5.3.7 Reporter: Lenny Primak Assignee: Kalle Korhonen Priority: Critical Tapestry 5.3.7 does not run on Java 8 due to ASM issues. The same fix applied to Tapestry 5.4 should be applied to Tapestry 5.3 and 5.3.8 should be release. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Closed] (TAP5-2321) Tapestry 5.3.7 does not run with Java 8
[ https://issues.apache.org/jira/browse/TAP5-2321?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Kalle Korhonen closed TAP5-2321. Tapestry 5.3.7 does not run with Java 8 --- Key: TAP5-2321 URL: https://issues.apache.org/jira/browse/TAP5-2321 Project: Tapestry 5 Issue Type: Bug Components: plastic Affects Versions: 5.3.7 Reporter: Lenny Primak Assignee: Kalle Korhonen Priority: Critical Tapestry 5.3.7 does not run on Java 8 due to ASM issues. The same fix applied to Tapestry 5.4 should be applied to Tapestry 5.3 and 5.3.8 should be release. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (TAP5-375) Provide some way to bind services without explicit binder.bind() calls or builder methods
[ https://issues.apache.org/jira/browse/TAP5-375?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13971888#comment-13971888 ] Basile Chandesris commented on TAP5-375: It seems already available via a module: https://github.com/anjlab/anjlab-tapestry-commons/tree/master/anjlab-tapestry-commons Provide some way to bind services without explicit binder.bind() calls or builder methods - Key: TAP5-375 URL: https://issues.apache.org/jira/browse/TAP5-375 Project: Tapestry 5 Issue Type: New Feature Affects Versions: 5.0.16 Reporter: Thiago H. de Paula Figueiredo Priority: Minor Labels: tapestry5-review-for-closing Full discussion at http://www.nabble.com/Tapestry-IoC%3A-binding-service-without-code%2C-just-convention-over-configuration-td20585891.html. I have been wondering about some ways to write even less configuration with Tapestry-IoC and yet more convention over configuration. At first we had: public static void bind(ServiceBinder binder) { binder.bind(Service.class, ServiceImplementation.class); } Then, if ServiceImplementation is in the same package, we can write: public static void bind(ServiceBinder binder) { binder.bind(Service.class); } I'm thinking of not even have that binder.bind() call, automatically binding services located in packages defined by some convention. How could I implement that? Can we add services to a Registry or use ServiceBinder just like we can use add objects to a service distributed configuration? I spent some time looking at the Tapestry sources, but I couldn't find an answer. Another related funcionality I was thinking was to automatically provide some well-know service implementations when no one was explicitly providaded. Example: suppose we have the convention that every entity class must a corresponding controller class. Then I want to provide a default controller implementation for it if none is provided, because some components and pages expect one controller instance for each entity class. How could I do that? My goal is to to have non-trivial zero configuration (or almost zero configuration) applications in Tapestry, provided that they follow the conventions. Em Wed, 19 Nov 2008 15:31:16 -0300, Howard Lewis Ship hlship@... escreveu: Interesting idea. You could probably put something together around ClassNameLocator, i.e., a wrapper that given package names, find interfaces inside those packages that have matching Impl classes. i.e. public static void bind(ServiceBinder binder) { new AutoServiceBinder(my.package.root).bind(binder); } How can I get a ClassNameLocator instance in bind(ServiceBinder binder)? Trying to inject through public static void bind(ServiceBinder binder, ClassNameLocator classNameLocator) does not work (method is never invoked). It must be static, so I cannot use a constructor in my module class. And what about the creation of default implementation for unbound services? -- This message was sent by Atlassian JIRA (v6.2#6252)