Project Retired
Project is retired. See https://attic.apache.org/projects/tiles.html
This is a draft version of the Dimensions proposal. Please use the Incubator general mailing list or the separate DimensionsProposalDiscussion page to discuss this proposal. You can "Subscribe" this page to get notified whenever changes are made. See the proposal guide for a description of the expected proposal content.'
Dimensions is an Apache Tiles extension that delivers customized content for different users, devices or other criteria.
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.
The initial idea was (I think that here goes Aaron Roller's story).
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.
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.
The initial goals of the proposed project are:
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.
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.
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.
Dimensions will likely be widely used by various open source and commercial projects that have a dependency on Apache Tiles.
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.
All the initial developers have worked on open source and all but one are PMC members of Apache Tiles.
The initial developers come from a variety of backgrounds and with a variety of needs for the proposed extension.
Dimensions does not rely on salaried developers.
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.
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.
The official documentation is hosted in a Sourceforge website:
http://mutidimensions.sourceforge.net/
The CC/PP standard is used to recognize certain devices..
Dimensions will take all of his source code from its Sourceforge site
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).
Dimensions depends on Apache Tiles and some Jakarta Commons libraries.
The only dependency outside of Apache is DOM4J, that is BSD-style licensed.
Dimensions does not handle cryptography in any way.
Mailing lists
During incubation, the Dimensions team could make use of the usual set of lists
until Dimensions really joins Apache Tiles.
Subversion Directory
Issue Tracking
Other Resources
Name |
CLA |
|
---|---|---|
Aaron Roller |
aroller at motionbased dot com |
no |
Antonio Petrelli |
apetrelli at apache dot org |
yes |
Craig R. McClanahan |
craigmcc at apache dot org |
yes |
David H. DeWolf |
ddewolf at apache dot org |
yes |
Greg Reddin |
greddin at apache dot org |
yes |
Joe Germuska |
germuska at apache dot org |
yes |
Martin Cooper |
martinc at apache dot org |
yes |
Nathan Bubna |
nbubna at apache dot org |
yes |
Wendy Smoak |
wsmoak at apache dot org |
yes |
(These affiliation should be verified).
Name |
Affiliation |
---|---|
Aaron Roller |
Champion
Nominated Mentors
Sponsoring Entity
1 Comment
Anonymous
I just wanted to comment on your blog and say I really enjoyed reading your blog here. It was very informative and I also digg the way you write! Keep it up and I'll be back soon to find out more mate.Walkie Talkies