# New and Noteworthy

This section contains descriptions of the significant changes made to the JavaServer Faces Tooling in the WTP 3.2 release

## Support for JSF 2.0

### Project Configuration

JSF Tools now supports the configuration of a Dynamic Web Project as a JSF 2.0 project. The tool allows the user to download the following JSF 2.0 implementation librarires:

- JSF 2.0 (Mojarra 2.0.2-FCS)
- JSF 2.0 (Apache Myfaces JSF Core-2.0 API 2.0.0)

### XHTML File Creation

The tool provides a set of HTML templates that help in the creation of a Facelets XHTML page

### XHTML Source Editing

The Web Page Editor (WPE) Source tab has been enhanced to support editing XHTML files. The source editor for XHTML files has similar features as are found in the source editor for JSF-JSP page. Following is a list of features added in this release to support JSF 2.0.

#### Content Assist

#### Content asssit for Namespace

Content Assist is available for library namespaces. Namespaces can be defined either explicitly through the Facelet taglib facility or implicitly through the detection of composites through the resource loading facility.

#### Content asssit for tags and tag attributes

Content Assist is available for new tags and tag attributes in the JSF Facelets libraries

#### Content asssit for EL expression

Content assist proposal on an EL expression includes the new implicit variables

#### Composite Component support

#### Content asssit for Namespace

Content Assist for library namespaces includes composite components discovered through the resource loading facility, such as those defined under the sub-directories of a directory called "resources" in the web application root

#### Content asssit for composite components tags

## Web Page Editor (WPE) Design Pane enhancements

Visual rendering in the WPE Design pane has the following enhancements:

- optiona to adjust or remove artificial box padding.
- option to turn off absolute position rendering in CSS.

Relative uri resource such as images that contained url encoding characters render properly.

This section contains descriptions of the following significant changes made to the JavaServer Faces Tooling for Release WTP 3.1:

- JSF Library Management

- JSF Design-Time Skinning Support

This section contains descriptions of the following significant changes made to the JavaServer Faces Tooling for Release WTP 3.0:

### Support for alternate view description language for JSF

See here for information on Alternative View Handler support

#### Tag Registry View

The Tag Registry View allows a JSF user to browse the JSF tags declared in each project including information about what components, converters and validators they create at runtime.

#### Component Tree View

The Component Tree View allows a user to browse a design-time approximation of what a view (i.e. a JSP page or Facelet XHTML) will look like at runtime. This component tree will also be used by an increasing number of component-based features in the future.

### Hyperlink support in WPE's Source tab

The Source tab of the Web Page Editor (WPE) supports Hyperlink on a Managed Bean variable, Managed Bean property and Managed Bean method referenced in the Expression Language(EL) of a tag-attribute. Users can (Ctrl+click) on the hyperlink to navigate to the source of the Managed Bean.

### Hover Help support in WPE's Source tab

The Source tab of the Web Page Editor (WPE) provides Hover Help on all symbols defined in the Expression Language(EL) of a tag-attribute including references to Managed Beans and Resource Bundles.

### Enhancements to Web Page Editor (WPE) Property Pages

The tabbed property pages in the Web Page Editor (WPE) have been enhanced. This change is important for adopters of the project. See Enhancements to WPE Property Pages for details.

### Support for Apache MyFaces Trinidad

Apache MyFaces Trinidad tags are now supported in the Web Page Editor, in source editors, and in the Properties view.

### Improvements to EL content assist and hover help

Thanks to Matthias Fuessel for providing improvements to our EL support:

### New EL framework enhancements

Thanks to Xiaonan Jiang at IBM for driving new framework requirements and providing prototypes.

#### Decorative Variable and Property Resolvers

To better support the decorative nature of JSF variable and property resolvers, we have added the ability to register decorative design time resolvers to the default application manager. Decorative resolvers are called only if the runtime resolver that they are associated with is found in the configuration of the current web project. For more information see: here

#### Enhancements to symbol creation API

We have refactored several internal symbol creation methods and combined them with contributions by Matthias Fuessel and Xiaonan Jiang (IBM), to create a new set of extension points to simplify creation of common JSF symbols. See here for more details.

We have also made the symbol creation methods available on a new factory called JSFSymbolFactory.

### New EL validation preferences

New validation preferences for EL validation problems allow you to change the severity of type assignment problems between Error, Warning and Ignore.

This section contains descriptions of the following significant changes made to the JavaServer Faces Tooling for Release 1.0:

### Support for JSF 1.2

JSF Tools supports JavaServer Faces 1.1 and 1.2 versions.

### Web Page Editor

An enhanced Web Page Editor is now available. Building on the existing JSP editing support, it provides simultaneous synchronized visual and source editing of a Faces JSP in a split pane arrangment, a flyout/detachable palette, enhanced property sheets, a Preview page, and more.
The layout of the panes, as well as whether to show both, is configurable.
More planned features and ideas can be found at the editor's wiki page .

### Faces Config Editor

The Faces Configuration Editor is a comprehensive multi-page editor to edit the Faces configuration resource file. It includes a graphical editor to visually define the navigational rules.

### Improved HTML DataTable tag variable support

EL variables declared using the var attribute on the h:dataTable tag are now recognized by the JSF EL framework. The amount of additional support varies depending on the "value" attribute used to back the variable, the most complete being offered for scalar or array objects with generic Lists.

### JSF Libraries are now regular Classpath Containers

JSF Libraries make use of the easier publishing of dependencies feature introduced in this release. References to JSF Libraries in a project are made using the standard Java Build Path property page and set to be published/exported using the J2EE Module Dependencies property page, and will appear as JDT Libraries in the Project and Package Explorer views. An upgrade of the JSF Library Registry will automatically occur when an older workspace is opened. The actual references, however, will require a manual upgrade. Information on this can be found at http://wiki.eclipse.org/index.php/JSF_Library_Migration . JSF Library references are still being created at JSF Facet installation time, but if you need to add, modify, or remove references after project creation, you will now be using the standard Java Build Path and J2EE Module Dependencies property pages.
Creating a JSF Library Reference - JSF Libraries as Classpath Containers
Add Library from Java Build Path
Choose JSF Libraries
Select One or More Libraries
JSF Libraries Added as Classpath Containers to Java Build Path
Select JSF Libraries for Publish and Export

### Custom JSF Servlet Classname

The JSF servlet classname can now be specified during JSF Facet installation.

### EL Validation Severity Configuration

The severity of problems found during EL validation can now be changed by preferences. We have adapted the UI used by JDT to perform similar severity changes on Java problems.