Skip to main content

Project Plan For Target Management, version 3.2

Introduction

The Target Management Project provides data models, frameworks and tools for working with remote computer systems. The main deliverable is the Remote System Explorer (RSE), a feature-rich integrated perspective and toolkit for seamlessly working on remote systems. Besides that, we deliver flexible, re-usable components for Networking and Target Management that run stand-alone or integrated with RSE.

In terms of interfaces to other Eclipse projects, we provide an Eclipse Filesystem (EFS) provider to allow remote resources be mapped into an Eclipse Workspace. The DLTK and CDT projects are other Eclipse projects known to integrate with TM.

Shortcut to Themes:

Special Note: The Discovery component is no longer actively maintained and will likely be removed in a future release.

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

Table of Contents

Release Milestones

Release milestones will be occurring at roughly 6 week intervals, and will be aligned with the Helios Simultaneous Release train. Milestone names start with M6 in order to clarify this relationship.

M63/16/2010
3.2M6 (API Freeze)
M75/3/2010
3.2M7 (Feature Freeze)
RC15/17/2010
3.2RC1
RC25/24/2010
3.2RC2
RC35/31/2010
3.2RC3
RC46/7/2010
3.2RC4
A detailed TM 3.2 Ramp down Plan towards the release is available especially for the Eclipse Helios Simultaneous Release integration.

The target date for availability of Target Management 3.2 is:

  • Wednesday June 23, 2010 - TM 3.2 Release date (with Helios)

Table of Contents

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 Platforms
Operating system OS version Processor architecture Window system Java 2 Platform
Microsoft Windows XP x86-32 Win32 Sun Java 5 Update 22
Microsoft Windows XP x86-32 Win32 IBM Java 5 SR11
Red Hat Enterprise Linux WS 4 update 2 x86-32 GTK Sun Java 5 Update 22
for Linux x86
SUSE Linux Enterprise Server 11 x86-32 GTK IBM Java 5 SR11
Sun Solaris 10 SPARC GTK Sun Java 5 Update 22
for Solaris SPARC
Apple Mac OS X (Secondary, see below) 10.5 Universal Carbon Apple 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

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.

Table of Contents

Compatibility with Previous Releases

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.

Table of Contents

Themes and Priorities

Plan items listed below were defined according to contributor requirements, but in accordance with the Target Management Use Cases Document and the Eclipse Themes and Priorities set forth by the Eclipse Requirements Council. Each plan item covers a feature or API that is to be added to the Target Management deliverables, or some aspect of the Target Management Project that is to be improved. Each plan item has its own entry in the Eclipse bugzilla database, with a title and a concise summary (usually a single paragraph) that explains the work item at a suitably high enough level so that everyone can readily understand what the work item is without having to understand the nitty-gritty detail.

Not all plan items represent the same amount of work; some may be quite large, others, quite small. Although some plan items are for work that is more pressing than others, the plan items appear in no particular order. See the corresponding bugzilla items for up-to-date status information on ongoing work and planned delivery milestones.

The current status of each plan item is noted:

  • Committed plan item - A committed plan item is one that we have decided to address for the release. In bugzilla, this is reflected by having a concrete target milestone assigned.
  • Proposed plan item - A proposed plan item is one that we are considering addressing for the release. Although we are actively investigating it, we are not yet in a position to commit to it, or to say that we won't be able to address it. After due consideration, a proposal will either be committed or deferred. In bugzilla, such items are reflected by having a target milestone "3.2" assigned.
  • Deferred plan item - A reasonable proposal that will not make it in to this release for some reason is marked as deferred with a brief note as to why it was deferred. Deferred plan items may resurface as committed plan items at a later point. In bugzilla, such items are reflected by having a target milestone "Future" or "---" assigned.

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

  • Committed

    • [releng] Improvements to build script for Athena [307014] (target milestone: 3.2 M7)
    • [releng] Incorrect name of TM update (discovery) site in feature.xml [247892] (target milestone: 3.2 M7)
    • [releng] Update API Tooling ant task to new version for .api_description files [294393] (target milestone: 3.2 M6)
    • [releng] Update feature licenses to Eclipse Helios version [311446] (target milestone: 3.2 M7)
    • [releng] Generate bundles with scmurl repository info embedded [311447] (target milestone: 3.2 M7)
  • Proposed

    • [releng] The RSE "feature micro version" has not been updated for Juno SR2 [402327] (target milestone: ---)
    • [releng] Integrate RSE-Useractions into RSE-Runtime [236122] (target milestone: ---)
    • [releng][wince] Trying to install WinCE on Linux with P2 gives odd error messages [236026] (target milestone: ---)

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

  • Committed

    • [testing] testcase testFTPAccessToHost_ftp_suse_com fails [175095] (target milestone: 3.2 M6)
  • Proposed

    • [testing] Need a unit test to exercise IFileService streams with multiple threads [198661] (target milestone: ---)
    • [testing] RSE Unittests should create "rsetest*" in /tmp instead of $HOME [324657] (target milestone: ---)
    • [testing] Add an RSE Unittest for SimpleCommandOperation [332615] (target milestone: ---)
    • [testing][local] 5 unittest failures in archive suite on Windows 7 64bit [335929] (target milestone: ---)
    • [testing] Error renaming in testCopyVirtualBatchToVirtualFileLevelOne [348819] (target milestone: ---)
  • Deferred

    • [testing][regression] 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).

  • Committed

    • [usability][api] Adapt RSE view(s) to follow decoration style of the Eclipse platform common navigator [238519] (target milestone: 3.2 M6)
  • Proposed

    • [usability] Data in Remote Resource Property Pages doesnt allow Copy&Paste [175344] (target milestone: ---)
    • [usability][ssh] Improve Error message when connecting and password has expired [198396] (target milestone: ---)
    • [usability] Improve UI for setting the default root of a ssh connection [210228] (target milestone: ---)
    • [Usability] New > Filter... should be mapped to a shortcut key [296890] (target milestone: ---)
    • [ftp][usability] The "change FTP Parser" control is hidden on Win7 in the New Connection Wizard [408090] (target milestone: ---)
    • [usability] Add Support for WAR Archives [225211] (target milestone: ---)
    • [usability] Archives have no special icon on Linux-GTK host [141826] (target milestone: ---)
    • [usability][nls] Consider using "rename/merge" on the conflict dialog for folders instead of "rename/overwrite" [196329] (target milestone: ---)
    • [usability] Editor Conflict: Save as new file browse dialog should have better default [162706] (target milestone: ---)
    • [usability][components] The Files, Processes, Shells wizard and property pages should be improved [176490] (target milestone: ---)
    • [usability] Need an overaly icon for broken symbolic links [216319] (target milestone: ---)
    • [usability][updating] Dirty remote editors do not get notified [143462] (target milestone: ---)
    • [usability] Cannot Copy & Paste / Drag&Drop remote files to Windows Explorer [181458] (target milestone: ---)
    • [usability] Specify commands to be run on shell startup [181402] (target milestone: ---)
    • [usability] Mylyn Integration for RSE [183259] (target milestone: ---)
    • [usability] Dbl clicking a remote file should indicate progress while downloading [187209] (target milestone: ---)
    • [usability][nls] The "port" property for FTP, SSH, Telnet should be in the New Connection Wizard [195403] (target milestone: ---)
    • [usability][shells] SSH Only should auto-detect remote environment (for encoding) [244404] (target milestone: ---)
    • [usability] Different rename behavior than standard Eclipse [162992] (target milestone: ---)
  • Deferred

    • [usability][Table] use "Link With" icon instead of "Lock" in RSE Details View Toolbar [193477] (target milestone: Future)
    • [usability][nls] Delete dialog should have a "Do not show again" checkbox [195999] (target milestone: Future)
    • [usability] Username/Password dialog should be incorporated into New Connection wizard [210226] (target milestone: Future)
    • [usability][editors] Provide a "diff files" option on the editor save conflict dialog [199438] (target milestone: Future)
    • [usability][dnd] Error message overwritten in copy / paste if multiple "invalid transfer"errors reported [244328] (target milestone: Future)
    • [usability] Expand Synchronize Cache function [245256] (target milestone: Future)
    • [usability] 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)
    • [usability][dstore] RSE Server Launcher Page - UI change proposal [233480] (target milestone: Future)
    • [usability] Request a "Link with Systemview" button to hightlight the remote shell's current directory [243572] (target milestone: Future)
    • [usability][ftp] The username dialog should have a checkbox for anonymous access [161212] (target milestone: Future)
    • [usability] Configuring dstore "Running" server is not intuitive [158726] (target milestone: Future)
    • [usability][dstore] Connecting a windows "Running" dstore server is too difficult [160020] (target milestone: Future)
    • [usability][api] allow the user to save editor with a different name when read-only [166302] (target milestone: Future)
    • [usability] Support remote folder compares [203001] (target milestone: Future)
    • [usability][components] RSE should honor capabilities for hiding partial features [172650] (target milestone: Future)
    • [usability] "Copy" in Properties doesn't allow for copy of only the Value [160766] (target milestone: Future)
    • [usability] Choosing New > Filter with a filter selected, should fill in filter values based on selection [162888] (target milestone: Future)
    • [usability] Downloading multiple files should show a master progress [149790] (target milestone: Future)
    • [usability] 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).

  • Committed

    • [ftp][performance] Avoid excessive sending of NOOP commands [269171] (target milestone: 3.2 M6)
  • Proposed

    • [performance] 8000 files in details view display very slowly [275880] (target milestone: ---)
    • [performance][ftp] FTP should allow multiple concurrent uploads and downloads [180965] (target milestone: ---)
    • [efs][ftp][performance] Typing name of New Class is slow [205450] (target milestone: ---)
    • [performance] Direcory discovery with SSH connections. [231770] (target milestone: ---)
    • [performance][api] Performance optimization of IFileService.list() and IFileService.listMultiple() [236065] (target milestone: ---)
    • [dstore][performance] Get content of large directories in groups [257211] (target milestone: ---)
    • [performance] RSE fails to load with com.ibm.icu.base [290755] (target milestone: ---)
    • [components][api][performance] Introduce subsystem configuration families [217894] (target milestone: ---)
    • [efs][performance] Eclipse hangs on startup of a Workspace with a large efs-shared file system on a slow connection [218387] (target milestone: ---)
    • [efs][ssh][performance] Eclipse hangs when importing a project that contains a linked resource for a large, slow, efs-ssh-shared file system [219164] (target milestone: ---)
    • [ssh][performance] support supertransfer on SSH connections [256587] (target milestone: ---)
  • Deferred

    • [performance] RSE should not process resource changes if not relevant [201270] (target milestone: Future)
    • [br][performance][persistence] Persistence providers are too slow [244172] (target milestone: Future)
    • [ftp][performance] FTP should support downloads in parallel to LIST commands (and multiple parallel downloads) [198636] (target milestone: Future)
    • [performance] Editor dblcklick performs remote operation in UI thread [190774] (target milestone: Future)
    • [performance] Upload with the RSE FTP is very slow. Upload test - RSE FTP vs. Aptana FTP Feature vs. FileZilla [295167] (target milestone: Future)
    • [performance] processes.shell.linux subsystem is slow over ssh [175300] (target milestone: Future)
    • [performance] SystemView scrolls very slowly [175296] (target milestone: Future)
    • [performance] Improve deferred loading of SystemMessages.xml [249138] (target milestone: Future)
    • [performance][api] 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.<br> 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 ).

  • Proposed

    • [api] Align RSE Credential Management and Keystores with Platform Equinox [196445] (target milestone: ---)
    • Support for SSH port forwarding (tunnelling) [195170] (target milestone: ---)
    • [api] Request API to expand nodes in the system view to arbitrary level [176461] (target milestone: ---)
  • Deferred

    • Do not log messages shown as a result of invalid user input [142184] (target milestone: Future)
    • [filters] Grouping filters across subsystems [164807] (target milestone: Future)
    • Some RSE Logging should go to a hidden log rather than the PDE Errorlog [196317] (target milestone: Future)
    • [Persistence] Granular Persistence [197043] (target milestone: Future)
    • [api] Need a Utility to send commands and receive output without prompt [212742] (target milestone: Future)
    • Dynamic filtering for the Remote System view [170150] (target milestone: Future)
    • [api] RSE needs improved refresh policies [173042] (target milestone: Future)
    • [api] Re-work and dramatically strip down SystemBaseAction and it's subclasses [174557] (target milestone: Future)
    • [api] Need API to change the Statusline shown for a custom subsystems [195995] (target milestone: Future)
    • Add Features to Remote Search view that are in the Search view [214403] (target milestone: Future)
    • [api] Need IHostShell#waitFor(), IHostShell#writeToShellAndWait() [164959] (target milestone: Future)
    • [dstore] Backward compatibility: Server and Daemon should support old clients [220892] (target milestone: Future)

Table of Contents

Appendix A

The TM team uses Eclipse Bugzilla for all it's planning. Based on the plan item queries listed above, the following consistency queries should never return any results:

  • Target milestone "3.2", "---" or "Future" but resolved "FIXED": Query
  • Keyword "performance" but not tagged "[performance]": Query
  • Component "Terminal" but not tagged "[terminal]": Query
  • Marked "FIXED" but still assigned to an "inbox": Query

Table of Contents

Back to the top