TM Future Planning
Collect input for the planning process for RSE 2.0. Goals of this page are
- Collect ideas and Requirements for RSE 2.0
- Find out who needs what features
- Find out who would be willing to work on what
As soon as a feature description is sufficiently clear and there is some group supporting a feature, Bugzilla entries should be used for tracking requests.
RSE 2.0 will be released with Eclipse 3.3 - presumably end of June 2007. See the Eclipse 3.3 draft plan. Rough timeline:
- Sept. 27, 2006 (RSE 1.0 Release Review) - Requirements Gathering complete
- Oct. 20, 2006 (RSE 1.0 release) - Draft plan with timeline available, 6-week milestones start
- March, 2007 - API Complete / API Freeze
- April, 2007 - Feature Complete / Testing begins
- June, 2007 - 2.0 release with Eclipse 3.3
These items are currently planned to be added soon after the RSE 1.0 release. We are considering an RSE 1.1 service release in december, that would include the items below:
- (Implementor: IBM) Add not-yet-ported features from RSE 7.0
- User Actions, Compile Commands, Import/Export
- (Implementor: WR) Integrate the Terminal View with RSE (in addition to the current Commands view) (152826)
- Collaborate with WickedShell for further improvements
- (Implementor: Symbian) Add Autodetect as defined by the Autodetect group (140320, 142493)
- (Implementor: IBM) Add encoding support for files that have different encodings than the platform default encodings. Also add encoding support for copy/paste of resources (163820).
Themes and Priorities
Our Themes and Priorities need to be aligned with the global and DSDP Requirements
- (Theme: Better Platform) Adopt Platform Changes - RSE should adopt Eclipse Platform concepts wherever possible. For instance:
- Use Common Preferences for ssh and Proxy - Collaborate with Platform/Team on (119278)
- Adopt ICU4J and Capabilities (needed for Europa)
- Adoption of new Platform APIs from 3.2 -- these include the Commands framework, field assist, SWT column sort indicators,etc. In 2.0, we should step up to the latest APIs, e.g. support Content Assist for Remote Search / Regular Expression field; use Eclipse IPath wherever possible for file path manipulations
- Retargetable actions, e.g. Properties through Commands framework
- Use existing Platform Extension Points for popup menus, property pages etc.
- Improve drag&drop, copy&paste for Project Explorer, Package Explorer
- TBD later:
- Integrate Content Types / RSE File Types
- Use Common Navigator for the Remote Systems View - Platform/Team Remote Explorer (138583)
- (Theme: Growing Community) Make EFS work
- EFS provider: Problem is SchedulingRules -- need to move the cache outside the workspace?
- EFS browser: EFS contributions as RSE file services
- Read-only flag handling
- Distinctions between RSE-files and EFS are: RSE is simpler, RSE is more target-fs-oriented (symlinks, permissions etc), RSE supports caching (EFS too?)
- (Theme: Better Platform, Interest: WR) Improve SystemType flexibility
- Allow contributors to disable SystemTypes (via capabilities; via enabler class)
- Allow more dynamic icon decorators (connected/disconnected/others via decorator)
- Add "compatible" flag to extension point: e.g. special wizard for linux-over-HWDebug, but "compatible" with Linux
- Register the wizard through the SystemType extension point, instead of separate extension point?
- Extension point / API to add systemTypes dynamically?
- (Theme: Eclipse Quality) Optimize APIs - Remove obsolete API. RSE APIs should be made smaller (less API, more internal) in order to make them easier to understand and maintain. Eliminate dead code. Clarify threading model.
- e.g. asynchronous API (166338)
- e.g. get rid of dynamicPopupMenuExtensions, popupMenus extension points - use Platform commands, expression language
- e.g. propertyPages extension point - use Platform propertyPages?
- e.g. get rid of systemtype extension point -- use systemType instead
- e.g. get rid of ISubSystem.getProperties() and ISubSystem.setProperties()
- (Interest: WR) Further UI/Non-UI Refactoring - RSE code should be further refactored to split UI from non-UI parts. A Headless Eclipse should be able to perform Launches through RSE-provided services / subsystems.
- Generalize and simplify the handling of "Shell" in RSE
- Improve Support for File System Permissions
- UI Tools for editing permissions
- IFileSystem support for read-only flag
- (Interest: IBM,WR) Improve Shell Pattern Matching on the client
- Allow user-defined patterns (153274)
- (Interest: WR) Add Multicore / Multisystem capabilities to the RSE Tree
- Support target groups as defined by the Connection Groups initiative
- (Interest: Symbian, WR) RSE should be more service-oriented (150498)
- Allow Services (like a Registry) to be first-class objects, or hook them below Local?
- Each SystemType to have a primary means of connection (defined by the wizard), plus additional registered optional services
- Group system connections to logical units (multi-core / multi-system)
- Improve the default Persistence Provider
- Associate connections, profiles, filter pools etc. with projects
- Store as normal XML files in the workspace, get rid of the RemoteSystemsConnections project (just like Launch Configs!)
- This would potentially mean a radical change how filters, filter references and filter pools are handled; but seems to be more aligned with typical use cases, and be more usable
- If we cannot get this to work, a workaround could be import / export wizards for connections and filters that write to / read from XML files in the workspace
- Use fewer files for storage (improved performance, easier handling for checkin/checkout of team-shared data) - e.g. collapsing Property files by putting the current "directory" path into the Properties Key
Items to be deferred beyond 2.0 due to lack of resources
- (Interest: WR) Integrate improved Launching as defined by the Launching group
- (Interest: WR) Define a standard for remote system properties as defined by the Spirit group (146090)
- Add hooks for Lab Managers to integrate with RSE (checkin / check out target boards, discover target boards)
- Re-think RSE SystemMessages: Do we need XML when we have Eclipse NLS / Java MessageFormat?
- E.g. DStore_Service_Percent_Complete_Message -- multiple transformations for substitution