Difference between revisions of "TM Future Planning"

From Eclipsepedia

Jump to: navigation, search
(Planned Items)
Line 14: Line 14:
 
== Planned Items ==
 
== Planned Items ==
 
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:
 
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
+
* (Implementor: IBM) Add not-yet-ported '''features from RSE 7.0'''
** User Actions
+
** User Actions, Compile Commands, Import/Export
** Compile Commands
+
* (Implementor: WR) Integrate the '''Terminal View''' with RSE (in addition to the current Commands view) ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=152826 152826])
** Import/Export
+
** Collaborate with WickedShell for further improvements
* (Implementor: WR) Add a '''Terminal View''' with Terminal Emulation (in addition to the current Commands view) ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=152826 152826])
+
 
* (Implementor: Symbian) Add '''Autodetect''' as defined by the [[DSDP/TM/Autodetect|Autodetect group]] ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=140320 140320], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=142493 142493])
 
* (Implementor: Symbian) Add '''Autodetect''' as defined by the [[DSDP/TM/Autodetect|Autodetect group]] ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=140320 140320], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=142493 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.
+
* (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 ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=163820 163820]).
  
 
== Themes and Priorities ==
 
== Themes and Priorities ==
 
Our Themes and Priorities need to be aligned with the global and DSDP [[RequirementsCouncil06TP#Embedded_Device_Software|Requirements]]
 
Our Themes and Priorities need to be aligned with the global and DSDP [[RequirementsCouncil06TP#Embedded_Device_Software|Requirements]]
  
* (Interest: WR) '''Adopt Platform Changes''' - RSE should adopt Eclipse Platform concepts wherever possible. For instance:
+
* (Theme: Better Platform) '''Adopt Platform Changes''' - RSE should adopt Eclipse Platform concepts wherever possible. For instance:
** Adopt '''ICU4J''' and '''Capabilities''' (needed for Europa)
+
 
** Use '''Common Preferences for ssh and Proxy''' - Collaborate with Platform/Team on ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=119278 119278])
 
** Use '''Common Preferences for ssh and Proxy''' - Collaborate with Platform/Team on ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=119278 119278])
** Use Common Navigator for the Remote Systems View - Platform/Team Remote Explorer ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=138583 138583])
+
** 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
+
** 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
** Clarify Usage / Adoption of EFS
+
** Retargetable actions, e.g. Properties through Commands framework
 
** Use existing Platform Extension Points for popup menus, property pages etc.
 
** Use existing Platform Extension Points for popup menus, property pages etc.
** Integrate Content Types / RSE File Types
+
** 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 ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=138583 138583])
  
* (Interest: WR) '''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.
+
* (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 ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=166338 166338])
 
** e.g. get rid of dynamicPopupMenuExtensions, popupMenus extension points - use Platform commands, expression language
 
** e.g. get rid of dynamicPopupMenuExtensions, popupMenus extension points - use Platform commands, expression language
 
** e.g. propertyPages extension point - use Platform propertyPages?
 
** e.g. propertyPages extension point - use Platform propertyPages?
Line 43: Line 58:
 
** Generalize and simplify the handling of "Shell" in RSE
 
** Generalize and simplify the handling of "Shell" in RSE
  
* (Interest: WR) Integrate improved '''Launching''' as defined by the [[DSDP/TM/Launching|Launching group]]
+
* '''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
 
* (Interest: IBM,WR) Improve '''Shell Pattern Matching''' on the client
Line 50: Line 67:
 
* (Interest: WR) Add '''Multicore / Multisystem capabilities''' to the RSE Tree
 
* (Interest: WR) Add '''Multicore / Multisystem capabilities''' to the RSE Tree
 
** Support target groups as defined by the [[DSDP/TM/Connection Groups|Connection Groups initiative]]
 
** Support target groups as defined by the [[DSDP/TM/Connection Groups|Connection Groups initiative]]
 
* (Interest: WR) Define a standard for remote system properties as defined by the [[DSDP/DD/Spirit|Spirit group]] ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=146090 146090])
 
  
 
* (Interest: Symbian, WR) RSE should be more service-oriented ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=150498 150498])
 
* (Interest: Symbian, WR) RSE should be more service-oriented ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=150498 150498])
 
+
** Allow Services (like a Registry) to be first-class objects, or hook them below Local?
* Re-think RSE '''SystemMessages''': Do we need XML when we have Eclipse NLS / Java MessageFormat?
+
** Each SystemType to have a primary means of connection (defined by the wizard), plus additional registered optional services
** E.g. DStore_Service_Percent_Complete_Message -- multiple transformations for substitution
+
** Group system connections to logical units (multi-core / multi-system)
  
 
* Improve the '''default Persistence Provider'''
 
* Improve the '''default Persistence Provider'''
 
** Associate connections, profiles, filter pools etc. with projects
 
** 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!)
 
** 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
 
** 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
  
* Extension point / API to add systemTypes dynamically?
+
== Items to be deferred beyond 2.0 due to lack of resources ==
 +
* (Interest: WR) Integrate improved '''Launching''' as defined by the [[DSDP/TM/Launching|Launching group]]
 +
 
 +
* (Interest: WR) Define a standard for remote system properties as defined by the [[DSDP/DD/Spirit|Spirit group]] ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=146090 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

Revision as of 08:40, 19 December 2006

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

Planned Items

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
  • (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