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

Release Date
Deliverables
  • Target Management source code release, available as versions tagged "R3_2" 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 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 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).
    • TM Local Terminal Connector (runtime and sources) (downloadable).

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.2 will be backward compatible with TM 3.1.

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

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

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

Workspace Compatibility: We intend to keep Target Management 3.2 upwards workspace-compatible with TM 3.1 unless noted. This means that workspaces and projects created with TM 3.1 can be successfully opened by Target Management 3.2 and upgraded to a 3.2 workspace. This includes especially TM 3.1 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.2 may be unusable with a product based on TM 3.1.

API Contract

APIs published for the Target Management 3.2 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.2 depends upon on the Eclipse Platform 3.6. 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 mostly 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.6 Project Plan (this list is updated over the course of the release cycle).

Target Management Reference PlatformsOperating systemOS versionProcessor architectureWindow systemJava 2 PlatformMicrosoft WindowsXPx86-32Win32Sun Java 5 Update 22Microsoft WindowsXPx86-32Win32IBM Java 5 SR11Red Hat Enterprise LinuxWS 4 update 2x86-32GTKSun Java 5 Update 22

for Linux x86SUSE Linux Enterprise Server11x86-32GTKIBM Java 5 SR11Sun Solaris10SPARCGTKSun Java 5 Update 22

for Solaris SPARCApple Mac OS X (Secondary, see below)10.5UniversalCarbonApple Java 10.5 Update 2

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 more details, see the Eclipse Project Plan 3.6 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

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 Helios, 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).

  • Improvements to build script for Athena [307014] (target milestone: 3.2 M7)
  • Incorrect name of TM update (discovery) site in feature.xml [247892] (target milestone: 3.2 M7)
  • Update API Tooling ant task to new version for .api_description files [294393] (target milestone: 3.2 M6)
  • Update feature licenses to Eclipse Helios version [311446] (target milestone: 3.2 M7)
  • Generate bundles with scmurl repository info embedded [311447] (target milestone: 3.2 M7)
  • The RSE "feature micro version" has not been updated for Juno SR2 [402327] (target milestone:  ---)
  • Integrate RSE-Useractions into RSE-Runtime [236122] (target milestone:  ---)
  • Trying to install WinCE on Linux with P2 gives odd error messages [236026] (target milestone:  ---)
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).

  • testcase testFTPAccessToHost_ftp_suse_com fails [175095] (target milestone: 3.2 M6)
  • Need a unit test to exercise IFileService streams with multiple threads [198661] (target milestone:  ---)
  • RSE Unittests should create "rsetest*" in .tmp instead of $HOME [324657] (target milestone:  ---)
  • Add an RSE Unittest for SimpleCommandOperation [332615] (target milestone:  ---)
  • 5 unittest failures in archive suite on Windows 7 64bit [335929] (target milestone:  ---)
  • Error renaming in testCopyVirtualBatchToVirtualFileLevelOne [348819] (target milestone:  ---)
  • Some DStore Archive Testcases fail [230917] (target milestone: Future)

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 / Helios in terms of UI metaphors. In bugzilla, these items are tagged with "[usability]" in the Summary (query: all [usability] open).

  • Adapt RSE view(s) to follow decoration style of the Eclipse platform common navigator [238519] (target milestone: 3.2 M6)
  • Data in Remote Resource Property Pages doesnt allow Copy&Paste [175344] (target milestone:  ---)
  • Improve Error message when connecting and password has expired [198396] (target milestone:  ---)
  • Improve UI for setting the default root of a ssh connection [210228] (target milestone:  ---)
  • New > Filter... should be mapped to a shortcut key [296890] (target milestone:  ---)
  • The "change FTP Parser" control is hidden on Win7 in the New Connection Wizard [408090] (target milestone:  ---)
  • Add Support for WAR Archives [225211] (target milestone:  ---)
  • Archives have no special icon on Linux-GTK host [141826] (target milestone:  ---)
  • Consider using "rename.merge" on the conflict dialog for folders instead of "rename.overwrite" [196329] (target milestone:  ---)
  • Editor Conflict: Save as new file browse dialog should have better default [162706] (target milestone:  ---)
  • The Files, Processes, Shells wizard and property pages should be improved [176490] (target milestone:  ---)
  • Need an overaly icon for broken symbolic links [216319] (target milestone:  ---)
  • Dirty remote editors do not get notified [143462] (target milestone:  ---)
  • Cannot Copy & Paste . Drag&Drop remote files to Windows Explorer [181458] (target milestone:  ---)
  • Specify commands to be run on shell startup [181402] (target milestone:  ---)
  • Mylyn Integration for RSE [183259] (target milestone:  ---)
  • Dbl clicking a remote file should indicate progress while downloading [187209] (target milestone:  ---)
  • The "port" property for FTP, SSH, Telnet should be in the New Connection Wizard [195403] (target milestone:  ---)
  • SSH Only should auto-detect remote environment (for encoding) [244404] (target milestone:  ---)
  • Different rename behavior than standard Eclipse [162992] (target milestone:  ---)
  • use "Link With" icon instead of "Lock" in RSE Details View Toolbar [193477] (target milestone: Future)
  • Delete dialog should have a "Do not show again" checkbox [195999] (target milestone: Future)
  • Username.Password dialog should be incorporated into New Connection wizard [210226] (target milestone: Future)
  • Provide a "diff files" option on the editor save conflict dialog [199438] (target milestone: Future)
  • Error message overwritten in copy . paste if multiple "invalid transfer"errors reported [244328] (target milestone: Future)
  • Expand Synchronize Cache function [245256] (target milestone: Future)
  • Having command and result tie together in Shell console Currently, command and its result are in separate window. It's hard to tell which result corresponds to which command. [232274] (target milestone: Future)
  • RSE Server Launcher Page - UI change proposal [233480] (target milestone: Future)
  • Request a "Link with Systemview" button to hightlight the remote shell's current directory [243572] (target milestone: Future)
  • The username dialog should have a checkbox for anonymous access [161212] (target milestone: Future)
  • Configuring dstore "Running" server is not intuitive [158726] (target milestone: Future)
  • Connecting a windows "Running" dstore server is too difficult [160020] (target milestone: Future)
  • allow the user to save editor with a different name when read-only [166302] (target milestone: Future)
  • Support remote folder compares [203001] (target milestone: Future)
  • RSE should honor capabilities for hiding partial features [172650] (target milestone: Future)
  • "Copy" in Properties doesn't allow for copy of only the Value [160766] (target milestone: Future)
  • Choosing New > Filter with a filter selected, should fill in filter values based on selection [162888] (target milestone: Future)
  • Downloading multiple files should show a master progress [149790] (target milestone: Future)
  • Remote Monitor makes the System View unusable [150954] (target milestone: Future)

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).

  • Avoid excessive sending of NOOP commands [269171] (target milestone: 3.2 M6)
  • 8000 files in details view display very slowly [275880] (target milestone:  ---)
  • FTP should allow multiple concurrent uploads and downloads [180965] (target milestone:  ---)
  • Typing name of New Class is slow [205450] (target milestone:  ---)
  • Direcory discovery with SSH connections. [231770] (target milestone:  ---)
  • Performance optimization of IFileService.list() and IFileService.listMultiple() [236065] (target milestone:  ---)
  • Get content of large directories in groups [257211] (target milestone:  ---)
  • RSE fails to load with com.ibm.icu.base [290755] (target milestone:  ---)
  • Introduce subsystem configuration families [217894] (target milestone:  ---)
  • Eclipse hangs on startup of a Workspace with a large efs-shared file system on a slow connection [218387] (target milestone:  ---)
  • Eclipse hangs when importing a project that contains a linked resource for a large, slow, efs-ssh-shared file system [219164] (target milestone:  ---)
  • support supertransfer on SSH connections [256587] (target milestone:  ---)
  • RSE should not process resource changes if not relevant [201270] (target milestone: Future)
  • Persistence providers are too slow [244172] (target milestone: Future)
  • FTP should support downloads in parallel to LIST commands (and multiple parallel downloads) [198636] (target milestone: Future)
  • Editor dblcklick performs remote operation in UI thread [190774] (target milestone: Future)
  • Upload with the RSE FTP is very slow. Upload test - RSE FTP vs. Aptana FTP Feature vs. FileZilla [295167] (target milestone: Future)
  • processes.shell.linux subsystem is slow over ssh [175300] (target milestone: Future)
  • SystemView scrolls very slowly [175296] (target milestone: Future)
  • Improve deferred loading of SystemMessages.xml [249138] (target milestone: Future)
  • Support Lazy Population of Views and Tables [201974] (target milestone: Future)

Other

Features and bugs that we plan to address in the next release cycle until 3.2 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 ).

This release is part of Helios