incubator-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Incubator Wiki] Update of "OGNLProposal" by SimoneTripodi
Date Thu, 03 Mar 2011 13:53:09 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Incubator Wiki" for change notification.

The "OGNLProposal" page has been changed by SimoneTripodi.
http://wiki.apache.org/incubator/OGNLProposal

--------------------------------------------------

New page:
= OGNL =

== Abstract ==
The following proposal is about Apache OGNL, a Java development framework for Object-Graph
Navigation Language.

== Proposal ==
OGNL started out as a way to set up associations between UI components and controllers using
property names. As the desire for more complicated associations grew, Drew Davidson created
what he called KVCL, for Key-Value Coding Language, egged on by Luke Blanshard. Luke then
reimplemented the language using ANTLR, came up with the new name, and, egged on by Drew,
filled it out to its current state. Later on Luke again reimplemented the language using JavaCC.
Further maintenance on all the code is done by Drew (with spiritual guidance from Luke).
Today OGNL is maintained by Lukasz Lenart.

== Background ==
OGNL was born under the [[OpenSymphony|http://www.opensymphony.com/ognl/]] umbrella long time
ago, then moved on its own domain on [[ognl.org|http://www.ognl.org]] that's no more maintained,
then finally found place on [[github|https://github.com/jkuhnert/ognl], maintained by Lukasz
Lenart.

== Rationale ==
OGNL stands for Object Graph Navigation Language. It is an expression and binding language
for getting and setting properties of Java objects. Normally the same expression is used for
both getting and setting the value of a property.

Many people have asked exactly what OGNL is good for. Several of the uses to which OGNL has
been applied are:

 * A binding language between GUI elements (textfield, combobox, etc.) to model objects. Transformations
are made easier by OGNL's TypeConverter mechanism to convert values from one type to another
(String to numeric types, for example).
 * A data source language to map between table columns and a Swing TableModel.
 * A binding language between web components and the underlying model objects (WebOGNL, Tapestry,
WebWork, WebObjects).
 * A more expressive replacement for the property-getting language used by the Apache Commons
BeanUtils package or JSTL's EL (which only allow simple property navigation and rudimentary
indexed properties).

Most of what you can do in Java is possible in OGNL, plus other extras such as list projection
and selection and lambda expressions.

= Current Status =

== Meritocracy ==
As a majority of the initial project members are existing ASF committers, we recognize the
desirability of running the project as a meritocracy.  We are eager to engage other members
of the community and operate to the standard of meritocracy that Apache emphasizes; we believe
this is the most effective method of growing our community and enabling widespread adoption.

== Core Developers ==
In alphabetical order:
 * Antonio Petrelli <apetrelli at apache dot org>
 * Lukasz Lenart <lukasz dot lenart at googlemail dot com>
 * Maurizio Cucchiara <mcucchiara at apache dot org>
 * Simone Tripodi <simonetripodi at apache dot org>

== Alignment ==
The purpose of the project is to develop and maintain OGNL implementation that can be used
by other Apache projects.

= Known Risks =
== Orphaned Products ==
Being OGNL widely adopted we believe there is minimal risks of this work becoming non-strategic
and the contributors are confident that a larger community will form within the project in
a relatively short space of time.

Moreover, OGNL has been already used by the following projects for years:

 * Apache Struts;
 * Apache Tapestry;
 * MyBatis (formerly Apache iBATIS);
 * Spring WebFlow.

== Inexperience with Open Source ==
All of the committers have experience working in one or more open source projects inside and
outside ASF.

== Homogeneous Developers ==
The list of initial committers are geographically distributed across the Europe with no one
company being associated with a majority of the developers.  Many of these initial developers
are experienced Apache committers already and all are experienced with working in distributed
development communities.

== Reliance on Salaried Developers ==
To the best of our knowledge, none of the initial committers are being paid to develop code
for this project.

== Relationships with Other Apache Products ==
A number of existing ASF projects already benefit from OGNL implementation, including Apache
Struts, Apache Tapestry and Apache iBATIS. It is hoped that members of those projects will
be interested in contributing to and adopting this implementation.

== A Excessive Fascination with the Apache Brand ==
OGNL fits naturally in the ASF because :

 * It is already adopted by ASF Projects;
 * It is a key component on which many other projects can depend on.

= Documentation =
TBD

= Initial Source =
The intial source comprises code developed on github contributed under the CLA.

= Source and Intellectual Property Submission Plan =
Source code will be moved from github space inside the SVN space of the podling.

= External Dependencies =
None known

= Cryptography =
The project does not handle cryptography in any way.

= Required Resources =
 * Mailing lists
  * ognl-private (with moderated subscriptions)
  * ognl-dev
  * ognl-user
  * ognl-commits
 * Subversion directory
  * https://svn.apache.org/repos/asf/incubator/ognl
 * Website
  * Confluence (OGNL)
 * Issue Tracking
  * JIRA (OGNL)

= Initial Committers =
Names of initial committers with affiliation and current ASF status:

 * Antonio Petrelli <apetrelli at apache dot org> (PMC Member)
 * Lukasz Lenart <lukasz dot lenart at googlemail dot com> (CLS needs to be filled)
 * Maurizio Cucchiara <mcucchiara at apache dot org> (Committer)
 * Simone Tripodi <simonetripodi at apache dot org> (PMC Member)

= Sponsors =
== Champion ==
 * TBD

== Nominated Mentors ==
 * TBD

== Sponsoring Entity ==
 * TBD

= Other interested people =
 * Nuwan Arambage <nuwan dot arambage at gmail dot com >

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


Mime
View raw message