Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Web Tools Platform Release 3.0 Requirements"

m (Architectural harmonization)
(Improve the "Out of the box" Experience)
Line 33: Line 33:
 
===Improve the "Out of the box" Experience===
 
===Improve the "Out of the box" Experience===
 
This is one of the critical objectives of this release. WTP should explore ways to make it easy for a (first-time?) WTP user to become productive in using its features. Examples include:
 
This is one of the critical objectives of this release. WTP should explore ways to make it easy for a (first-time?) WTP user to become productive in using its features. Examples include:
*Use of the Eclipse Packaging Project to offer additional role-based packages (such as Web Development kit, AJAX development Kit, XML Development kit).  
+
*Use of the Eclipse Packaging Project to offer additional role-based packages (such as Web Development kit, AJAX Development Kit, XML Development kit).  
 
*Continue to work on the Release 2.0 theme,' '''Improved Provisioning of Third Party Content''''. WTP should help create remote Update Manager sites hosted by providers of third party content required by WTP such as a site at Apache for components such as Tomcat, Axis2 etc.
 
*Continue to work on the Release 2.0 theme,' '''Improved Provisioning of Third Party Content''''. WTP should help create remote Update Manager sites hosted by providers of third party content required by WTP such as a site at Apache for components such as Tomcat, Axis2 etc.
 
*WTP should provide task-based Cheat Sheets, tutorials, screencast for the most common set of tasks
 
*WTP should provide task-based Cheat Sheets, tutorials, screencast for the most common set of tasks
 +
 
===Ease of Use===
 
===Ease of Use===
 
Features provided by WTP should be simple to use  for users with widely-varying backgrounds and skill sets.  
 
Features provided by WTP should be simple to use  for users with widely-varying backgrounds and skill sets.  

Revision as of 17:16, 16 July 2007

Note: This is a draft of the requirements document and is expected to change.

Last revised: July 16, 2007

Please send your feedback on this draft document to the wtp-dev@eclipse.org developer mailing list.

Introduction

This document captures the requirements for the Web Tools Platform Project Release 3.0. The inputs for this requirement will be from the WTP community of Users, Adopters and Developers and the Eclipse Requirements Council. The document will be maintained by the WTP PMC members and Component leads.

Release Themes

Themes and their priorities communicate the main objectives and their importance to the project. The following themes are derived from those defined by the Eclipse Requirement council for the Eclipse Ganymede release and from the WTP 2.0 release themes. These will be prioritized based on the community feedback. New themes could be synthesized from the requirements submitted by the community.

Theme Categorization

(Note: The following definition is provided by the Eclipse Requirements Council

Eclipse themes are described in one of four categories.

  • Active themes are those that are ongoing and changing. From time to time, some Active themes will become Persistent and Pervasive.
  • Persistent and Pervaisve themes are not time or release specific. Persistent and Pervasive themes are not only a signal of importance, but permanence.
  • Deferred Themes are not an indication of priority, but are an indication that there are technical or resource inhibitors preventing them from becoming an Active Theme. Deferred themes are a signal to the ecosystem that help is needed.
  • Pending Themes are new and interesting themes that have not yet been properly explored and discussed to become an Active theme.

Active Themes

Platform Support

WTP will support the platforms certified by the Eclipse Platform project. These include support for

  • OS
  1. Windows Vista
  • Java
  1. Java SE 6.0

Support for Rich Internet Applications (RIA)

"Web 2.0" is a significant technology trend (see Wikipedia discussion on Web 2.0) that has enabled the development of a new generation of web sites that provide a rich and user-friendly experience in a wide variety of applications. As developers shift from the development of traditional web sites to Web 2.0-style sites, WTP should support developing applications that leverage Web 2.0 techniques such as Ajax (and Flex?).

Java EE 5.0 Support

Support for the Java EE technologies is one of the main charter of WTP. The WTP 2.0 release supports some of the key technologies in the Java EE 5 technologies stack. The next releases of WTP should provide complete support for all the relevant technologies in Java EE 5.

Improve the "Out of the box" Experience

This is one of the critical objectives of this release. WTP should explore ways to make it easy for a (first-time?) WTP user to become productive in using its features. Examples include:

  • Use of the Eclipse Packaging Project to offer additional role-based packages (such as Web Development kit, AJAX Development Kit, XML Development kit).
  • Continue to work on the Release 2.0 theme,' Improved Provisioning of Third Party Content'. WTP should help create remote Update Manager sites hosted by providers of third party content required by WTP such as a site at Apache for components such as Tomcat, Axis2 etc.
  • WTP should provide task-based Cheat Sheets, tutorials, screencast for the most common set of tasks

Ease of Use

Features provided by WTP should be simple to use for users with widely-varying backgrounds and skill sets.

  • WTP User Interface should be consistent and should follow the Eclipse User Experience Guidelines.
  • Usability and Accessibility reviews should be done for the most common task flows. Cheat Sheets should be provided to assist users in performing tasks
  • WTP should provide enhanced user documentation, tutorials, white papers, demonstrations.

Persistent and Pervasive Themes

Design for Extensibility

WTP is a platform that is used by adopters to extend its functionality. This theme is about continuing to ensure the success of its adopters by promoting new API's and Extension points. These should be backed with robust Junit tests and good documentation.

Scaling Up

This refers to the need for WTP to deal with development and deployment on a larger and more complex scale. WTP should spend focused effort on performance testing and improvement when dealing with extremely large projects and workspaces.

Architectural harmonization

WTP should continue to improve the interaction/integration with other projects in the Eclipse ecosystem. Uptake of new features from the dependent projects such as the Eclipse Platform, improved integration with TPTP are some of the items to be considered for this release. WTP should also review functionalities in the project that can be moved to the base/dependent platforms. (It is also a good idea to apply this theme on sub-projects and components within WTP.)

Accessibility Compliance

Every project should support and make a statement on their accessibility compliance. In the U.S., this means Section 508 compliance; in the European Union, this is the Web Accessibility Initiative of the World Wide Web Consortium (W3C).

Internationalization & Localization

Every project should support both internationalization and localization:

  • Internationalization (I18N)
    Each project should be able to work in an international environment, including support for operating in different locales and processing/displaying international data (dates, strings, etc.).
  • Localization
    Each project should provide an environment that supports the localization of the technology (i.e. translation). This includes, but is not limited to, ensuring that strings are externalized for easy translation.

Where possible, projects should use an open and transparent process to create, maintain and deliver language packs translated into multiple languages in a timely manner. The primary languages to consider are: English, Simplified Chinese, Traditional Chinese, Japanese, French, German, Spanish.

Upgrade Path

Upward compatibility is a critical aspect of developer satisfaction and community growth. Smooth upward migration is therefore a core Theme that all projects must consider.

This includes:

  • Assuring release-to-release migration is supported (e.g., resources, workspaces, API, as appropriate).
  • Assuring API compatibility release-to-release, including testing for upward compatibility
  • Clear statements indicating which APIs are intended for internal use only (and are not gaurenteed to be upward compatible)
  • Providing tools that automate the migration process where possible

Deferred Themes

Pending Themes

Enterprise Ready

Technology Trends

Requirements

General Project-wide requirements

Reduce use of cross-project non-APIs

From Eclipse Planning Council Minutes

  • Projects SHOULD NOT use non-APIs from other projects, but if you must then...
  • When using non-APIs, projects MUST have opened bugzillas against the other projects and include references to those bugzillas in the release notes and the release review slides. Projects MUST also have a plan for addressing the non-API issue in their next major release.
  • When using non-APIs, projects MUST NOT expose those consumed non-APIs through the project's own APIs. We cannot even begin to explain what a bad idea that would be.
  • When using non-APIs, projects MUST participate in the same maintenance releases as the projects they are using from.

AJAX Tools Framework

Theme

  1. Requirement 1

Dali JPA Tools

Theme

  1. Requirement 1

Release 2.0 Deferred Items

  • Project Explorer contribution
  • ORM XML element/attribute value completion
  • Entity Generation enhancements
  • Multiple persistence unit support
  • Persistence.xml Editor

Java EE Standard Tools

Common JST

Theme

  1. Requirement 1

Java EE 5

Theme

  1. Requirement 1

Release 2.0 Deferred Items

  • Java EE 5 models - the models must be upgraded to handle Java EE 5 without ANY API breakage. Existing clients MUST continue to work without recompilation. If existing clients are recompiled with the new model, then compilation errors MUST NOT occur (note: we assume that existing clients will not break in any way if they only use the published API - code that relies on internal interfaces MAY break)
  • JSR 175 - support Java EE 5 specifications for annotation based programming, e.g. for EJB 3.0, JPA, Web services
    • JSR 181 - Web Services
    • JSR 220 - EJB 3.0, JPA
  • validate a JEE5 project (help wanted)

JSF

Theme

  1. Requirement 1

Release 2.0 Deferred Items

  • 157233 Faces Confid Editor UI support for JSF 1.2 elements
  • 183302 Web Page Editor doesn't support XML format JSPX file

JSP

Theme

  1. Requirement 1

Release 2.0 Deferred Items

  • File encoding specified from web.xml 104785
  • Support JSP 2.1

Web Services

Theme

  1. Requirement 1

Server Runtime

Theme

  1. Requirement 1

Release 2.0 Deferred Items

  • JSR 88 Support, Advanced Server Support for one/multiple open source J2EE server
  • Server runtime facet enhancements (link TBD)

Web Standard Tools

Common WST Component

Theme

  1. Requirement 1

XML Editing

Theme

  1. Requirement 1

Release 2.0 Deferred Items

  • Large document performance enhancements
  • Configurable Code folding
  • Migrate to Platform Undo (IOperationHistory)
  • Run in Eclipse RCP
  • Support for EFS
  • WYSIWYG (for DITA, DocBook, etc.)

Web Services Support

Theme

  1. Requirement 1

Back to the top