<?xml-stylesheet type="text/xsl" href="wtp.xsl"?>
<html>
	<head>
		<meta name="root" content="../../.."></meta>
		<title>JSF Tools Project Features for WTP Release 1.5</title>
	</head>
	<body>
		<h1>jsf</h1>
		<h2>
			JSF Tools Project Features for WTP Release 1.5 - JSF Tools
			0.5 release
		</h2>
		<p></p>
		<h3>Updated: 06/16/2006</h3>
		<p>
			This document defines the set of features that will be
			delivered in the WTP1.5-JSF Tools 0.5 release. This is an
			update on the
			<a href="FeatureSpecs-1.5-draft.html">draft document</a>
			to reflect the current status.
		</p>
		<p>
			The features delivered in this release are aimed at
			improving the development experience of a user in building
			and deploying a JavaServer Faces application.
		</p>
		<h2>Features</h2>
		<p></p>
		<p>
			<h3>I. JSF-JSP Page Source Editor Features.</h3>
		</p>


		<p>
			<b>
				Content Assist for values of tag attributes for the JSF
				standard Core and HTML tag libraries
			</b>
			<br></br>
			The JSF-JSP editor provides content completion for specific
			attribute values of the JSF standard Core and HTML tags.
			Content Assist is available for both Expression Language
			(EL) and non-EL values.Support includes providing a proposal
			for values of attributes that have discrete set of values,
			references to application configuration type including
			validator, managed bean and resource bundle.
		</p>
		<p>
			<b>JSF Page validation</b>
			<br></br>
			The Editor now supports semantic validation for both EL and
			non-EL values of attributes of the JSF standard Core and
			HTML tags. EL validation includes basic syntax checks,
			exisitence of managed beans, resource bundle and their
			properties, correct type and method signatures.
		</p>

		<p>
			<b>Extensible Framework</b>
			<br></br>
			This release includes a collection of core frameworks that
			will enable JSF component developers, tool providers to
			enhance and extend the above mentioned features. These
			include:
			<ul>
				<li>
					Content Model Annotation Framework
					<ul>
						Define additional meta-data for elements and
						attributes on any xml-based content model for
						use at design time.
					</ul>
				</li>
				<li>
					Design-time Meta-data Processing Framework
					<ul>
						<li>
							Uses the annotations framework to provide
							services to the JSF-JSP Source Editor
						</li>
						<li>
							Define new services and enhance existing
							services
						</li>
					</ul>
				</li>
				<li>
					Design-time Application Manager
					<ul>
						<li>
							Provide an approximation of certain JSF
							runtime state information at design time.
						</li>
						<li>
							Pluggable design-time variable, property and
							method resolvers
						</li>
					</ul>
				</li>
				<li>
					JSF Application Configuration Manager
					<ul>
						<li>
							Provide a unified application configuration
							model through API, effectively merging all
							faces configuration models into a single
							model
						</li>
						<li>
							Notification services to monitor changes to
							the EMF objects in the model
						</li>
						<li>
							Cross model validation will be supportable .
						</li>
					</ul>
				</li>
			</ul>
		</p>
		<p>
			<h3>II. Application Configuration Editor Features.</h3>
			<br></br>
			The JSF configuration editor is a multi-page editor. It
			provides both a graphical view and a text view of the
			faces-config.xml file. An EMF model of the application
			configuration resolrce file has been provided. The editor
			has the following main features:
			<ul>

				<li>
					A summary page – a form based editor, summaries all
					elements configured in the faces-config.xml file.
				</li>

				<li>
					A graphical representation of navigation rules – a
					graphical view shows how the pages and actions are
					linked together in the navigation rule element. The
					editor support drag-n-drop of exisiting pages. It
					also has a tool palette.
				</li>

				<li>
					Managedbean page – a form based editor, has a tree
					view display of all managedbeans configured in the
					project. It provides wizard dialogs to guide user to
					create and configure new managedbeans.
				</li>

				<li>
					Component page – a form based editor, displays
					commonly used elements in the project. Elements are
					grouped in a section and have a list view of all
					elements in each group. It also provides dialogs to
					create or modify those elements.
				</li>

				<li>
					Others page – a form based editor, display all other
					advanced elements in the project. Those elements are
					grouped in a section and have a list view of all
					elements in each group. It also provides dialogs to
					create or modify those elements.
				</li>

				<li>
					Text editor page – a source page editor, provides
					content assist and syntax highlighting when user
					edits the faces-config file.
				</li>
			</ul>

		</p>
		<p>
			<h3>III. Management Features.</h3>
			<br></br>
			<b>1. Register JSF Libraries.</b>
			<br></br>
			This allows a user to define a named collection of JARs and
			optionally tag a collection as a JSF implementation. A user
			can thus define and manage distinct groups of JSF
			implementations, components and utility Java libraries.The
			user experience will be similar to that of registering the
			JRE. For each named collection defined, a user can specify:
			<ul>
				<li>Name</li>
				<li>JSF Version supported</li>
				<li>Collections of JARs/ZIPs of Java Libraries</li>
				<li>Implementation Flag</li>
				<li>Default Implementation Library</li>
			</ul>
		</p>
		<p>
			<b>
				2. Create a Dynamic Web Project with the JSF Project
				Facet.
			</b>
		</p>
		<p>
			<b>
				3. Add the JSF Project Facet to an existing Dynamic Web
				Project.
			</b>
		</p>
		<p>
			In both the scenarios, a user has the following options to
			choose:
			<ul>

				<li>
					Select JSF implementation from registry. Users have
					the option to deploy the JARs in the library to the
					"WEB-INF\lib" folder. Users can also register new
					implementation libraries during facet installation.
				</li>
				<li>Select the JSF Version</li>
				<li>
					Create single application configuration resource
					file
				</li>
				<ul>
					<li>
						Filename defaults to "faces-config.xml", and
						Location defaults to ".../WEB-INF". Both can be
						modified.
					</li>

					<li>
						Update context-param in web.xml if selected
						location/filename is not
						"WEB-INF/faces-config.xml"
					</li>
				</ul>
				<li>
					Update the web.xml with JavaServer Faces servlet and
					servlet-mapping information
				</li>


			</ul>

		</p>


		<p>
			<b>4. Run/ Debug a JSF JSP Page on the Server.</b>
			<p>
				Only JSF pages with the .jsp file extension are
				currently supported.
			</p>
		</p>

		

	</body>
</html>

		
	
