Apache MyFaces

JavaServer(tm) Faces (JSF) is a web application framework specification (JSR252, JSR127, JSR314) based around the model-view-controller pattern.

The Apache MyFaces project provides both an implementation of the JSF specification ("MyFaces Core"), and a set of add-on libraries that work on any implementation of the specification (including, of course, Apache MyFaces Core).

JSF supports the development of highly interactive applications where the system interacting with the user is separated from the system that contains the presentation logic; web-browser/web-server is one example. JSF has a "component-based" architecture, and therefore is more like "Swing for the web" than an HTML publishing framework. People familiar with Swing, Gnome, KDE, MFC, VisualBasic, Delphi etc should feel right at home developing JSF applications.

JSF is quite similar to the Tapestry framework as that is also a component-based framework. JSF can also fill the same "niche" as the well-known Struts framework, but has a rather different approach.

The Sun JavaServer Faces(tm) Page has information about the JSF-1.2 (and older JSF-1.1) specification. They also provide a useful Tutorial there. MyFaces Core provides a 100% compliant implementation of these specifications.

The Apache MyFaces family of projects includes the following libraries that can be used with any JSF implementation to add extra features and flexibility:

You can find further information about the MyFaces subprojects on the official site at http://myfaces.apache.org.

See the MyFaces Tomahawk and Sandbox examples in action:

See a MyFaces real world use case at JavaWorld

See the dojoFacelets in action:

If your company uses MyFaces, please add your company here: Companies_Using_MyFaces.

FAQ

*FAQ - Frequently asked questions about MyFaces or JSF, including a section on Facelets/Tomahawk/MyFaces/Trinidad/JSF Troubleshooting

Using MyFaces Core

JSF and MyFaces Core in Theory: The Concepts

JSF and MyFaces Core in Practice: The HowTo's

Tracing and Debugging

*TracingMyFacesUsingAspectJ - How to trace MyFaces using AspectJ
*FacesTrace - A visual debugger that can be integrated to the JSF pages

Working with Radio Buttons

Working with JavaScript and JSF

Conversion and Validation

Managing Errors/Infos/Warnings

Navigation Handling - in and outside JSF

Backend

Configuration of special features

Properly use those extended components

JSF and MyFaces in Practice: Specialized Trails

Creating Custom Components

misc

JSF and MyFaces: The Reference

*JsfComponents - List of JSF components and how to use them
*Tomahawk - List of custom MyFaces Tomahawk components and extensions, and how to use them.

Frameworks related to JSF

Sibling projects

  • FacesFreeway - An effort to minimize the work for simple input forms (no longer actively developed)
  • Metawidget - Another effort to minimize the work for input forms
  • jsf-comp Sourceforge project - Shared community code sandbox.

MyFaces Development and Project Management

MyFaces Development

MyFaces Project Management

MyFaces Project Infrastructure

*Apache_Server - Project Infrastructure, Setup of Apache2 on Solaris Zone
*Continuum_Build - Care and feeding of the Continuum build processes on the Zone

Community and Context

Talk, talk, talk

With a little help of our friends

  • How_to_Help - Hints how you can get involved, help to support and contribute to Apache MyFaces
  • Help_Wanted - Want to contribute? Volunteers needed for this list of tasks.
  • Acknowledgements - The most important page of this WIKI: saying "Thanks" to people who helped making MyFaces a success!

Random Musings

References

On the web

  • UsefulLinks - Tutorials for JavaServer Faces, MyFaces project activity and other useful links

Tomahawk Documentation

Tomahawk HowTo's

Working with tables

Working with TabbedPanes

MyFaces Core 1.1.x additional documentation

Using MyFaces Core

Migration from previous versions

Portlets

MyFaces Project Management

*MyFaces_Artifacts - List of Build Artifacts and their Contents

*Source_Code_Repository_Structure - Trunks and Branches

TODO's/Ideas related to MyFaces Projects

*MyFaces_Commons_Refactoring - Checklist for Upcoming Refactoring of MyFaces commons classes
*Name_Finding - Monitor requests to find names for components/projects/etc

  • No labels