Last revised Monday, September 17, 2004.
Please send comments about this draft plan to the
wtp-dev@eclipse.org developer
mailing list.
This document lays out the feature and API set for the next feature release of Eclipse WTP 1.0.
Plans do not materialize out of nowhere, nor are they entirely static. To ensure the planning process is transparent and open to the entire Eclipse community, we (the Eclipse WTP PMC) post plans in an embryonic form and revise them throughout the release cycle.
The first part of the plan deals with the important matters of release deliverables, release milestones, target operating environments, and release-to-release compatibility. These are all things that need to be clear for any release, even if no features were to change.
The remainder of the plan consists of themes underlying the development of the various Eclipse WTP subprojects.
The current plan does not contain plan items for the various Eclipse WTP subprojects. The plan items are given into the detailed Eclipse WTP 1.0 Milestone Plan
The release deliverables have the same form as previous releases, namely:
Source code release for Eclipse WTP Project, available as versions tagged "R1_0" in the Eclipse WTP Project CVS repository.
Eclipse WTP Web Standard Tools runtime binary and SDK distribution (downloadable).
Eclipse WTP Web+J2EE Standard Tools runtime binary and SDK distribution (downloadable).
Release milestones occurring at roughly 8 week intervals exist to facilitate coarse-grained planning and staging.
See the Eclipse WTP 1.0 Milestone Plan for details.
Eclipse WTP is built above Eclipse itself.
Most of the Eclipse WTP is "pure" Java™ code and has no direct dependence on the underlying operating system. The chief dependence is therefore on Eclipse. The 1.0 release of the Eclipse WTP Project is written and compiled against version 1.4 of the Java 2 Platform APIs, and targeted to run on version 1.4 of the Java 2 Runtime Environment, Standard Edition.
Eclipse WTP is tested and validated on the following reference platforms (this list is updated over the course of the release cycle):
Eclipse WTP Reference Platforms |
|||
---|---|---|---|
Operating system |
Processor architecture |
Window system |
Java 2 Platform |
Microsoft Windows XP |
Intel x86 |
Win32 |
Sun Java 2 SDK, Standard Edition, version 1.4.2_05 for Microsoft Windows |
Microsoft Windows XP |
Intel x86 |
Win32 |
IBM 32-bit SDK for Windows, Java 2 Technology Edition, Version 1.4.1 |
Red Hat Enterprise Linux WS 3 |
Intel x86 |
GTK |
Sun Java 2 SDK, Standard Edition, 1.4.2_05 for Linux x86 |
Red Hat Enterprise Linux WS 3 |
Intel x86 |
GTK |
IBM 32-bit SDK for Linux on Intel architecture, Java 2 Technology Edition, Version 1.4.1 |
SuSE Linux 8.2 |
Intel x86 |
GTK |
Sun Java 2 SDK, Standard Edition, 1.4.2_05 for Linux x86 |
SuSE Linux 8.2 |
Intel x86 |
GTK |
IBM 32-bit SDK for Linux on Intel architecture, Java 2 Technology Edition, Version 1.4.1 |
Although untested, Eclipse WTP should work fine on other OSes that support the same window system. See also Eclipse Target Operating Environments.
Eclipse WTP is planned to support models for projects, editors, web and J2EE artifacts, servers. Whereas Eclipse WTP would not add OS dependencies to support the first three, projects, editors and artifacts, integrating servers to Eclipse WTP would imply some OS dependencies. Eclipse WTP is targeted to be OS independent through a modular conception. So, components for servers integration will be availabe out of Eclipse WTP Web, or J2EE, Standard Tools runtime binary distributions.
Servers integrated into Eclipse WTP deliverables will be tested and validated on the same platforms listed above. Tests for other platforms will be relying on the community support.
The Eclipse WTP is designed as the basis for internationalized products. The user interface elements provided by the Eclipse SDK components, including dialogs and error messages, are externalized. The English strings are provided as the default resource bundles. Other language support, if any, will rely on the community support.
There is no previous Eclipse WTP release. So, there is no compatibility issue for Eclipse WTP.
Eclipse WTP deliverables will be compatible with Eclipse 3.1. No special attention will give for being compatible with previous Eclipse versions.
The Eclipse WTP Project consists of 2 subprojects. These themes are common to both subprojects.
Built to last - Eclipse has always been a platform for delivering integrated software tools. With a large and growing base of both free and commercial offerings based on Eclipse, it's critical for continued success to ensure that the platform scales well. This theme includes work to measure and improve the performance of key operations under various loads (number of installed plug-ins, number of resources in the workspace, etc.). This theme also includes support for user settings in order to let users choosing their own compromise between features and performance.
Simple to use - Eclipse WTP needs to not only provide the features that advanced users demand, but also be something that most users find simple to use. This theme includes ease-of-use reviews of existing features, and work that helps make Eclipse-based products simple to use for users with widely-varying backgrounds and skill sets.
Large-scale development - Large software projects are long-term collaborations involving large teams of developers playing a variety of roles. In order to be effective for large projects, software tools and processes must fit well into this reality. This theme includes laying the groundwork in the Eclipse WTP that will enable large teams to make effective use of Eclipse-based products. This theme will rely on components integration and flexible layout projects.
User experience - Improving Eclipse from the point of view of the end user. This includes improving both the "out of the box" experience so that new users are productive faster, and finding better ways to scale up to large numbers of plug-ins without overwhelming the user. This theme deals with reading, writing, and navigating in code, integrating information from different sources and providing guidance to users and making as explicit as possible how Eclipse works in order to improve Eclipse interaction.
Responsive UI - Making it easier to write Eclipse plug-ins that keep the UI responsive. Areas for improvement run the gamut from the UI becoming sluggish (or temporarily freezing) when blocking operations are done in the UI thread, to long-running operations like builds and searches which could be performed in the background while the user continues to work.
Seamless edition of resources - Generalize support to handle more members of the Java family than just Java source files. This includes widening to handle Java-like languages (such as JSP and SQLj), and embracing non-Java files (such as PHP, XSLT stylesheets, plug-in manifest files and J2EE deployment descriptors). Web and J2EE resources such as JSPs, XML, CSS, HTML, and deployment descriptors should be editable with the all the full features other well behaved Eclipse editors have, as applied to their specific needs, such as quick fix could "fix" xml/html syntax, rename/move should refactor links as well as java code, etc.
Flexible project layout – Users will have the ability to layout their projects in many ways, and still be able to deploy them in the standard J2EE ways. Ideally, they would still retain the ability to "run/debug in place" without doing the actual deployment, for performance reasons.
Vendor ecosystem support – Eclipse WTP is targeted to integrate with servers or external runtimes. Eclipse WTP respects vendor neutrality. This theme will rely on componentization and extensibility, to strengthen the long-term product value propositions of the widest possible range of application development implementations.