Target Management 1.0 Plan

Last revised 11:00 CEST Oct 23, 2006 ( (new) marks interesting recent changes since the previous draft of Jul 5, 2006)

Please send comments about this draft plan to the tm-dev@eclipse.org developer mailing list.

This document lays out the feature and API set for the initial release of the Eclipse Target Management Project, Remote System Explorer (RSE) version 1.0.0.

The Remote System Explorer is a Tool and Framework for working with remote computer systems. It forms the first release out of the Target Management Project, to be augmented by additional plug-ins for device specific connection schemes and tasks in the future.

This project plan and associated requirements are the result of an open and transparent process and includes input from those who have expressed an interest in the project. That said, the success of the project and its deliverables is solely dependent upon the contributions from its community membership. If you are interested in contributing to the project in the delivery of its stated goals, you are more than welcome!

The first part of the plan deals with the important matters of release deliverables, release milestones, operating environments, compatibilities and dependencies. 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 for the project's milestones, with more detail on these and future capabilities found on the project requirements document. Each plan item covers a feature or API that is to be added to the Remote System Explorer, or some aspect of the project that is to be improved.

As this plan represents the goals for the initial release of the Remote System Explorer, it is expected and hoped that the project will acquire additional requirements, a vibrant user community, and most importantly, a plug-in developer community to utilize the RSE framework for creating additional connection protocols, subsystem visualizers and more. With this, it is expected that the plan will be adjusted during the development cycle in order to accomodate the community to as great an extent as possible.

Release deliverables

The release deliverables have the same form as is found in most Eclipse projects, namely:

Release milestones

Release milestone will be occurring at roughly 6 week intervals. The milestones are:

Lock down and testing then begins with M5, and progress through a series of test-fix passes against candidates releases. Release candidate builds are planned as follows (M5 is release candidate 0):

As soon as no critical problems are found in the testing period between two release candidates (one or two weeks), a release candidate can be declared the release.

All release deliverables will be available for download as soon as the release has been tested and validated in the operating environments listed below.

Operating Environments

In order to remain current, each Eclipse release is designed to run on reasonably current versions of the underlying operating environments.

The Remote System Explorer depends upon on the Eclipse Platform. For this release, the RSE sources will be written and compiled against version 1.4.2 of the Java Platform APIs (i.e., Java 2 Platform, Release 1.4.2 SE), and designed to run on version 1.4.2 of the Java Runtime Environment, Standard Edition. Since Java 5 is also used as Eclipse Reference Platform, some testing of RSE will also be done on Java 5.

Eclipse Platform SDK 3.2 will be tested and validated on a number of reference platforms (this list is updated over the course of the release cycle). The Remote System Explorer wil be tested and validated against a subset of those listed for the platform, plus some more (marked (tm-only) ) for which contributors have have expressed special interest and volunteered to perform the systematic testing:

Remote System Explorer Reference Platforms
Operating system OS version Processor architecture Window system Java 2 Platform
Microsoft Windows XP Intel x86 Win32 Sun Java 2 Standard Edition 5.0 Update 6
for Microsoft Windows
Microsoft Windows XP Intel x86 Win32 IBM 32-bit SDK for Windows,
Java 2 Technology Edition 5.0
Microsoft Windows (tm-only) 2000 Intel x86 Win32 Sun Java 2 Standard Edition (new) 1.4.2_12
for Microsoft Windows
Red Hat Enterprise Linux WS 4 Intel x86 GTK Sun Java 2 Standard Edition 5.0 Update 6
for Linux x86
SUSE Linux Enterprise Server 9 Intel x86 GTK IBM 32-bit SDK for Linux on Intel architecture,
Java 2 Technology Edition 1.4.2 service release 3
Sun Solaris (new) 9 SPARC (tm-only) Motif Sun Java 2 Standard Edition 1.4.2_10
for Solaris SPARC
(tm-only) Ubuntu / Debian Linux 5.10 Intel x86 GTK Sun Java 2 Standard Edition (new) 1.4.2_12
for Linux x86

Eclipse and the RSE undoubtedly run fine in many operating environments beyond the reference platforms we test. However, since we do not systematically test them we cannot vouch for them. Problems encountered when running Eclipse on a non-reference platform that cannot be recreated on any reference platform will be given lower priority than problems with running Eclipse on a reference platform.

Datastore Agent Reference Platforms

The Datastore protocol is the default protocol shipped with RSE for accessing remote file systems, process info and shells. It requires a Datastore server (agent) running on the remote system. This Datastore agent is shipped as plain Java Source Code together with the RSE distribution. It should run fine on any Java Platform, with additional Data Miner Plug-ins that may be OS specific.

We will test and verify the Datastore agent on the following Reference Platforms, which are a subset of the Platforms we test the RSE UI on:

Internationalization

The Remote System Explorer is designed as the basis for internationalized products. The user interface elements provided by the RSE components, including dialogs and error messages, are externalized. The English strings are provided as the default resource bundles. The default bundles will be localized to a subset of those locales offered by the Platform. This plan will be updated to indicate which locales will be provided and the timeframe for availability.

Compatibility and Dependencies

Compatibility of Release 1.0

The Remote System Explorer will be developed in parallel with the Eclipse Platform SDK version 3.2. Each RSE Milestone Release will be based on the most recent Platform Milestone available at the time of release. Therefore, the RSE initial release will be compatible with Eclipse Platform 3.2 release and will publish binary and source compatibilities with migration guides on subsequent releases.

API Contract

APIs published for the 1.0 release will be carefully reviewed prior to release, making use of "internal" packages for unsupported and variable implementation classes. Client plug-ins that directly depend on anything other than what is specified in the published API are inherently unsupportable and receive no guarantees about future compatibility. Refer to How to Use the Eclipse API for information about how to write compliant plug-ins.

(new) Though it is our goal to create stable APIs, being able to do so depends on the amount of API feedback we will get from the community. As described in Eclipse Quality APIs, we will therefore mark all of our APIs provisional. This removes the guarantee of 1.0 to 2.0 compatibility, though we'd strive to achieve that. We expect to get sufficient feedback during the 1.0 to 2.0 development period to declare the APIs final.

Features and Capabilities

For the milestones listed in this document, a set of overall themes ("purpose") is used to indicate what major set of functionalities is to be concentrated on for each. These themes are presented below, while the requirements document and associated Bugzilla entries are left to those wanting more detailed information on each.

M1 Theme: Functional (April 28)

M2 Theme: Added Function (May 19)

M3 Theme: Functional Complete (June 30)

M4 Theme: API Freeze (August 11)

M5 / RC0 Theme: Ready to Release (September 22)

RSE Release 1.0.0: Target date (new) November 3, 2006

Deferred Features from the original plan

The following features were deferred from original plan. They will be provided as separately downloadable feature shortly after the release, marked "experimental".