Posted by edburns
on August 18, 2004 at 7:59 AM PDT
Let's learn about the ourfaces project. Ourfaces is an open source repository of UI components for JavaServer Faces.
The ourfaces project is intended to be a casual, yet very useful
repository of JavaServer Faces components. I say casual because we want
have a low barrier to entry for adding new components to the repository.
The project leader, Matthias Unverzagt, has made it very easy to get
started as a contributor, in
href="https://ourfaces.dev.java.net/#participate">four simple steps.
Of course, if it's easy to be a contributor,
href="https://ourfaces.dev.java.net/#build">it's even easier to be a
If you look at
you'll see there are at least ten different entries for JavaServer Faces
component libraries, and most of them are not dollar cost free, nor are
they free software. I feel it is important to have a high quality, open
source, dollar cost free component library for Faces, and the OurFaces
project intends to be just that.
Let's take a look at how the project is structured. We've made the
project easy to access by building the component catalog in an
easy-to-deploy WAR file during the standard build process. This enables
you to explore the runtime performance of the components. The source
tree is broken down as follows.
Any licenses that apply to this project go here
Where <component> is one of the components in the catalog.
Currently, we have calendar, code, tree, and table.
Any artifacts relating to displaying this component in the
catalog. These are user-level artifacts, not core component
Java code for displaying the component in the catalog
Any non-java code artifacts for displaying the component
in the catalog. This includes skinability, sample HTML,
CSS, XML config files, etc.
The XML file that declares the owner of this component. The
owner is responsible for everything in this component,
including its display in the catalog.
The java code that makes up the UIComponent subclass,
(optional) Renderer, and UIComponentTag subclass.
Any supporting code relating to the display of the catalog
Any supporting code used by the components.
This framework allows the component library to accept contributions
from arbitrary parties, while allowing each party to own their
components in the repository. As you can see, we currently only have
three components, so we're eager to accept more contributors. We hope
that becoming a member of the java-enterprise community will give us
Please feel free to read and post on the