Differences between revisions 273 and 274
Revision 273 as of 2010-12-20 02:09:12
Size: 13505
Editor: 197
Comment:
Revision 274 as of 2010-12-31 17:19:37
Size: 9525
Editor: BobHarner
Comment: Major cleanup
Deletions are marked like this. Additions are marked like this.
Line 12: Line 12:
= Tapestry Subject Areas = || WARNING: Tapestry versions 3, 4 and 5 are significantly different. When reading the pages below, be sure they apply to the version you are using. In general, unless the page name contains "Tapestry5" you will probably find more current information at http://tapestry.apache.org rather than here. ||

= General Topics =
Line 14: Line 16:

 * BuildingTapestry: building Tapestry using subversion trunk, or from downloaded source distributions

 * TipsAndTricks: A collection of useful tidbits of information and techniques using Tapestry.
Line 27: Line 25:
 * [[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]]

 * OnTheRoad: Where to see Tapestry team members locally

 * [[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.apache.org/mail-lists.html|Mailing Lists]] - search combined user/dev [[http://www.nabble.com/Jakarta-Tapestry-f302.html|archive]] before posting questions to the lists.
Line 38: Line 28:

 * http://www.tapestryforums.com/index.php: Tapestry centric forum. ''Please consider using the [[http://tapestry.apache.org/mail-lists.html|Tapestry User Mailing List]] instead''.

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

= Sample Applications and Tutorials =

 * Tapestry 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.

 * Tapestry 5: [[http://appfuse.org|Matt Raible's AppFuse]]: AppFuse is an application for kick starting webapp development that includes options for using Tapestry 5, JSF, Struts 2, Spring MVC, Stripes, and Wicket. A good reference for those who want to compare frameworks.

 * Tapestry 5: [[http://foror.ru/tapestry-blog|Simple Blog Engine]] Tapestry 5, Hibernate and Lucene (source http://foror.ru/articles/tapestry5/tapestry-blog.tar.gz). User and password "admin" for login. Article about this project http://foror.ru/articles/tapestry5 (sorry only in russian :( ).

 * Tapestry 4: [[http://sourceforge.net/projects/tapestry-tassel]]: Tassel (Tapestry Searchable Selection of components) is a repository of user contributed components built with tapestry, cayenne, and lucene.

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

 * Tapestry 3: [[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.

 * Tapestry 3: [[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.

= Tapestry IDE Support =

 * Tapestry 5: IntelliJ IDEA 10 includes [[http://www.jetbrains.com/idea/features/tapestry_5.html|built-in support for Tapestry 5]].

 * Tapestry 4: 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 3: [[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.

 * Tapestry 3: [[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.

= Tapestry 5 Topics =

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

* Tapestry5HowTos: Tips and Tricks on T5

* Tapestry5ModuleRegistry: contributed modules, demos, and tutorials

* Tapestry5Roadmap: historical information on some original design goals for Tapestry 5.0.


= Tapestry 4 Topics =
Line 45: Line 78:
 * http://www.tapestryforums.com/index.php: Tapestry centric forum

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

 * [[Gotchas]]
Line 52: Line 79:

 * Tapestry3HiveMind: Using HiveMind 1.0 with Tapestry 3.0.
Line 59: Line 84:
= Sample Applications =  * BuildingTapestry: building Tapestry using subversion trunk, or from downloaded source distributions
Line 61: Line 86:
 * [[http://foror.ru/tapestry-blog|Simple Blog Engine]] Tapestry 5, Hibernate and Lucene (source http://foror.ru/articles/tapestry5/tapestry-blog.tar.gz). User and password "admin" for login. Article about this project http://foror.ru/articles/tapestry5 (sorry only in russian :( ).  * TipsAndTricks: A collection of useful tidbits of information and techniques using Tapestry.
Line 63: Line 88:
 * http://www.t-deli.com: The '''Tapestry Deli''' runs live examples, and is the source for some useful Tapestry component libraries.  * Tapestry41HowTos: Tips and tricks on 4.1
Line 65: Line 90:
 * [[https://betterpetshop.dev.java.net/|Tapestry '''Petshop''' application]]: This Petshop uses the '''Tapestry, Spring and Hibernate''' frameworks. Source code is available.]  * [[Gotchas]]
Line 67: Line 92:
 * [[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.
 * Tapestry41Roadmap: General overview of the development plans for version 4.1 of tapestry.
Line 70: Line 94:
 * [[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.  * [[TapestryTLP]]: Organizing Tapestry as a top-level Apache project
Line 72: Line 96:
 * [[http://www.agileskills2.org/EWDT|Tapestry tutorials by Kent Tong]]: Tutorials created by Kent Tong.  * Tapestry41WishList: Wish list for the 4.1 release.
Line 74: Line 98:
 * [[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.  * [[Tapestry4]]: Original high-level goals and planning for Tapestry 4.0
Line 76: Line 100:
 * [[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.  * Tapestry31Status: Status of Tapestry 3.1/4.0, ''now out of date''.
Line 78: Line 102:
 * [[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.  * ChangeProposals: More details discussions of features for Tapestry 4.0 and beyond.
Line 80: Line 104:
 * [[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.

= Tapestry IDE Support =
 * [[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.

 * 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.''

 * [[Tapestry4]]: High-level goals and planning for Tapestry 4.0

 * Tapestry31Status: What's up in Tapestry 4.0 at the moment, ''now sadly out of date''.

 * ChangeProposals: More details discussions of new features for Tapestry 4.0 and beyond.

 * PortletSupport: Using Tapestry to create Porlets.
 * PortletSupport: Using Tapestry 4 to create Porlets.
Line 124: Line 112:
 * Tapestry4Final: Help edit the final Tapestry 4 release notice!  * Tapestry4Final: Draft Tapestry 4.0 release notice
Line 126: Line 114:
 * Tapestry3ToTapestry4: HOWTO upgrade from Tapestry 3

= 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

* Tapestry5ModuleRegistry
 * Tapestry3ToTapestry4: How to upgrade from Tapestry 3 to Tapestry 4
Line 151: Line 117:
Contains information related to building/maintaining the new top level project site at http://tapestry.apache.org.
Contains information related to building/maintaining the top level project site at http://tapestry.apache.org.
Line 156: Line 123:

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!

WARNING: Tapestry versions 3, 4 and 5 are significantly different. When reading the pages below, be sure they apply to the version you are using. In general, unless the page name contains "Tapestry5" you will probably find more current information at http://tapestry.apache.org rather than here.

General Topics

Sample Applications and Tutorials

  • Tapestry 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 5: Matt Raible's AppFuse: AppFuse is an application for kick starting webapp development that includes options for using Tapestry 5, JSF, Struts 2, Spring MVC, Stripes, and Wicket. A good reference for those who want to compare frameworks.

  • Tapestry 5: Simple Blog Engine Tapestry 5, Hibernate and Lucene (source http://foror.ru/articles/tapestry5/tapestry-blog.tar.gz). User and password "admin" for login. Article about this project http://foror.ru/articles/tapestry5 (sorry only in russian :( ).

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

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

  • Tapestry 3: 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 3: 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.

Tapestry IDE Support

  • Tapestry 5: IntelliJ IDEA 10 includes built-in support for Tapestry 5.

  • Tapestry 4: 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 3: 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 3: 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.

Tapestry 5 Topics

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

* Tapestry5HowTos: Tips and Tricks on T5

* Tapestry5ModuleRegistry: contributed modules, demos, and tutorials

* Tapestry5Roadmap: historical information on some original design goals for Tapestry 5.0.

Tapestry 4 Topics

Tapestry Site

Contains information related to building/maintaining the 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.

  • article leader wiki articles; article directory.

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