Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "TM Future Planning"

(TM 2.0.x Planning)
 
(35 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Collect input for the planning process for RSE 2.0. Goals of this page are
+
<font size="-2">&lt; [[DSDP]] | [[DSDP/TM|TM]]</font>
* Collect ideas and Requirements for RSE 2.0
+
 
 +
Collect input for the planning process for next year's DSDP Target Management Release ('''Eclipse Ganymede train, tentatively TM 3.0, June 2008''') as well as the upcoming service releases (DSDP-TM 2.0.x). Goals of this page are
 +
* Collect ideas and Requirements for Target Management Ganymede and beyond
 
* Find out who needs what features
 
* Find out who needs what features
 
* Find out who would be willing to work on what
 
* 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.  
+
'''This is a collaborative Wiki''', so everyone in the community is welcome to contribute to the discussion by simply modifying the page. '''Please sign up by declaring your interest or willingess to contribute''' on the individual items below. Our Themes and Priorities need to be aligned with the global and DSDP [[RequirementsCouncil06TP#Embedded_Device_Software|Requirements]].
 +
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. When finalizing the plan, bugzilla plan items will be created for grouping related work items together in order to track them.
  
RSE 2.0 will be released with Eclipse 3.3 - presumably end of June 2007. See the [http://www.eclipse.org/eclipse/development/eclipse_project_plan_3_3.html Eclipse 3.3 draft plan] and the [[Europa_Simultaneous_Release#Milestones_and_Release_Candidates]]. Rough timeline:
+
An initial plan was discussed in the [[DSDP/TM/Committer_Phone_Meeting_22-May-2007|Committer Phone Meeting on 22-May-2007]].
* [[Jan  4, 2007]] RSE 2.0 M4
+
* [[Feb 23, 2007]] RSE 2.0 M5 == '''EclipseCon'''
+
* [[Apr  6, 2007]] RSE 2.0 M6 == '''API Freeze''' == freeze for NL texts to be translated
+
* [[May 18, 2007]] RSE 2.0 M7 == RC0 -- release testing
+
* [[Jun 26, 2007]] RSE 2.0
+
  
== Planned Items ==
+
More discussions will be at the [[DSDP/TM/Face-to-face Meeting Toronto 17-Sep-2007]].
These items are currently planned to be added.
+
  
* ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=170909 170909])(Implementor: IBM) Add not-yet-ported '''features from RSE 7.0'''
+
== TM 2.0.x Planning ==
** User Actions, Compile Commands, Import/Export (12 person weeks, DD, plus some for testing)
+
* ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=170910 170910])(Implementor: WR) Integrate the '''Terminal View''' with RSE (in addition to the current Commands view)
+
** Collaborate with WickedShell for further improvements (3 person weeks, MO)
+
* ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=170911 170911])(Implementor: Symbian) Add '''Autodetect''' as defined by the [[DSDP/TM/Autodetect|Autodetect group]]
+
* ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=163820 163820])(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
+
** (shouldn't be too huge)
+
  
== Themes and Priorities ==
+
* TM 2.0.1 and 2.0.2 to be aligned with [[Europa Simultaneous Release]] Service Releases in autumn and spring 08 respectively
Our Themes and Priorities need to be aligned with the global and DSDP [[RequirementsCouncil06TP#Embedded_Device_Software|Requirements]]
+
** No major feature additions; focus on unit tests, ISV Docs
 +
*** Probably adding RSE Terminal integration
 +
* Work on unittests, isv docs over the summer can also be done in HEAD, forking off the mainline in autumn
 +
** if we have any large things for 3.0 and want to start before 2.0.1 might do that in a branch; but having the branch this or that way is not a big deal
  
* ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=170915 170915])(Theme: Better Platform) '''Adopt Platform Changes''' - RSE should adopt Eclipse Platform concepts wherever possible. For instance:
+
== TM 3.0 (Ganymede) Planning ==
** [done] Move Commons Net packages into '''Orbit''' (needed for Europa)
+
** Improve drag&drop, copy&paste for Project Explorer, Package Explorer
+
** Use '''Common Preferences for ssh and Proxy''' - Collaborate with Platform/Team on ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=170883 170883] [https://bugs.eclipse.org/bugs/show_bug.cgi?id=154100 154100])
+
** Adopt the '''Commands framework''' with retargetable actions (e.g. for Properties)
+
** Adopt '''ICU4J''' and '''Capabilities''' (needed for Europa)
+
** Adoption of new Platform APIs from 3.2 -- these include 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
+
** Use existing Platform Extension Points for popup menus, property pages etc.
+
** 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])
+
  
* ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=170916 170916])(Theme: Growing Community) '''Make EFS work'''
+
=== Bugzilla Plan Input ===
** important thing to have; 4 person weeks
+
** 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 in IFileService
+
** Distinctions between RSE-files and EFS are: RSE is simpler, RSE is more target-fs-oriented (symlinks, permissions etc), RSE supports caching (EFS too?)
+
  
* ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=170918 170918])(Theme: Better Platform, Interest: WR) '''Improve SystemType flexibility'''
+
* Query Information
** Allow contributors to disable SystemTypes (via capabilities; via enabler class)
+
** The following bugzilla queries cover non-overlapping distinct requests that we currently have in the queue.
** Allow more dynamic icon decorators (connected/disconnected/others via decorator) (DaveM: have an error decorator somewhere)
+
** Bugs lists are sorted by importance, with the more important ones (i.e. higher priority or severity) first.
** Add "compatible" flag to extension point: e.g. special wizard for linux-over-HWDebug, but "compatible" with Linux
+
** Target milestone "Future" is used for bugs that have been discussed and deferred.
** Register the wizard through the SystemType extension point, instead of separate extension point?
+
** Target milestone "---" is uesd for bugs not yet analyzed or discussed.
** Extension point / API to add systemTypes dynamically?
+
* Bugzilla Queries
** New functionality needs to be compatible, OK with changing the syntax
+
** TM [https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=%5Bapi%5D&classification=DSDP&product=Target+Management&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&cmdtype=doit&order=Importance All Open API Bugs] (25 bugs on 10-Jul-2007)
 +
** TM [https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&classification=DSDP&product=Target+Management&target_milestone=---&target_milestone=Future&keywords_type=nowords&keywords=api&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_severity=enhancement&cmdtype=doit&order=Importance Non-API Enhancement Requests deferred to the Future] (93 bugs on 10-Jul-2007)
 +
** TM [https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&classification=DSDP&product=Target+Management&target_milestone=---&target_milestone=Future&keywords_type=nowords&keywords=api&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_severity=blocker&bug_severity=critical&bug_severity=major&bug_severity=normal&bug_severity=minor&bug_severity=trivial&cmdtype=doit&order=Importance Bugs deferred to the Future] (108 bugs on 10-Jul-2007)
  
* ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=170922 170922])(Theme: Eclipse Quality) '''Optimize APIs - Remove obsolete API'''.
+
=== Planning and Priorities ===
** 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.
+
* We have consensus to work towards TM 3.0 for Ganymede (rather than 2.1) so we'll allow API changes but keep them as small as possible. However, "getting things right" is agreed to be more important than being backward compatible.
** e.g. asynchronous API ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=166338 166338])
+
* Discussion and finalization of priorities into plan items will be at the [[DSDP/TM/DSDP/TM/Face-to-face Meeting Toronto 17-Sep-2007]].
** e.g. get rid of dynamicPopupMenuExtensions, popupMenus extension points - use Platform commands, expression language
+
* '''Top 10 Priorities:'''
** e.g. propertyPages extension point - use Platform propertyPages?
+
** 1 - (All) '''Quality''', Maintenance, Reduce bug backlog. Add unit tests. Clean up old implementations, get rid of obsolete code.
** e.g. get rid of systemtype extension point -- use systemType instead
+
*** 1a - (WR, IBM) '''Improve UI''', Adhere to Guidelines, Better Wizard UI, Componentize connection/subsystem/services
** e.g. get rid of ISubSystem.getProperties() and ISubSystem.setProperties()  
+
** 2 - (IBM, WR) '''Componentize''': UI/Non-UI splitting, avoid unnecessary plugin activation, support RCP
** e.g. get rid of performance logger
+
** 3 - (IBM) '''Team Support''': Provide Import/Export of RSE Profiles by XML, provide UI for working with Profiles
 +
** 4 - (IBM) Contribute IBM '''User Action''' Framework
 +
** 5 - (WR) Contribute '''Target Communication Framework (TCF)''' Agent
 +
** 6 - (WR) Improve Remote CDT Launch; integrate remote CDT build
 +
** 7 - (WR, IBM) Improve '''Platform Integration''': Drag&Drop ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=196176 SWT:196176]), Command/Handler, Avoid Platform "internal" access, keyboard shortcuts; Improve EFS; Contribute Welcome content; Credentials Management via upcoming Platform JAAS support ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=196445 196445])
 +
*** Especially driving EFS forward can be important wrt community building - discussing caching / rsync facilities for EFS
 +
** 8 - (WR, IBM) '''Finalize / Clean up APIs''', making them maintainable from 3.0 without API breakage
 +
** 9 - (Contributors) '''Integrating''' other remote access solutions - ECF, Platform/Team Synchronization API, WebDAV, Wicked Shell, TPTP, JArchive; important for community building
 +
** 10 - (WR) Features for '''Multi-Core / Multisystem'''; flexible grouping of connections / items; investigate collaboration with PTP
 +
* '''"Might Have" Themes and Proposals (Interesting but probably not enough time)'''
 +
** Finalize Terminal APIs
 +
** Generic Filtering Framework / Generic monitoring APIs (possibly related to TCF)
 +
** Launch Actions
 +
** Remote Lab Manager Integrations
 +
** Shell Pattern Matching
  
* ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=170923 170923])(Interest: WR) '''Further UI/Non-UI Refactoring'''
+
=== Themes and Proposals ===
** 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
+
** Some more stuff should be migrated from UI to Core; do a little bit at a time?
+
** See how much we can get done with (4 person weeks) effort - Kushal & DaveM, picking the most important items
+
  
* ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=170926 170926]) '''Improve Support for File System Permissions'''
+
* In the list of themes below, typically those themes or work items that we feel to be more important appear first. Not all items of a theme may be addressed, especially those appearing further down in the list for a theme would typically receive less attention.
** UI Tools for editing permissions
+
* Naturally those themes will be carried on first that have most interested parties, and where those interested parties actually contribute code, patches or committers.
** Maybe just make it possible to review permissions, IFileService.getPermissionsAsString()
+
* '''Community members can influence the planning process by declaring their interest, and/or especially declaring their willingness to contribute work on the themes.'''
** IFileSystem support for read-only flag
+
* <font color="green">Contribute:</font> items below do not yet indicate a committment to actually contribute but do declare willingess of the signed up parties.
  
* ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=150498 150498])(Interest: Symbian, WR) RSE should be more service-oriented
+
==== '''Theme: Scaling Down''' ====
** Services being grouped into a system
+
* <font color="red">Interest: IBM, WR</font>
** More dynamic enabling / disabling of subsystems / services based on availability
+
* <font color="blue">Contribute: IBM, WR (committers)</font>
** Allow Services (like a Registry) to be first-class objects, or hook them below Local?
+
* Further improve UI/Non-UI splitting, supporting
** Each SystemType to have a primary means of connection (defined by the wizard), plus additional registered optional services
+
** (a) RSE as an EFS provider without having to start up
** Group system connections to logical units (multi-core / multi-system)
+
** (b) Remote file export in headless applications
** Owned by Javier (a matter of weeks)
+
* Improve usage of the extension registry:
 +
** (a) Avoid plugin startup where not necessary - improve initial startup performance
 +
** (b) Make plugin registration dynamic, allowing dynamic reconfiguration (registry trackers etc: might be a requirement for the future provisioning story)
 +
* Improve Componentization:
 +
** (a) Support RCP, allowing the use of RSE even if Resources do not exist
 +
** (b) Provide a shortcut to RSE Services layer without Subsystems - probably via OSGi Services; might help EFS provider
 +
* Potentially move to Platform + 0 level --> move CDT Launcher to CDT Project
  
* ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=170932 170932])(Theme:  Facilitated On-Boarding) 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
 
** Need to investigate more: want a specification for 2.0 even if we cannot implement it immediately (MartinO + DaveD)
 
** Important to understand the long-term idea for user actions etc.
 
  
* ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=170936 170936]) Add '''full support for MacOSX''' (making it a reference platform)
+
==== '''Theme: Be a Better Framework''' ====
** Container for several bugs to be fixed.
+
* <font color="red">Interest: WR, IBM, Symbian</font>
 +
* <font color="blue">Contribute: WR, IBM, Symbian (committers)</font>
 +
* '''Improve Quality, Maintainability, strive for small and efficient implementations'''
 +
** Most important point for IBM and WR
 +
** Increase Unit Test Coverage
 +
** Do unit tests with a GUI Recorder e.g. TPTP AGR
 +
** Reduce the Bug backlog
 +
** Collaborate with DSDP-DD and Platform/Debug for a cleaned-up SystemView solution
 +
* Increase the flexibility of the host/subsystem/service combination after connection creation
 +
** Improved more flexible wizards; allow adding and removing services as needed; Inheritable Properties for configuring subsystems
 +
** Improved Wizard UI ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=176490 176490], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=142493 142493], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=192758 192758])
 +
* '''Better live with the Platform'''
 +
** Make use of the Platform Command/Handler framework, including parameterized handlers, to all user-defined keyboard shortcuts, extender modifiable UI and macro recording (eventually)
 +
** Contribute Welcome content, http://www.eclipse.org/eclipse/platform-ua/documents/intro_3_3_features.html
 +
** Get rid of Platform Discouraged access ("internal")
 +
* '''Connection Sharing and Team Support'''
 +
** Import/Export RSE Profiles; A must-have for IBM
 +
* '''Finalize Terminal APIs'''
 +
** Contribute Terminal Userdocs and API Docs
 +
* Fix and Improve '''Drag and Drop'''
 +
** Collaborate with Platform/Common Navigator to fix PluginTransfer into the Project Explorer
 +
** Collaborate with Platform/SWT to fix deferred drag&drop of remote files to copy into Windows Explorer ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=196176 bug 196176])
 +
** Improve the RSE DnD Framework to support extenders plug-in transfer types for specific objects in their own remote systems (Newsgroup: [http://dev.eclipse.org/newslists/news.eclipse.dsdp.tm/msg00173.html Uday Kabe, Lotus Notes]
 +
* Provide a generic filtering framework (through OQL)
 +
* Improve the '''connection data model''', being a store for IP-Xact data about hardware
 +
** remote system properties as defined by the [[DSDP/DD/Spirit|Spirit group]]
 +
* 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
  
== Items to be deferred beyond 2.0 due to lack of resources ==
+
==== '''Theme: Integrate other remote access solutions''' (strong should have) ====  
* (Interest: WR) Integrate improved '''Launching''' as defined by the [[DSDP/TM/Launching|Launching group]]
+
* <font color="red">Interest: Community, projects mentioned below</font>
 +
* <font color="blue">Contribute:</font>
 +
* '''Integrate Platform/Team WebDAV''' provider, and/or Google SoC WebDAV provider (through Apache)
 +
* '''Integrate Platform/Team synchronization framework''' (for minimal data transfer on sync or import/export)
 +
* Integrate TPTP agent controller (file services, launch services) as subsystems
 +
* Bridge to any registered EFS provider, making RSE an EFS Browser (Note: Can be done transparently through ECF filetransfer API. ECF filetransfer is extremely lightweight and there is an existing bridge from ECF filetransfer to EFS. ECF is graduating to 1.0 with Europa.).
 +
* Use ECF filetransfer API.  Expose/Implement RSE as new ECF filetransfer provider.
 +
* Use ECF discovery API.  Expose current zeroconf implementation as new ECF discovery provider.
 +
* Collaborate with Wicked Shell, integrating features from it
 +
* Collaborate with JArchive, providing support for more archive formats (through RSE extension point)
  
* (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])
+
==== '''Theme: Add unique new features''' ====
 +
* <font color="red">Interest: Broadcom, WR, IBM</font>
 +
* <font color="blue">Contribute: Broadcom (Contribute Launch), WR (Lab Manager), IBM (IBM Contributions)</font>
 +
* Contribute Broadcom '''Launch Actions''', improve Launching as defined by the [[DSDP/TM/Launching|Launching group]]
 +
** Currently being discussed with Robert Norton on the dsd-tm-dev list
 +
** ILaunchAction may also be used for board lab hooks
 +
* Add hooks for '''Remote Lab Manager''' support
 +
** reserve / unreserve target boards, discover target boards, vague target descriptions
 +
** Implementation might be facilitated by ILaunchAction hooks
 +
* Contribute features from '''existing IBM implementations''' (need legal review):
 +
** '''User actions''' (probably replace by Command framework) - a must-have for IBM
 +
** "External Tools" remote implementation (very interesting!) - potentially consolidate into single User Actions framework
 +
** Remote Java Debug
 +
** Remote Jar Export
 +
** Export to multiple targets;
 +
* '''Wind River Target Communication Framework (TCF)'''
 +
** A lightweight plain-C portable agent
  
* Add hooks for Lab Managers to integrate with RSE (checkin / check out target boards, discover target boards)
+
==== '''Theme: Multicore / Multisystem support''' ====
 +
* <font color="red">Interest: WR</font>
 +
* <font color="blue">Contribute:</font>
 +
* Support target groups as defined by the [[DSDP/TM/Connection Groups|Connection Groups initiative]]
 +
* Filters on 1st level of System View ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=164807 164807])
 +
* View for working with multiple shells concurrently exists
 +
* Right now we have grouping by profiles
 +
* Cluster definitions should be something different (being stored inside a profile)
 +
* Requirements currently unclear; instead of hacking up something wrong, better have no solution
 +
* PTP might come up with requirements
  
* 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
 
  
* (Interest: IBM,WR) Improve '''Shell Pattern Matching''' on the client
+
=== Other ideas carried forward ===
 +
 
 +
* Improve '''Shell Pattern Matching''' on the client
 +
** <font color="red">Interest: WR, IBM</font>
 +
** <font color="blue">Contribute:</font>
 
** Allow user-defined patterns ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=153274 153274])
 
** Allow user-defined patterns ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=153274 153274])
 
** Provide an extension point for patterns but not let the user edit them
 
** Provide an extension point for patterns but not let the user edit them
Line 111: Line 162:
 
*** Client-side patterns buried inside the jarfile --> copy it out of JAR into preferences on first start, allow users to modify through Preferences
 
*** Client-side patterns buried inside the jarfile --> copy it out of JAR into preferences on first start, allow users to modify through Preferences
  
* (Interest: WR) Add '''Multicore / Multisystem capabilities''' to the RSE Tree
+
* Improve RSE '''Credentials Management'''
** Support target groups as defined by the [[DSDP/TM/Connection Groups|Connection Groups initiative]]
+
** <font color="red">Interest:</font>
** Filters on 1st level of System View ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=164807 164807])
+
** <font color="blue">Contribute:</font>
** View for working with multiple shells concurrently exists
+
** [https://bugs.eclipse.org/bugs/show_bug.cgi?id=196445 196445] The RSE Credentials Management currently uses the Eclipse Keyring, which just provides weak encryption. It should provide a credentials store similar to Firefox, which is passphrase protected and stores credentials well encrypted. It might be possible to use the Jsch mechanism for accessing stored SSH private keys, since getting strong encryption through Eclipse Legal might be problematic. Another option is using the upcoming Platform / Equinox JAAS framework.
** Right now we have grouping by profiles
+
 
** Cluster definitions should be something different (being stored inside a profile)
+
== Archive of previous plans ==
** Requirements currently unclear; instead of hacking up something wrong, better have no solution
+
=== TM 2.0 (Eclipse Europa, June 2007) ===
** PTP might come up with requirements
+
 
 +
* See the [http://www.eclipse.org/dsdp/tm/development/tm_project_plan_2_0.html official TM 2.0 Project Plan] for details on target environment, plans and timing.
 +
* See bugzilla [https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&keywords_type=allwords&keywords=plan&classification=DSDP&product=Target+Management&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&cmdtype=doit&order=Assignee plan items] for latest status of items.
 +
* See the [[Europa Simultaneous Release]] page for coordinated release issues.
 +
 
 +
 
 +
=== TM 1.0 (Fall 2006) ===
 +
 
 +
See the [http://www.eclipse.org/dsdp/tm/development/tm_project_plan_1_0.html official TM 1.0 Project Plan] for details on target environment, plans and timing.

Latest revision as of 23:03, 14 August 2007

< DSDP | TM

Collect input for the planning process for next year's DSDP Target Management Release (Eclipse Ganymede train, tentatively TM 3.0, June 2008) as well as the upcoming service releases (DSDP-TM 2.0.x). Goals of this page are

  • Collect ideas and Requirements for Target Management Ganymede and beyond
  • Find out who needs what features
  • Find out who would be willing to work on what

This is a collaborative Wiki, so everyone in the community is welcome to contribute to the discussion by simply modifying the page. Please sign up by declaring your interest or willingess to contribute on the individual items below. Our Themes and Priorities need to be aligned with the global and DSDP Requirements. 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. When finalizing the plan, bugzilla plan items will be created for grouping related work items together in order to track them.

An initial plan was discussed in the Committer Phone Meeting on 22-May-2007.

More discussions will be at the DSDP/TM/Face-to-face Meeting Toronto 17-Sep-2007.

TM 2.0.x Planning

  • TM 2.0.1 and 2.0.2 to be aligned with Europa Simultaneous Release Service Releases in autumn and spring 08 respectively
    • No major feature additions; focus on unit tests, ISV Docs
      • Probably adding RSE Terminal integration
  • Work on unittests, isv docs over the summer can also be done in HEAD, forking off the mainline in autumn
    • if we have any large things for 3.0 and want to start before 2.0.1 might do that in a branch; but having the branch this or that way is not a big deal

TM 3.0 (Ganymede) Planning

Bugzilla Plan Input

  • Query Information
    • The following bugzilla queries cover non-overlapping distinct requests that we currently have in the queue.
    • Bugs lists are sorted by importance, with the more important ones (i.e. higher priority or severity) first.
    • Target milestone "Future" is used for bugs that have been discussed and deferred.
    • Target milestone "---" is uesd for bugs not yet analyzed or discussed.
  • Bugzilla Queries

Planning and Priorities

  • We have consensus to work towards TM 3.0 for Ganymede (rather than 2.1) so we'll allow API changes but keep them as small as possible. However, "getting things right" is agreed to be more important than being backward compatible.
  • Discussion and finalization of priorities into plan items will be at the DSDP/TM/DSDP/TM/Face-to-face Meeting Toronto 17-Sep-2007.
  • Top 10 Priorities:
    • 1 - (All) Quality, Maintenance, Reduce bug backlog. Add unit tests. Clean up old implementations, get rid of obsolete code.
      • 1a - (WR, IBM) Improve UI, Adhere to Guidelines, Better Wizard UI, Componentize connection/subsystem/services
    • 2 - (IBM, WR) Componentize: UI/Non-UI splitting, avoid unnecessary plugin activation, support RCP
    • 3 - (IBM) Team Support: Provide Import/Export of RSE Profiles by XML, provide UI for working with Profiles
    • 4 - (IBM) Contribute IBM User Action Framework
    • 5 - (WR) Contribute Target Communication Framework (TCF) Agent
    • 6 - (WR) Improve Remote CDT Launch; integrate remote CDT build
    • 7 - (WR, IBM) Improve Platform Integration: Drag&Drop (SWT:196176), Command/Handler, Avoid Platform "internal" access, keyboard shortcuts; Improve EFS; Contribute Welcome content; Credentials Management via upcoming Platform JAAS support (196445)
      • Especially driving EFS forward can be important wrt community building - discussing caching / rsync facilities for EFS
    • 8 - (WR, IBM) Finalize / Clean up APIs, making them maintainable from 3.0 without API breakage
    • 9 - (Contributors) Integrating other remote access solutions - ECF, Platform/Team Synchronization API, WebDAV, Wicked Shell, TPTP, JArchive; important for community building
    • 10 - (WR) Features for Multi-Core / Multisystem; flexible grouping of connections / items; investigate collaboration with PTP
  • "Might Have" Themes and Proposals (Interesting but probably not enough time)
    • Finalize Terminal APIs
    • Generic Filtering Framework / Generic monitoring APIs (possibly related to TCF)
    • Launch Actions
    • Remote Lab Manager Integrations
    • Shell Pattern Matching

Themes and Proposals

  • In the list of themes below, typically those themes or work items that we feel to be more important appear first. Not all items of a theme may be addressed, especially those appearing further down in the list for a theme would typically receive less attention.
  • Naturally those themes will be carried on first that have most interested parties, and where those interested parties actually contribute code, patches or committers.
  • Community members can influence the planning process by declaring their interest, and/or especially declaring their willingness to contribute work on the themes.
  • Contribute: items below do not yet indicate a committment to actually contribute but do declare willingess of the signed up parties.

Theme: Scaling Down

  • Interest: IBM, WR
  • Contribute: IBM, WR (committers)
  • Further improve UI/Non-UI splitting, supporting
    • (a) RSE as an EFS provider without having to start up
    • (b) Remote file export in headless applications
  • Improve usage of the extension registry:
    • (a) Avoid plugin startup where not necessary - improve initial startup performance
    • (b) Make plugin registration dynamic, allowing dynamic reconfiguration (registry trackers etc: might be a requirement for the future provisioning story)
  • Improve Componentization:
    • (a) Support RCP, allowing the use of RSE even if Resources do not exist
    • (b) Provide a shortcut to RSE Services layer without Subsystems - probably via OSGi Services; might help EFS provider
  • Potentially move to Platform + 0 level --> move CDT Launcher to CDT Project


Theme: Be a Better Framework

  • Interest: WR, IBM, Symbian
  • Contribute: WR, IBM, Symbian (committers)
  • Improve Quality, Maintainability, strive for small and efficient implementations
    • Most important point for IBM and WR
    • Increase Unit Test Coverage
    • Do unit tests with a GUI Recorder e.g. TPTP AGR
    • Reduce the Bug backlog
    • Collaborate with DSDP-DD and Platform/Debug for a cleaned-up SystemView solution
  • Increase the flexibility of the host/subsystem/service combination after connection creation
    • Improved more flexible wizards; allow adding and removing services as needed; Inheritable Properties for configuring subsystems
    • Improved Wizard UI (176490, 142493, 192758)
  • Better live with the Platform
  • Connection Sharing and Team Support
    • Import/Export RSE Profiles; A must-have for IBM
  • Finalize Terminal APIs
    • Contribute Terminal Userdocs and API Docs
  • Fix and Improve Drag and Drop
    • Collaborate with Platform/Common Navigator to fix PluginTransfer into the Project Explorer
    • Collaborate with Platform/SWT to fix deferred drag&drop of remote files to copy into Windows Explorer (bug 196176)
    • Improve the RSE DnD Framework to support extenders plug-in transfer types for specific objects in their own remote systems (Newsgroup: Uday Kabe, Lotus Notes
  • Provide a generic filtering framework (through OQL)
  • Improve the connection data model, being a store for IP-Xact data about hardware
  • 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

Theme: Integrate other remote access solutions (strong should have)

  • Interest: Community, projects mentioned below
  • Contribute:
  • Integrate Platform/Team WebDAV provider, and/or Google SoC WebDAV provider (through Apache)
  • Integrate Platform/Team synchronization framework (for minimal data transfer on sync or import/export)
  • Integrate TPTP agent controller (file services, launch services) as subsystems
  • Bridge to any registered EFS provider, making RSE an EFS Browser (Note: Can be done transparently through ECF filetransfer API. ECF filetransfer is extremely lightweight and there is an existing bridge from ECF filetransfer to EFS. ECF is graduating to 1.0 with Europa.).
  • Use ECF filetransfer API. Expose/Implement RSE as new ECF filetransfer provider.
  • Use ECF discovery API. Expose current zeroconf implementation as new ECF discovery provider.
  • Collaborate with Wicked Shell, integrating features from it
  • Collaborate with JArchive, providing support for more archive formats (through RSE extension point)

Theme: Add unique new features

  • Interest: Broadcom, WR, IBM
  • Contribute: Broadcom (Contribute Launch), WR (Lab Manager), IBM (IBM Contributions)
  • Contribute Broadcom Launch Actions, improve Launching as defined by the Launching group
    • Currently being discussed with Robert Norton on the dsd-tm-dev list
    • ILaunchAction may also be used for board lab hooks
  • Add hooks for Remote Lab Manager support
    • reserve / unreserve target boards, discover target boards, vague target descriptions
    • Implementation might be facilitated by ILaunchAction hooks
  • Contribute features from existing IBM implementations (need legal review):
    • User actions (probably replace by Command framework) - a must-have for IBM
    • "External Tools" remote implementation (very interesting!) - potentially consolidate into single User Actions framework
    • Remote Java Debug
    • Remote Jar Export
    • Export to multiple targets;
  • Wind River Target Communication Framework (TCF)
    • A lightweight plain-C portable agent

Theme: Multicore / Multisystem support

  • Interest: WR
  • Contribute:
  • Support target groups as defined by the Connection Groups initiative
  • Filters on 1st level of System View (164807)
  • View for working with multiple shells concurrently exists
  • Right now we have grouping by profiles
  • Cluster definitions should be something different (being stored inside a profile)
  • Requirements currently unclear; instead of hacking up something wrong, better have no solution
  • PTP might come up with requirements


Other ideas carried forward

  • Improve Shell Pattern Matching on the client
    • Interest: WR, IBM
    • Contribute:
    • Allow user-defined patterns (153274)
    • Provide an extension point for patterns but not let the user edit them
    • Server-side patterns vs. client-side patterns, want to have them consistent
      • Server-side file can be modified by the users, located in dstore daemon
      • Client-side patterns buried inside the jarfile --> copy it out of JAR into preferences on first start, allow users to modify through Preferences
  • Improve RSE Credentials Management
    • Interest:
    • Contribute:
    • 196445 The RSE Credentials Management currently uses the Eclipse Keyring, which just provides weak encryption. It should provide a credentials store similar to Firefox, which is passphrase protected and stores credentials well encrypted. It might be possible to use the Jsch mechanism for accessing stored SSH private keys, since getting strong encryption through Eclipse Legal might be problematic. Another option is using the upcoming Platform / Equinox JAAS framework.

Archive of previous plans

TM 2.0 (Eclipse Europa, June 2007)


TM 1.0 (Fall 2006)

See the official TM 1.0 Project Plan for details on target environment, plans and timing.

Back to the top