1. Introduction
     1.1. Project/Component Working Name:
JavaServer Faces/Mojarra

     1.2. Name(s) and e-mail address of Document Author(s)/Supplier:
Edward Burns <edward.burns@oracle.com>

     1.3. Date of This Document:
05/03/10

2. Project Summary
     2.1. Project Description:

JavaServer Faces (JSF) is the standard GUI for Java EE.  It describes a
component model for creating UI components, assembling them into an
application, and connecting the whole GUI to the rest of the Java EE stack.

     2.2. Risks and Assumptions:

Large and diverse number of JSF users means that top priority
requests for action can come in from many places and disrupt the
schedule.

Assumptions
===========

The JCP Minor Revision process can be used to produce JSF 2.1, including
signature changes that require a new revision of the TCK.

The Java EE platform umbrella JSR approves the revision of JSF 2.1
(including signature changes) for inclusion in Java EE 6.

The AS core team approves the revision of JSF 2.1 (including signature
changes) for inclusion in Java EE 6.

3. Problem Summary
     3.1. Problem Area:

Maintain forward momentum of JSF development, and the thought leadership
thereof.

     3.2. Justification:

Competitors such as JBoss and IBM have been angling for taking over
thought leadership in this space, which is crucial to Java EE 6 adoption.

4. Technical Description:
      4.1. Details:

There are two buckets of issues, each with two sub-buckets.  For each of
these buckets, assign one of the two JSF spec co-leaders to each issue.
Each spec lead will then list the issues in decreasing order of
priority.  Each spec lead will work down the list, delegating as
necessary.

      4.2. Bug/RFE Number(s):

JSF 2.1

   JCP Changelog

   http://wiki.jcp.org/wiki/index.php?page=JSF+2.1+Change+Log

   Spec Issue Tracker issues

 
   https://javaserverfaces-spec-public.java.net/issues/buglist.cgi?resort=1&component=javaserverfaces-spec-public;issue_status=NEW;issue_status=STARTED;issue_status=REOPENED;target_milestone=2.1;email1=;emailtype1=exact;emailassigned_to1=1;email2=;emailtype2=exact;emailreporter2=1;issueidtype=include;issue_id=;changedin=;votes=;chfieldfrom=;chfieldto=Now;chfieldvalue=;short_desc=;short_desc_type=fulltext;long_desc=;long_desc_type=fulltext;issue_file_loc=;issue_file_loc_type=fulltext;status_whiteboard=;status_whiteboard_type=fulltext;field0-0-0=noop;type0-0-0=noop;value0-0-0=;namedcmd=IssuesResolvedEDRtoPR;newqueryname=;Submit%20query=Submit%20query&order=map_reporter.userid,%20map_reporter.userid,%20issues.status_whiteboard,%20issues.status_whiteboard,%20issues.subcomponent,%20issues.issue_id

    Mojarra Issue Tracker Issues

      Open issues we have committed to fix before 2.1

      https://javaserverfaces.java.net/issues/buglist.cgi?component=javaserverfaces&issue_status=NEW&issue_status=STARTED&issue_status=REOPENED&email1=&emailtype1=exact&emailassigned_to1=1&email2=&emailtype2=exact&emailreporter2=1&issueidtype=include&issue_id=&changedin=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=fulltext&long_desc=&long_desc_type=fulltext&issue_file_loc=&issue_file_loc_type=fulltext&status_whiteboard=&status_whiteboard_type=fulltext&keywords=&keywords_type=anytokens&field0-0-0=target_milestone&type0-0-0=equals&value0-0-0=2.0.3&cmdtype=doit&namedcmd=mystuff&newqueryname=&order=Reuse+same+sort+as+last+time&Submit+query=Submit+query

      Open issues we have committed to fix for 2.1

      https://javaserverfaces.java.net/issues/buglist.cgi?component=javaserverfaces&issue_status=NEW&issue_status=STARTED&issue_status=REOPENED&target_milestone=2.0.next&target_milestone=2.1&email1=&emailtype1=exact&emailassigned_to1=1&email2=&emailtype2=exact&emailreporter2=1&issueidtype=include&issue_id=&changedin=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=fulltext&long_desc=&long_desc_type=fulltext&issue_file_loc=&issue_file_loc_type=fulltext&status_whiteboard=&status_whiteboard_type=fulltext&keywords=&keywords_type=anytokens&field0-0-0=noop&type0-0-0=noop&value0-0-0=&cmdtype=doit&namedcmd=mystuff&newqueryname=&order=Reuse+same+sort+as+last+time&Submit+query=Submit+query

      Open issues we have not committed to fix for 2.1

      https://javaserverfaces.java.net/issues/buglist.cgi?component=javaserverfaces&issue_status=NEW&issue_status=STARTED&issue_status=REOPENED&email1=&emailtype1=exact&emailassigned_to1=1&email2=&emailtype2=exact&emailreporter2=1&issueidtype=include&issue_id=&changedin=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=fulltext&long_desc=&long_desc_type=fulltext&issue_file_loc=&issue_file_loc_type=fulltext&status_whiteboard=&status_whiteboard_type=fulltext&keywords=&keywords_type=anytokens&field0-0-0=target_milestone&type0-0-0=notequals&value0-0-0=2.1&field0-1-0=target_milestone&type0-1-0=notequals&value0-1-0=2.0.next&field0-2-0=target_milestone&type0-2-0=notequals&value0-2-0=2.0.3&cmdtype=doit&namedcmd=mystuff&newqueryname=&order=Reuse+same+sort+as+last+time&Submit+query=Submit+query


      4.3. In Scope:

         JSF 2.1

           Any changes that improve the quality of the spec, may involve
           implementation changes, but may not be so "big" as to require
           a new JSR.

           It is acceptable to make signature changes in this release.  

      4.4. Out of Scope:
	Entire new subsystems may not be introduced.

         Anything that breaks the ability to run on GlassFish v2 will not
         be introduced.

      4.5. Interfaces:
	This project implements JSR-314
         http://jcp.org/en/jsr/summary-314

         4.5.1.  Public Interfaces:
	    javax.faces.*
             JSF Schemas
             Standard HTML RenderKit
             JSP Taglibrary doc
             Facelets Taglibrary doc
             JSDoc

         4.5.2.  Private Interfaces:
	    com.sun.faces.spi.*

         4.5.3.  Deprecated/Removed Interfaces:

             None

      4.6. Doc Impact:

              JSF2 Content in the Java EE Tutorial will need to be updated.

      4.7. Admin/Config Impact:

	Because the GlassFish Admin Console heavily uses JSF, it must be thoroughly
	tested with this new version.

      4.8. HA Impact:

         Dev tests need to be run in a clustered environment,
         specifically ones where a cluster member dies during execution

      4.9. I18N/L10N Impact:

         No new requirements, but it would be nice to have more oversight
         from the I18N team.