[CONF] Apache Tapestry Release Process
Release Process Page edited by Massimo Lusetti Changes (2) ... ** This will upload JAR files to the Nexus repository ** It will also create, but not upload, the source and javadoc archives ** Copy the source and javadoc archives to {{~/tapestry-releases}} folder of your Apache home directory (at people.apache.org) ** Sign with your key (as specified above) the source and javadoc archives then copy them to {{~/public_html/tapestry-releases}} folder of your Apache home directory (at people.apache.org) * Login to [Nexus|https://repository.apache.org/index.html#stagingRepositories] and *close* the automatically created staging repository, and note its url * Use the [Manage Versions page|https://issues.apache.org/jira/plugins/servlet/project-config/TAP5/versions] in JIRA to add a new version (this is often not necessary) ... Full Content Prerequisites Related Articles Page: Confluence Site Setup Page: Developer Information Page: Developer Bible 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 Subversion workspace to the release branch https://svn.apache.org/repos/asf/tapestry/tapestry5/branches/5.x It is normal for the release branch to be created a week or more before the planned release Tag the release in Subversion svn copy https://svn.apache.org/repos/asf/tapestry/tapestry5/branches/5.x https://svn.apache.org/repos/asf/tapestry/tapestry5/tags/5.x Run the build using gradle generateRelease This will upload JAR files to the Nexus repository It will also create, but not upload, the source and javadoc archives Sign with your key (as specified above) the source and javadoc archives then copy them to ~/public_html/tapestry-releases folder of your Apache home directory (at people.apache.org) 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) Release the version, moving outstanding issues to the new 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) 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" (adjust as necessary) for the message The version will disappear from the list of repositories after releasing it SSH to people.apache.org and move the source and javadoc archives to /www/www.apache.org/dist/tapestry/ 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) Create (if necessary) //www/tapestry.apache.org/5.x to store documentation for the release Unpack the JavaDoc archive into the directory (it will become the apidocs directory) Edit /www/tapestry.apache.org/archetype-catalog.xml to add or update a new entry for the release Update the release number listed in the following pages in the Confluence wiki: Documentation page:
[CONF] Apache Tapestry Download
Download Page edited by Massimo Lusetti Changes (6) ... Stable releases should be relatively free of critical bugs and are considered the _safest_ option if stability is a requirement. h2. Tapestry 5.3.1 Tapestry 5.3 was released on 21 Nov 2011. See the [release notes|Release Notes 5.3] for more details. Tapestry 5.3.1 was released on 20 Dec 2011. See the [release notes|Release Notes 5.3.1] for more details. Note that the _primary_ distribution method of binary and source JARS is now via Maven repository; sources and JavaDocs are also available as a Zip archive. ... {column} | | Mirrors | Signature | MD5 | 5.3 sources (zip) | [Download|http://www.apache.org/dyn/closer.cgi/tapestry/apache-tapestry-5.3-sources.zip] | [ASC|http://www.apache.org/dist/tapestry/apache-tapestry-5.3-sources.zip.asc] | b059e23b1bd0dbfae5aed6b12e8e247b | 5.3 JavaDocs (zip) | [Download|http://www.apache.org/dyn/closer.cgi/tapestry/apache-tapestry-5.3-javadocs.zip] | [ASC|http://www.apache.org/dist/tapestry/apache-tapestry-5.3-javadocs.zip.asc] | 5c0294c316af0de31a307ae9ab1ae577 | 5.3.1 sources (zip) | [Download|http://www.apache.org/dyn/closer.cgi/tapestry/apache-tapestry-5.3.1-sources.zip] | [ASC|http://www.apache.org/dist/tapestry/apache-tapestry-5.3.1-sources.zip.asc] | b6a6aa17d92269bc8d4651f6d1842a6a | 5.3.1 JavaDocs (zip) | [Download|http://www.apache.org/dyn/closer.cgi/tapestry/apache-tapestry-5.3.1-javadocs.zip] | [ASC|http://www.apache.org/dist/tapestry/apache-tapestry-5.3.1-javadocs.zip.asc] | 15f234c7be016a0c139cfc0971ed84e7 {column} ... groupIdorg.apache.tapestry/groupId artifactIdtapestry-core/artifactId version5.3.1/version /dependency {code} ... Full Content Tapestry can be downloaded in either binary or source format. The easiest way to download Tapestry and its dependencies is using Maven, as described in Getting Started. See the Release Notes for differences between versions and how to upgrade. Stable Releases Stable releases should be relatively free of critical bugs and are considered the safest option if stability is a requirement. Tapestry 5.3.1 Tapestry 5.3.1 was released on 20 Dec 2011. See the release notes for more details. Note that the primary distribution method of binary and source JARS is now via Maven repository; sources and JavaDocs are also available as a Zip archive. Mirrors Signature MD5 5.3.1 sources (zip) Download ASC b6a6aa17d92269bc8d4651f6d1842a6a 5.3.1 JavaDocs (zip) Download ASC 15f234c7be016a0c139cfc0971ed84e7 Maven Dependency dependency groupIdorg.apache.tapestry/groupId artifactIdtapestry-core/artifactId version5.3.1/version /dependency Tapestry 5.2.6 Tapestry 5.2.6 (released Jun 29 2011) is a maintenance release addressing some minor issues in Tapestry 5.2. See the release notes for more details about features and upgrade information. Mirrors Checksum Signature tapestry-bin 5.2.6 binary (tar.bz2) Download MD5 ASC tapestry-bin 5.2.6 binary (tar.gz) Download MD5 ASC tapestry-bin 5.2.6 binary (zip) Download MD5 ASC tapestry-src 5.2.6 source (tar.bz2) Download MD5 ASC tapestry-src 5.2.6 source (tar.gz) Download MD5 ASC tapestry-src 5.2.6 source (zip) Download MD5 ASC Maven Dependency dependency groupIdorg.apache.tapestry/groupId artifactIdtapestry-core/artifactId version5.2.6/version /dependency Tapestry 5.1.0.5 Tapestry 5.1.0.5 is the stable release for Tapestry 5.1. Released Apr 23, 2009, Tapestry 5.1 addresses some limitations in 5.0 and improves performance and scalability. Mirrors Checksum Signature tapestry-bin 5.1.0.5 binary (tar.bz2) Download MD5 ASC tapestry-bin 5.1.0.5 binary (tar.gz) Download MD5 ASC tapestry-bin 5.1.0.5 binary (zip) Download MD5 ASC tapestry-src 5.1.0.5 source (tar.bz2) Download MD5 ASC tapestry-src 5.1.0.5 source (tar.gz) Download MD5 ASC tapestry-src 5.1.0.5 source (zip) Download MD5 ASC Maven Dependency dependency groupIdorg.apache.tapestry/groupId artifactIdtapestry-core/artifactId version5.1.0.5/version /dependency Tapestry 4.1.6 Tapestry 4.1.6 is the final version of Tapestry 4. Released Sep 7, 2008, it improved upon early Tapestry 4 releases with bug fixes, AJAX support and performance enhancements. See Tapestry 4 release notes Mirrors Checksum Signature 4.1.6 binary (tar.bz2) Download MD5 ASC 4.1.6 binary (tar.gz) Download MD5 ASC 4.1.6 binary (zip)
[CONF] Apache Tapestry Getting Started
Getting Started Page edited by Massimo Lusetti Changes (10) ... The easiest way to start a new app is to use [Apache Maven|http://maven.apache.org] to create your initial project; Maven can use an _archetype_ (a kind of project template) to create a bare-bones Tapestry application for you. Once you have Maven installed, execute the following command:{{mvn archetype:generate \-DarchetypeCatalog=}}{{[http://tapestry.apache.org]}}. Maven will prompt you for the archetype to create (Tapestry 5 Quickstart Project) and the exact version number (5.3.1, at the time of writing). It also asks you for a group id, an artifact id, and a version number. You can see this in the following transcript: {noformat} ... 3: 5.2.6 4: 5.3 5: 5.3.1 Choose a number: 4: 4 5: 5 Downloading: http://tapestry.apache.org/org/apache/tapestry/quickstart/5.3.1/quickstart-5.3.1.jar Downloading: http://repo1.maven.org/maven2/org/apache/tapestry/quickstart/5.3.1/quickstart-5.3.1.jar Downloaded: http://repo1.maven.org/maven2/org/apache/tapestry/quickstart/5.3.1/quickstart-5.3.1.jar (64 KB at 69.3 KB/sec) Downloading: http://tapestry.apache.org/org/apache/tapestry/quickstart/5.3.1/quickstart-5.3.1.pom Downloading: http://repo1.maven.org/maven2/org/apache/tapestry/quickstart/5.3.1/quickstart-5.3.1.pom Downloaded: http://repo1.maven.org/maven2/org/apache/tapestry/quickstart/5.3.1/quickstart-5.3.1.pom (400 B at 1.0 KB/sec) Define value for property groupId: : com.example Define value for property artifactId: : newapp ... Y: : [INFO] [INFO] Using following parameters for creating project from Archetype: quickstart:5.3.1 [INFO] [INFO] Parameter: groupId, Value: com.example ... Full Content Related Articles Page: Introduction Page: Principles Page: Tapestry Tutorial Page: Getting Started Getting started with Tapestry is easy, and you have lots of ways to begin your adventure: watch a video, browse the source code of a working demo app, create a skeleton app using Maven, or step through the tutorial. Watch a short video For a fast-paced introduction, watch Mark W. Shead's 10 Minute Demo. This video shows how to set up a simple Tapestry application, complete with form validation, Hibernate-based persistence, and Ajax. The video provides a preview of the development speed and productivity that experienced Tapestry users enjoy. Play with a working demo app You can also play with Tapestry via our live demonstration applications. To start, have a look at the Hotel Booking Demo. The source code is provided so you can download and play with it. Create your first Tapestry project The easiest way to start a new app is to use Apache Maven to create your initial project; Maven can use an archetype (a kind of project template) to create a bare-bones Tapestry application for you. Once you have Maven installed, execute the following command:mvn archetype:generate DarchetypeCatalog=http://tapestry.apache.org. Maven will prompt you for the archetype to create ("Tapestry 5 Quickstart Project") and the exact version number ("5.3.1", at the time of writing). It also asks you for a group id, an artifact id, and a version number. You can see this in the following transcript: $ mvn archetype:generate -DarchetypeCatalog=http://tapestry.apache.org [INFO] Scanning for projects... [INFO] [INFO] [INFO] Building Maven Stub Project (No POM) 1 [INFO] [INFO] [INFO] maven-archetype-plugin:2.1:generate (default-cli) @ standalone-pom [INFO] [INFO] maven-archetype-plugin:2.1:generate (default-cli) @ standalone-pom [INFO] [INFO] --- maven-archetype-plugin:2.1:generate (default-cli) @
[CONF] Apache Tapestry Documentation
Documentation Page edited by Massimo Lusetti Changes (2) ... h1. Tapestry 5 Reference and API * Current stable release 5.3.1 ** [API (Javadoc)|http://tapestry.apache.org/5.3.1/apidocs/] ** [Component Reference] ** [Release Notes|Release Notes 5.3.1] * Previous stable release 5.3 ** [API (Javadoc)|http://tapestry.apache.org/5.3/apidocs/] ** [Component Reference] ... Full Content Documentation Pages IntroductionGetting StartedPrinciplesVersion NumbersTapestry 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 ParametersLayout ComponentComponent MixinsBuilt-in MixinsPage NavigationLocalizationPage Life CycleRequest ProcessingComponent RenderingComponent EventsType CoercionURL 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 JPAApplication Module Class Cheat SheetComponent 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 FAQBeanEditForm FAQLink Components FAQComponent Events FAQ_javascript_ FAQAjax Components FAQInjection FAQTapestry Inversion of Control FAQSecurity FAQIntegration with existing applicationsRequest Processing FAQLimitationsSpecific Errors FAQHibernate Support FAQMaven Support FAQRelease Upgrade FAQRelease NotesRelease Notes 5.0Release Notes 5.1Release Notes 5.2Release Notes 5.2.0Release Notes 5.2.1Release Notes 5.2.2Release Notes 5.2.3Release Notes 5.2.4Release Notes 5.2.5Release Notes 5.2.6Release Notes 5.3Release Notes 5.3.1Developer InformationConfluence Site SetupSince and Deprecated User MacrosDeveloper BibleRelease ProcessThe tapestry jail Welcome to the Tapestry 5 Documentation. A rich collection of guides is available to teach beginners the basics and help experienced developers deepen their understanding of Tapestry's power. Code less, deliver more! Highlights These are the most useful starting points for common needs. Introduction An overview of Tapestry's general approach and philosophy Getting Started A quick guide to creating your first Tapestry project, using Maven Tapestry Tutorial Picks up where Getting Started leaves off, explaining in greater detail how Tapestry works User Guide Detailed articles on every Tapestry feature Community Getting support, mailing lists, JIRA, outside resources, and access to the source Cookbook A guide to common overrides and extensions to Tapestry FAQ A quick place to check for common problems and solutions Component Cheat Sheet A concise guide to component classes, methods and annotations Refcard A color, six page foldout guide to Tapestry 5.0 (PDF) Tapestry 5 Reference and API Current stable release 5.3.1 API (Javadoc) Component Reference Release Notes Previous stable release 5.3 API (Javadoc) Component Reference Release Notes Previous stable release 5.2.6 API (Javadoc) Component Reference Release Notes Previous stable release 5.1.0.5 API (Javadoc) Component Reference Release Notes Previous stable release 5.0.19 API
[CONF] Apache Tapestry Creating The Skeleton Application
Creating The Skeleton Application Page edited by Massimo Lusetti Changes (4) ... 3: 5.2.6 4: 5.3 5: 5.3.1 Choose a number: 4: 4 5: 5 Define value for property groupId: : com.example Define value for property artifactId: : tutorial1 ... Y: : [INFO] [INFO] Using following parameters for creating project from Archetype: quickstart:5.3.1 [INFO] [INFO] Parameter: groupId, Value: com.example ... / / / _ `/ _ \/ -_|_-/ __/ __/ // / /__ \ /_/ \_,_/ .__/\__/___/\__/_/ \_, / // /_/ /___/ 5.3.1 (development mode) ... Full Content Dependencies, Tools and PluginsTapestry TutorialLoading the Project Into Eclipse Using the Quickstart Archetype Before we can get down to the fun, we have to create an empty application. Tapestry uses a feature of Maven to do this: archetypes (a too-clever way of saying "project templates"). What we'll do is create an empty shell application using Maven, then import the application into Eclipse to do the rest of the work. For the tutorial, we're using a fresh install of Eclipse and an empty workspace at /Users/Howard/Documents/workspace 1 . You may need to adjust a few things for other operating systems or local paths. From our workspace directory, we'll use Maven to create a skeleton Tapestry project. Before proceeding, we have to decide on four things: A Maven group id and artifact id for our project, a version, and a base package name. Maven uses the group id and artifact id to provide a unique identity for the application, and Tapestry needs to have a base package name so it knows where to look for pages and components. For this example, we'll use the group id com.example, artifact id tutorial1, version 1.0-SNAPSHOT and we'll use com.example.tutorial as the base package. Our final command line is: mvn archetype:generate -DarchetypeCatalog=http://tapestry.apache.org It will then prompt you to pick the archetype - choose the latest Tapestry 5.X Quickstart Project, enter the group id, artifact id, version and package when prompted. $ mvn archetype:generate -DarchetypeCatalog=http://tapestry.apache.org [INFO] Scanning for projects... [INFO] [INFO] [INFO] Building Maven Stub Project (No POM) 1 [INFO] [INFO] [INFO] maven-archetype-plugin:2.1:generate (default-cli) @ standalone-pom [INFO] [INFO] maven-archetype-plugin:2.1:generate (default-cli) @ standalone-pom [INFO] [INFO] --- maven-archetype-plugin:2.1:generate (default-cli) @ standalone-pom --- [INFO] Generating project in Interactive mode [INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.archetypes:maven-archetype-quickstart:1.0) Choose archetype: 1: http://tapestry.apache.org - org.apache.tapestry:quickstart (Tapestry 5 Quickstart Project) 2: http://tapestry.apache.org - org.apache.tapestry:tapestry-archetype (Tapestry 4.1.6 Archetype) Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): : 1 Choose version: 1: 5.0.19 2: 5.1.0.5 3: 5.2.6 4: 5.3 5: 5.3.1 Choose a number: 5: 5 Define value for property 'groupId': : com.example Define value for property 'artifactId': : tutorial1 Define value for property 'version': 1.0-SNAPSHOT: : Define value for property 'package': com.example: : com.example.tutorial Confirm properties configuration: groupId: com.example artifactId: tutorial1 version: 1.0-SNAPSHOT package: com.example.tutorial Y: : [INFO] [INFO] Using following parameters for creating project from Archetype: quickstart:5.3.1 [INFO] [INFO] Parameter: groupId, Value: com.example [INFO] Parameter: artifactId, Value: tutorial1 [INFO] Parameter: version, Value: 1.0-SNAPSHOT [INFO] Parameter: package, Value: com.example.tutorial [INFO] Parameter: packageInPathFormat, Value: com/example/tutorial [INFO] Parameter: package, Value: com.example.tutorial [INFO] Parameter: version, Value: 1.0-SNAPSHOT [INFO] Parameter: groupId, Value: com.example [INFO] Parameter: artifactId, Value: tutorial1 [WARNING] Don't override file /Users/hlship/Documents/workspace/tutorial1/src/test/java [WARNING] Don't
[jira] [Commented] (TAP5-1522) Tapestry-spring does not support using Spring JavaConfig (AnnotationConfigWebApplicationContext)
[ https://issues.apache.org/jira/browse/TAP5-1522?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13173980#comment-13173980 ] Markus Schmitt commented on TAP5-1522: -- Are there any plans for embedding the solution inside of a release ? Tapestry-spring does not support using Spring JavaConfig (AnnotationConfigWebApplicationContext) Key: TAP5-1522 URL: https://issues.apache.org/jira/browse/TAP5-1522 Project: Tapestry 5 Issue Type: Improvement Components: tapestry-spring Affects Versions: 5.2 Reporter: DI Florian Hackenberger Attachments: java-config-support.patch Tapestry-spring currently requires that the context class extends TapestryApplicationContext. In order to use JavaConfig support (without going through an intermediate spring xml file), you would have to use AnnotationConfigWebApplicationContext as a base class and add the tapestry features on top (like TapestryApplicationContext does). Unfortunately that's impossible, as TapestryApplicationContext is not an interface. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[CONF] Apache Tapestry Announcing Tapestry 5.3.1
Announcing Tapestry 5.3.1 Blog post added by Massimo Lusetti The Tapestry Team is very proud to announce the availability of Apache Tapestry 5.3.1. Tapestry is primarily available for download via Maven, from the Maven central repository: Maven Dependency dependency groupIdorg.apache.tapestry/groupId artifactIdtapestry-core/artifactId version5.3.1/version /dependency You can also download the source or JavaDocs archives. Tapestry 5.3.1 is mainly a bug fix release and represents a drop in replacement for the previous stable 5.3. Full details are in the release notes, but here's a few highlights plus the ones from 5.3: @PerThread scope honored when service is created using autobuild @ActivationRequestParameter encoded to be URL friendly Exceptions while compressing _javascript_ are fully reported All forms/submission working normally after FileUploadException is raised Asset path prefix configurable As usual for each Tapestry5 releases we've made great efforts to ensure and easy upgrade path, anyway, be sure to read the upgrade notes carefully as some interfaces and methods that were deprecated in Tapestry 5.0 or 5.1 have been removed: you should recompile and retest your application after upgrading your dependency. If you still have problems, use the Tapestry user mailing list to get support. Change Notification Preferences View Online
[jira] [Created] (TAP5-1800) LinkSubmit/Submit should store evet and context in ComponentAction
LinkSubmit/Submit should store evet and context in ComponentAction -- Key: TAP5-1800 URL: https://issues.apache.org/jira/browse/TAP5-1800 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.3, 5.4 Reporter: Michael Wyraz When using multiple LinkSubmit (e.g. in a Loop), the event and context from the last one is fired, independent of which is clicked. The reason is that the parameter event and context are determined during the execution of the ComponentAction by accessing the component's fields. So when the acion is defered (which is default), these fields contain the values from the last usage of the component. A workaround is to det defer=false. To fix it, simply store event and context to the process submission (beside the clientId which is already there). The same issue might apply to Submit, it has the same code (untested). -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (TAP5-1800) LinkSubmit/Submit should store evet and context in ComponentAction
[ https://issues.apache.org/jira/browse/TAP5-1800?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13174127#comment-13174127 ] Michael Wyraz commented on TAP5-1800: - I tested the same with the Submit component and can confirm that the issue applies there as well. LinkSubmit/Submit should store evet and context in ComponentAction -- Key: TAP5-1800 URL: https://issues.apache.org/jira/browse/TAP5-1800 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.3, 5.4 Reporter: Michael Wyraz When using multiple LinkSubmit (e.g. in a Loop), the event and context from the last one is fired, independent of which is clicked. The reason is that the parameter event and context are determined during the execution of the ComponentAction by accessing the component's fields. So when the acion is defered (which is default), these fields contain the values from the last usage of the component. A workaround is to det defer=false. To fix it, simply store event and context to the process submission (beside the clientId which is already there). The same issue might apply to Submit, it has the same code (untested). -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[CONF] Apache Tapestry Release Notes
Release Notes Page edited by Howard M. Lewis Ship Changes (2) These release notes provide the details of the changes in each Tapestry version. || Tapestry 5.3.1 | [Release Notes for 5.3.1|Release Notes 5.3.1] |*Current stable release* | *Currently undergoing a vote* | 14 21 Dec 2011 || Tapestry 5.3 | [Release Notes for 5.3|Release Notes 5.3] | *Current stable release* | 21 Nov 2011 || Tapestry 5.2.6 | [Release Notes for 5.2.6|Release Notes 5.2] | | Released 22 Jun 2011 | || Tapestry 5.1| [Release Notes for 5.1.0.5|Release Notes 5.1] | | Released 12 Apr 2009 | ... Full Content These release notes provide the details of the changes in each Tapestry version. Tapestry 5.3.1 Release Notes for 5.3.1 Current stable release 21 Dec 2011 Tapestry 5.3 Release Notes for 5.3 21 Nov 2011 Tapestry 5.2.6 Release Notes for 5.2.6 Released 22 Jun 2011 Tapestry 5.1 Release Notes for 5.1.0.5 Released 12 Apr 2009 Tapestry 5.0 Release Notes for 5.0.19 Released Dec 2008 Change Notification Preferences View Online | View Changes
[CONF] Apache Tapestry Release Notes 5.3.1
Release Notes 5.3.1 Page edited by Howard M. Lewis Ship Changes (3) {scrollbar} This bugfix release is a drop -in replacement for the [5.3|Release Notes 5.3] release. Any 5.3 user is encoraged to upgrade. The release is undergoing a VOTE right now, as the VOTE ends this page will reflect the results. h2. JIRA Issues ... /h2 ul li[a href="" - Some components do not have include a description of their parameters in their JavaDoc pages /li li[a href="" - PerThread scope is not honored when service is created using autobuild ... Full Content Release Notes 5.3 This bugfix release is a drop-in replacement for the 5.3 release. Any 5.3 user is encoraged to upgrade. JIRA Issues Release Notes - Tapestry 5 - Version 5.3.1 Bug [TAP5-1762] - Some components do not include a description of their parameters in their JavaDoc pages [TAP5-1765] - PerThread scope is not honored when service is created using autobuild [TAP5-1768] - @ActivationRequestParameter does not encode to be URL friendly [TAP5-1773] - FormFieldFocus mixin passes control name, not client id, to _javascript_Support.autofocus() [TAP5-1784] - Extra comma in tapestry-messages_de.js causes Internet Explorer to fail to work [TAP5-1785] - Exceptions while compressing _javascript_ are not fully reported [TAP5-1786] - All forms/submission not working after FileUploadException is raised Improvement [TAP5-1756] - Let the asset path prefix be configurable Task [TAP5-1780] - Upgrade Selenium dependency to 2.14.0 Release Notes 5.3 Change Notification Preferences View Online | View Changes
[jira] [Assigned] (TAP5-1798) Grid and BeanDisplay should ignore properties that are actually static fields
[ https://issues.apache.org/jira/browse/TAP5-1798?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Howard M. Lewis Ship reassigned TAP5-1798: -- Assignee: Howard M. Lewis Ship Grid and BeanDisplay should ignore properties that are actually static fields - Key: TAP5-1798 URL: https://issues.apache.org/jira/browse/TAP5-1798 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: beanmodel, grid Since 5.3, Tapestry treats public fields (static or instance) as if they were properties. This is great in many cases, but silly for Grid which ends up with an extra column that displays the same value all the way down ... certainly not what the developer intended. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
svn commit: r1221952 - in /tapestry/tapestry5/trunk/tapestry-core/src: main/java/org/apache/tapestry5/internal/services/ test/java/org/apache/tapestry5/internal/services/
Author: hlship Date: Wed Dec 21 23:50:28 2011 New Revision: 1221952 URL: http://svn.apache.org/viewvc?rev=1221952view=rev Log: TAP5-1798: Grid and BeanDisplay should ignore properties that are actually static fields Added: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/BeanWithStaticField.java Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/BeanModelSourceImpl.java tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/BeanModelSourceImplTest.java Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/BeanModelSourceImpl.java URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/BeanModelSourceImpl.java?rev=1221952r1=1221951r2=1221952view=diff == --- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/BeanModelSourceImpl.java (original) +++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/BeanModelSourceImpl.java Wed Dec 21 23:50:28 2011 @@ -1,4 +1,4 @@ -// Copyright 2007, 2008, 2010 The Apache Software Foundation +// Copyright 2007, 2008, 2010, 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. @@ -31,6 +31,7 @@ import org.apache.tapestry5.services.Dat import org.apache.tapestry5.services.PropertyConduitSource; import java.lang.reflect.Method; +import java.lang.reflect.Modifier; import java.util.Collections; import java.util.List; @@ -162,20 +163,33 @@ public class BeanModelSourceImpl impleme PropertyAdapter pa = adapter.getPropertyAdapter(propertyName); if (!pa.isRead()) +{ continue; +} + +if (isStaticFieldProperty(pa)) +{ +continue; +} if (pa.getAnnotation(NonVisual.class) != null) +{ continue; +} if (filterReadOnlyProperties !pa.isUpdate()) +{ continue; +} final String dataType = dataTypeAnalyzer.identifyDataType(pa); // If an unregistered type, then ignore the property. if (dataType == null) +{ continue; +} model.add(propertyName).dataType(dataType); } @@ -200,4 +214,9 @@ public class BeanModelSourceImpl impleme return model; } + +private boolean isStaticFieldProperty(PropertyAdapter adapter) +{ +return adapter.isField() Modifier.isStatic(adapter.getField().getModifiers()); +} } Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/BeanModelSourceImplTest.java URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/BeanModelSourceImplTest.java?rev=1221952r1=1221951r2=1221952view=diff == --- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/BeanModelSourceImplTest.java (original) +++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/BeanModelSourceImplTest.java Wed Dec 21 23:50:28 2011 @@ -1,4 +1,4 @@ -// Copyright 2007, 2008, 2009, 2010 The Apache Software Foundation +// Copyright 2007, 2008, 2009, 2010, 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. @@ -676,4 +676,21 @@ public class BeanModelSourceImplTest ext verify(); } + +// https://issues.apache.org/jira/browse/TAP5-1798 +@Test +public void static_fields_are_ignored() +{ +Messages messages = mockMessages(); + +stub_contains(messages, false); + +replay(); + +BeanModelBeanWithStaticField model = source.createDisplayModel(BeanWithStaticField.class, messages); + +assertListsEquals(model.getPropertyNames(), name); + +verify(); +} } Added: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/BeanWithStaticField.java URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/BeanWithStaticField.java?rev=1221952view=auto == --- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/BeanWithStaticField.java
svn commit: r1221954 - in /tapestry/tapestry5/branches/5.3/tapestry-core/src: main/java/org/apache/tapestry5/internal/services/BeanModelSourceImpl.java test/java/org/apache/tapestry5/internal/services
Author: hlship Date: Wed Dec 21 23:51:16 2011 New Revision: 1221954 URL: http://svn.apache.org/viewvc?rev=1221954view=rev Log: TAP5-1798: Grid and BeanDisplay should ignore properties that are actually static fields Modified: tapestry/tapestry5/branches/5.3/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/BeanModelSourceImpl.java tapestry/tapestry5/branches/5.3/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/BeanModelSourceImplTest.java Modified: tapestry/tapestry5/branches/5.3/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/BeanModelSourceImpl.java URL: http://svn.apache.org/viewvc/tapestry/tapestry5/branches/5.3/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/BeanModelSourceImpl.java?rev=1221954r1=1221953r2=1221954view=diff == --- tapestry/tapestry5/branches/5.3/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/BeanModelSourceImpl.java (original) +++ tapestry/tapestry5/branches/5.3/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/BeanModelSourceImpl.java Wed Dec 21 23:51:16 2011 @@ -1,4 +1,4 @@ -// Copyright 2007, 2008, 2010 The Apache Software Foundation +// Copyright 2007, 2008, 2010, 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. @@ -15,6 +15,7 @@ package org.apache.tapestry5.internal.services; import java.lang.reflect.Method; +import java.lang.reflect.Modifier; import java.util.Collections; import java.util.List; @@ -166,20 +167,33 @@ public class BeanModelSourceImpl impleme PropertyAdapter pa = adapter.getPropertyAdapter(propertyName); if (!pa.isRead()) +{ continue; +} + +if (isStaticFieldProperty(pa)) +{ +continue; +} if (pa.getAnnotation(NonVisual.class) != null) +{ continue; +} if (filterReadOnlyProperties !pa.isUpdate()) +{ continue; +} final String dataType = dataTypeAnalyzer.identifyDataType(pa); // If an unregistered type, then ignore the property. if (dataType == null) +{ continue; +} model.add(propertyName).dataType(dataType); } @@ -204,4 +218,9 @@ public class BeanModelSourceImpl impleme return model; } + +private boolean isStaticFieldProperty(PropertyAdapter adapter) +{ +return adapter.isField() Modifier.isStatic(adapter.getField().getModifiers()); +} } Modified: tapestry/tapestry5/branches/5.3/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/BeanModelSourceImplTest.java URL: http://svn.apache.org/viewvc/tapestry/tapestry5/branches/5.3/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/BeanModelSourceImplTest.java?rev=1221954r1=1221953r2=1221954view=diff == --- tapestry/tapestry5/branches/5.3/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/BeanModelSourceImplTest.java (original) +++ tapestry/tapestry5/branches/5.3/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/BeanModelSourceImplTest.java Wed Dec 21 23:51:16 2011 @@ -1,4 +1,4 @@ -// Copyright 2007, 2008, 2009, 2010 The Apache Software Foundation +// Copyright 2007, 2008, 2009, 2010, 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. @@ -676,4 +676,21 @@ public class BeanModelSourceImplTest ext verify(); } + +// https://issues.apache.org/jira/browse/TAP5-1798 +@Test +public void static_fields_are_ignored() +{ +Messages messages = mockMessages(); + +stub_contains(messages, false); + +replay(); + +BeanModelBeanWithStaticField model = source.createDisplayModel(BeanWithStaticField.class, messages); + +assertListsEquals(model.getPropertyNames(), name); + +verify(); +} }
[jira] [Closed] (TAP5-1798) Grid and BeanDisplay should ignore properties that are actually static fields
[ https://issues.apache.org/jira/browse/TAP5-1798?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Howard M. Lewis Ship closed TAP5-1798. -- Resolution: Fixed Fix Version/s: 5.4 5.3.2 Grid and BeanDisplay should ignore properties that are actually static fields - Key: TAP5-1798 URL: https://issues.apache.org/jira/browse/TAP5-1798 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: beanmodel, grid Fix For: 5.3.2, 5.4 Since 5.3, Tapestry treats public fields (static or instance) as if they were properties. This is great in many cases, but silly for Grid which ends up with an extra column that displays the same value all the way down ... certainly not what the developer intended. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Created] (TAP5-1801) Component fields should not need to be private, merely non-public
Component fields should not need to be private, merely non-public - Key: TAP5-1801 URL: https://issues.apache.org/jira/browse/TAP5-1801 Project: Tapestry 5 Issue Type: Improvement Components: plastic, tapestry-core Affects Versions: 5.4 Reporter: Howard M. Lewis Ship Currently, Plastic assets, early, that all instance fields are private. Instead, it should check fields as transformations are applied to them, and ensure that they are merely non-public. Access to the fields from other classes (including inner classes) must be routed through access methods. Inner classes will now need a limited set of transformations, to handle the cases where a protected or package private field is directly accessed, in which case, the appropriate accessor method will be used instead. It seems possible that two transformed classes that each access the other's non-public fields might cause an endless loop; if so, this should be identified and reported. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Assigned] (TAP5-1801) Component fields should not need to be private, merely non-public
[ https://issues.apache.org/jira/browse/TAP5-1801?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Howard M. Lewis Ship reassigned TAP5-1801: -- Assignee: Howard M. Lewis Ship Component fields should not need to be private, merely non-public - Key: TAP5-1801 URL: https://issues.apache.org/jira/browse/TAP5-1801 Project: Tapestry 5 Issue Type: Improvement Components: plastic, tapestry-core Affects Versions: 5.4 Reporter: Howard M. Lewis Ship Assignee: Howard M. Lewis Ship Labels: bytecode Currently, Plastic assets, early, that all instance fields are private. Instead, it should check fields as transformations are applied to them, and ensure that they are merely non-public. Access to the fields from other classes (including inner classes) must be routed through access methods. Inner classes will now need a limited set of transformations, to handle the cases where a protected or package private field is directly accessed, in which case, the appropriate accessor method will be used instead. It seems possible that two transformed classes that each access the other's non-public fields might cause an endless loop; if so, this should be identified and reported. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
svn commit: r1221987 - /tapestry/tapestry-site/branches/post-5.2-site/autoexport_template.txt
Author: bobharner Date: Thu Dec 22 01:45:31 2011 New Revision: 1221987 URL: http://svn.apache.org/viewvc?rev=1221987view=rev Log: Moved DOCTYPE tag all the way at the very top to see if it helps. Somehow the license comment was rendering before the DOCTYPE, which bumps IE into quirks mode. Modified: tapestry/tapestry-site/branches/post-5.2-site/autoexport_template.txt Modified: tapestry/tapestry-site/branches/post-5.2-site/autoexport_template.txt URL: http://svn.apache.org/viewvc/tapestry/tapestry-site/branches/post-5.2-site/autoexport_template.txt?rev=1221987r1=1221986r2=1221987view=diff == --- tapestry/tapestry-site/branches/post-5.2-site/autoexport_template.txt (original) +++ tapestry/tapestry-site/branches/post-5.2-site/autoexport_template.txt Thu Dec 22 01:45:31 2011 @@ -1,9 +1,9 @@ +!DOCTYPE html #set($base = https://cwiki.apache.org/TAPESTRY;) #set($globalHelper = $action.getHelper()) #set($renderer = $globalHelper.getWikiStyleRenderer()) - -!DOCTYPE html -!-- + + !-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with
[jira] [Commented] (TAP5-1798) Grid and BeanDisplay should ignore properties that are actually static fields
[ https://issues.apache.org/jira/browse/TAP5-1798?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13174581#comment-13174581 ] Hudson commented on TAP5-1798: -- Integrated in tapestry-trunk-freestyle #647 (See [https://builds.apache.org/job/tapestry-trunk-freestyle/647/]) TAP5-1798: Grid and BeanDisplay should ignore properties that are actually static fields hlship : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVNview=revrev=1221952 Files : * /tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/BeanModelSourceImpl.java * /tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/BeanModelSourceImplTest.java * /tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/BeanWithStaticField.java Grid and BeanDisplay should ignore properties that are actually static fields - Key: TAP5-1798 URL: https://issues.apache.org/jira/browse/TAP5-1798 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: beanmodel, grid Fix For: 5.3.2, 5.4 Since 5.3, Tapestry treats public fields (static or instance) as if they were properties. This is great in many cases, but silly for Grid which ends up with an extra column that displays the same value all the way down ... certainly not what the developer intended. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira