Differences between revisions 261 and 262
Revision 261 as of 2008-11-14 17:07:44
Size: 13102
Editor: mail2
Comment:
Revision 262 as of 2009-09-20 23:20:23
Size: 13175
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:
[[TableOfContents]] <<TableOfContents>>
Line 8: Line 8:
attachment:tapestry_banner.gif
This wiki is part of the [wiki:ApacheGeneral:FrontPage big Apache Wiki Farm].
{{attachment:tapestry_banner.gif}}
This wiki is part of the [[ApacheGeneral:FrontPage|big Apache Wiki Farm]].
Line 12: Line 12:
the documentation available on the [http://tapestry.apache.org Tapestry home page]. It contains FAQs, helpful tips, and ongoing the documentation available on the [[http://tapestry.apache.org|Tapestry home page]]. It contains FAQs, helpful tips, and ongoing
Line 34: Line 34:
 * [http://www.java201.com/resources/browse/60-all.html Tapestry Resources]: Articles, Books, Examples, Extensions, FAQs, IDEs, Presentations, Tools, Tutorials.

 * [http://tapestry.apache.org/mail-lists.html] - search combined user/dev [http://www.nabble.com/Jakarta-Tapestry-f302.html archive] before posting questions to the lists.

 * [http://wiki.java.net/bin/view/Javapedia/Tapestry Javapedia Tapestry page]
 * [[http://www.java201.com/resources/browse/60-all.html|Tapestry Resources]]: Articles, Books, Examples, Extensions, FAQs, IDEs, Presentations, Tools, Tutorials.

 * [[http://tapestry.apache.org/mail-lists.html]] - search combined user/dev [[http://www.nabble.com/Jakarta-Tapestry-f302.html|archive]] before posting questions to the lists.

 * [[http://wiki.java.net/bin/view/Javapedia/Tapestry|Javapedia Tapestry page]]
Line 42: Line 42:
 * [http://tapestry.sourceforge.net/wiki/ SF.net Wiki]: The old wiki, set up when Tapestry was a !SourceForge project, still exists and still has some useful content not yet migrated here.  * [[http://tapestry.sourceforge.net/wiki/|SF.net Wiki]]: The old wiki, set up when Tapestry was a !SourceForge project, still exists and still has some useful content not yet migrated here.
Line 52: Line 52:
 * [http://www.tapestryforums.com/index.php]: Tapestry centric forum

 * There is a #tapestry IRC channel on freenode [irc://irc.freenode.net/tapestry]

 * ["Gotchas"]
 * [[http://www.tapestryforums.com/index.php]]: Tapestry centric forum

 * There is a #tapestry IRC channel on freenode [[irc://irc.freenode.net/tapestry]]

 * [[Gotchas]]
Line 62: Line 62:
 * IdeaProjectFiles: Project descriptors (.ipr, .iml) to open tapestry source code as an [http://www.jetbrains.com IDEA] project.  * IdeaProjectFiles: Project descriptors (.ipr, .iml) to open tapestry source code as an [[http://www.jetbrains.com|IDEA]] project.
Line 68: Line 68:
 * [http://www.t-deli.com]: The '''Tapestry Deli''' runs live examples, and is the source for some useful Tapestry component libraries.

 * [https://betterpetshop.dev.java.net/ Tapestry '''Petshop''' application]: This Petshop uses the '''Tapestry, Spring and Hibernate''' frameworks. Source code is available.]

 * [http://thermal.jhlconsulting.com:8080/botany/app Sample Hibernate/Tapestry Application]: Sample Application illustrating some components, integrated with Hibernate for persistence. Source code available shortly.
 * [http://www.tapestrycomponents.org/Tassel/app Tassel]: Tassel (Tapestry Searchable Selection of components) is a repository of user contributed components built with tapestry, cayenne, and lucene. Source code is available from [http://sourceforge.net/projects/tapestry-tassel].

 * [http://www.sandcastsoftware.com/articlesandtutorials/brownbag/index.html#tapestry A series of Tapestry tutorials]: This will be a series of 9 tutorials focused on Tapestry and how to integrate it with different technologies. The first two are available now.

 * [http://www.agileskills2.org/EWDT Tapestry tutorials by Kent Tong]: Tutorials created by Kent Tong.

 * [https://tapestrywebcomponentexamples.dev.java.net/ Tapestry Web Component Examples]: Examples of how to use the contrib:Table and contrib:Tree components. These examples are packaged as .wars and have been tested with Tomcat 5.

 * [http://jumpstart.doublenegative.com.au JumpStart]: Teach yourself Tapestry by example, starting with a login screen. Tapestry JumpStart is a collection of working examples plus an instant, working application, ready to be explored, altered and built on. Feel free to use it as the base of your own application.

 * [http://www.jpox.org/docs/1_0/tutorials/tapestry.html Tapestry + JDO, the Virtual Library revisited]: This is a port of the framework's Virtual Library example, using JDO instead of Enterprise Java Beans for the model. Much easier to set up. A good example showing how to use JDO with Tapestry. Complete with tutorial that discusses design decisions.

 * [http://www.jpox.org/docs/1_1/tutorials/tapestry_petstore.html Tapestry + JDO, the Petshop revisited]: This is a port of Luis Neves' Petshop, using JDO instead of JDBC + DAO pattern. Complete with tutorial that discusses design decisions and code metrics.

 * [http://raibledesigns.com/wiki/Wiki.jsp?page=AppFuse Matt Raible's AppFuse]: AppFuse is an application for kick starting webapp development that includes options for using Tapestry, JSF, WebWork, and Struts. A good reference for those who want to compare frameworks.

 * [http://trails.dev.java.net Trails] Trails is a domain driven development framework that makes building object oriented web applications with DB persistence radically simpler. Tapestry is used as the web framework, Spring for IoC, and Hibernate for DB persistence. A large portion of Trails is implemented as Tapestry components.

 * [http://sourceforge.net/projects/tash/ TASH] is a template application with '''Spring IoC''' and '''Acegi Security System''' integration. Actually there is no release yet, but there is already some working code in the CVS repository. TASH has no functionality besides a working Acegi integration.

 * [http://stitches.authsum.org/ stitches] is a tapestry library of components that encapsulate the file system. These components provide for search, upload, editing, tagging and several other operations. It uses some features of the features of hivemind and T4. It contains an example war file that uses the library. Not only is it a useful library, but it provides for examples on how to use many of the other components in the tapestry framework.

 * [http://www.carmanconsulting.com/svn/public/tapernate/ James Carman's Tapernate] '''Tapernate''' is another sample "backend" application which nicely integrates Hibernate into Tapestry using Hivemind as the glue between Tapestry and a small set of Spring classes. Provides transaction-per-request, a Hibernate EntitySqueezer and an auto-wiring enhancement worker. A corresponding web application can be found here [http://www.carmanconsulting.com/svn/public/tapernate-example/]

 * [http://honeycomb.javaforge.com Honeycomb] provides Hibernate Integration and more. Main differences are: Supports [http://www.hibernate.org/42.html session-per-conversation pattern], does not support declarative transaction propagation.

 * [http://len.is-a-geek.org/work/articles/tapestry-ajax-application-1 Tapestry Ajax] shows a working simple Tapestry and Tacos Ajax components application which can be used as a start for developing Tapestry applications which make use of Tacos components.
 * [[http://www.t-deli.com]]: The '''Tapestry Deli''' runs live examples, and is the source for some useful Tapestry component libraries.

 * [[https://betterpetshop.dev.java.net/|Tapestry '''Petshop''' application]]: This Petshop uses the '''Tapestry, Spring and Hibernate''' frameworks. Source code is available.]

 * [[http://thermal.jhlconsulting.com:8080/botany/app|Sample Hibernate/Tapestry Application]]: Sample Application illustrating some components, integrated with Hibernate for persistence. Source code available shortly.
 * [[http://www.tapestrycomponents.org/Tassel/app|Tassel]]: Tassel (Tapestry Searchable Selection of components) is a repository of user contributed components built with tapestry, cayenne, and lucene. Source code is available from [[http://sourceforge.net/projects/tapestry-tassel]].

 * [[http://www.sandcastsoftware.com/articlesandtutorials/brownbag/index.html#tapestry|A series of Tapestry tutorials]]: This will be a series of 9 tutorials focused on Tapestry and how to integrate it with different technologies. The first two are available now.

 * [[http://www.agileskills2.org/EWDT|Tapestry tutorials by Kent Tong]]: Tutorials created by Kent Tong.

 * [[https://tapestrywebcomponentexamples.dev.java.net/|Tapestry Web Component Examples]]: Examples of how to use the contrib:Table and contrib:Tree components. These examples are packaged as .wars and have been tested with Tomcat 5.

 * [[http://jumpstart.doublenegative.com.au|JumpStart]]: Teach yourself Tapestry by example, starting with a login screen. Tapestry JumpStart is a collection of working examples plus an instant, working application, ready to be explored, altered and built on. Feel free to use it as the base of your own application.

 * [[http://www.jpox.org/docs/1_0/tutorials/tapestry.html|Tapestry + JDO, the Virtual Library revisited]]: This is a port of the framework's Virtual Library example, using JDO instead of Enterprise Java Beans for the model. Much easier to set up. A good example showing how to use JDO with Tapestry. Complete with tutorial that discusses design decisions.

 * [[http://www.jpox.org/docs/1_1/tutorials/tapestry_petstore.html|Tapestry + JDO, the Petshop revisited]]: This is a port of Luis Neves' Petshop, using JDO instead of JDBC + DAO pattern. Complete with tutorial that discusses design decisions and code metrics.

 * [[http://raibledesigns.com/wiki/Wiki.jsp?page=AppFuse|Matt Raible's AppFuse]]: AppFuse is an application for kick starting webapp development that includes options for using Tapestry, JSF, WebWork, and Struts. A good reference for those who want to compare frameworks.

 * [[http://trails.dev.java.net|Trails]] Trails is a domain driven development framework that makes building object oriented web applications with DB persistence radically simpler. Tapestry is used as the web framework, Spring for IoC, and Hibernate for DB persistence. A large portion of Trails is implemented as Tapestry components.

 * [[http://sourceforge.net/projects/tash/|TASH]] is a template application with '''Spring IoC''' and '''Acegi Security System''' integration. Actually there is no release yet, but there is already some working code in the CVS repository. TASH has no functionality besides a working Acegi integration.

 * [[http://stitches.authsum.org/|stitches]] is a tapestry library of components that encapsulate the file system. These components provide for search, upload, editing, tagging and several other operations. It uses some features of the features of hivemind and T4. It contains an example war file that uses the library. Not only is it a useful library, but it provides for examples on how to use many of the other components in the tapestry framework.

 * [[http://www.carmanconsulting.com/svn/public/tapernate/|James Carman's Tapernate]] '''Tapernate''' is another sample "backend" application which nicely integrates Hibernate into Tapestry using Hivemind as the glue between Tapestry and a small set of Spring classes. Provides transaction-per-request, a Hibernate EntitySqueezer and an auto-wiring enhancement worker. A corresponding web application can be found here [[http://www.carmanconsulting.com/svn/public/tapernate-example/]]

 * [[http://honeycomb.javaforge.com|Honeycomb]] provides Hibernate Integration and more. Main differences are: Supports [[http://www.hibernate.org/42.html|session-per-conversation pattern]], does not support declarative transaction propagation.

 * [[http://len.is-a-geek.org/work/articles/tapestry-ajax-application-1|Tapestry Ajax]] shows a working simple Tapestry and Tacos Ajax components application which can be used as a start for developing Tapestry applications which make use of Tacos components.
Line 103: Line 103:
 * [http://spindle.sourceforge.net/ Spindle]: Geoff Longman's Spindle is an Eclipse plugin for Tapestry. Among other features, this plugin checks for consistency between your .page files and the associated .html templates. Spindle also supports [http://groovestry.sourceforge.net/ Groovestry], a project that integrates the Groovy scripting language and the Tapestry web application framework.

 * [http://tapestrypalette.sf.net/ Tapestry Palette]: Michael Henderson's Palette Plug-in works in conjuction with Spindle. The Palette consists of a tree of Tapestry components, organized by namespace. Selecting a component in the tree displays a summary in the lower part of the view showing the component description and listing required and optional parameters along with their descriptions.

 * [http://tapidea.javaforge.com/ TapIdea]: Hugo Palma's Tapidea is an IntelliJ IDEA plugin for Tapestry 5. This plugin provides wizards, highlighting, auto-completion and navigation.
 * [[http://spindle.sourceforge.net/|Spindle]]: Geoff Longman's Spindle is an Eclipse plugin for Tapestry. Among other features, this plugin checks for consistency between your .page files and the associated .html templates. Spindle also supports [[http://groovestry.sourceforge.net/|Groovestry]], a project that integrates the Groovy scripting language and the Tapestry web application framework.

 * [[http://tapestrypalette.sf.net/|Tapestry Palette]]: Michael Henderson's Palette Plug-in works in conjuction with Spindle. The Palette consists of a tree of Tapestry components, organized by namespace. Selecting a component in the tree displays a summary in the lower part of the view showing the component description and listing required and optional parameters along with their descriptions.

 * [[http://tapidea.javaforge.com/|TapIdea]]: Hugo Palma's Tapidea is an IntelliJ IDEA plugin for Tapestry 5. This plugin provides wizards, highlighting, auto-completion and navigation.
Line 117: Line 117:
  * ["Tapestry4"]: High-level goals and planning for Tapestry 4.0   * [[Tapestry4]]: High-level goals and planning for Tapestry 4.0
Line 127: Line 127:
  * [http://howardlewisship.com/tapestry-javaforge/tapestry-spring/ Tapestry-Spring]: Another way to integrate Tapestry 4.0 and Spring   * [[http://howardlewisship.com/tapestry-javaforge/tapestry-spring/|Tapestry-Spring]]: Another way to integrate Tapestry 4.0 and Spring
Line 142: Line 142:
 * ["TapestryTLP"]: Tapestry is looking to re-organize as a top-level Apache project  * [[TapestryTLP]]: Tapestry is looking to re-organize as a top-level Apache project
Line 158: Line 158:
 * ["TapestrySite"]: Building/deploying tapestry web site with maven2.  * [[TapestrySite]]: Building/deploying tapestry web site with maven2.
Line 194: Line 194:
  * attachment:PoweredByTapestry.gif GIF width=79 height=33   * {{attachment:PoweredByTapestry.gif}} GIF width=79 height=33

Welcome to the Tapestry Wiki

tapestry_banner.gif This wiki is part of the big Apache Wiki Farm.

Tapestry is a powerful, innovative and increasingly popular open-source web application framework. This wiki exists to supplement the documentation available on the Tapestry home page. It contains FAQs, helpful tips, and ongoing discussions about the future directions of Tapestry.

Users are encouraged to edit the pages of this Wiki. There is HelpForBeginners and there's a WikiSandBox for you to use when learning the Wiki syntax. Please don't test your Wiki chops on real pages!

Tapestry Subject Areas

Sample Applications

  • http://www.t-deli.com: The Tapestry Deli runs live examples, and is the source for some useful Tapestry component libraries.

  • Tapestry '''Petshop''' application: This Petshop uses the Tapestry, Spring and Hibernate frameworks. Source code is available.]

  • Sample Hibernate/Tapestry Application: Sample Application illustrating some components, integrated with Hibernate for persistence. Source code available shortly.

  • Tassel: Tassel (Tapestry Searchable Selection of components) is a repository of user contributed components built with tapestry, cayenne, and lucene. Source code is available from http://sourceforge.net/projects/tapestry-tassel.

  • A series of Tapestry tutorials: This will be a series of 9 tutorials focused on Tapestry and how to integrate it with different technologies. The first two are available now.

  • Tapestry tutorials by Kent Tong: Tutorials created by Kent Tong.

  • Tapestry Web Component Examples: Examples of how to use the contrib:Table and contrib:Tree components. These examples are packaged as .wars and have been tested with Tomcat 5.

  • JumpStart: Teach yourself Tapestry by example, starting with a login screen. Tapestry JumpStart is a collection of working examples plus an instant, working application, ready to be explored, altered and built on. Feel free to use it as the base of your own application.

  • Tapestry + JDO, the Virtual Library revisited: This is a port of the framework's Virtual Library example, using JDO instead of Enterprise Java Beans for the model. Much easier to set up. A good example showing how to use JDO with Tapestry. Complete with tutorial that discusses design decisions.

  • Tapestry + JDO, the Petshop revisited: This is a port of Luis Neves' Petshop, using JDO instead of JDBC + DAO pattern. Complete with tutorial that discusses design decisions and code metrics.

  • Matt Raible's AppFuse: AppFuse is an application for kick starting webapp development that includes options for using Tapestry, JSF, WebWork, and Struts. A good reference for those who want to compare frameworks.

  • Trails Trails is a domain driven development framework that makes building object oriented web applications with DB persistence radically simpler. Tapestry is used as the web framework, Spring for IoC, and Hibernate for DB persistence. A large portion of Trails is implemented as Tapestry components.

  • TASH is a template application with Spring IoC and Acegi Security System integration. Actually there is no release yet, but there is already some working code in the CVS repository. TASH has no functionality besides a working Acegi integration.

  • stitches is a tapestry library of components that encapsulate the file system. These components provide for search, upload, editing, tagging and several other operations. It uses some features of the features of hivemind and T4. It contains an example war file that uses the library. Not only is it a useful library, but it provides for examples on how to use many of the other components in the tapestry framework.

  • James Carman's Tapernate Tapernate is another sample "backend" application which nicely integrates Hibernate into Tapestry using Hivemind as the glue between Tapestry and a small set of Spring classes. Provides transaction-per-request, a Hibernate EntitySqueezer and an auto-wiring enhancement worker. A corresponding web application can be found here http://www.carmanconsulting.com/svn/public/tapernate-example/

  • Honeycomb provides Hibernate Integration and more. Main differences are: Supports session-per-conversation pattern, does not support declarative transaction propagation.

  • Tapestry Ajax shows a working simple Tapestry and Tacos Ajax components application which can be used as a start for developing Tapestry applications which make use of Tacos components.

Tapestry IDE Support

  • Spindle: Geoff Longman's Spindle is an Eclipse plugin for Tapestry. Among other features, this plugin checks for consistency between your .page files and the associated .html templates. Spindle also supports Groovestry, a project that integrates the Groovy scripting language and the Tapestry web application framework.

  • Tapestry Palette: Michael Henderson's Palette Plug-in works in conjuction with Spindle. The Palette consists of a tree of Tapestry components, organized by namespace. Selecting a component in the tree displays a summary in the lower part of the view showing the component description and listing required and optional parameters along with their descriptions.

  • TapIdea: Hugo Palma's Tapidea is an IntelliJ IDEA plugin for Tapestry 5. This plugin provides wizards, highlighting, auto-completion and navigation.

  • HowToSetupEclipseWtp: Once setup correctly WTP is easy to use. However it can be a real pain to setup a new Tapestry project in WTP. This document exists to so that new users can setup WTP without hours of troubleshooting and experienced users don't forget anything.

Tapestry 4.0

The final version of Tapestry 3.0 has been released, so it's time to focus on the future!

Note: Originally, the release number was to be 3.1, but the changes have become so dramatic that the number was changed to 4.0. Wiki pages are awkward to rename.

Tapestry 4.1

The next release of tapestry will build upon the innovations made in 4.0 to help tighten up the framework even more as well as introduce a number of innovative features for the future of tapestry.

  • Tapestry41HowTos: Tips and tricks on 4.1

  • Tapestry41Roadmap: General overview of the current development plans for version 4.1 of tapestry.

  • TapestryTLP: Tapestry is looking to re-organize as a top-level Apache project

  • Tapestry41WishList: Make your voice heard! This list(along with JIRA) will serve as the guide for the followup release to 4.1 which will solely be focused around annoying usability/documentation issues.

Tapestry 5

The next generation of tapestry applications with some fairly heavy design changes that should keep tapestry nimble and strong for the foreseeable future.

* Tapestry5Roadmap: High level overview of some of the design goals for version 5.0 of tapestry.

* Tapestry5HowTos: Tips and Tricks on T5

* Tapestry5Migration: Help and examples for migrating from Tapestry4 to Tapestry5

Tapestry Site

Contains information related to building/maintaining the new top level project site at http://tapestry.apache.org.

  • TapestrySite: Building/deploying tapestry web site with maven2.

Board Reports

This area is used by the Tapestry PMC to prepare board reports to the Apache Software Foundation board.

* BoardReportApril2006: Report for April 2006

* BoardReportMay2006: Report for May 2006

* BoardReportJune2006: Report for June 2006

* BoardReportOctober2006: Report for October 2006

* BoardReportJanuary2007: Report for January 2007

* BoardReportApril2007

* BoardReportJuly2007

* BoardReportOctober2007

* BoardReportJanuary2008

* BoardReportApril2008

* BoardReportJuly2008

* BoardReportOctober2008

* BoardReportJanuary2009

Powered By Tapestry

Images to use in your web application to say, with pride, that you work with Tapestry:

  • [ATTACH] GIF width=79 height=33

Development Procedures

'Special' Wiki pages

  • TitleIndex: A list of all pages on this wiki.

  • HelpContents: A basic guide to the MoinMoin wiki (including information about wiki syntax).

  • WordIndex: A list of all the words that appear in the titles of the pages on this wiki, with links to pages that include that word.

  • FindPage: A full-text search of the wiki.

  • WantedPages: All the "broken links" -- a list of all the pages on this wiki that are linked to, but do not exist.

  • OrphanedPages: All pages on this wiki that are not linked to from anywhere else (and are thus very hard to reach).

  • RandomPage: Generates a list of 75 random pages on this wiki.

  • PageSize: Generates a graph and some statistics about the sizes of pages on this wiki.

  • EventStats/HitCounts: Generates a graph of page views and page visits.

  • EventStats/UserAgents: Generates a graph of the web browsers used in visiting this page.

  • SystemInformation: Shows basic information about this wiki installation, the extensions it has installed, etc.

FrontPage (last edited 2016-11-11 22:11:18 by BobHarner)