Tiles 2 is an effort to extract the Tiles library from Struts. It is currently housed in the Sandbox area of the Apache Struts Subversion repository. This document proposes graduating tiles from the sandbox.


Tiles has undergone significant changes since moving to the Struts sandbox. In addition to attracting new committers, it has undergone a significant refactoring and is now based upon a new container architecture. An alpha release of Tiles2 is now being considered. Due to this sustained involvement it seems appropriate to consider Tiles for graduation from the sandbox.

Objectives for Tiles in the Sandbox

The objectives of the Struts2 Sandbox is to contain experimental codebases that might not go anywhere while at the same time allowing for innovation. The following objectives were placed upon tiles when it entered the sandbox

  • Demonstrative activity and community
  • Evolve to be independent of struts

Tiles has met both of these objectives.

Practical Reasons for Graduation

In addition to meeting the original objectives of the sandbox, graduation is being proposed at this point in time due to the following:

  • Graduation will allow an initial release of Tiles2 which in turn can be utilized by the Struts2 tiles plugin.
  • Promotion from the sandbox will provide more visibility and a broader user base.
  • Promotion from the sandbox will help determine answers to many critical questions which will help determine the final home of Tiles.

Current Graduation Options

Struts Subproject
  • An interested community already exists
  • The active developers are already committers here
  • The uninvolved committers are already familiar with the project and codebase
  • The PMC already knows the software.
  • The infrastructure already exists.
    • Jira
    • Confluence
    • Subversion
  • We do not want Struts to be conceived as an umbrella project.
  • The move would be temporary
Jakarta Commons
  • Allows Tiles to grow independent of struts while at the same time having community support.
  • The majority of the jakarta community is unfamiliar with the codebase
  • It does not seem to fit with the other subprojects since it is a web component
Top Level Project
  • Stresses the independence of the tiles codebase from Struts.
  • It is undetermined how the community will accept a standalone tiles and thus how much staying power there is.
  • While the quota of 3 actives committers/pms members can be found, it seems as though we are one or two committers short of a healthy stand along community.
  • The active members would like to have a little more time to get the community established

Based on this assessment, it is being proposed that Tiles graduate into the Struts family for a temporary period of time. There are two options in doing so:

Tiles as a Struts Subproject
  • Provides the greatest visibility and opportunity for growth
  • Mimics the path of other sandbox projects (Shale, for instance)
  • Reintroduces (temporarily) the inaccurate notion that Struts is an Umbrella Project.
Tiles as a Struts2 Plugin
  • Allows us to leverage release cycle of struts2
  • Fails to promote Tiles as a standalone codebase
  • Introduces the potential for merging the framework back into the struts dependent codebase
  • Seems like a step backwards which will confuse the community

Community Involvement

The following Struts committers are currently actively involved in Tiles development

  • Greg Reddin (PMC)
  • Antonio Petrelli
  • David DeWolf
  • Wendy Smoak (PMC)

Temporary Nature

It seems to be the consensus of the Struts community that Tiles should continue working towards graduation from the Struts project. This seems best for both Struts and Tiles, however, there are significant questions regarding whether or not now is the appropriate time for such a move:

  • Should Tiles2 become a TLP or a Jakarta Subproject?
  • Is the Tiles2 Community mature enough to stand on it's own?
  • How will Tiles2 emerge in relation to other competing technologies (clay, sitemesh, etc. . .)?
  • How will Tiles2 be accepted by the broader community, especially those currently using Struts/Tiles1?

Many of these questions will not be answered until Tiles is given the opportunity to become more visible and perform a release.

As such, this proposal allows for the graduation of Tiles into a subproject of Struts while maintaining the expectation that it will eventually move on and graduate into a TLP or more natural home.

The temporary nature of this decision must be clearly explained in Struts website, to avoid the impression that Struts is an umbrella project.

  • No labels