[CONF] Apache Tapestry Download
Download Page edited by Bob Harner Comment: Added intro sentences and note about using Maven instead of downloading Changes (5) Tapestry can be downloaded in either binary or source format. {info} The easiest way to download Tapestry is with Maven, as described at [Getting Started]. {info} See [Release Notes] for differences between versions. h3. Beta Releases Beta releases represent code that is close to the final stable version. In general, new features (especially disruptive or non-backwards compatible features) are not introduced during the beta release stage. After a series of beta releases (to find and correct any bugs) a release will be voted up to stable status. See [Release Notes] on specific changes in each beta release. h4. Tapestry 5.2.4 (beta) ... h4. Tapestry 5.1.0.5 (Stable) Tapestry 5.1.0.5 is the stable release for [Tapestry 5.1|http://tapestry.apache.org/tapestry5.1/]. Released Apr 23, 2009, Tapestry 5.1 addresses some limitations in 5.0 and improves performance and scalability. | | Mirrors | Checksum | Signature | ... h4. Tapestry 4.1.6 (Stable) The next generation Tapestry 4 version that improves upon the existing Tapestry 4 series with lots of bug fixes / AJAX support / performance enhancements. 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|http://tapestry.apache.org/tapestry4/changes.html] | | Mirrors | Checksum | Signature | ... Full Content Tapestry can be downloaded in either binary or source format. The easiest way to download Tapestry is with Maven, as described at Getting Started. See Release Notes for differences between versions. Beta Releases Beta releases represent code that is close to the final stable version. In general, new features (especially disruptive or non-backwards compatible features) are not introduced during the beta release stage. After a series of beta releases (to find and correct any bugs) a release will be voted up to stable status. See Release Notes on specific changes in each beta release. Tapestry 5.2.4 (beta) Mirrors Checksum Signature tapestry-bin 5.2.4 binary (tar.bz2) Download MD5 ASC tapestry-bin 5.2.4 binary (tar.gz) Download MD5 ASC tapestry-bin 5.2.4 binary (zip) Download MD5 ASC tapestry-src 5.2.4 binary (tar.bz2) Download MD5 ASC tapestry-src 5.2.4 binary (tar.gz) Download MD5 ASC tapestry-src 5.2.4 binary (zip) Download MD5 ASC Stable Releases Stable releases should be relatively free of critical bugs and are considered the safest option if stability is a requirement. Tapestry 5.1.0.5 (Stable) 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 binary (tar.bz2) Download MD5 ASC tapestry-src 5.1.0.5 binary (tar.gz) Download MD5 ASC tapestry-src 5.1.0.5 binary (zip) Download MD5 ASC Tapestry 4.1.6 (Stable) 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) Download MD5 ASC 4.1.6 source/docs (tar.bz2) Download MD5 ASC 4.1.6 source/docs (tar.gz) Download MD5 ASC 4.1.6 source/docs (zip) Download MD5 ASC Archives Looking for and older version of Tapestry? Try the archives. Download sources Anonymous access The source can be checked out anonymously from SVN with this command: $ svn checkout https://svn.apache.org/repos/asf/tapestry/tapestry5/trunk/ tapestry-project Access from behind a firewall Refer to the documentation of the SCM used for more information about access behind a firewall. Access through a proxy The Subversion client can go through a proxy, if you configure it to do so. First, edit your "servers" configuration file to indicate which proxy to use. The file's location depends on your operating system. On Linux or Unix it is located in the
svn commit: r1042391 - /tapestry/tapestry-site/branches/post-5.2-site/styles/style.css
Author: ccordenier Date: Sun Dec 5 18:05:08 2010 New Revision: 1042391 URL: http://svn.apache.org/viewvc?rev=1042391view=rev Log: Give some space to our headings and fix font families Modified: tapestry/tapestry-site/branches/post-5.2-site/styles/style.css Modified: tapestry/tapestry-site/branches/post-5.2-site/styles/style.css URL: http://svn.apache.org/viewvc/tapestry/tapestry-site/branches/post-5.2-site/styles/style.css?rev=1042391r1=1042390r2=1042391view=diff == --- tapestry/tapestry-site/branches/post-5.2-site/styles/style.css (original) +++ tapestry/tapestry-site/branches/post-5.2-site/styles/style.css Sun Dec 5 18:05:08 2010 @@ -1,6 +1,6 @@ body { color: #33; - font-family: Verdana, Helvetica, sans-serif; + font-family: 'Lucida Grande', verdana, arial, helvetica, sans-serif; background-color: #ff; font-size:13px; } @@ -12,8 +12,7 @@ html body { /* update HACK: Temporary fi h1, h2, h3 { margin: 0; padding: 0; } -h2, h3 { -font-family: Georgia, serif; +h2, h3{ font-weight: normal; font-size: 21px; color: #569D2F; @@ -21,9 +20,20 @@ h2, h3 { padding: 5px 0; } +h2 { + font-family: Georgia, serif; +} + h3 { - font-size: 18px; + font-size: 16px; + margin-top:20px; + padding:0px; } + +h1 a, h2 a, h3 a, h4 a { + text-decoration:none; +} + .wrapper { width: 1000px; margin: 0 auto; padding:0px 0px; border-left:1px solid #cc; border-right:1px solid #cc; } .clearer { clear: both; } @@ -136,6 +146,11 @@ a img { text-decoration: none;} margin: 0 30px; } +#col h2 { + font-family: 'Lucida Grande', verdana, arial, helvetica, sans-serif; +} + + #content { margin: 0px 30px;} #content p { text-align: justify; } @@ -143,6 +158,11 @@ a img { text-decoration: none;} #content ul { list-style:square; padding-left:40px; margin: 0px; } #content ul ul { list-style:circle; padding-left:50px; margin: 0px; } +#content h1, h2, h3{ +margin-top: 5px; +padding: 5px 0; +} + .big-col { /* width: 620px; */ /* float: left; */ @@ -184,9 +204,8 @@ a img { text-decoration: none;} /* Confluence's styles customization */ a.blogHeading { - font-family: Georgia, serif; font-weight: normal; -font-size: 18px; +font-size: 16px; color: #569D2F; }
[CONF] Apache Tapestry Index
Index Page edited by Christophe Cordenier Comment: Thumbnail's subtitles should stand on one single line Changes (2) ... [Seesaw|http://www.seesaw.com] : Video streaming - !oed.png! [Oxford English Dictionary|http://www.oed.com/] : Definitive online dictionary The definitive [Oxford English Dictionary|http://www.oed.com/] - !recurtrack.png! [RecurTrack|http://recurtrack.com] : Personal Budgetting ... Full Content Component oriented framework for creating dynamic, robust, highly scalable web applications in Java. Java Power Tapestry pages and components are simple Java POJOs, with easy access to all Java language features and the vast Java ecosystem. Thanks to Java's advanced concurrency API, Tapestry handles requests fast without sacrificing security or stability. Scripting Ease Tapestry features live class reloading: change your Java code, refresh the browser and see the changes... instantly! Have your cake and eat it too: the speed and depth of Java, the agile development style of Ruby or Python. Highly Productive Simple POJO classes, streamlined templates, live class reloading, state-of-the-art exception reporting, first-class Ajax support, and a big library of built-in components: Tapestry is designed from the ground up to give you great productivity. We think you will love Tapestry Give us 20 minutes and follow our quickstart guide. News Friday, 19 November 2010 Live Tapestry Hotel Booking Demo Last changed Nov 20, 2010 07:21 by Christophe Cordenier Curious to see a real Tapestry application live? Your wish is fulfilled; the Hotel Booking Demo is now available. Read more Posted at Nov 19, 2010 by Howard M. Lewis Ship| 0 comments | Edit Thursday, 18 November 2010 Tapestry 5.2.4 beta release Last changed Nov 18, 2010 20:03 by Howard M. Lewis Ship Following a successful vote, the Tapestry team has released the latest (and likely, final) beta release of Tapestry 5.2, version 5.2.4. This release consists of a modest number of bug fixes to 5.2.2, along with a few non-disruptive last minute improvements. Full release notes are available. Read more Posted at Nov 18, 2010 by Howard M. Lewis Ship| 0 comments | Edit Sunday, 31 October 2010 Tapestry 5.2.2 beta release Last changed Nov 07, 2010 17:24 by Andreas Andreou Following a successful vote, the Tapestry team has released the second beta release of Tapestry 5.2, version 5.2.2. This release consists of a modest number of bug fixes to 5.2.1, along with a few non-disruptive last minute improvements. Full release notes are available. Read more Posted at Oct 31, 2010 by Howard M. Lewis Ship| 0 comments | Edit Monday, 11 October 2010 Tapestry 5.2.1 beta release Last changed Nov 07, 2010 17:24 by Andreas Andreou Following a successful vote, the Tapestry team has released the first beta release of Tapestry 5.2, version 5.2.1. This release consists mostly of
[jira] Closed: (TAP5-1346) Fix broken links on new Web Site
[ https://issues.apache.org/jira/browse/TAP5-1346?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Christophe Cordenier closed TAP5-1346. -- Resolution: Fixed Fix Version/s: 5.2.5 Use http://tapestry.apache.org/current as an alias (redirect) for javadoc and component reference. Fix broken links on new Web Site Key: TAP5-1346 URL: https://issues.apache.org/jira/browse/TAP5-1346 Project: Tapestry 5 Issue Type: Improvement Components: documentation Reporter: Christophe Cordenier Assignee: Christophe Cordenier Fix For: 5.2.5 Here is the report generated by http://home.snafu.de/tilman/xenulink.html http://andyhot.gr/ error code: 12029 (no connection), linked from page(s): https://cwiki.apache.org/TAPESTRY/about.html http://aspectj.org/ error code: 12029 (no connection), linked from page(s): https://cwiki.apache.org/TAPESTRY/ioc.html http://docs.codehaus.org/display/JETTY/Downloading%20and%20Installing error code: 404 (not found), linked from page(s): https://cwiki.apache.org/TAPESTRY/environment.html http://java.sun.com/j2se/1.5.0/docs/guide/language/annotations.html error code: 12029 (no connection), linked from page(s): https://cwiki.apache.org/TAPESTRY/ioc.html http://jetty.mortbay.com/ error code: 12007 (no such host), linked from page(s): https://cwiki.apache.org/TAPESTRY/https.html http://localhost:8080/ error code: 12029 (no connection), linked from page(s): https://cwiki.apache.org/TAPESTRY/getting-started.html http://localhost:8080/chooser.select/3 error code: 12029 (no connection), linked from page(s): https://cwiki.apache.org/TAPESTRY/component-events.html http://localhost:8080/tapestry-tutorial1/ error code: 12029 (no connection), linked from page(s): https://cwiki.apache.org/TAPESTRY/first.html http://localhost:8080/tutorial1/ error code: 12029 (no connection), linked from page(s): https://cwiki.apache.org/TAPESTRY/first.html http://localhost:8080/tutorial1/address/ error code: 12029 (no connection), linked from page(s): https://cwiki.apache.org/TAPESTRY/forms.html http://localhost:8080/tutorial1/address/create error code: 12029 (no connection), linked from page(s): https://cwiki.apache.org/TAPESTRY/forms.html http://localhost:8080/tutorial1/guess error code: 12029 (no connection), linked from page(s): https://cwiki.apache.org/TAPESTRY/hilo.html http://localhost:8080/tutorial1/guess.link/4 error code: 12029 (no connection), linked from page(s): https://cwiki.apache.org/TAPESTRY/hilo.html http://login.domain.com/ error code: 12007 (no such host), linked from page(s): https://cwiki.apache.org/TAPESTRY/url-rewriting.html http://m2eclipse.codehaus.org/update/ error code: 404 (not found), linked from page(s): https://cwiki.apache.org/TAPESTRY/environment.html http://netbeans.org/kb/55/quickstart-tapestry-in-netbeans.html error code: 404 (not found), linked from page(s): http://www.netbeans.org/kb/55/quickstart-tapestry-in-netbeans.html http://today.java.net/ error code: 12002 (timeout), linked from page(s): https://cwiki.apache.org/TAPESTRY/articles.html http://today.java.net/pub/a/today/2005/06/23/trails.html error code: 500 (server error), linked from page(s): https://cwiki.apache.org/TAPESTRY/articles.html http://today.java.net/pub/a/today/2005/11/04/further-down-the-trail.html error code: 500 (server error), linked from page(s): https://cwiki.apache.org/TAPESTRY/articles.html http://www.hibernate.org/hib_docs/annotations/api/org/hibernate/cfg/AnnotationConfiguration.html error code: 404 (not found), linked from page(s): https://cwiki.apache.org/TAPESTRY/hibernate-core-conf.html http://www.ibm.com/developerworks/j error code: 404 (not found), linked from page(s): http://www-128.ibm.com/developerworks/j http://www.jboss.org/products/javassist error code: 404 (not found), linked from page(s): https://cwiki.apache.org/TAPESTRY/ioc.html http://www.myreportsite.com/report.cgi error code: 12007 (no such host), linked from page(s): https://cwiki.apache.org/TAPESTRY/ioc-symbols.html http://www.ognl.org/copyright.html error code: 404 (not found), linked from page(s): https://cwiki.apache.org/TAPESTRY/download.html https://cwiki.apache.org/confluence/pages/viewpage.action error code: 404 (not found), linked from page(s): https://cwiki.apache.org/TAPESTRY/ajax-javascript.html https://cwiki.apache.org/images/border/border_bottom.gif error code: 404 (not found), linked from page(s): https://cwiki.apache.org/TAPESTRY/resources/space.css https://cwiki.apache.org/images/decoration/buttons-bg-white.png error code: 404 (not found), linked from page(s):
svn commit: r1042415 - /tapestry/tapestry-site/branches/post-5.2-site/styles/style.css
Author: ccordenier Date: Sun Dec 5 19:16:36 2010 New Revision: 1042415 URL: http://svn.apache.org/viewvc?rev=1042415view=rev Log: Give some air to page footer Modified: tapestry/tapestry-site/branches/post-5.2-site/styles/style.css Modified: tapestry/tapestry-site/branches/post-5.2-site/styles/style.css URL: http://svn.apache.org/viewvc/tapestry/tapestry-site/branches/post-5.2-site/styles/style.css?rev=1042415r1=1042414r2=1042415view=diff == --- tapestry/tapestry-site/branches/post-5.2-site/styles/style.css (original) +++ tapestry/tapestry-site/branches/post-5.2-site/styles/style.css Sun Dec 5 19:16:36 2010 @@ -196,10 +196,14 @@ a img { text-decoration: none;} #footer { position: relative; + margin-top: 25px; + padding-top: 5px; + padding-bottom: 5px; } #footer p { font-size: x-small; + margin: 0; } /* Confluence's styles customization */
[jira] Reopened: (TAP5-648) Tapestry should be more careful about where, inside the head, it adds new elements
[ https://issues.apache.org/jira/browse/TAP5-648?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ville Virtanen reopened TAP5-648: - As of 5.2.4 this is still broken, unfortunately. As MS states, the META tags that direct the rendering of IE must occur before css imports and such. Tapestry includes meta tags after the inclusion of javascript and css, which in this case is plain wrong. Tapestry should be more careful about where, inside the head, it adds new elements Key: TAP5-648 URL: https://issues.apache.org/jira/browse/TAP5-648 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.1.0.3 Reporter: Ville Virtanen Assignee: Howard M. Lewis Ship Fix For: 5.1.0.4 As Microsoft documentation states (http://msdn.microsoft.com/en-us/library/cc817574.aspx) the META tags that direct IE8 must be positioned as follows: The X-UA-compatible header is not case sensitive; however, it must appear in the Web page's header (the HEAD section) before all other elements, except for the TITLE element and other META elements.. The most flexible solution would be to honor the order of META and other tags that author has put directly to the template: the place for T5 tags could be indicated with special tag: For an example html head titleMy Web Page/title meta http-equiv=X-UA-Compatible content=IE=EmulateIE7 / t:headcontent / link href=dirlang.html rel=next/ /head . . If author decides to omit the t:headcontent tag then T5 would not attach any meta or link tags. Other solution as Howard indicated in the mailing list would be to just add the T5 specific stuff to the end of the head section. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Issue Comment Edited: (TAP5-648) Tapestry should be more careful about where, inside the head, it adds new elements
[ https://issues.apache.org/jira/browse/TAP5-648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12967014#action_12967014 ] Ville Virtanen edited comment on TAP5-648 at 12/5/10 3:42 PM: -- As of 5.2.4 this is still broken, unfortunately. As MS states, the META tags that direct the rendering of IE must occur before css imports and such. Tapestry includes meta tags after the inclusion of javascript and css, which in this case is plain wrong. Just to make my point, this is again the spec: ...it must appear in the Web page's header (the HEAD section) before all other elements, except for the TITLE element and other META elements. was (Author: 9902468): As of 5.2.4 this is still broken, unfortunately. As MS states, the META tags that direct the rendering of IE must occur before css imports and such. Tapestry includes meta tags after the inclusion of javascript and css, which in this case is plain wrong. Tapestry should be more careful about where, inside the head, it adds new elements Key: TAP5-648 URL: https://issues.apache.org/jira/browse/TAP5-648 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.1.0.3 Reporter: Ville Virtanen Assignee: Howard M. Lewis Ship Fix For: 5.1.0.4 As Microsoft documentation states (http://msdn.microsoft.com/en-us/library/cc817574.aspx) the META tags that direct IE8 must be positioned as follows: The X-UA-compatible header is not case sensitive; however, it must appear in the Web page's header (the HEAD section) before all other elements, except for the TITLE element and other META elements.. The most flexible solution would be to honor the order of META and other tags that author has put directly to the template: the place for T5 tags could be indicated with special tag: For an example html head titleMy Web Page/title meta http-equiv=X-UA-Compatible content=IE=EmulateIE7 / t:headcontent / link href=dirlang.html rel=next/ /head . . If author decides to omit the t:headcontent tag then T5 would not attach any meta or link tags. Other solution as Howard indicated in the mailing list would be to just add the T5 specific stuff to the end of the head section. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (TAP5-648) Tapestry should be more careful about where, inside the head, it adds new elements
[ https://issues.apache.org/jira/browse/TAP5-648?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ville Virtanen updated TAP5-648: Fix Version/s: (was: 5.1.0.4) Affects Version/s: 5.2.0 5.2.1 5.2.2 5.2.3 5.2.4 5.1.0.0 5.1.0.1 5.1.0.2 5.1.0.4 5.1.0.5 Tapestry should be more careful about where, inside the head, it adds new elements Key: TAP5-648 URL: https://issues.apache.org/jira/browse/TAP5-648 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.2.0, 5.2.1, 5.2.2, 5.2.3, 5.2.4, 5.1.0.0, 5.1.0.1, 5.1.0.2, 5.1.0.3, 5.1.0.4, 5.1.0.5 Reporter: Ville Virtanen Assignee: Howard M. Lewis Ship As Microsoft documentation states (http://msdn.microsoft.com/en-us/library/cc817574.aspx) the META tags that direct IE8 must be positioned as follows: The X-UA-compatible header is not case sensitive; however, it must appear in the Web page's header (the HEAD section) before all other elements, except for the TITLE element and other META elements.. The most flexible solution would be to honor the order of META and other tags that author has put directly to the template: the place for T5 tags could be indicated with special tag: For an example html head titleMy Web Page/title meta http-equiv=X-UA-Compatible content=IE=EmulateIE7 / t:headcontent / link href=dirlang.html rel=next/ /head . . If author decides to omit the t:headcontent tag then T5 would not attach any meta or link tags. Other solution as Howard indicated in the mailing list would be to just add the T5 specific stuff to the end of the head section. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[CONF] Apache Tapestry Contributors
Contributors Page moved by Bob Harner From: Apache Tapestry Committers To: Apache Tapestry About Children moved Change Notification Preferences View Online
[CONF] Apache Tapestry Committers
Committers Page moved by Bob Harner From: Apache Tapestry Index To: Apache Tapestry Contributors Children moved Change Notification Preferences View Online
[CONF] Apache Tapestry Books
Books Page edited by Bob Harner Comment: Changed to 2-column layout for compactness Changes (26) ... h3. Tapestry 5: Die Entwicklung von Webanwendungen mit Leichtigkeit {section}{column:width=20%} !tapestry5-drobiazko.jpg|border=1! {column}{column} * *Covers:* Tapestry 5 (Version 5.1.0.5) * *Published:* 2009 * *Author:* Igor Drobiazko * *Language:* German {column}{section} This book is the only one Tapestry 5 book written in German. It is a definitive introduction to Tapestry 5 written by Igor Drobiazko, a committer of Tapestry. The book covers: * Getting Started with Tapestry 5 * Concepts of the framework ... * AOP and bytecode manipuation h3. Tapestry 5: Building Web Applications {section}{column:width=20%} !packtpub_cover.png|border=1! {column}{column} * *Covers:* Tapestry 5 * *Published:* 2008 * *Author:* Alexander Kolesnikov * *Language:* English {column}{section} Alexander follows up his long series of Tapestry 4 tutorials with the _first_ book on Tapestry 5. ... h3. Tapestry Complete Reference {section}{column:width=20%} !t4chinese.jpg|border=1! {column}{column} * *Covers:* Tapestry 4 * *Published:* 2007 * *Author:* A. Dong * *Language:* Chinese {column}{section} The first Chinese-language book to cover Tapestry (though Tapestry in Action has been translated). as a non-Chinese speaker, its a bit hard to know whats between the covers, but looks like it gets into the nitty-gritty of Tapestry, Spring and Hibernate. ... h3. Tapestry 101 {section}{column:width=20%} !tapestry101.jpg|border=1! {column}{column} * *Covers:* Tapestry 4 (Spring/Hibernate/Hivemind/Tacos(ajax) * *Publisher:* SourceBeat * *Published:* 2006 * *Authors:* Warner Onstine {column}{section} Tapestry is an open-source web application framework written in Java. This framework is different from standard MVC frameworks _(like Struts or WebWork)_ in that it is more of a component-oriented framework. A component-oriented framework _(like JavaServer Faces)_ allows you to create re-usable components that you can then re-use on other projects with the ability to re-configure these components to suit a specific purpose. ... h3. Beginning POJOs: Lightweight Java Web Development Using Plain Old Java Objects in Spring, Hibernate, and Tapestry {section}{column:width=20%} !beginning-pojos.gif|border=1! {column}{column} * *Covers:* Tapestry 4 * *Publisher:* Apress * *Published:* 2006 * *Authors:* Brian Sam-Bodden {column}{section} This book guides you through the construction of complex but lightweight enterprise Java-based web applications. Such applications are centered around several major open source lightweight frameworks, including Spring, Hibernate, Tapestry, and JBoss. The Tapestry chapter (ch.7, p.239-304) covers: ... h3. Enjoying Web Development with Tapestry {section}{column:width=20%} !ewdt_tong_cover.jpg|border=1! {column}{column} * *Covers:* Tapestry 4.1/4/3 * *Publisher:* Agile Skills * *Published:* 2006 * *Authors:* [Kent Tong|http://www.agileskills2.org/EWDT/] {column}{section} Enjoying Web Development with Tapestry by Kent Tong covers Tapestry 4.1 (with AJAX). Previous editions cover 4.0 and 3.0. Available in PDF and hard-copy formats. ... h3. Tapestry Webanwendungen mit dem Apache Framework {section}{column:width=20%} !tapestry-german-cover.gif|border=1! {column}{column} * *Covers:* Tapestry 3 * *Publisher:* SS * *Published:* 2004 * *Authors:* Stefan Edlich,Patrick Kunert {column}{section} Tapestry Webanwendungen mit dem Apache Framework is a fast-paced guide to using Tapestry, focusing on combining Tapestry with other open-source frameworks, as well as developing Tapestry applications using [Spindle|http://spindle.sourceforge.net/]. Covers: ... h3. Tapestry in Action {section}{column:width=20%} !tapestry-in-action.png|border=1! {column}{column} * *Covers:* Tapestry 3 * *Publisher:* Manning Publications * *Published:* 2004 * *Authors:* [Howard M. Lewis Ship|http://howardlewisship.com/] {column}{section} It
[CONF] Apache Tapestry IoC - configuration
IoC - configuration Page edited by Bob Harner Comment: Fixed syntax error in example; reordered intro paragraphs for clarity and flow; fixed "override" link Changes (22) h1. Tapestry IoC Configurations One of the key concepts on Tapestry IoC is _distributed configuration_. This is a concept borrowed from the Eclipse Plugin API and evidenced in Apache HiveMind prior to Tapestry 5 IoC. Tapestry services -- both those provided by Tapestry and those you write yourself -- are configured using Java, not XML. So ... nice term, what does it mean? One of the key concepts in Tapestry IoC is _distributed configuration_. The _distributed_ part refers to the fact that _any module_ may configure a service. Distributed configuration is the key feature of Tapestry IoC that supports extensibility and modularity. Distributed configuration is the key feature of Tapestry IoC that supports _extensibility_ and _modularity_. Modules configure a service by _contributing_ to service configurations. This seems esoteric, but is quite handy, and is best explained by an example. The distributed part refers to the fact that _any module_ may make _contributions_ to any services configuration. Lets say youve written a bunch of different services, each of which does something specific for a particular type of file (identified by the files extension), and each implements the same interface, which well call FileServicer. And now lets say you need a central service that selects the one of your FileServicer implementations based on a given file extension. You start by providing a [service builder method|Defining Tapestry IOC Services#serviceBuilderMethod]: This seems esoteric, but is quite handy, and is best explained by example. Say you are building a service that, say, maps a file extension to an interface called FileServicer. Theres a bunch of different services, all implementing the FileServicer interface, across many different modules, each doing something specific for a particular type of file (identified by the files extension). A central service uses this configuration to select a particular FileService interface: {code:java} public static FileServiceDispatcher buildFileServicerDispatcher(MapString,FileServicer contributions) ... In order to provide a value for the contribution parameter, Tapestry will _collect_ contributions from service contribution methods. It will ensure that the keys and values match the generic types shown (String for the key, FileServicer for the value). The map will be assembled and passed into the service builder method, and from there, into the FileServiceDispatcherImpl constructor. So where do the values come from? Service Your service contributor methods, methods that whose names start with contribute: {code:java} ... } {code} Like service builder and service decorator methods, we can inject services if we like: Or, instead of instantiating those services ourselves, we could [inject|IoC - injection] them: {code:java} ... @InjectService(TextFileServicer) FileServicer textFileServicer, @InjectService(PDFFileServicer) FileServicer pdfFileServicer,) { configuration.add(txt, textFileServicer); ... * There is no longer a linkage between the contribution method name and the service id, which is much more refactoring safe: if you change the service interface name, or the id of the service, your method will still be invoked when using @Contribute. * It makes it much easier for an [override|cookbook/override.html] [override|#overrides] of the service to get the configuration intended for the original service. The following example is an annotation-based alternative for the contribution method above. {code:java} ... {code} If you have several implementations of a service interface, you have to disambiguate the services. For this purpose the marker annotations should be placed on the contributor method. {code:java} ... There are three different styles of configurations (with matching contributions): * Unordered Collection. *Unordered Collection* -- Contributions are simply added in and order is not important. * Ordered List. *Ordered List* -- Contributions are provided as an ordered list. Contributions must establish the order by giving each contributed object a unique id, by
[jira] Created: (TAP5-1365) allow Translators to be registered by name and used as Formatters
allow Translators to be registered by name and used as Formatters - Key: TAP5-1365 URL: https://issues.apache.org/jira/browse/TAP5-1365 Project: Tapestry 5 Issue Type: Improvement Affects Versions: 5.2.4 Reporter: Paul Stanton It's my understanding that a regression between version 5.1 and 5.2 meant that it is no longer possible to register translators by name (without some extra plumbing) via the 'translate' binding prefix. Instead you can override the default Translator for a particular type meaning you can have one translator per type. This means that the 'translate' binding prefix is perhaps redundant, since the translator could be selected by value type. I might be incorrect in my understanding but either way, I'd appreciate the discussion on the benefits of my suggested approach. What I suggest is at least a partial return to the old model whereby you could register a translator by name and for example have a 'date-long' translator and a 'date-short' translator co-exist, or a 'decimal-2dp' and a 'decimal-3dp' translator. you would then select the appropriate translator via the parameter binding t:textfield value=myDecimal translator=translate:decimal-2dp / Secondly, since Translators are capable of converting objects to text, there should be no reason why they couldn't be re-used as formatters, so you could also use t:output value=myDate format=translate:date-long / The inclusion of both of these features would allow a developer to create one set of Translators which are responsible for all object-to-text and text-to-object conversions throughout an application, thereby avoiding repetitive coding. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.