Eclipse Target Management: Terminal and Remote System Explorer (RSE) 3.1.0

Release Date
Deliverables
  • Target Management source code release, available as versions tagged "R3_1" in the project's
  • Remote System Explorer (RSE):
    • RSE SDK (includes runtime, user and programmer documentation, with sources) (downloadable).
    • RSE client runtime binaries (split up by protocol, includes user documentation) (downloadable).
    • RSE dstore server runtime (downloadable).
    • RSE User Actions and Compile Commands (downloadable).
    • RSE CDT Launch Integration (downloadable). is moved into CDT as per Galileo M7.
    • RSE tutorial code and examples (downloadable).
    • RSE unit test framework and tests (downloadable).
  • Stand-alone components:
    • TM Terminal SDK (includes runtime, user and programmer documentation, with sources) (downloadable).
    • TM Discovery SDK (includes runtime, user and programmer documentation, with sources) (downloadable).
    • Redistribution of Apache Commons Net 1.4.1 and Jakarta ORO 2.0.8 Apache Commons Net 2.0 (downloadable through the Orbit project).
  • Incubating components:
    • RSE WinCE Subsystems and RAPI wrappers (runtime and sources) (downloadable).
    • TCF (runtime, user and programmer documentation, and examples) (available from SVN).

Notes: All stand-alone components will have an integration part that makes them work inside the RSE framework. For that reason, there are no downloadable stand-alone component tests, but the RSE unit test component will also have tests for the stand-alone components.

Compatibility

Target Management 3.1 will be backward compatible with TM 3.0.

API Contract Compatibility: Target Management 3.1 will be compatible with TM 3.0 as per the constraints documented in the TM 3.0 API Docs.

Binary (plug-in) Compatibility: Target Management 3.1 will be binary compatible with TM 3.0.

Source Compatibility: Target Management 3.1 will likely not be source compatible with TM 3.0.

Workspace Compatibility: We intend to keep Target Management 3.1 upwards workspace-compatible with TM 3.0 unless noted. This means that workspaces and projects created with TM 3.0 can be successfully opened by Target Management 3.1 and upgraded to a 3.1 workspace. This includes especially TM 3.0 connection definitions, which may propagate between workspaces via file copying or team repositories. User interface session state may be discarded when a workspace is upgraded. Downward workspace compatibility is not supported. A workspace created (or opened) by a product based on TM 3.1 will be unusable with a product based on TM 3.0.

API Contract

APIs published for the Target Management 3.1 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.

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.

Target Environments

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

The Target Management Project 3.1 depends upon on the Eclipse Platform 3.5. Various sub components also depend on other Eclipse Projects, namely the Eclipse Modeling Framework (EMF) 2.3 or later. 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 except for the following components, which are compiled on and running against Java 5: FTP, Telnet and Import/Export.

The Target Management deliverables will be tested and validated against a subset of the reference platforms listed in the Eclipse Platform 3.5 Project Plan (this list is updated over the course of the release cycle).

Target Management Reference PlatformsOperating systemOS versionProcessor architectureWindow systemJava 2 PlatformMicrosoft WindowsXPx86-32Win32 Sun Java 2 Standard Edition 5.0 Update 14

for Microsoft Windows Microsoft WindowsXPx86-32Win32 IBM 32-bit SDK for Windows,

Java 2 Technology Edition 5.0, SR5 Red Hat Enterprise LinuxWS 4 update 2x86-32GTK Sun Java 2 Standard Edition 5.0 Update 14

for Linux x86SUSE Linux Enterprise Server10x86-32GTK IBM 32-bit SDK for Linux on Intel architecture,

Java 2 Technology Edition 5.0, SR5 Sun Solaris10SPARCGTKSun Java 2 Standard Edition 5.0 Update 14

for Solaris SPARCApple Mac OS X (Secondary, see below)10.5PowerCarbon Apple Java 2 Platform Standard Edition (J2SE) 5, service release 4

Apple Mac OS X 10.5 is considered a "secondary" Reference Platform meaning that it does receive some amount of systematic testing but doesn't enjoy quite the same priority for bug fixes as the other Platforms.

Eclipse and Target Management 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 Target Management on a non-reference platform that cannot be recreated on any reference platform will be given lower priority than problems with running Target Management on a reference platform.

Although untested, Target Management should work fine on other OSes that support the same window system. For Win32: NT, 2000, Vista, and Server 2003; SWT HTML viewer requires Internet Explorer 5 (or higher). For GTK on other Linux systems: version 2.2.1 of the GTK+ widget toolkit and associated libraries (GLib, Pango); SWT HTML viewer requires Mozilla 1.4GTK2. For more details, see the Eclipse Project Plan 3.5 Reference Platforms.

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:

  • Red Hat Enterprise Linx 4, Intel x86, Sun 1.5.0_14 VM
  • SUSE Linux Enterprise Server 10, Intel x86, IBM 1.4.2 sr 7 VM
  • Apple Mac OS X 10.5, Power, Apple J2SE 5 sr 4 VM

TCF Agent Reference Platforms

The TCF agent is shipped as as precompiled binaries for Linux and WIndows XP, together with the TCF SDK.

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

  • Red Hat Enterprise Linux 4, Intel x86
  • Windows XP SP2, Intel x86
Themes

Tentative: Bring TCF to Maturity

We are considering to have the TCF component exit incubation and release a 1.0 version together with TM 3.1. This will require release engineering and packaging efforts, unit tests, documentation, and cleanup and agreement on the TCF API's. In bugzilla, these items are tagged with "[tcf]" in the Summary (query: all [tcf] open).

No items.
No items.
No items.

Bring the WinCE component to Maturity

The Windows CE connector component for RSE is scheduled to exit incubation and release a 1.0 version together with TM 3.1. This will require release engineering and packaging efforts, unit tests, documentation, and cleanup and agreement on the WinCE / JRapi API's. In bugzilla, these items are tagged with "[wince]" in the Summary (query: all [wince] open).

  • Implement IRAPISession#CeRapiInvoke [238773] (target milestone: 3.1 M2)
No items.
No items.

Bring the Terminal APIs to Maturity

The TM Terminal Component has been in "incubation" state with only "internal" APIs for two releases in a row now. Adoption of the Terminal is growing, and there are requests for official APIs to embed the Terminal Widget, create connections programmatically, provide additional contributed services on top of the Terminal, and customize the Terminal Rendering (for providing a hyperlink navigator like in the console). In order to further support and grow adoption, these APIs must be designed and exposed to community feedback before they can be declared final. In bugzilla, these items are tagged with "[terminal]" in the Summary and an "api" keyword (query: all [terminal] open).

  • get rid of TerminalState.OPENED [262996] (target milestone: 3.1 M5)
No items.
No items.

Improve Release Engineering

For the constantly growing TM code size and committer base, it is important to have a reliable but easy-to-use release engineering system. Required features include automatic signing and adoption of Orbit, easy promoting to the Eclipse Servers and Galileo, running automated unit tests with automatic reporting of test failures to the mailing lists, ability and description for running the releng build on any adopter's system. In bugzilla, these items are tagged with "[releng]" in the Summary (query: all [releng] open).

  • org.eclipse.rse.tests should have teamConfig. folder in binary build [194740] (target milestone: 3.1 M2)
  • Migrate to new source bundle format [224465] (target milestone: 3.1 M5)
  • Reduce the number of downloads [263189] (target milestone: 3.1 M5)
  • rse.ui, files.core and tm.terminal fail to build when imported with source folders [264439] (target milestone: 3.1 M6)
  • Upgrade to Commons Net 2.0 [267473] (target milestone: 3.1 M7)
  • Generate .api_description files in RSE 3.1 binary JAR's [273840] (target milestone: 3.1 M7)
No items.
No items.

Improve Unittest Coverage

As the TM Codebase is growing, it is important to secure its functionality with unit tests against regressions. Since large portions of RSE especially are UI code, there should be an automated UI test suite run every night. Tests should automatically run on all supported host platforms against all supported target platforms. Adopters should be able to run a TM test suite on their own systems easily, and configure it for sanity checking or compliance testing their own connector plug-ins. In bugzilla, these items are tagged with "[testing]" in the Summary (query: all [testing] open).

  • Unit test failures in RSEFileStoreTest due to "Invalid remote system ip address or dns name" [263190] (target milestone: 3.1 M5)
No items.
No items.

Improve User Actions and Compile Commands

The User Actions and Compile Commands component is meant to be a re-usable framework, but as of TM/RSE 3.0 it does not expose any public API yet. Its API needs to be hardened, and functionality needs to be made reliable with good usability. In bugzilla, these items are tagged with "[useractions]" in the Summary (query: all [useractions] open).

  • Tooltips missing for Compile and User Action menus [239697] (target milestone: 3.1 M3)
  • Compile Commands are available on items it shouldn't [239700] (target milestone: 3.1 M4)
  • Error Messages containing {0} [239703] (target milestone: 3.1 M3)
  • Everytime a Compile command is selected a saving profile job is performed [252707] (target milestone: 3.1 M3)
  • ClassCastException in SystemDynamicUserActionMenu, SystemDynamicCompileMenu [253037] (target milestone: 3.1 M4)
No items.
No items.

Improve Usability

TM and RSE are increasingly used for mostly remote file access, but also other kinds of remote operations. Setup and usage should be simple, and users should be aided in their first-time experience wherever possible. This includes new much-wanted features, addition of user documentation and cheat sheets, improvements in Wizards, and striving for consistency across all of Eclipse / Galileo in terms of UI metaphors. In bugzilla, these items are tagged with "[usability]" in the Summary (query: all [usability] open).

  • Save conflict dialog appears when saving files in the editor [249544] (target milestone: 3.1 M3)
  • Specify commands to be run before remote application launch [181517] (target milestone: 3.1 M5)
  • Changing the sort order of hosts in the SystemView should work by drag & drop [196166] (target milestone: 3.1 M6)
  • Contribute a "Show in RSE" action to Resource Navigator and Project Explorer [218227] (target milestone: 3.1 M5)
  • RSE Save Conflict dialog should indicate which file is in conflict [242389] (target milestone: 3.1 M3)
  • Make RSE IFileService a provider for Platform.Team synchronization APIs [185925] (target milestone: 3.1 M5)
  • Universal action needed to locate a resource in the Remote Systems View [160105] (target milestone: 3.1 M5)
No items.
No items.

Componentization

TM and RSE are adopted in many diverse products. In order to increase adoption in RCPs, headless (server-side) applications and highly configurable, dynamic environments, RSE must be further split into re-usable components. This includes clean UI/Non-UI splitting; stripping of all Workspace / Resources related code into a separate plug-in; making enablement of subsystems more dynamic; and improved Wizards that support creating connections from a choice of optional subsystems rather than just relying on static association. In bugzilla, these items are tagged with "[components]" in the Summary (query: all [components] open).

No items.
No items.
No items.

Avoid plugin activation and Improve Performance

RSE should activate plugins only when necessary, and work with good overall performance. In bugzilla, these items are tagged with "[performance]" in the Summary (query: all [performance] open).

  • Restoring Selection on Restart can cause the UI to freeze [247544] (target milestone: 3.1 M2)
  • Context menu takes a while to pop up when Saving Profile job is going [252357] (target milestone: 3.1 M3)
  • processes.shell.linux needs deferred retrieval of user names [275060] (target milestone: 3.1 M7)
  • Right-click > Disconnect on a dstore connection is slow and spawns many Jobs [190805] (target milestone: 3.1 M7)
No items.
No items.

Other

Features and bugs that we plan to address in the next release cycle until 3.1 M7, that are not categorized into one of the themes above. Items currently under discussion include rewriting the Details View for more flexibility, improved multi-core awareness of RSE, and an improved logging framework.
In order not to overload the project plan with less important items, only those marked with a "plan" or "investigate" keyword will be added to the project plan. The pool of known items to add to the plan can be found from the associated queries (query: all open committed, proposed, deferred ).