Hi all,
in an effort of being accepted for incubation, at Tiles we decided to
rename the previous posted Dimensions project to Kaolin. I modified
the proposal accordingly:
http://wiki.apache.org/incubator/KaolinProposal

We are still waiting for a Champion to help us entering the incubation process.

Moreover, I resolved some copyright issues, so now the other developer
is available to sign a software grant.

Thanks in advance.

Here follows the raw wiki page.

= Kaolin Project Proposal =

''This is a draft version of the Kaolin proposal. Please use the
Incubator general mailing list or the separate
KaolinProposalDiscussion page to discuss this proposal. You can
"Subscribe" this page to get notified whenever changes are made. See
the'' [http://incubator.apache.org/guides/proposal.html proposal
guide] ''for a description of the expected proposal content.''

''Author:''         Antonio Petrelli [[MailTo(apetrelli AT apache DOT org)]]

''Date:''           January 2008

''Online version:'' http://wiki.apache.org/incubator/KaolinProposal

''Status:''         .:: D R A F T ::.

== Kaolin, a multi-channel framework Proposal ==

=== Abstract ===

Kaolin is an Apache Tiles extension that delivers customized content
for different users, devices or other criteria.

=== Proposal ===

The Kaolin extension for Apache Tiles is capable of delivering
different "aspects" of the same website. By recognizing the calling
user and its devices, it organizes the pages using different layout,
depending on the developers configuration.

This is especially useful for multi-channel websites, to allow a wider
range of users to visit a site, by reducing the size of pages for
smaller screens, or by showing certain page sections only if a user
has sufficient credentials.

Kaolin is the new name of [http://mutidimensions.sourceforge.net/
Dimensions], due to the fact that there is already a software called
Dimensions.

Kaolin natural place is as an Apache Tiles extension, since it relies
on Tiles' concepts, like "definition" and "Definitions''''''Factory",
and it cannot exist without Tiles.

=== Background ===

The initial idea was to deliver different views for different client
devices, leaving the same business logic and control. This way much of
the development can be reused, changing only the "view" layer of the
application.

In 2004 the ability of delivering different contents was extended not
only on different calling devices, but also on different calling users
role. This kind of capability is enabled by using configuration files,
that maps all user roles/device crosspoints to a certain site layout.

The concept of a "dimension" arised: the user role was a dimension,
while the device was the other. But this kind of concept can be
extended infinitely, allowing to create a n-dimensional space in which
each crosspoint is a website layout.

The name "Kaolin" came out when we needed to rename Dimensions: the
kaolin is the main constituent of tiles (as in masonry) and colored as
the need of the end customers.

=== Rationale ===

Currently, when a Java EE website needs to be ported for other
devices, it needed the creation of a new project, or at least a new
section of the same project. This kind of procedure can lead to code
repetition and lack of coherence.

Kaolin solves this problem by providing customized aspects for the
same website: only the visible part of it will change (depending on
the condition imposed by the developer), but the rest of it will
remain the same, including the "controller" and "model" part of the
application.

=== Initial Goals ===

The initial goals of the proposed project are:
  * Include the Apache Software Foundation header in all source code.
  * Viable community around the Kaolin codebase.
  * Active relationships and possible cooperation with related
projects and communities, especially those that include Apache Tiles
support.
  * Clean-up of the code, by following the Apache Tiles standard.

==== Current Status ====

===== Meritocracy =====

All initial committers are familiar with the meritocracy principles of
Apache, and have already worked on the various source codebases. We
will follow the normal meritocracy rules also with other potential
contributors.

===== Community =====

Kaolin community will be, probably, Apache Tiles community. But there
are a number of similar targeted projects around the WWW that could
help in creating a broader one.

===== Core Developers =====

The initial set of developers comes from various backgrounds, as they
are in Apache Tiles project, with different but compatible needs for
the proposed project.

===== Alignment =====

Kaolin will likely be widely used by various open source and
commercial projects that have a dependency on Apache Tiles.

==== Known Risks ====

===== Orphaned products =====

There is a risk of making Kaolin an orphaned product, but most
probably it will follow Apache Tiles steps. Since Tiles is widely
adopted in Java EE applications, it is difficult that Kaolin will be
abandoned.

===== Inexperience with open source =====

All the initial developers have worked and are PMC members of Apache Tiles.

===== Homogeneous developers =====

The initial developers come from a variety of backgrounds and with a
variety of needs for the proposed extension.

===== Reliance on salaried developers =====

Kaolin does not rely on salaried developers.

===== Relationships with Other Apache Products =====

Kaolin is strongly related to Apache Tiles to the point that it should
be a subproject of it.

Kaolin relies on Tiles' concepts, like "definition" and
"DefinitionsFactory". Kaolin cannot exist without Tiles.

===== An Excessive Fascination with the Apache Brand =====

All of us are familiar with Apache and we have participated in Apache
projects as contributors, committers, and PMC members. We feel that
Apache Tiles is a natural home for a project like this.

=== Documentation ===

The official documentation is hosted in a Sourceforge website:
[http://mutidimensions.sourceforge.net/]

The [http://www.w3.org/Mobile/CCPP/Historic-CCPP1 CC/PP standard] is
used to recognize certain devices..

=== Initial Source ===

Kaolin will take all of his source code from
[http://mutidimensions.sourceforge.net/ Dimensions Sourceforge site].
Due to the fact that there is an existing piece of software named
Dimensions, Tiles developers decided to rename it to Kaolin.

=== Source and Intellectual Property Submission Plan ===

All source code is copyrighted by Aaron Roller, Free2''''''Be LLC,
Antonio Petrelli.

Aaron Roller wants to donate the code without further involvement in
the the development but he has not filed a CLA yet.

Free2''''''Be LLC changed its name to "Motion''''''Based", and Aaron
Roller is the sole owner and committer of the code.

=== External Dependencies ===

Kaolin depends on Apache Tiles and some Jakarta Commons libraries.
The only dependency outside of Apache is [http://www.dom4j.org/
DOM4J], that is BSD-style licensed.

=== Cryptography ===

Kaolin does not handle cryptography in any way.

=== Required Resources ===

==== mailing list(s) ====

During incubation, the Kaolin team could make use of the usual set of lists
  * kaolin-user AT incubator DOT apache DOT org
  * kaolin-dev AT incubator DOT apache DOT org
  * kaolin-commits AT incubator DOT apache DOT org

until Kaolin really joins Apache Tiles.

==== Subversion repository ====

 * [https://svn.apache.org/repos/asf/incubator/kaolin]

==== Issue Tracking ====

 * Kaolin (KAO) inside [https://issues.apache.org/struts/ Struts JIRA
instance], under the "Tiles Framework" category.

=== Initial Committers ===

  * Antonio Petrelli: apetrelli at apache dot org
  * Craig R. Mc''''''Clanahan: craigmcc at apache dot org
  * David H. De''''''Wolf: ddewolf at apache dot org
  * Greg Reddin: greddin at apache dot org
  * Joe Germuska: germuska at apache dot org
  * Martin Cooper: martinc at apache dot org
  * Nathan Bubna: nbubna at apache dot org
  * Wendy Smoak: wsmoak at apache dot org

=== Affiliations ===

No affiliations.

=== Sponsors ===

==== Champion ====

==== Nominated Mentors ====

==== Sponsoring Entity ====

 * Apache Tiles Project.

=== Annotations ===

No annotations

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

Reply via email to