incubator-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject cvs commit: incubator/projects/tapestry PROPOSAL STATUS
Date Sat, 04 Jan 2003 23:53:42 GMT
aaron       2003/01/04 15:53:42

  Added:       projects/tapestry PROPOSAL STATUS
  Add a project directory for Tapestry. Add in a STATUS file
  and the proposal. Keeping track of this will be useful for
  future incubator projects. The STATUS file is not complete
  and could use some help.
  Revision  Changes    Path
  1.1                  incubator/projects/tapestry/PROPOSAL
  [0] rationale 
  Tapestry, currently housed at the SourceForge? (,
  is a component-based web application framework. Tapestry falls
  generally into the pull-MVC model of development.
  Tapestry is designed specifically around the creation of completely
  re-usable components. Components can easily be packaged into
  libraries and distributed within Jar files, even when they contain
  assets such as image files and stylesheets.
  Tapestry is organized around an abstraction that isolates
  application-specific logic from the details of the servlet API,
  such as HttpSession?, request, response, URLs and query parameters.
  Tapestry is highly pluggable, allowing any and all behavior to be
  customized by subclassing appropriate base classes.
  Tapestry is specifically not a JSP taglib. Tapestry uses its own
  method for instrumenting HTML that is extremely non-obtrusive (it
  still previews properly in a WYSIWYG editor). Tapestry has well
  specified, separate roles for HTML producers and Java developers,
  and allows them to work together without interfering with each
  The goal of Tapestry is to shift much of the burden of developing
  web applications onto the framework, and free the developer to work
  cleanly and effectively without concern for the many small details
  of web application development. The primary function of Tapestry
  is the automatic creation of URLs by the framework, facilitating
  a fine-grained dispatch model. The bird's-eye view is that, in
  Tapestry, actions (such as clicking a link, or submitting a form)
  are associated with a particular component and, through a simple
  delegation system, a particular bit of user code. There is no global
  registry of actions, as in Struts, and it's easy to create reusable
  components that define their own behaviors (in terms of links or
  forms), independent of the containing page.
  Tapestry applications can be extremely sophisticated with surprisingly
  little code.
  Tapestry includes a significant amount of documentation describing
  its strengths and features in great detail, available at Live demos, a great collection of user
  quotes, extensive documentation (HTML and PDF) and a recent code
  coverage report are all online.
  Tapestry has been an open-source project on SourceForge? since June
  2000. Milestone releases (such as 2.1 in July, or the just-released
  2.2) result in 6K - 7K downloads (increasing by over 1K downloads
  with each successive release). Tapestry has averaged over 3000
  downloads a month during 2002, with peaks above 8K/month.
  Tapestry has recently adopted Apache meritocracy rules to govern
  the project. The license for Tapestry has been changed from LGPL
  to Apache Software License.
  [0.1] criteria
  Meritocracy: Tapestry follows the Apache meritocracy rules, with
  a core of committers.
  Community: Tapestry has a modest, but very active community, centered
  around a user's mailing list (approx. 200 members), a developer's
  mailing list, and the Tapestry Wiki (
  The mailing lists have an exceptionally good signal-to-noise ratio;
  discussions typically revolve around planning new extensions to
  the framework, creating new components and documentation, and
  diagnosing developer issues. The developer's mailing list is used
  primarily for voting, and for discussions about votes. A secondary
  project, to provide a community component repository is now underway
  Core Developers. Tapestry has an active and dedicated team of
  committers. The project was founded by Howard Lewis Ship, who is
  extremely dedicated to Tapestry and authored the majority of the
  codebase. Richard Lewis-Shell and Mind Bridge are frequent contributors
  of components and bug fixes as well as some significant extensions.
  Neil Clayton and Malcolm Edgar provide code and significant amounts
  of documentation. Geoff Longman has created an excellent plugin
  for the Eclipse IDE (as a separate project) and provides code to
  keep the two projects in sync. Several other developers contribute
  bug fixes, components and documentation.
  Alignment: Tapestry makes use of the ORO, commons-lang and
  commons-logging packages internally.
  Scope: Tapestry is entirely a server-side framework, well aligned
  with the overall goals of the Jakarta project.
  [0.2] warning signs 
  Orphaned products. Tapestry is far from orphaned, it was originally
  conceived and executed specifically as an open-source project.
  Inexperience: Howard Lewis Ship has been coding, documenting,
  mentoring and managing this open source project for nearly three
  years. Others on the team have been actively using, supporting and
  extending Tapestry for over a year.
  Homogeneous Developers: The current Tapestry committers include
  representatives from Canada, England, Australia and New Zealand;
  other, more occasional, contributors represent South America and
  Asia. This is just the opposite of the "smoke filled room".
  Reliance on Salaried Developers: Tapestry is largely developed
  during free time. Many contributions are developed by consultants
  to address specific needs of their clients, then modularized and
  provided back to the community (for example, Geoff is developing
  a workflow management subsystem for Tapestry that may be released
  into the framework proper when completed). Increasingly, developers
  are finishing projects with Tapestry and contributing components
  created for those projects back into the project.
  No ties to other Apache Products: As stated above, Tapestry makes
  use of the ORO and commons packages and has numerous places where
  greater integration with Jakarta could occur. It is servlet container
  agnostic, working well with Tomcat, Jetty, Resin and others.
  Fascination with Apache Brand: Tapestry has been, and always will
  be an open-source project.
  [0.3] overlap with Turbine 
  Turbine has a similar model to Tapestry, but the focus of the two
  projects is somewhat divergent. Turbine is a service-oriented where
  Tapestry is component-oriented. Turbine provides a larger toolkit
  (in the form of services) for aspects of the application not related
  directly to the presentation layer. Tapestry provides more flexibility
  and power in the presentation layer but doesn't provide any other
  services (such as scheduling, database access, security, etc.).
  Many Tapestry users are employing Tapestry for the presentation
  layer, but leverage the many Turbine services (especially Torque).
  [1] scope of subproject 
  The project shall create and maintain packages written in the Java
  programming language constituting the framework itself, a standard
  library of additional components, documentation, a web site and
  additional examples.
  [2] identify the initial source from which the project is to be
  The project currently resides on the SourceForge? (
  [3] identify the Jakarta resources to be created
  [3.1] mailing lists(s)
  tapestry-user tapestry-dev tapestry-cvs
  [3.2] CVS repositories 
  [3.3] Bugzilla 
  framework - tapestry components - web site, contrib library,
  documentation, examples
  [3.4] Wiki 
  It is desired that a Wiki be setup. Use of the current Wiki
  ( has proven highly successful in
  supporting distributed design, discussion and decision making, as
  well as providing a home for temporary documentation until permanent
  documentation changes occur. We would prefer MoinMoin?, a Python
  Wiki implementation.
  [4] identify the initial set of committers 
  Mind Bridge mindbridge 
  Neil Clayton    nclayton 
  Malcolm Edgar   medgar 
  Richard Lewis-Shell rlewisshell 
  Howard Lewis Ship   hlship 
  Geoff Longman   glongman 
  [5] identify apache sponsoring individual
  Andrew C. Oliver
  dIon Gillard
  1.1                  incubator/projects/tapestry/STATUS
  Index: STATUS
  APACHE Tapestry INCUBATOR PROJECT STATUS:                 -*-indented-text-*-
  Last modified at [$Date: 2003/01/04 23:53:42 $]
      o See the PROPOSAL file for project details.
      Current Project Page:
      Current License: Apache Software License (?)
      Current Copyright Holder:
  Project Shepards:
      o Andrew Oliver <>
      o dIon Gillard <>
  Project Volunteer Contributors:
  Pending Issues:
      o Infrastructure needed:
        - CVS setup
        - Mailing list setup
        - Bugzilla setup
  Resolved Issues:
      none yet

View raw message