RCF, a rich component library for JSF

Abstract

RCF is a rich (Ajax-style) component set for the JavaServer Faces(tm) 1.2 technology. .

Proposal

RCF is an Ajax-based component library for the JavaServer Faces technology. RCF comes with very high quality components, and skinning (CSS-based) capabilities. RCF features include: file upload support, client-side conversion and validation, a complete Ajax-integration, data tables, hierarchical tables, color/date pickers, menu tabs/buttons, wizards, popups, toolbars, toolboxes, internationalization and accessibility. This project starts with more than 100 components which have already been documented and thoroughly tested.

RCF stands for Rich Client Framework and it means that web applications, using this component set look very similar to a real, native desktop application. The name for this project can be a subject to change.

RCF depends on some artifacts, provided by the Apache Trinidad project, such as framework features or Apache Maven plug-ins.

Background

The development of RCF started in 2005 at Oracle Corporation. With the advent of Ajax and the higher requirements for a very rich user experience, Oracle decided to implement a rich/Ajax-style JSF component set. The goal was to advance the already existing ADF Faces product, donated to the ASF in early 2006 (Apache Trinidad). When the development of RCF started, there wasn't any JSF component set that provides similar richness to the user. The RCF components run on any JSF 1.2 compliant implementation. RCF is based on some internal features of the Apache Trinidad project.

The JavaServer Faces technology is a very important technology for the RCF component set, since RCF requires JSF as its runtime environment. Oracle has a large commitment to both open source and open standards. This proposal illustrates Oracle’s commitment to the success of the JSF standard and supporting the open source community by providing a rich component set under a liberal license, the Apache 2.0 license.

Rationale

The project is interested in moving to Apache for the following reasons: To provide Apache-licensed implementation of a full-blown Ajax-based JSF component set, to become better integrated with the MyFaces and Shale initiatives, and to build a strong vendor-neutral community that will outlast any one person’s or company’s participation.

Initial Goals

The initial goals of the proposed project are:

  • Viable community around the RCF code base
  • Active relationships and possible cooperation with related projects and communities, such as Apache MyFaces (and it’s subprojects) or Apache Trinidad.

Current Status

Meritocracy

All the initial committers are familiar with the meritocracy principles of Apache, and have already worked on the various source code bases. Some of the initial committers also have experience, undergoing the Apache incubation process. We will follow the normal meritocracy rules also with other potential contributors.

Community

The Apache MyFaces project, the Apache Trinidad podling and the JavaServer Faces standard hold great promise. A fully Ajax-based set of user interface components will significantly accelerate their adoption. We strongly believe that RCF will gather significant momentum and enough developers to build a vibrant community of users and contributors.

Core Developers

Four of the initial committers are Oracle employees and all are committers on the Apache Trinidad podling. One of them is a committer at Apache MyFaces and Apache Shale. Four of the initial committers are committers on the Apache MyFaces project. RCF was developed by Oracle employees.

Alignment

RCF aligns perfectly with Apache MyFaces, Apache Trinidad and other ASF projects utilizing J2EE infrastructure such as Tomcat or Shale. Of particular relevance are projects such as Geronimo, Apache libraries like Jakarta Taglibs and Apache Maven.

Known Risks

Orphaned products

Most of the active developers would like to become RCF Committers or PMC Members and have long term interest to develop and maintain the code.

Inexperience with Open Source

All the initial developers have worked on open source before and many are committers and PMC members within other Apache projects.

Homogeneous Developers

Four of the initial committers are Oracle employees. The developers are experienced and very familiar with distributed, multi-national, asynchronous environments. Also Oracle will most likely influence developers across the globe to join the RCF community.

Reliance on Salaried Developers

Some of the initial committers are salaried developers employed by Oracle. Oracle is committed to standards and open source and committed to building a vibrant and diverse community around this project. The remaining developers are individual volunteers who are passionate about the technology. The donating company has reached out and will continue to reach out in its effort to build a diverse community.

Relationships with Other Apache Products

RCF will likely be used by a Java EE 5 (web) compliant container, like Geronimo or Tomcat 6, requires some Apache products (Shale Test, commons digester, commons beanutils, Trinidad, Xerces), and will support Apache MyFaces.

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. While we expect the Apache brand may help attract more contributors, our interests in starting this project is based on the factors mentioned in the Rationale section. However, we will be sensitive to inadvertent abuse of the Apache brand and will work with the Incubator PMC and the PRC to ensure the brand policies are respected.

Documentation

There isn’t a documentation at the moment, but Oracle is actively working on developing comprehensive documentation for RCF and that documentation will be provided soon or upon availability.

Initial Source

The initial code base is owned by Oracle. The applicable code will be re-licensed under the Apache License 2.0. All dependencies have Apache compatible licenses. These include BSD and CDDL licensed dependencies.

External Dependencies

All dependencies have Apache compatible licenses. These include BSD and CDDL licensed dependencies.

Required Resources

Mailing lists

  • rcf-dev@incubator.apache.org
  • rcf-commits@incubator.apache.org
  • rcf-private@incubator.apache.org

Subversion Directory

Issue Tracking

Other Resources

  • Wiki

Initial Committers

Name

Email

CLA

Adam Winer

awiner at apache dot org

yes

Andy Schwartz

andy.schwartz at oracle dot com

yes

Bernd Bohmann

bommel at apache dot org

yes

Blake Sullivan

blake.sullivan at oracle dot com

yes

Bruno Aranda

baranda at apache dot org

yes

Cagatay Civici

cagatay at apache dot org

yes

Gabrielle Crawford

gcrawford at apache dot org

yes

Gary Van Matre

gvanmatre at apache dot org

yes

Gerald Muellan

gmuellan at apache dot org

yes

Jeanne Waldman

jwaldman at apache dot org

yes

Mario Ivankovits

imario at apache dot org

yes

Martin van den Bemt

mvdb at apache dot org

yes

Martin Marinschek

mmarinschek at apache dot org

yes

Matthias Wessendorf

matzew at apache dot org

yes

Scott Bryan

scott.obryan at oracle dot com

yes

Simon Lessard

slessard at apache dot org

yes

Werner Punz

werpu at apache dot org

yes

Affiliations

Name

Affiliation

Andy Schwartz

Oracle Corporation

Adam Winer

Oracle Corporation

Blake Sullivan

Oracle Corporation

Bruno Aranda

EMBL-EBI European Bioinformatics Institute

Gabrielle Crawford

Oracle Corporation

Jeanne Waldman

Oracle Corporation

Matthias Wessendorf

Oracle Corporation

Simon Lessard

Fujitsu Consulting, Canada

Scott Bryan

Oracle Corporation

Sponsors

Champion

  • Manfred Geiler (manolito at apache dot org)

Nominated Mentors

  • Martin van den Bemt (mvdb at apache dot org)
  • Carsten Ziegeler (cziegeler at apache dot org)
  • Henning Schmiedehausen (henning at apache dot org)

Sponsoring Entity

  • No labels