[jira] [Commented] (TAP5-1965) Replace use of Request.getContextPath() with a symbol defined at application startup
[ https://issues.apache.org/jira/browse/TAP5-1965?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13491329#comment-13491329 ] Jochen Kemnade commented on TAP5-1965: -- I think, the fix might not be entirely correct. In AssetPathConstructorImpl:59/60 [1], the context path is expected to end with a slash, which it doesn't. The ServletContext API [2] says that it starts with a slash but doesn't end with one. Currently, for a context app it produces paths like //appassets/... [1] https://git-wip-us.apache.org/repos/asf?p=tapestry-5.git;a=blob;f=tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/AssetPathConstructorImpl.java;h=3d81b8f2d6b13693984c3ef716e28a96a39f3c10;hb=3d81b8f2d6b13693984c3ef716e28a96a39f3c10#l59 [2] http://docs.oracle.com/javaee/5/api/javax/servlet/ServletContext.html#getContextPath%28%29 Replace use of Request.getContextPath() with a symbol defined at application startup Key: TAP5-1965 URL: https://issues.apache.org/jira/browse/TAP5-1965 Project: Tapestry 5 Issue Type: Task Components: tapestry-core Affects Versions: 5.4 Reporter: Howard M. Lewis Ship Labels: fixed-in-5.4-js-rewrite This was not possible in earlier versions of the Servlet API, but since 2.5, it it possible to identify the context path from the ServletContext object. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[CONF] Apache Tapestry Release Notes 5.3.6
Release Notes 5.3.6 Page edited by Bob Harner Comment: Renamed "Bug" section to "Fixed Bugs" Changes (2) ... Release Notes - Tapestry 5 - Version 5.3.6 h2Fixed Bugs /h2 ul ... /ul h2Improvements /h2 ul ... Full Content Release Notes 5.3.5Release NotesRelease Notes 5.4 This is the consolidated list of changes between Tapestry versions 5.3.5 and 5.3.6. Tapestry 5.3.6 is a drop-in replacement for prior Tapestry 5.3 releases. To upgrade, just update the Maven dependency in your POM file (or download the new JAR file) and the new version will just work. However, please review the How to Upgrade instructions before upgrading. This is a very modest bug fix release. Importantly, the bundled version of Prototype has been downgraded back to version 1.7, as the new version was causing a number of issues, especially under Internet Explorer. The main improvement is security related; Tapestry will now integrate a hash-based message authentication code (HMAC) into serialized Java object data stored on the client (generally, this means the t:formdata hidden field used by the Form component). When you first run your application under 5.3.6, you will see an alert and a console error concerning the HMAC configuration. You should update your application's configuration to set a unique, private value for the tapestry.hmac-passphrase configuration symbol. And, as with any Tapestry upgrade, be sure to change your application's version number. Jira issues Release Notes - Tapestry 5 - Version 5.3.6 Fixed Bugs [TAP5-986] - A request can fail with an NPE in some cases, when a Tapestry page is acting as the servlet container error page [TAP5-1735] - Most packages lack package-level javadocs [TAP5-1903] - Client-side exception when a Zone containing a Form with an Upload component is re-rendered [TAP5-2008] - Serialized object data stored on the client should be HMAC signed and validated [TAP5-2009] - Downgrade bundled Prototype version back to 1.7 [TAP5-2010] - Broken links in Javadoc pages Improvements [TAP5-1996] - Add Severity.SUCCESS enum for alerts Release Notes 5.3.5Release NotesRelease Notes 5.4 Change Notification Preferences View Online | View Changes
[CONF] Apache Tapestry Release Notes 5.3.5
Release Notes 5.3.5 Page edited by Bob Harner Comment: Renamed "Bug" section to "Fixed Bugs" Changes (4) ... For those developers not using Maven or Gradle, youll be pleased that we now offer the option of a binary download containing Tapestrys modules and main dependencies. More details are on the [Download] page. h2. Jira issues {html} Release Notes - Tapestry 5 - Version 5.3.5 h2Fixed Bugs /h2 ul ... /ul h2Tasks /h2 ul ... Full Content Release Notes 5.3.4Release NotesRelease Notes 5.3.6 This is the consolidated list of changes between Tapestry included in version 5.3.5. Tapestry 5.3.5 is a drop-in replacement for prior Tapestry 5.3 releases. To upgrade, just update the Maven dependency in you POM file (or download the new JAR file) and the new version will just work. However, please review the How to Upgrade instructions before upgrading. This is a very modest bug fix release, including a number of minor performance improvements. Importantly, the bundled version of Prototype is now 1.7.1, which includes some significant improvements and bug fixes that target Internet Explorer. However, the prototype change may affect the functionality of the Tapestry DateField component under some versions of Internet Explorer (this issue was discovered late in the voting process). For those developers not using Maven or Gradle, you'll be pleased that we now offer the option of a binary download containing Tapestry's modules and main dependencies. More details are on the Download page. Fixed Bugs [TAP5-1601] - Sometime a method that references a field with a conduit will not be instrumented, resulting in an NPE accessing the field itself [TAP5-1859] - Clicking a submit or button in a non-Tapestry Form causes a client exception [TAP5-1868] - SRSCachingInterceptor returns compressed version of asset for all clients once it was compressed for some client [TAP5-1887] - Client-side _javascript_ error if console.info/debug/... is available but not a function [TAP5-1907] - Client exception in IE9 when partial page render introduces stylesheets [TAP5-1949] - Alerts component does not show alerts added from a component that occurs later in the template [TAP5-1973] - :443 added to URLs when using the Link.toAbsoluteURI(true) [TAP5-1976] - XML Parser adds attributes with default values and produces invalid HTML5 markup [TAP5-1977] - Memory leak (perm gen) in component reloading [TAP5-1979] - Changing the implementation of a method after adding method advice does not work; the original implementation remains [TAP5-1983] - PerThreadManager does not cleanup on shutdown, can lead to memory leaks when application redeployed [TAP5-1991] - YUICompressor should be less verbose about common warnings [TAP5-1992] - Switch YUICompressor dependency back to com.yahoo version 2.4.7 Tasks [TAP5-1989] - Upgrade bundled Prototype to version 1.7.1 Release Notes 5.3.4Release NotesRelease Notes 5.3.6 Change Notification Preferences View Online | View Changes
[CONF] Apache Tapestry Release Process
Release Process Page edited by Bob Harner Comment: Added a step for tweaking the Release Notes headings Changes (1) ... ** Update with text about any unusual aspects of the upgrade (especially, non-backwards compatible changes) ** Paste the HTML release notes content into the new page (youll have to use the \{html\} macro) ** Rename the Bug heading to Bugs Fixed, Improvement to Improvements Made, New Feature to New Features Added ** Update [Release Notes] index page to point to the new page * Send vote email ... *3 days pass* ... Full Content Prerequisites Related Articles Page: Confluence Site Setup Page: Developer Bible Page: Developer Information Page: Release Process Before creating a release ensure: You have setup your own public OpenGPG key signature for signing the distribution You can login to Nexus Your local settings.xml contains valid SVN and deployment credentials SVN and Deployment Credentials To successfully create a release, you will need to update your Maven Settings with the credentials for your SVN user and the deployment user. These credentials are stored in the Gradle configuration file ~/.gradle/gradle.properties: apacheDeployUserName=hlship apacheDeployPassword=... signing.keyId=7CC19136 signing.secretKeyRingFile=/Users/hlship/.gnupg/secring.gpg signing.password=... Release Steps The process can be summarized as: Update your workspace to the release branch, currently 5.3: git co 5.3 It is normal for the release branch to be created a week or more before the planned release Update build.gradle to set the version number, then git commit Don't forget to set it back to 5.x-SNAPSHOT after the release Run the build using gradle generateRelease This will create, sign, and upload JAR files and other artifacts to the Nexus repository It will also create, sign, and upload the source and javadoc archives to your ~/public_html/tapestry-releases folder of your Apache home directory (at people.apache.org) Tag the release in Git, then push the changes up to the Apache repository: git tag 5.x.x git push --tags Update build.gradle to bump the version number to 5.x(.y)?-SNAPSHOT, then git commit Login to Nexus and close the automatically created staging repository, and note its url Use the Manage Versions page in JIRA to add a new version (this is often not necessary as it is often created by someone earlier) Release the version, moving outstanding issues to the next version Generate HTML Release Notes Visit the TAP5 Versions pages in JIRA Choose the correct version number Click "Release Notes" (upper right corner of the page) Create a new Confluence child page of Release Notes (it may already exist) Update with text about any unusual aspects of the upgrade (especially, non-backwards compatible changes) Paste the HTML release notes content into the new page (you'll have to use the {html} macro) Rename the "Bug" heading to "Bugs Fixed", "Improvement" to "Improvements Made", "New Feature" to "New Features Added" Update Release Notes index page to point to the new page Send vote email ... 3 days pass Login to Nexus and release the version's repository Enter "Apache Tapestry 5.x.x" (adjust as necessary) for the message The version will disappear from the list of repositories after releasing it Releasing will ultimately get the artifacts up to the central Maven repository Documentation and Downloads: SSH to people.apache.org and move the source and javadoc archives to /www/www.apache.org/dist/tapestry/ Create (if necessary) /www/tapestry.apache.org/5.x.x to store documentation for the release Unpack the JavaDoc archive into the directory (it will become the apidocs directory) Relink /www/tapestry.apache.org/current/ to point to the new 5.x.x directory Once files reach all mirrors, update the Downloads Page Create a Confluence blog entry to describe the new release (this will automatically appear on the Tapestry home page) Edit
[CONF] Apache Tapestry Developer Information
Developer Information Page edited by Bob Harner Comment: Added link to Version Numbers page Changes (1) ... * [Developer Bible] -- random thoughts from Howard related to being a Tapestry committer * [Building Tapestry from Source] -- how to build Tapestry itself * [Version Numbers] h2. Developer Tools Reports ... Full Content This is a list of information useful to people developing Tapestry itself (rather than developers using Tapestry). How Tos Confluence Site Setup all about how Confluence is used to edit the content of the static documentation site Release Process how to produce a release Developer Bible random thoughts from Howard related to being a Tapestry committer Building Tapestry from Source how to build Tapestry itself Version Numbers Developer Tools Reports Jenkins automated build results trunk Cobertura code coverage report measures test coverage Sonar code quality report measures test coverage, complexity rule violations Browse Git source The tapestry jail information about our FreeBSD jail at typestry.zones.apache.org Change Notification Preferences View Online | View Changes
[CONF] Apache Tapestry Version Numbers
Version Numbers Page moved by Bob Harner From: Apache Tapestry Documentation To: Apache Tapestry Developer Information Children moved Change Notification Preferences View Online
[CONF] Apache Tapestry Developer Information
Developer Information Page moved by Bob Harner From: Apache Tapestry Documentation To: Apache Tapestry Children moved Release Process Developer Bible Since and Deprecated User Macros Confluence Site Setup The tapestry jail Version Numbers Building Tapestry from Source Change Notification Preferences View Online
[CONF] Apache Tapestry Developer Information
Developer Information Page moved by Bob Harner From: Apache Tapestry To: Apache Tapestry Documentation Children moved Release Process Developer Bible Since and Deprecated User Macros Confluence Site Setup The tapestry jail Version Numbers Building Tapestry from Source Change Notification Preferences View Online
[CONF] Apache Tapestry testy3333
testy Page removed by Bob Harner testy foobarbaz waiting for a draft to be saved
[CONF] Apache Tapestry Home
Home Page edited by Bob Harner Comment: Removed some redundant content Changes (3) This is the home page of the Apache Tapestry wiki. This is the home page of the Apache Tapestry wiki space in Confluence. The public home page is the [Index] page. From here you can go to ... * [News] Things to update on a new release: * [TAPESTRY:Release Notes] -- Release notes * [TAPESTRY:Download] -- Needs to be updated for each new stable or preview release * [TAPESTRY:downloadBoxes] -- part of the main Index, lists the current stable version number h2. TODO List ... Full Content This is the home page of the Apache Tapestry wiki space in Confluence. The public home page is the Index page. From here you can go to Index the entry page for the auto-generated website Documentation the documentation main page Sandbox a sandbox for developing new ideas and testing things out Board Reports Quarterly reports to the Apache Board After posting a new blog entry, you should update the following pages, to force the new content to be included: Index News TODO List A quick place to jot down notes on work needed to be done. Use of symbols to define (some) component parameter defaults Update examples r.e. use of Maven Archetype Document ResourceTranslators Discuss OperationTracker Discuss PageCatalog page Document that public static fields are also treated as properties Document AlertManager Document 5.4 component fields may be non-private (even public, if final) Change Notification Preferences View Online | View Changes
[CONF] Apache Tapestry Documentation
Documentation Page edited by Bob Harner Comment: Heading tweaks and updated links to presentations Changes (6) {div:style=float:right;margin-left:1em} h2. Documentation Pages h2. All Topics {children:depth=3} {div} ... | [Refcard|http://refcardz.dzone.com/refcardz/apache-tapestry-50?oid=hom7948]\\ | A color, six page foldout guide to Tapestry 5.0 (PDF) | h1. Tapestry 5 API and Component Reference || API (Javadoc): | [5.0|http://tapestry.apache.org/tapestry5.0/apidocs/] | [5.1|http://tapestry.apache.org/tapestry5.1/apidocs/] | [5.2|http://tapestry.apache.org/5.2/apidocs/] | [5.3.x (current)|http://tapestry.apache.org/current/apidocs/] | ... [More topics|User Guide]... h1. Published Articles on Tapestry * This [eBook|http://www.laliluna.de/articles/the-web-framework-evaluation.html] published in 2009 contains a [good introduction and analysis of Tapestry 5|http://www.laliluna.de/articles/2009/08/14/tapestry-web-framework-evaluation-and-test.html] * [Tapestry 5 for Nonbelievers|http://www.infoq.com/articles/tapestry5-intro] will convince the skeptical why Tapestry is the best web framework. [More articles|Articles]... h1. Blogs by Tapestry Developers and the Community ... There are at least 8 published [books on Tapestry|TAPESTRY:Books], including two on Tapestry 5 --- and more on the way. h1. Articles on Tapestry * This [eBook|http://www.laliluna.de/articles/the-web-framework-evaluation.html] published in 2009 contains a [good introduction and analysis of Tapestry 5|http://www.laliluna.de/articles/2009/08/14/tapestry-web-framework-evaluation-and-test.html] * [Tapestry 5 for Nonbelievers|http://www.infoq.com/articles/tapestry5-intro] will convince the skeptical why Tapestry is the best web framework. [More articles|Articles]... h1. Tapestry Presentations * Mark W. Sheads [10 Minute Demo|http://blog.markwshead.com/900/tapestry-5-10-minute-demo/] * H. L. Ships [Tapestry 5.4 - Bootstrap-enhanced Exception Reporting|https://www.youtube.com/watch?v=5BGt7eMFC20] * [JavaServer Faces 2.0 vs. Tapestry 5|http://jazoon.com/Portals/0/Content/slides/th_a7_1130-1220_drobiazko.pdf] (PDF) A Head-to-Head Comparison by Igor Drobiazko at Jazoon 2010 * [Tapestry 5: Java power, Scripting Ease|http://www.parleys.com/#st=5sl=5id=1700] (VIDEO) by Howard Lewis Ship at Devoxx 2009 ... Full Content All Topics IntroductionGetting StartedPrinciplesTapestry TutorialDependencies, Tools and PluginsCreating The Skeleton ApplicationLoading the Project Into EclipseExploring the ProjectImplementing the Hi-Lo Guessing GameUsing BeanEditForm To Create User FormsUsing Tapestry With HibernateUser GuideProject LayoutConfigurationClass ReloadingComponent ReferenceAnnotationsComponent ClassesComponent TemplatesProperty ExpressionsComponent ParametersType CoercionLayout ComponentComponent MixinsBuilt-in MixinsPage NavigationLocalizationPage Life CycleRequest ProcessingComponent RenderingComponent EventsURL rewritingDOMResponse CompressionSecurityHTTPSContent Type and MarkupPersistent Page DataSession StorageInjectionEnvironmental Services_javascript_Ajax and ZonesCSSAssetsForms and ValidationBeanEditForm GuideUploading FilesLoggingUnit testing pages or componentsIntegration TestingService StatusModulesBuilt In ModulesThird Party ModulesIoCTapestry IoC OverviewTapestry IoC ModulesDefining Tapestry IOC ServicesService AdvisorsTapestry IoC DecoratorsTapestry IoC ConfigurationCase InsensitivityAutoloading ModulesService Implementation ReloadingOrdering by ConstraintsSymbolsChainBuilder ServicePipelineBuilder ServiceShadowBuilder ServiceStrategyBuilder ServiceInjection in DetailObject ProvidersService SerializationTypeCoercer ServiceStarting the IoC RegistryRegistry StartupParallel ExecutionLogging in TapestryUsing JSR 330 standard annotationsHibernate - CoreHibernate - Core - ConfHibernateIntegrating with Spring FrameworkBean ValidationComponent ReportAliasesIntegrating with JPAComponent Cheat SheetApplication Module Class Cheat SheetCookbookDefault ParameterOverriding Exception ReportingSupporting Informal ParametersComponent LibrariesSwitching CasesEnum Parameter RecipeError Page RecipeExtending the If ComponentMeta-Programming Page ContentUsing Select With a ListIoC cookbookIoC Cookbook - Basic Services and InjectionIoC Cookbook - Overriding IoC ServicesIoC Cookbook - PatternsIoC cookbook - Service ConfigurationsFrequently Asked QuestionsGeneral QuestionsTemplating and Markup FAQPage And Component Classes FAQForms and Form Components