New this release is a web perspective with ID of "org.eclipse.wst.web.ui.webDevPerspective.

+

:New this release is a web perspective with ID of "org.eclipse.wst.web.ui.webDevPerspective.

−

This perspective might "interfere" with adopters that defined their own web perspective and ID (such as, just for example, com.ibm.etools.webtools.webperspective.WebToolsPerspective).

+

:This perspective might "interfere" with adopters that defined their own web perspective and ID (such as, just for example, com.ibm.etools.webtools.webperspective.WebToolsPerspective).

==== JSF ====

==== JSF ====

Latest revision as of 16:04, 5 September 2008

This page to to collect miscellaneous notes and pointers to changes coming up in the WTP 3.0 (Ganymede) release. Its purpose it to be a central "jump off" point for those adopters of WTP 2.0, that are moving to WTP 3.0. Most of this information may be already contained in various mailing lists and bugzilla's, but ... we thought it best if there as a central place to get people started.

Adopters: if you run into trouble or notice things that are not covered here, please let us know (wtp-dev@eclilpse.org is a good place). This will not only help us keep this list up to date, but will help us better learn, over time, the discipline of "platform development" and help make sure we learn to provide compatible API's, migration instructions, etc., in the future. [ It isn't always easy, but our intent is to make it as simple and painless as possible for adopters to use WTP as a true platform.

One thing we've learned in the past is that some don't adopt every version ... some early adopters went from 0.7 directly to 1.5, for example. Unfortunately, it's hard for us to present the information in that way, covering perhaps multiple changes, but hopefully as we develop these for each release, they will all flow together to aide adopters.

Note: as these notes develop and grow in number, they may occasionally be re-organized into categories, etc.

Contents

Common Components

The facet wizard page is no longer in the project creation wizards. It is now accessible as a popup (click the modify button next to the configurations drop-down) rather than as a second page in all of the WTP wizards. Please See the following resource for more information. Link

org.eclipse.wst.common.ui.properties plugin has been removed. Use org.eclipse.ui.views.properties.tabbed instead. See bug 131862, the bugs it points to, and the first New_Help_for_Old_Friends for history.

Source Editing Components

Significant version changes for the following plug-ins:

The org.eclipse.wst.sse.ui plugin increased its version from 1.0.400 to 1.1.0

The XML validation preference to warn about missing grammars has been enabled by default to assist new users and XML developers who may easily overlook the W3C requirement to specify a grammar. Coupled with the new Validation Framework, some files may now report warnings where they did not before.

The org.eclipse.wst.javascript.* plug-ins are deprecated in favor of org.eclipse.wst.jsdt.*. Any references to the new plugins either as dependencies or by linking to its wizards in perspectives should be updated.

The framework for contributing to commands is now largely based around handlers and active contexts. Editors define and activate contexts that enable handlers for various commands. It is then possible for other editors to selectively activate those contexts, as well, to reuse specific handlers. Table_of_WTP_IDs explains the process of activating the proper contexts to utilize already-defined handlers.

Validation framework enhancement 227452 allows for cleaner and more reliable model sharing among validators. Validators using the V2 extension point and using SSE models should declare themselves as part of the org.eclipse.wst.sse.core.structuredModelGroup group to help avoid unnecessary model reloading. Validators should continue to use the getModelFor*()/releaseFrom*() calls as before.

SSE enhancement 224209 altered the syntax highlighting mechanisms for all StructuredTextEditors. While pre-existing implementors of the SSE LineStyleProvider interface are still supported, adopters are strongly encouraged to instead subclass AbstractLineStyleProvider for further optimizations and to avoid conflicts between annotations and the LineStyleProvider contributing competing background syntax highlighting. An official API for line style providing will be proposed in an upcoming release.

Server Component

Web Services and WSDL

M3 - Web service pop-up category is moved from org.eclipse.jst.ws.consumption.ui to the org.eclipse.wst.ws.ui plugin. Please see bugzilla 202303 for details. This is done to support the move of the Web Services Explorer plugin from the JST to the WST install package.

As a result, the following 2 WTP plugins have their version changed to 1.1.0:

org.eclipse.jst.ws.consumption.ui

org.eclipse.wst.ws.ui

M4 - A new service policy framework has been introduced to create an extensible framework for extenders to specify the quality of service that would effect different tools such as wizards, editor and validators (see 196997).

The new framework can be found in the two new plugins:

org.eclipse.wst.ws.service.policy

org.eclipse.wst.ws.service.policy.ui

The "Profile Compliance and Validation" preference page has been refactored. WSDL Validation preferences have been moved to a new "Wizard Validation" preference page, and WS-I profile compliance preferences moved to a new "Service Policies" preference page. No migration is required for preferences defined in previous versions of WTP- these preferences are still honored. If you choose to enable project specific preferences, default values are taken from the current workspace values, i.e. project specific default values follow the workspace preference as in previous versions of WTP.

Continue to use org.eclipse.wst.ws.internal.preferences.WSIComplianceUtils in org.eclipse.wst.ws plug-in to query WS-I profile compliance preference settings as before. Alternatively you can use org.eclipse.wst.ws.service.policy.ServicePolicyPlatform and org.eclipse.wst.ws.service.policy.ui.ServicePolicyPlatformUI to query and work with the preferences settings. The WS-I profile compliance related operation and policy ids are defined in org.eclipse.wst.ws.service.policy.ui\plugin.xml and org.eclipse.wst.ws.service.policy\plugin.xml respectively.

Extenders can add preferences to the Service Polices preference page using 2 new extension points (see associated schemas, ServicePolicyPlatform, and ServicePolicyPlatformUI for more details):

Extenders to serviceRuntimes and clientRuntimes can optionally add the runtimeChecker attribute that implements IWebServiceRuntimeChecker to check for the Web service runtime's compatibility with server type, server instance, project, project type and EAR. If runtimeChecker is provided, then in ValidationUtils.checkErrorStatus() after all the existing checks have passed, IWebServiceRuntimeChecker.checkRuntimeCompatibility() is called and the status returned will be displayed to the user. If runtimeChecker is not provided, then the runtime compatibility check is bypassed. An abstract class AbstractWebServiceRuntimeChecker that implements the interface is also provided.

The method getServerRuntimeId() and setServerRuntimeId() has been added to WebServiceInfo and WebServiceClientInfo. If the extender wants the framework to use a particular server runtime ID when creating a server, they should set the server runtime ID in the WebServiceInfo or WebServiceClientInfo before the Install phase (i.e. in develop, assemble or deploy phase). If the server runtime ID is not null, it will be used when creating a server. If it is null, then the first runtime that satisfy the server type ID would be used.

An optional String field "runtimePreferredServerType" has been added to the org.eclipse.jst.ws.consumption.ui.serviceRuntimes and org.eclipse.jst.ws.consumption.ui.clientRuntimes extension point for extenders to provide the preferred server factory type ID to the Web service creation extension. When the "runtimePreferredServerType" is specified, the framework would choose serviceRuntimes and clientRuntimes that have runtimePreferredServerType matching the server choosen.

M6 - Extender can perform their own service and client compatibility checks (see 198439).

The framework will no longer be doing checks for service and client project or EAR being the same. The following method has been added to IWebServiceRuntimeChecker for extender to implement that check. This method has been added to AbstractWebServiceRuntimeChecker as well. The org.eclipse.wst.ws plugin version has been changed to 1.1.0.