incubator-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Antonio Petrelli" <antonio.petre...@gmail.com>
Subject [PROPOSAL] Dimensions Proposal
Date Mon, 07 Jan 2008 13:25:51 GMT
Hello dear incubators
I am Antonio Petrelli and I am a PMC member of Apache Tiles project.
I would like to post my proposal about Dimensions, an extension of
Tiles, that I would like to be incubated.
Currently I cannot find a Champion for this project, so if anyone
reading this message would like to get on board, it will be really
appreciated.

Here follows the proposal.


= Dimensions Project Proposal =
Author:         Antonio Petrelli [[MailTo(apetrelli AT apache DOT org)]]

Date:          January 2008

Online version: http://wiki.apache.org/incubator/DimensionsProposal

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

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

=== Abstract ===

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

=== Proposal ===

The Dimensions 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.

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

=== Background ===

The initial idea was (here goes initial story by Aaron Roller).

But 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.

=== 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.

Dimensions 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 Dimensions 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 but one (here I suppose that Aaron will be a committer) initial
committers are familiar with the meritocracy principles of Apache, and
have already worked on the various source codebases. The missing one
contributed to several open source projects and probably will learn
very fast. We will follow the normal meritocracy rules also with other
potential contributors.

===== Community =====

Dimensions 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 =====

Dimensions 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 Dimensions 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 Dimensions will
be abandoned.

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

All the initial developers have worked on open source and all but one
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 =====

Dimensions does not rely on salaried developers.

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

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

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

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

All but one of us are familiar with Apache and we have participated in
Apache projects as contributors, committers, and PMC members. The one
that did not, will follow our example easily. 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 ===

Dimensions will take all of his source code from
[http://mutidimensions.sourceforge.net/ its Sourceforge site].

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

All source code is copyrighted by Aaron Roller, Free2Be LLC, Antonio Petrelli.
(I think that there is a problem with Free2Be LLC, probably it changed
name, that should be addressed).

=== External Dependencies ===

Dimensions 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 ===

Dimensions does not handle cryptography in any way.

=== Required Resources ===

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

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

until Dimensions really joins Apache Tiles.

==== Subversion repository ====

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

==== Issue Tracking ====

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

=== Initial Committers ===

  * Aaron Roller: aroller at motionbased dot com (*)
  * Antonio Petrelli: apetrelli at apache dot org
  * Craig R. McClanahan: craigmcc at apache dot org
  * David H. DeWolf: 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 ===

(These affiliation should be verified).
  * Aaron Roller [http://www.motionbased.com/ MotionBased].

=== Sponsors ===

==== Champion ====

==== Nominated Mentors ====

==== Sponsoring Entity ====

 * Apache Tiles Project.

=== Annotations ===

(*) Aaron Roller has not filed a CLA yet, the other initial committers
are already Tiles committers/PMC members.



TIA
Antonio

---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org
For additional commands, e-mail: general-help@incubator.apache.org


Mime
View raw message