Date: 2005-01-06T16:53:05
   Editor: TedHusted
   Wiki: Apache Struts Wiki
   Page: TilesTopLevel
   URL: http://wiki.apache.org/struts/TilesTopLevel

   Intial draft of a proposal to create a top level Tiles proejct.

New Page:

DRAFT Proposal for Tiles Composite Page Project DRAFT

06 January 2005; David Geary, Nathan Bubna, Matthias Wessendorf.

(0) rationale    
    
    Tiles is an innovative approach to composing server pages from reusable 
fragments. In addition to the usual tag-based strategy, Tiles offers a XML 
descriptor strategy which allows for the creation of declarative "virtual" 
pages. The descriptor strategy give Tiles pages a object-orientated feel that 
simplifies reuse. 
    
    Teams worldwide have been using Tiles in production for more than four 
years. The package continues to gain popularity and has been implemented for 
Jakarta Velocity and JavaServer Faces (Apache MyFaces).
    
    Rather than continue to create and maintain Tiles in three separate places, 
the developers believe it would benefit the Tiles community to create a 
top-level Tiles project, where the core implementation and extension could live 
together. 

(0.1) criteria

Meritocracy:

    The Tiles project started as the work of a sole developer, Cedric Dumoulin, 
inspired, in part, by the Template taglib created by David Geary for the Struts 
framework. As the community and codebase grew, Cedric joined the Jakarta Struts 
team and donated the code to the ASF. Tiles has been maintained jointly by the 
Struts team ever since.
    
    As of Struts 1.1, Tiles was made part of the standard distribution. 
Although originally targeted for JavaServer Pages, developers using other view 
technologies, like Velocity and JavaServer Faces, have created Tiles extensions.
    
    The idea of making Tiles a standalone package came up on the Struts Dev 
list as part of the routine development discussions. There being sufficient 
interest in making Tiles a project in its own right, the group decided to draft 
this proposal.
    
    The developers now interested in Tiles are experienced ASF Committers, 
fully versed in the ways of meritocracy. 
    
Community:

    Originally a Struts extension, Tiles now enjoys a wide range community of 
users among Velocity and JSF developers, as well as Struts developers. 
    
    By making it top-level project, the Tiles community hopes to broaden its 
range further, so that it can be used by other frameworks.

Core Developers:

    The proposed Tiles committers come from various ASF projects.          
    
Alignment:

    Tiles is strongly aligned with three popular ASF projects: MyFaces, Struts, 
Velocity.
    
(0.2) warning signs

Orphaned products:

    Tiles is a mature and growing product, in no danger of being orphaned. 

Inexperience with open source:

    The proposed Committers are active members of Apache communities, and fully 
aware of what it means to be open source. 

Homogenous developers:

    The Tiles developers have only other thing in common: Tiles. The developers 
do not share a common employer or geography, or even framework.

Reliance on salaried developers:

    The Tiles developers work on a volunteer basis. The project does not rely 
on salaried developers. 

No ties to other Apache products:

    Tiles is strongly aligned with three popular ASF projects: MyFaces, Struts, 
Velocity.

A fascination with the Apache brand:

    The core Tile implementationa and various extensions are already under the 
Apache banner.
    
(0.3) subproject or top-level project 

    Right now, there are three Tiles subprojects at different ASF projects. We 
wish to coalese these into a single top-level project. 

(2) identify the initial source from which the subproject is to be populated

    * $[Struts Package}
    * ${Velocity Package}
    * ${JSF Package}

(2.1) identify the base name for the package

    * org.apache.tiles 

(2.2) identify the coding conventions for this package

The Java code mostly follows a Sun's standard coding conventions, including the 
following characteristics:

    * No newlines before braces
    * Indentation of two blank spaces (not tabs)
    * No underscores ("_") on private members
    * No "I" prefix on interfaces

(3) identify the ASF resources to be created

(3.1) mailing list(s)

    * tiles-ppmc (with moderated subscriptions)
    * tiles-commits
    * tiles-dev
    * tiles-user

(3.2) subversion repositories

    * /incubator/tiles

(3.3) jira

    * tiles-core
    * tiles-faces
    * tiles-struts
    * tiles-velocity

(4) identify the initial set of committers

    * David Geary
    * Nathan Bubna
    * Matthias Wessendorf
    * Ted Husted

(5) identify Apache sponsoring individual

    TBD (as defined in 
http://incubator.apache.org/incubation/Roles_and_Responsibilities.html)

####

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to