Skip to main content

Let's learn about ourfaces

Posted by edburns on August 18, 2004 at 7:59 AM PDT

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

If you look at href="http://www.jsfcentral.com/products/#Components">http://www.jsfcentral.com/
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.

    ourfaces/

      licenses/

        Any licenses that apply to this project go here

      src/

        <component>/

          Where <component> is one of the components in the catalog.
          Currently, we have calendar, code, tree, and table.

            catalog/

              Any artifacts relating to displaying this component in the
              catalog.  These are user-level artifacts, not core component
              artifacts.

                java/

                  Java code for displaying the component in the catalog

                web/

                   Any non-java code artifacts for displaying the component
                   in the catalog.  This includes skinability, sample HTML,
                   CSS, XML config files, etc.

            owner.xml

              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. 

            taglibrary/

              The java code that makes up the UIComponent subclass,
              (optional) Renderer, and UIComponentTag subclass.


        code/

          Any supporting code relating to the display of the catalog

        platform/

          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
more visibility.

Please feel free to read and post on the href="https://ourfaces.dev.java.net/servlets/ForumMessageList?forumID=337">discussion
forum!

Related Topics >>