blob: bb7d999834dd4fcf964dfbd0f83db74aa5b8c43a [file] [log] [blame]
<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><link type="text/css" href="../../../default_style.css" rel="stylesheet"><link type="text/css" href="../../../webtools/wtp.css" rel="stylesheet"><title>JSF Tools Project Features for Milestone 1</title></head><body><table border="0" cellpadding="2" cellspacing="5" width="100%"><col width="16"><col width="*"><tbody><tr><td colspan="2" align="left" bgcolor="#0080c0" valign="top"><b><font color="#ffffff" face="Arial,Helvetica">Introduction</font></b></td></tr><tr><td align="right" valign="top">
&nbsp;
</td><td valign="top"><p>
This document defines the set of features that will be
delivered in the Milestone 1 of the project. This document
is a draft meant to solicit community feedback.
<b>
Please post your feedback to the mailing list,
wtp-jsf-dev@eclipse.org
</b>
</p></td></tr><tr><td align="right" valign="top">
&nbsp;
</td><td valign="top"><p>
Following are the main themes for this milestone release:
<li>Define the JSF Facet</li>
<li>
Provide a first-class editor for the Application
Configuration resource file
</li>
<li>
Define the complete JSF Application model including all
the JSF specific artifacts.
</li>
</p></td></tr><tr><td align="right" valign="top">
&nbsp;
</td><td valign="top"><p>
The functionality delivered in this milestone will allow a
user to build a simple JSF application and execute it on the
target server. The following section gives an end user
perspective of the features by enumerating all the use cases
we plan to handle in this release. Given one of the main
goal of this project is to provide an extensible framework,
the section will also list use cases for the extensibility
that will be provided as part of this milestone.
</p></td></tr><tr><td colspan="2" align="left" bgcolor="#0080c0" valign="top"><b><font color="#ffffff" face="Arial,Helvetica">Use Cases</font></b></td></tr><tr><td align="right" valign="top">
&nbsp;
</td><td valign="top"><p>
1.Register the JSF Implementation. The user experience will
be similar to that of registering the JRE. For each
implementation registered, a user can specify:
<ul>
<li>Name</li>
<li>JSF Version supported</li>
<li>Libraries</li>
<li>Tag libraries</li>
<li>Default servlet name</li>
<li>Default servlet class</li>
</ul>
</p></td></tr><tr><td align="right" valign="top">
&nbsp;
</td><td valign="top"><p>
A JSF implementation can be selected during project creation
or when adding JSF facets to an existing web project
</p></td></tr><tr><td align="right" valign="top">
&nbsp;
</td><td valign="top"><p>
2. Create a Dynamic Web Project with the JSF Project Facet.
</p></td></tr><tr><td align="right" valign="top">
&nbsp;
</td><td valign="top"><p>
3. Add the JSF Project Facet to an existing Dynamic Web
Project.
</p></td></tr><tr><td align="right" valign="top">
&nbsp;
</td><td valign="top"><p>
In both the scenarios, a user has the following options to
choose:
<ul>
<li>Select JSF implementation from registry</li>
<li>Select the JSF Version</li>
<li>
Create single application configuration resource
file
</li>
<ul>
<li>
Filename defaults to preference, overridable
Location defaults to ".../WEB-INF", allows
overridable
</li>
<li>
Updates context-param in web.xml if selected
location/filename is not
"WEB-INF/faces-config.xml"
</li>
</ul>
<li>
Update the web.xml with servlet and servlet-mapping
information
</li>
<ul>
<li>
Servlet name/classname default to preferences,
overridable
</li>
<li>
Servlet-mapping defaults to preference,
overridable
</li>
</ul>
</ul>
</p></td></tr><tr><td align="right" valign="top">
&nbsp;
</td><td valign="top"><p>
4.Create a JSF JSP Page.This will be similar to the New JSP
Wizard. The user can specify the following.
<ul>
<li>Name</li>
<li>Location</li>
<li>JSF template (optional)</li>
</ul>
</p></td></tr><tr><td align="right" valign="top">
&nbsp;
</td><td valign="top"><p>
5.Create Application Configuration Resource file.User can
specify the following.
<ul>
<li>
File Name, defaults to the name specified in the
preference
</li>
<li>
Location, defaults to the path specified in the
preference
</li>
</ul>
</p></td></tr><tr><td align="right" valign="top">
&nbsp;
</td><td valign="top"><p>
6.Edit the Application Configuration Resource file. For this
milestone, the Editor will be a basic SSE based XML Source
Editor with the following features.
<ul>
<li>JSF-specific content assist</li>
<li>
"Hot linking" (ctrl-click) for classes to their
corresponding java file. If the class doesn't exist,
the editor will provide option to launch wizard to
create it
</li>
</ul>
</p></td></tr><tr><td align="right" valign="top">
&nbsp;
</td><td valign="top"><p>
7. Run/ Debug a JSF JSP Page (and Application Configuration
file) on the Server.
</p></td></tr><tr><td align="right" valign="top">
&nbsp;
</td><td valign="top"><p>
8. User will be able to specify the following preferences.
<ul>
<li>a) Default JSF implementation</li>
<li>b) Default JSF Version</li>
<li>
c) Default FileName of the Application Configuration
Resource file.
</li>
<li>
d) Default location of the Application Configuration
Resource file.
</li>
<li>e) Default JSF Template</li>
</ul>
</p></td></tr><tr><td align="right" valign="top">
&nbsp;
</td><td valign="top"><p>
9). Extensions
<ul>
<li>a) API to register a JSF implementation</li>
<li>
b) API to add the JSF Project Facet to a Dynamic Web
Project
</li>
<li>
c) API to create an Application Configuration
Resource file.
</li>
<li>
d) API to add instances of various artifacts of the
Application Configuration Resource file such as the
Managed bean, Navigation Rule, Validator etc.
</li>
<li>
e) Extension points for the Application
Configuration Editor
</li>
</ul>
</p></td></tr></tbody></table></body></html>